2.23/2.24/2.25 find命令
2.26 文件名后缀
2.23/2.24/2.25find命令
系统自带了很多搜索文件或目录的工具 which
whereis
locate
find
等等
which:从环境变量寻找,并给出命令的别名
用法:which 文件名
1
2
3[root@localhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
whereis:从准备好的库找文件,模糊寻找,可能找不全
用法:whereis 文件名
1
2[root@localhost ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
locate:也是从准备好的库找文件,模糊寻找,可能找不全,并且开始还没安装此命令
用法:locate 文件名
1
2
3
4
5
6
7
8
9
10
11[root@localhost ~]# yum install -y mlocate ##安装locate命令
[root@localhost ~]# locate kun1/ ##库还没更新找不到
locate: 无法执行 stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录
[root@localhost ~]# updatedb ##手动生成库
[root@localhost ~]# locate kun1 ##寻找有kun1的文件或者目录
/home/kun1
/home/kun1/.bash_history
/home/kun1/.bash_logout
/home/kun1/.bash_profile
/home/kun1/.bashrc
/var/spool/mail/kun1
小知识:
快捷键 | 方式 |
---|---|
Ctrl+l | 清屏 |
Ctrl+d | 退出终端,等于“exit”命令 |
Ctrl+c | 终止当前命令 |
Ctrl+k | 把光标后的命令删除 |
Ctrl+u | 把光标前的命令删除 |
Ctrl+e | 把光标移动到命令的末端 |
Ctrl+a | 把光标移动到命令的首端 |
find: 在指定目录下查找文件
用法:find 路径地址 [-type bcdfsl] [-name “文件名”] [-atime] [-ctime] [-mtime] [-inum] [-exec 命令 {} \;] [-size]
-type
: 指定查找文件类型1
2[root@localhost ~]# find /dev/ -type b
/dev/sr0
1 | [root@localhost ~]# find /dev/ -type c |
1 | [root@localhost ~]# find /tmp/kun1/ -type d |
1 | [root@localhost ~]# find /tmp/kun1/ -type f |
1 | [root@localhost ~]# find / -type s |
1 | [root@localhost ~]# find /lib/ -type l |
stat:查看文件具体信息,重要看三个时间
用法:stat 文件名
1
2
3
4
5
6
7
8
9[root@localhost ~]# stat /tmp/kun1/1.txt
File: '/tmp/kun1/1.txt'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 16992050 Links: 3
Access: (0700/-rwx------) Uid: ( 1000/ kun1) Gid: ( 0/ root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2018-03-28 07:31:24.968211404 +0800
Modify: 2018-03-28 07:31:24.968211404 +0800
Change: 2018-03-29 08:21:25.615818264 +0800
-mtime:修改文件内容的时间
-ctime:修改文件大小,权限,所有者,所属组等的时间
-atime:访问文件的时间
1 | [root@localhost ~]# find /etc/ -type f -mtime -1 ##从/etc/寻找修改文件内用时间小于1天的文件 |
1 | [root@localhost ~]# find /tmp/ -type d -mtime +1 ##从/tmp/寻找修改文件内用时间大于1天的文件 |
1 | [root@localhost ~]# find /tmp/ -mmin -60 ##从/tmp/寻找修改文件内用时间小于60分钟的文件或者目录 |
-o
:或者1
2
3
4
5
6
7
8[root@localhost ~]# find /tmp/ -type d -o -type f ##从/tmp/寻找文件或者目录
/tmp/
/tmp/.XIM-unix
/tmp/.Test-unix
/tmp/.X11-unix
/tmp/.ICE-unix
/tmp/.font-unix
/tmp/systemd-private-008707b47757407e9ee02f14e7b108f6-vgauthd.service-0y3ywi
-inum
:指定寻找inode号相同的文件,即找硬链接文件1
2
3
4
5
6
7
8
9[root@localhost ~]# ls -il /
total 20
120 lrwxrwxrwx. 1 root root 7 Mar 4 20:40 bin -> usr/bin
64 dr-xr-xr-x. 5 root root 4096 Mar 4 20:47 boot
[root@localhost ~]# find / -inum 64 ##从根文件寻找inode号为64的文件
/
/boot
/sys/devices/system/memory/uevent
/sys/kernel/debug/tracing/trace_stat/function22
-exec
:把查询出来的文件执行命令1
2
3[root@localhost ~]# find /tmp/kun1/ -mmin -60 -exec ls -l {} \; ##找出/kun1/目录下修改时间内容小于60分钟的文件并且查看他们的详细信息
-rwx------. 3 kun1 root 9 Mar 30 06:38 /tmp/kun1/1.txt
-rwx------. 3 kun1 root 9 Mar 30 06:38 /tmp/kun1/ying_1.txt
1 | [root@localhost ~]# find /tmp/kun1/ -mmin -60 |
-size
:指定查找文件大小1
2
3
4[root@localhost ~]# find /tmp/kun1/ -size -10k ##从/kun1/下找出小于10K的文件和目录
/tmp/kun1/
/tmp/kun1/1.txt.top.top.aa
/tmp/kun1/ying_1.txt.top.top.aa
2.26文件名后缀
在Linux系统下 文件 命令都是区分大小写的
Linux下面文件名后缀并不能代表他的类型,但人们为了好区分文件类型,习惯把文档文件名称后面加.txt 压缩文件名称后面加.gz