目录
1 硬链接和软链接: 2 (1)硬链接 2 (2)软链接 2 2 Locate和find命令 3 (1)Locate 3 (2)Find (默认精确匹配名称) 3
1 硬链接和软链接: (1)硬链接 必须在一个分区,两个文件互为源,命硬,删掉一个还有一个。多个文件共享一个inode。是为了节省inode资源。这多个文件的内容是同步的。 [root@foundation4 ~]# cd /home/kiosk/Desktop/ [root@foundation4 Desktop]# touch file [root@foundation4 Desktop]# ln file newfile [root@foundation4 Desktop]# ls file newfile rht-desktop.desktop rht-server.desktop [root@foundation4 Desktop]# ls -li file newfile 137484361 -rw-r–r–. 2 root root 0 Oct 26 09:32 file 137484361 -rw-r–r–. 2 root root 0 Oct 26 09:32 newfile [root@foundation4 Desktop]# echo hahaha > file [root@foundation4 Desktop]# cat file newfile hahaha hahaha [root@foundation4 Desktop]# rm -f file [root@foundation4 Desktop]# ls newfile rht-desktop.desktop rht-server.desktop [root@foundation4 Desktop]# ll newfile -rw-r–r–. 1 root root 7 Oct 26 09:33 newfile [root@foundation4 Desktop]# ll -i newfile 137484361 -rw-r–r–. 1 root root 7 Oct 26 09:33 newfile [root@foundation4 Desktop]#
(2)软链接 可以不在一个分区,只有一个最本质的源文件。删掉源另一个也就失效了。两个文件的inode号是不同的。源文件有100M 链接文件可能只有几十K。链接文件只是访问源文件的一个跳板。 [root@foundation4 Desktop]# touch file [root@foundation4 Desktop]# ln -s file softfile [root@foundation4 Desktop]# ls -li total 8 137484360 -rw-r–r–. 1 root root 0 Oct 26 09:45 file 137473834 -rwxrwxr-x. 1 kiosk kiosk 294 Oct 25 09:10 rht-desktop.desktop 137473837 -rwxrwxr-x. 1 kiosk kiosk 289 Oct 25 09:10 rht-server.desktop 137484369 lrwxrwxrwx. 1 root root 4 Oct 26 09:46 softfile -> file [root@foundation4 Desktop]# echo kkkkkkkkk > file [root@foundation4 Desktop]# rm -f fiel [root@foundation4 Desktop]# cat file softfile kkkkkkkkk kkkkkkkkk [root@foundation4 Desktop]# rm -rf file [root@foundation4 Desktop]# ls -li total 8 137473834 -rwxrwxr-x. 1 kiosk kiosk 294 Oct 25 09:10 rht-desktop.desktop 137473837 -rwxrwxr-x. 1 kiosk kiosk 289 Oct 25 09:10 rht-server.desktop 137484369 lrwxrwxrwx. 1 root root 4 Oct 26 09:46 softfile -> file
2 Locate和find命令 (1)Locate locate filename(只要名字中还有filename这个子串的所有文件和目录都会被列出来。 默认是粗略匹配) [root@foundation4 Desktop]# touch jjjjjj [root@foundation4 Desktop]# locate jjjj [root@foundation4 Desktop]# updatedb [root@foundation4 Desktop]# locate jjjj /home/kiosk/Desktop/jjjjjj [root@foundation4 Desktop]# 可以看到创建文件后,locate不到,因为系统的数据库还没有更新。Updatedb之后就可以locate到了。不过updatedb 对/run /media /tmp /mnt这些目录是屏蔽的。即不更新这里面的相关数据库。 (2)Find (默认精确匹配名称) * 准备工作: [root@foundation4 Desktop]# dd if=/dev/zero of=./file1 bs=1024 count=10 10+0 records in 10+0 records out 10240 bytes (10 kB) copied, 0.000396844 s, 25.8 MB/s [root@foundation4 Desktop]# dd if=/dev/zero of=./file2 bs=1024 count=20 20+0 records in 20+0 records out 20480 bytes (20 kB) copied, 0.000262467 s, 78.0 MB/s [root@foundation4 Desktop]# dd if=/dev/zero of=./file3 bs=1024 count=30 30+0 records in 30+0 records out 30720 bytes (31 kB) copied, 0.000294664 s, 104 MB/s [root@foundation4 Desktop]# ll total 72 -rw-r–r–. 1 root root 10240 Oct 26 10:10 file1 -rw-r–r–. 1 root root 20480 Oct 26 10:10 file2 -rw-r–r–. 1 root root 30720 Oct 26 10:10 file3 -rwxrwxr-x. 1 kiosk kiosk 294 Oct 25 09:10 rht-desktop.desktop -rwxrwxr-x. 1 kiosk kiosk 289 Oct 25 09:10 rht-server.desktop [root@foundation4 Desktop]# chown kiosk.kiosk file1
*-name 按名字查找,它会认为你制定的名字是精确的名字 [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -name file [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -name file1 /home/kiosk/Desktop/file1 [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -name file* find: paths must precede expression: file2 Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path…] [expression] [root@foundation4 Desktop]# ls file1 file2 file3 files jjjjjj rht-desktop.desktop rht-server.desktop [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -name “file*” /home/kiosk/Desktop/file1 /home/kiosk/Desktop/file2 /home/kiosk/Desktop/file3 /home/kiosk/Desktop/files [root@foundation4 Desktop]# Find 是不是别*的 要用双引号引起来。
-user按文件或者目录所属的用户查找 -group 按所属组查找 -o OR 表示多个选项的或 -a AND表示多个选项的与 [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -group kiosk -a -user kiosk /home/kiosk/Desktop/ /home/kiosk/Desktop/rht-desktop.desktop /home/kiosk/Desktop/rht-server.desktop /home/kiosk/Desktop/file1*-size +20k 查找大小大于20k的文件 -20k 小于 20k 等于 -type f查找的是文件 d 要查找的是目录 [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -size +20K find: invalid -size type `K’ [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -size +20k /home/kiosk/Desktop/file3 [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -size 20k /home/kiosk/Desktop/file2 [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -size -20k /home/kiosk/Desktop/ /home/kiosk/Desktop/rht-desktop.desktop /home/kiosk/Desktop/rht-server.desktop /home/kiosk/Desktop/file1 [root@foundation4 Desktop]# mkdir files [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -type d -a -size -20k /home/kiosk/Desktop/ /home/kiosk/Desktop/files
-m [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -mmin +5 《5分钟以前创立的文件》 /home/kiosk/Desktop/ /home/kiosk/Desktop/rht-desktop.desktop /home/kiosk/Desktop/rht-server.desktop /home/kiosk/Desktop/file1 /home/kiosk/Desktop/file2 /home/kiosk/Desktop/file3 /home/kiosk/Desktop/files /home/kiosk/Desktop/jjjjjj [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -mmin -5 《刚才的5分钟之内创建的文件》 [root@foundation4 Desktop]# touch cccccccccc [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -mmin -5 /home/kiosk/Desktop/ 《因为在这个目录里创建文件,所以这个目录也被修改了》 /home/kiosk/Desktop/cccccccccc [root@foundation4 Desktop]#[root@foundation4 Desktop]# find /home/kiosk/Desktop/ -mtime -5 《5小时内创建的文件,因为我开过机,所以会有虚拟机也被查找出来》 /home/kiosk/Desktop/ /home/kiosk/Desktop/rht-desktop.desktop /home/kiosk/Desktop/rht-server.desktop /home/kiosk/Desktop/file1 /home/kiosk/Desktop/file2 /home/kiosk/Desktop/file3 /home/kiosk/Desktop/files /home/kiosk/Desktop/jjjjjj /home/kiosk/Desktop/cccccccccc [root@foundation4 Desktop]# find /home/kiosk/Desktop/ -mtime -1 《1小时内创建的文件》 /home/kiosk/Desktop/ /home/kiosk/Desktop/file1 /home/kiosk/Desktop/file2 /home/kiosk/Desktop/file3 /home/kiosk/Desktop/files /home/kiosk/Desktop/jjjjjj /home/kiosk/Desktop/cccccccccc
-perm [root@foundation4 files]# ll -r /home/kiosk/Desktop/files/ total 64 -rw-r–r–. 1 root root 30720 Oct 26 11:03 file3 -rw-r–r–. 1 root root 20480 Oct 26 11:03 file2 -rw-r–r–. 1 root root 10240 Oct 26 11:02 file1 [root@foundation4 files]# find /home/kiosk/Desktop/files/ -perm /110 /home/kiosk/Desktop/files/ [root@foundation4 files]# ll /home/kiosk/Desktop/files/ total 64 -rw-r–r–. 1 root root 10240 Oct 26 11:02 file1 -rw-r–r–. 1 root root 20480 Oct 26 11:03 file2 -rw-r–r–. 1 root root 30720 Oct 26 11:03 file3 [root@foundation4 files]# ll -d /home/kiosk/Desktop/files/ drwxr-xr-x. 2 root root 42 Oct 26 11:03 /home/kiosk/Desktop/files/ [root@foundation4 files]# find /home/kiosk/Desktop/files/ -perm /140 /home/kiosk/Desktop/files/ /home/kiosk/Desktop/files/file1 /home/kiosk/Desktop/files/file2 /home/kiosk/Desktop/files/file3 [root@foundation4 files]# find /home/kiosk/Desktop/files/ -perm /740 /home/kiosk/Desktop/files/ /home/kiosk/Desktop/files/file1 /home/kiosk/Desktop/files/file2 /home/kiosk/Desktop/files/file3 [root@foundation4 files]# find /home/kiosk/Desktop/files/ -perm -740 /home/kiosk/Desktop/files/ [root@foundation4 files]# find /home/kiosk/Desktop/files/ -perm -640 /home/kiosk/Desktop/files/ /home/kiosk/Desktop/files/file1 /home/kiosk/Desktop/files/file2 /home/kiosk/Desktop/files/file3 [root@foundation4 files]# find /home/kiosk/Desktop/files/ -perm -642 [root@foundation4 files]# 文件权限: t u1 u2 u3 g1 g2 g3 o1 o2 o3 制定的权限: t u1 u2 u3 g1 g2 g3 o1 o2 o3 两行相与 T U1 U2 U3 G1 G2 G3 O1 O2 O3 如果 是 /400 代表忽略g HE / 代表粗匹配 U1 U2 U3 G1 G2 G3 O1 O2 O3 只要有1位是1就是了。代表准确匹配U1 U2 U3 G1 G2 G3 O1 O2 O3必须都是1才行 /444 ugo 任意一位有4就可以被找出来,或的关系 -444 ugo 每一位上都必须有4。这几个数字是与的关系,这几个数字可以是不同的
-exec 执行后面的命令 [root@foundation4 Desktop]# find /etc/ -name *.conf -exec cp -r {} /mnt \; {} 指的是找到的所有内容 命令完后要输入 空格 和 \; [root@foundation4 Desktop]# find /home/ -perm /022 -exec rm -rf {} \; 找到home下对组和其他人可以写的文件,然后删除。