Linux学习笔记
历史命令
- history [选项] [历史命令保存文件]
- 选项
- -c:清空历史命令
- -w:把缓存中的历史命令写入历史命令保存文件~//bash_history
- 默认保存1000条,可在/etc/profile中修改HISTSIZE
- 历史命令的调用
- 使用上、下箭头调用以前的历史命令
- 使用”!n”重复执行第n条历史命令
- 使用”!!”重复执行上一条历史命令
- 使用”!字串”重复执行最后一条以该字串开头的命令
输入输出重定向
- 标准输出重定向
- 命令 > 文件 //以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中
ls > test.log
- 命令 >> 文件 // 以追加的方式,把命令的正确输出输出到指定的文件或设备当中
date >> test.log
- 命令 > 文件 //以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中
标准错误输出重定向
- 错误命令 2>文件 //(>与文件之间无空格)以覆盖的方式,把….同上
wsm 2> test.log
- 错误命令 2>>文件 //(>与文件之间无空格)以追加的方式,把….同上
wsm 2>> test.log
- 错误命令 2>文件 //(>与文件之间无空格)以覆盖的方式,把….同上
正确输出和错误输出同时保存
- 覆盖的形式
- 命令 > 文件 2>&1
- 命令 &>文件
追加的形式
- 命令 >>文件 2>&1
- 命令 &>>文件
命令 >> 文件1 2>>文件2: 把正确的输出追加到文件1种,把错误的输出追加到文件2种
- 覆盖的形式
输入重定向
- wc [选项] [文件名]
- 选项:
- -c 统计字节数
- -w 统计单词数
- -l 统计行数
- 示例:
- wc -l test.text
- 选项:
- 命令 < 文件:把文件作为命令的输入
- 命令 << 标识符:标识符作为标记,当再次输入标识符内容是,输入结束
- wc [选项] [文件名]
管道符
多命令执行符
- ;
- 格式:
命令1 ; 命令2
-
- 作用:多个命令顺序执行,命令之间没有任何逻辑关系
- 格式:
- &&
- 格式:
命令1 && 命令2
- 作用:逻辑与,当命令1正确执行,则命令2才会执行,命令1执行不正确,则命令2不会执行
- 格式:
- ||
- 格式:
命令1 || 命令2
- 作用:逻辑或,当命令1执行不正确,则执行命令2;当命令1正确执行,则命令2不会执行
- 格式:
- ;
管道符
- 命令格式:
命令1 | 命令2
- 作用: 命令1的正确输出作为命令2的操作对象
- 示例:netstat -an | grep ESTABLISHED
- 命令格式:
通配符
通配符
?
- 匹配一个任意字符
*
- 匹配0个货任意多个任意字符,也就是可以匹配任意内容
[]
- 匹配中括号中任意一个字符。
- 示例:
[abc]
代表一定匹配一个字符,或者是a,或者是b,或者是c
[-]
- 匹配中括号中任意一个字符,-代表一个范围
- 示例:
[a-z]
代表匹配一个小写字母
[^]
- 逻辑非,表示匹配不是中括号内中的内容的一个字符,
- 示例:
[^0-9]
代表匹配一个不是数字的字符
Bash中的其他特殊符号
''
- 单引号,在单引号中所有的特殊符号,如”$”和”`”(反引号)都没有特殊含义。
""
- 双引号,在双引号中特殊符号都没有特殊含义,但是”$”、”`”和”\”是例外,拥有”调用变量的值”、”引用命令”和”转义符”的特殊含义。
``
- 反引号,反引号括起来的呢哦荣是系统命令,在Bash中会先执行它,和 ()作用一样,不过推荐使用 (),因为反引号非常容易看错。
$()
- 和反引号的作用一样,用来引用系统命令。
#
- 在Shell脚本中,#开头的行代表注释
$
- 用于调用变量的值,如需要调用变量name的值时,需要用$name的方式得到变量的值。
\
- 转义符,跟在\之后的特殊符号将失去特殊含义,变为普通字符。如$将输出“¥”符号,而不当做是变量的引用。
磁盘管理
df 查看磁盘分区的使用状况
-l
:仅显示本地磁盘(默认)-a
:显示所有文件系统的磁盘使用情况,包含比如/proc/-h
:以1024禁止计算最合适的单位显示磁盘容量-H
:以1000禁止计算最合适的单位显示磁盘容量-T
:显示磁盘分区类型-t
:显示指定类型文件系统的磁盘分区-x
:不现实指定类型文件系统的磁盘分区
du 统计磁盘上的文件大小
-b
:以byte为单位统计文件-k
:以kb为单位统计文件-m
:以MB为单位统计文件-h
:按照1024进制以最适合的单位统计文件-H
:按照1000进制以最适合的单位统计文件-s
:指定统计目标