linux基础及帮助
Posted rivendare
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础及帮助相关的知识,希望对你有一定的参考价值。
一、操作系统
OS: Operating System,通用目的的软件程序
硬件驱动
进程管理
内存管理
网络管理
安全管理
文件管理
OS分类:
服务器OS:RHEL, CentOS, Windows Server, AIX
桌面OS:Windows 10,Windows 7,Mac OS,Fedora
二、开发接口标准
ABI: Application Binary Interface
ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行
API:Application Programming Interface
API定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译
POSIX: Portable Operating System Interface
EEE在操作系统上定义的一系列API标准
POSIX兼容的程序可在其它POSIX操作系统编译执行
运行程序格式:
Windows: EXE, .dll(dynamic link library),.lib
Linux: ELF, .so(shared object), .a
三、编程语言
低级语言
机器语言:0和1
汇编语言:和机器语言一一对应,与硬件相关的特有代码、驱动程序开发
中级语言:C
系统级应用、驱动程序
高级语言:python,go,java,Objective-C,C#,php
应用级程序开发
四、服务器三大操作系统
Windows:
Linux:GNU/Linux
Unix:1969年Ken Thompson
System: Bell Lab
AIX (IBM)
Solaris (SUN)
HP-UX (HP)
BSD: (BSRG)Berkeley System Distribution
NetBSD
OpenBSD
FreeBSD
五、Unix历史
1965前后 Multics
贝尔实验室,麻省理工,通用电气发起
1969 Unix雏形UNICS
Ken Thompson 汇编语言 B语言
1973 正式命名为Unix
Dennis Ritchie C语言
1977 BSD
Berkeley Software Distribution 伯克利大学
1979 System V架构 版权声明
HP-UNIX IBM AIX “不对学生提供源码” 收回版权
1984年 Minix操作系统
Andrew S. Tanenbaum荷兰阿姆斯特丹自由大学计算机科学系
六、Linux起源
1991年的10月5日,Torvalds在comp.os.minix新闻组上发布消息,正式向外宣布他自行编写的完全自由免费的内核诞生(Freeminix-like kernel sources for 386-AT)———FREAX
类Unix的内核,在GPL下发布
官网:www.kernel.org
Linux操作系统:
完整的类UNIX操作系统
Linux内核+ GNU工具
如:CentOS,Ubuntu,Android
七、Linux发行版
slackware:SUSE Linux Enterprise Server (SLES)
OpenSuse桌面
debian: ubuntu,mint
redhat: RHEL: RedHat Enterprise Linux
每18个月发行一个新版本
CentOS:兼容RHEL的格式
中标麒麟:中标软件
Fedora:每6个月发行一个新版本
ArchLinux:轻量简洁
Gentoo:极致性能,不提供传统意义的安装程序
LFS: Linux From scratch 自制Linux
Android: kernel+busybox(工具集)+java虚拟机
八、开源协议
世界上的开源许可证,大概有上百种
GPLv2, GPLv3, LGPL(lesser) :通用公共许可 copyleft
Apache: apache
BSD: bsd
Mozilla
Apache
MIT
九、命令提示符
命令提示符:prompt
[[email protected] ~]#
# 管理员 $ 普通用户
显示提示符格式
[[email protected] ~]#echo $PS1
修改提示符格式
PS1="[e[1;5;41;33m][[email protected]h W]\$[e[0m]"
e 33 u 当前用户
h 主机名简称 H 主机名
w 当前工作目录 W 当前工作目录基名
24小时时间格式 T 12小时时间格式
! 命令历史数 # 开机后命令历史数
十、执行命令
输入命令后回车
提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来
在shell中可执行的命令有两类
内部命令:由shell自带的,而且通过某命令形式提供
help 内部命令列表
enable cmd 启用内部命令
enable –n cmd 禁用内部命令
enable –n 查看所有禁用的内部命令
外部命令:在文件系统路径下有对应的可执行程序文件
查看路径:which -a |--skip-alias ; whereis
区别指定的命令是内部或外部命令
type COMMAND
十一、简单命令
关机:halt, poweroff, init 0
重启:reboot, init 6
-f: 强制,不调用shutdown
-p: 切断电源
关机或重启:shutdown
shutdown [OPTION]... TIME [MESSAGE]
-r: reboot
-h: halt
-c:cancel
TIME:无指定,默认相当于 +1
now: 立刻,相当于+0
+m: 相对时间表示法,几分钟之后;例如 +3
hh:mm: 绝对时间表示,指明具体时间
用户登录信息查看命令:
whoami: 显示当前登录有效用户
who: 系统当前所有的登录会话
w: 系统当前所有的登录会话及所做的操作
echo命令
功能:显示字符
语法:echo [-neE][字符串]
说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号
选项:
-E (默认)不支持 解释功能
-n 不自动换行
-e 启用 字符的解释功能
u 显示变量
echo "$VAR_NAME“ 变量会替换,弱引用
echo ‘$VAR_NAME‘ 变量不会替换,强引用
命令替换:$( ) 或 ``
把一个命令的输出打印给另一个命令的参数
echo "This system‘s name is $(hostname) "
This system‘s name is server1.example.com
echo "i am `whoami` "
i am root
括号扩展:{ }
打印重复字符串的简化形式
echo file{1,3,5}
file1 file3 file5
rm -f file{1,3,5}
echo {1..10}
echo {a..z}
echo {000..20..2}
十二、tab键
命令补全
内部命令:
外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令
用户给定的字符串只有一条惟一对应的命令,直接补全
否则,再次Tab会给出列表
路径补全
把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名
如果惟一:则直接补全
否则:再次Tab给出列表
十三、命令行历史
保存你输入的命令历史。可以用它来重复执行命令
登录shell时,会读取命令历史文件中记录下的命令~/.bash_history
登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中
重复前一个命令,有4种方法
重复前一个命令使用上方向键,并回车执行
按 !! 并回车执行
输入 !-1 并回车执行
按 Ctrl+p 并回车执行
!:0 执行前一条命令(去除参数)
!n 执行history命令输出对应序号n的命令
!-n 执行history历史中倒数第n个命令
使用up(向上)和down(向下)键来上下浏览从前输入的命令
ctrl-r来在命令历史中搜索命令
(reverse-i-search)`’:
Ctrl+g:从历史搜索模式退出
要重新调用前一个命令中最后一个参数:
!$ 表示
Esc, .(点击Esc键后松开,然后点击 . 键)
Alt+ .(按住Alt键的同时点击 . 键)
history [-c] [-d offset] [n]
history -anrw [filename]
history -ps arg [arg...]
-c: 清空命令历史
-d offset: 删除历史中指定的第offset个命令
n: 显示最近的n条历史
-a: append, 追加本次会话新执行的命令历史列表至历史文件
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-n: 读历史文件中未读过的行到历史列表
-p: 展开历史参数成多行,但不存在历史列表中
-s: 展开历史参数成一行,附加在历史列表后
、
十四、命令帮助
内部命令:help COMMAND
man bash
外部命令:(1) COMMAND --help
COMMAND -h
(2) 使用手册(manual)
man COMMAND
(3) 信息页
info COMMAND
(4) 程序自身的帮助文档
README
INSTALL
ChangeLog
(5) 程序官方文档
官方站点:Documentation
(6) 发行版的官方文档
(7) Google
--help选项
显示用法总结和参数列表
使用的大多数,但并非所有的
示例:
date --help
Usage: date [OPTION]... [+FORMAT] or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
[] 表示可选项
CAPS或 <> 表示变化的数据
... 表示一个列表
x |y| z 的意思是“ x 或 y 或 z “
-abc的 意思是-a -b –c
{ } 表示分组
man命令
提供命令帮助的文件
手册页存放在/usr/share/man
几乎每个命令都有man的“页面”
man页面分组为不同的“章节”
统称为Linux手册
man命令的配置文件:/etc/man.config | man_db.conf
MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置
man -M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手册页并显示
中文man需安装包man-pages-zh-CN
man 帮助段落说明
帮助手册中的段落说明:
- NAME 名称及简要说明
- SYNOPSIS 用法格式说明
- [] 可选内容
- <> 必选内容
- a|b 二选一
- { } 分组
- ... 同一内容可出现多次
- DESCRIPTION 详细说明
- OPTIONS 选项说明
- EXAMPLES 示例
- FILES 相关文件
- AUTHOR 作者
- COPYRIGHT 版本信息
- REPORTING BUGS bug信息
- SEE ALSO 其它帮助参考
man帮助
查看man手册页
man [章节] keyword
列出所有帮助
man –a keyword
搜索man手册
man -k keyword 列出所有匹配的页面
使用 whatis 数据库
相当于whatis
man –f keyword
打印man帮助文件的路径
man –w [章节] keyword
man命令
man命令的操作方法:使用less命令实现
space, ^v, ^f, ^F: 向文件尾翻屏
b, ^b: 向文件首部翻屏
d, ^d: 向文件尾部翻半屏
u, ^u: 向文件首部翻半屏
RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行 y or ^Y or ^P or k or ^K:向文件首部翻一行
q: 退出
#:跳转至第#行
1G: 回到文件首部
G:翻至文件尾部
man搜索
/KEYWORD:
以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;
n: 下一个
N:上一个
?KEYWORD:
以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;
n: 跟搜索命令同方向,下一个
N:跟搜索命令反方向,上一个
以上是关于linux基础及帮助的主要内容,如果未能解决你的问题,请参考以下文章