常用shell命令
文件相关
stat
stat命令的作用是显示文件/文件系统的状态
可以查看所有文件属性,包括创建、访问时间,文件类型等
可以控制输出格式来获取需要信息
stat [option] FILE
# 常用选项
-c # 使用指定格式显示信息;关于格式查man
# 获取文件file最后一次修改的时间戳
stat -c %Y file
touch
touch命令的作用是改变文件的时间戳
若不使用选项,该命令默认将文件的访问、修改时间更新为当前系统时间
若文件不存在,touch命令将会创建该文件,可以使用选项取消
touch [OPTION] FILE
# 常用选项
-c # 若文件不存在,不创建文件
-a # 只修改访问时间
-m # 只修改修改时间
-d # 使用字符串指定时间
# 例
touch -cmd 20200415 test.txt # 将test.txt的修改时间设置为20200415
find
find命令功能强大,这里只给出基本概念,和常用方法
find命令在目录层次中(意味着递归)搜索文件
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]
# 简单来说就是下面的形式
find [option]... [starting-point...] [expression]
# 举个例子,在整个文件系统中查找文件a.txt
find / -name a.txt
find在给定的,以每个starting-point为根的目录树,从左到右计算表达式
根据表达式的优先级,进行短路求值,得到结果后;继续查找下一个文件名
如果没有指定starting-point,默认为当前目录.
-H -L -P选项是控制符号链接的处理。
在这三者之后的命令行参数会被当做要检查的文件或目录名
直到第一个以- 或 ( 或 !开头的参数出现,该参数及后续参数都被视为表达式,用以描述要搜索的内容
如果没有给出路径,则使用当前路径
如果没有给出表达式,则默认使用
五个真正的选项-H -L -P -D -O必须写在第一个路径名的前面
# 即是说,平常使用的find命令,实际上是
find a.txt -print # 只是表达式隐藏了
下面介绍表达式中的“选项”,这些选项控制了find的行为,在最后一个路径名之后指定
命令行中starting-point之后的部分是expression。
表达式是一个查询规范,描述如何匹配文件,以及如何处理匹配的文件
表达式有5种类型
- Tests:返回真假,通常基于文件的属性
- Actions:拥有副作用(例如在stdout中打印),并返回真假(基于操作是否成功)
- Global options::man
- Positional options:man
- Operators:将表达式进行拼接(逻辑运算符)
-print操作在所有表达式为真的文件上执行,除非使用了-quit/-prune
Tests
-type指定要匹配的文件类型,f 文件 d目录
-type t # 文件是否为类型t;是返回true
# 注意整个表达式为真的文件会执行-print,因此语义就是查找t类型的文件
# 例
find -type d # 在查找当前目录下的所有子目录
可以看到,该命令在当前目录下,递归地搜索出了所有子目录

du
estimate file space usage——估计文件的磁盘使用量
wc
wc命令打印文件的统计信息 换行符数 | 单词数 | 字节数
-l # 打印换行符个数
时间相关
date
date命令用于打印/设置系统的日期和时间
以给定格式显示当前时间,或者设置系统时间
格式详见man手册
注意格式不要少了加号+
date [OPTION] [+FORMAT]
# 常用选项
-s # 将系统时间设置为字符串指定时间
# 例
date +%s # 以时间戳形式显示当前系统时间(获取时间戳)
date +%Y%m # 以年月显示
date -d @timestamp # 显示时间戳对应的日期
系统信息
lscpu
lscpu查看CPU的架构信息
uname
uname打印指定的系统信息,若没有选项,等同于-s
uname [OPTION]
# 常用选项
-a # 打印所有信息
-s # 打印内核名字
-n # 打印主机名
-r # 内核发行
-v # 内核版本
文件传输
sz | rz
sz - ZMODEM file send
可在Linux与Windows之间传输文件
sz是用ZMODEM纠错协议,通过拨号串行端口向其他操作系统下运行的各种程序发送文件
sz [option]... file... # 发送文件
rz [option]... file... # 接收文件
grep
grep命令打印与模式匹配的行
grep [option...] patterns [flie...]
常用选项
-A [num] # 打印匹配行之后的num行
-B [num] # 打印匹配行之前的num行
-C [num] # 以匹配行为中心,打印上下各num行输出

浙公网安备 33010602011771号