1.type命令可以查看命令是内部命令还是外部命令
2.shell是命令解释器:shell接受到命令时,按空格进行切片 ,进行判断。如果为内部命令直接执行。如果为外部命令,根据shell提供得环境变量PATH中定义得路径从左往右依次查找,以第一次查找到得命令为执行命令
环境变量 PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
查看环境变量: echo $PATH
3.命令帮助
help命令:
help command
--help 长选项 绝大部分命令都可以使用
man手册的结构
NAME:命令名称以及功能的简要说明
SYNOPSIS:用说说明,包括一些可用的选项
[]:可选内容
<>:必选内容
a|b|c:多选一
...:同类项可以有多个
DESCRIPTION:功能用法详细描述,包含选项含义
OPTION:选项含义
FORMAT:格式化输出
FILES:与命令相关联的文件
USER:作者
BUGS:提交bug的方式
EXAMPLES:示例
SEE ALSO:另外的一些参照
4.文本编辑工具
vi 和vim
命令模式:编辑器打开后的默认模式
输入模式:点击a i o 三个字母可以对文件进行编辑
末行模式:wq 保存退出 ,w 保存文件 q 退出文件 q!强制退出
在命令模式点击键盘aio进入输入模式,输入模式点Esc建进入到命令模式,命令模式下 打出:即Shift+:进入到末行模式
5.Linux bash 特性
补全功能:按下tab建 如果根据前面的字符串有唯一识别的则直接补全,否则再次按下tab建给出选择的列表。适用命令补全和路径补全
命令历史:
命令历史列表:在内存中存放
命令历史文件:在文件中存放
HISTSIZE 命令历史文件大小
HISTFILE 命令历史文件
HISTFILESIZE 命令历史文件大小
HISTCONTROL 控制命令历史的记录方式
ignoredups 忽略重复的命令
ignorespace 忽略空白开头的命令
ignoreboth 以上两者
修改环境变量值
HISTCONTRAL=ignoredups
NAME='value'
history命令:
-c 清空命令历史列表
-d offset 删除指定位置的命令历史
-r 从命令历史文件中读取命令历史到命令历史列表中
-w 讲命令历史列表中的命令历史追加到命令历史文件中
!# 再一次执行命令历史列表的第#条命令
!!再次执行上一条命令
!string 再次执行命令历史列表中最近一个以string开头的命令
调用上一条命令的最后一个参数:Esc加.或者!$
6.命令别名
alias 查看系统中可用的命令别名
定义别名: alias NAME='command',仅在当前shell环境有效
撤销别名: alias NAME
跳过别名: \command
永久生效:修改/etc/bashrc 在里面添加 source /etc/bashrc
7.特殊符号
|:管道符 把一个程序的输出当另外一个程序的输入
tee :管道 把传递的数据流保存
. 当前目录 .. 上一级目录
'':强引用,所见即所得 "":弱引用。变量或者命令的替换 ``反单引号,命令替换
*表示通配
;在执行多条命令时,用分号隔开
{} 表示扩展
8.输入输出重定向
正确输出:1>覆盖 1>>追加
错误输出: 2> 2>>
混合输出:&> 正确和错误混合输出
2>&1 :将标准错误重定向到标准输出
1>&2: 将标准输出重定向到标准错误
9.通配符
* 匹配任意长度的任意字符
? 匹配任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
[0-9]
[a-z] 除过大写字母Z以外所有的大小写字母
[A-Z] 除过小写字母a以外所有的大小写字母
[0-9a-Z] 所有的数字和字母
[[:digit:]]所有的数字
[[:upper:]]所有的大写字母
[[:lower:]]所有的小写字母
[[:alpha:]]所有字母
[[:space:]]所有空白符
[[:punct:]]所有的标点符号
[[:alnum:]]所有的数字和字母
[^[:digit:]]除过数字之外所有的字符
例子:以非字母开头,后面跟一个数字及任意长度的任意字符
[^[:alpha:]][0-9]*
以任意一个字母开头,且以非数字结尾的文件
[[:alpha:]]*[^[:digit:]]