时间日期指令
date
显示当前时间
效果:2022年 03月 12日 星期六 09:55:21 CST
date +%y--%m--%d--%H:%M:%S
效果:显示当前 年 月 日 时 分 秒
说明只需要一个 + 号就行,中间的 – 和 : 仅仅是作为分隔符,可以去掉。
可以任意组合就像只显示 年月日
date +%y-%m-%d
注意 :时分秒的英文字符一定要大写,不然出错。
设置日期(特权模式下)
date -s "字符串时间"
比如 date -s "2022-2-2 20:20:20"
查看当前日历
cal
指定年份查看
cal 2022
搜索查找指令
find指令
find命令的格式
find path -option 【 -print 】 【 -exec -ok |xargs |grep 】 【 command {} \; 】
find命令参数
1)path:要查找的目录路径。
2)print:表示将结果输出到标准输出。会换行
print0 则不换行
3)exec:对匹配的文件执行该参数所给出的shell命令。
形式为command {} \;,注意{}与\;之间有空格
4)ok:与exec作用相同,
区别在于,在执行命令之前,都会给出提示,让用户确认是否执行
5)|xargs 与exec作用相同 ,起承接作用
区别在于 |xargs 主要用于承接删除操作 ,而 -exec 都可用 如复制、移动、重命名等
6)options :表示查找方式
options的参数
-name filename #查找名为filename的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-prune #忽略某个目录
按文件名查找
find 路径 -name 文件名
说明:按名字查找支持模糊搜索
在当前目录及子目录中,查找大写字母开头的txt文件
$ find . -name '[A-Z]*.txt' -print
在/etc及其子目录中,查找host开头的文件
$ find /etc -name 'host*' -print
在$HOME目录及其子目录中,查找所有文件
$ find ~ -name '*' -print
在当前目录及子目录中,查找不是out开头的txt文件
$ find . -name "out*" -prune -o -name "*.txt" -print
忽略字符大小写
find -iname
路径
~ 表示$HOME目录
. 表示当前目录或者./
/ 表示根目录
/* 表示该目录下的所有文件
./* 表示当前目录下的所有子目录(文件)
‘pwd’ 表示当前目录《并以绝对路径输出》外面需要套一个双引号
$pwd 表示当前目录 外面不需要套双引号
按拥有者查找
find 路径 -user 拥有者名
按大小查找
find 路径 -size 文件大小
文件要等于 指定的文件大小
find 路径 -size +文件大小
文件要大于 指定的文件大小
find 路径 -size -文件大小
文件要小于 指定的文件大小
查找超过1M的文件
$ find / -size +1M -type f -print
查找等于6字节的文件
$ find . -size 6c -print
查找小于32k的文件
$ find . -size -32k -print
按类型查找 (b/d/c/p/l/f )
在当前目录及子目录下,查找符号链接文件
$ find . -type l -print
普通文件类型
Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]
目录文件
就是目录, 能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx]
块设备文件
块设备文件 : 就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]
字符设备
字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]
套接字文件
这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型
管道文件
FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]
链接文件
类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]
按时间查找
查找2天内被更改过的文件
$ find . -mtime -2 -type f -print
查找2天前被更改过的文件
$ find . -mtime +2 -type f -print
查找一天内被访问的文件
$ find . -atime -1 -type f -print
查找一天前被访问的文件
$ find . -atime +1 -type f -print
查找一天内状态被改变的文件
$ find . -ctime -1 -type f -print
查找一天前状态被改变的文件
$ find . -ctime +1 -type f -print
查找10分钟以前状态被改变的文件
$ find . -cmin +10 -type f -print
注意
find 组合操作符 默认是与的关系
find ./ -name a -a -type f -ls
-a 是and的缩写 也就是与的关系
find ./ -name a -o -type f -ls
-o 是 or 的缩写也就是或的关系
但注意此时上面这种写法是错误的
应将 -ls 换成 -print 或者:
find ./ \(-name a -o -type f \) -ls
说明
\( 和 \) 都是转义符的写法
find ./ -name a -not -type f -ls
-not 是非的关系 也能使用 !代替
find /dev -name a "std*" -type l -ls
如果使用了通配符,需要用双引号
注意: 如果 find 查找路径是当前路径 (默认路径) 那结果也是当前路径
如果 find 查找路径是绝对路径 , 那结果也是绝对路径
如果希望使用当前路径 输出绝对路径 可以用 $ (pwd) 表示当前路径,或者转义 / pwd
find 后的路径 可以 是多个路径 空格分开