常用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选项是控制符号链接的处理。
在这三者之后的命令行参数会被当做要检查的文件或目录名
直到第一个以- 或 ( 或 !开头的参数出现,该参数及后续参数都被视为表达式,用以描述要搜索的内容

如果没有给出路径,则使用当前路径
如果没有给出表达式,则默认使用-print
五个真正的选项-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		#	在查找当前目录下的所有子目录

可以看到,该命令在当前目录下,递归地搜索出了所有子目录
image

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行输出
posted @ 2024-04-26 22:29  lifeAddicted  阅读(27)  评论(0)    收藏  举报