学习

 硬链接和软链接:

(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:10rht-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:10rht-desktop.desktop

137473837 -rwxrwxr-x. 1 kiosk kiosk 289 Oct 25 09:10rht-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=1024count=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=1024count=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=1024count=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] [-Dhelp|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就是了。

- 代表准确匹配U1U2  U3 G1 G2  G3  O1  O2O3必须都是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下对组和其他人可以写的文件,然后删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值