3.1 ⽇期和时间命令
date 显示当前时间
基本语法:注意命令与参数之间有空格
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年年份)
(3)date +%m (功能描述:显示当前⽉份)
(4)date +%d (功能描述:显示当前是哪⼀天)
(5)date +%Y%m%d … (功能描述:显示当前年年⽉⽇各种格式 )
(6)date "+%Y-%m-%d %H:%M:%S" 或者单引号也可以 (功能描述:显示年年⽉
⽉⽇⽇时分秒)
参数
-d, --date=STRING:显示由STRING描述的时间,而不是当前时间。
-f, --file=DATEFILE:对DATEFILE中的每一行执行一次--date操作。
-I[TIMESPEC], --iso-8601[=TIMESPEC]:以ISO 8601格式输出日期和时间。
-r, --reference=FILE:显示文件FILE的最后修改时间。
-R, --rfc-2822:以RFC 2822格式输出日期和时间。
--rfc-3339=TIMESPEC:以RFC 3339格式输出日期和时间。
-s, --set=STRING:设置由STRING描述的时间。
-u, --utc, --universal:打印或设置协调世界时(UTC)。
--help:显示帮助信息并退出。
--version:输出版本信息并退出。
3.2 cal查看⽇历
1)基本语法:
cal [选项] (功能描述:不加选项,显示本⽉⽇历)
-3 ,显示系统前⼀个⽉,当前⽉,下⼀个⽉的⽇历
具体某⼀年年,显示这⼀年年的⽇历
3.3 搜索命令
1) find 命令
find命令⽤来在指定⽬录下查找⽂件
命令格式:
find [搜索路径] [选项]
搜索路径:省略则默认为当⽬录,相当于 "find ."
选项:
-name 按照⽂件名称搜索,⽀持通配符模糊查询
-iname 此参数的效果和指定“-name”参数类似,但忽略字符⼤⼩写的差别
-path 查找路径包含范本样式的⽂件或⽬录
-regex 正则表达式搜索
-iregex 同"-regex",忽略⼤⼩写
-size [+|-]⽂件⼤⼩[cwbkMG] :查找符合指定的⽂件⼤⼩的⽂件
"+" 的意思是搜索⽐指定⼤⼩还要⼤的⽂件,
"-" 的意思是搜索⽐指定⼤⼩还要⼩的⽂件
"cwbkMG"是单位,c——字节,w——字(2字节),b——块(512字节),
k——千字节,M——兆字节,G——吉字节。如果不写单位默认是b
-atime [+|-]天数:按照⽂件最后⼀次访问时间搜索,单位每天
"+"、"-"的含义,例如"5"表示恰好5天前的那⼀天,
"+5"超过5天前的时间,"-5"5天内的时间。(以下按时间搜索选项中"+"、"-"含
义相同)
-mtime [+|-]天数:按照⽂件数据最后⼀次修改时间搜索,单位每天
-ctime [+|-]天数:按照⽂件元数据(如权限等)最后⼀次修改时间搜索,单位每天
-amin [+|-]分钟数:按照⽂件最后⼀次访问时间搜索,单位每分钟
-mmin [+|-]分钟数:按照⽂件数据最后⼀次修改时间搜索,单位每分钟
-cmin [+|-]分钟数:按照⽂件元数据(如权限等)最后⼀次修改时间搜索,单位每
分钟
-perm [+|-]权限数值:查找符合指定的权限数值的⽂件或⽬录。例如,权限数值
为"766"表示权限恰好等于766,"-766"表示⽂件权限必须全部包含
766,"+766"表示⽂件权限包含766任意⼀个权限
-uid ⽤户ID:查找所有者是指定⽤户ID的⽂件
-user ⽤户名:查找所有者是指定⽤户名的⽂件
-gid 组ID:查找所有组是指定组ID的⽂件
-group 组名:查找所有组是指定组名的⽂件
-nouser:查找没有所有者的⽂件
25
26 按照所有者和所有组搜索时,"-nouser"选项⽐较常⽤,主要⽤于查找垃圾⽂件。没
有所有者的⽂件⽐较少⻅,那就是外来⽂件,⽐如光盘和U盘的⽂件是由Windows复
制的,在Linux中查看就是没有所有者的⽂件,再⽐如⼿⼯源码包安装的⽂件也可能
没有所有者
27 -type ⽂件类型:只寻找符合指定的⽂件类型的⽂件
28 f——普通⽂件,l——符号连接,d——⽬录,c——字符设备,b——块设备,s——套接
字,p——Fifo
29 -empty:查找⽂件⼤⼩为0的⽂件
案例
1 #==================根据⽂件名或者正则表达式进⾏匹配
=====================
2 #列出当前⽬录及⼦⽬录下所有⽂件和⽂件夹
3 [root@localhost ~]# find .
4 #在/home
⽬录下查找以.txt结尾的⽂件名
5 [root@localhost ~]# find /home -name "*.txt"
6 #同上,但忽略⼤⼩写
7 [root@localhost ~]# find /home -iname "*.txt"
8 #当前⽬录及⼦⽬录下查找所有以.txt和.pdf结尾的⽂件
9 [root@localhost ~]# find . ( -name ".txt" -o -name ".pdf"
)
10 或
11 [root@localhost ~]# find . -name ".txt" -o -name ".pdf"
12 #查找路径包含local的⽂件或者⽬录
13 [root@localhost ~]# find /usr/ -path "local"
14 #基于正则表达式匹配⽂件路径
15 [root@localhost ~]# find . -regex ".*(.txt|.pdf)$"
16
17
18 #========================逻辑运算符==========================
19 #查找⽂件⼤⼩超过2k并且是普通⽂件类型的⽂件
20 [root@localhost ~]# find . -size +2k -a -type f
21 #找出/home下不是以.txt结尾的⽂件
[root@localhost tmp]# find . -not -name "*.txt"
或
[root@localhost ~]# find /home ! -name "*.txt"
2) grep
grep命令的作⽤是在⽂件中提取和匹配符合条件的字符串⾏,是⼀种强⼤的⽂本
搜索⼯具,它能使⽤正则表达式搜索⽂本,并把匹配的⾏打印出来.
命令格式:
grep [选项] 搜索内容 ⽂件名
选项
-c:只输出匹配⾏的计数
-i:忽略⼤⼩写
-n:输出⾏号
-w:显示整个单词
-R或-r: 递归查找⽬录下的所有⽂件内容
常用参数
-i:忽略大小写。
-v:显示不包含匹配模式的行。
-c:显示匹配模式的行数,而不是行本身。
-n:显示匹配行及其行号。
-l:仅显示包含匹配模式的文件名。
-r 或 -R:递归地搜索目录。
-s:静默模式,不显示不存在或无匹配行的文件的错误信息。
-E:使用扩展正则表达式。
-w:匹配整个单词。
-x:只匹配整行。
-q:静默模式,不输出任何内容,仅以退出状态表示是否找到匹配。
--color=auto:将匹配的文本高亮显示。