locate命令和slocate命令都用来查找文件或目录。
locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库,locate的速度比find快,它并不是真的查找,而是查数据库,
[root@SRD999 /]# updatedb
[root@SRD999 /]#
搜索etc目录下所有以sh开头的文件:
[srd@SRD999 ~]$ locate /etc/sh
/etc/shadow
/etc/shadow-
/etc/shells
搜索用户主目录下,所有以m开头的文件,并且忽略大小写:
[srd@SRD999 ~]$ locate -i ~/m
/home/srd/Music
寻找所有passwd文件,但最多只显示 100 个
[root@SRD999 /]# locate -n 10 passwd
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
/etc/security/opasswd
/home/srd/cc/Python-3.5.0/Lib/test/keycert.passwd.pem
/home/srd/cc/Python-3.5.0/Lib/test/ssl_key.passwd.pem
/lib64/security/pam_passwdqc.so
/lib64/security/pam_unix_passwd.so
/usr/bin/gpasswd
/usr/bin/htpasswd
[root@SRD999 2015]# ll
total 4251356
-rw-rw-r--. 1 srd srd 4353378304 Jan 25 13:52 1.iso
-rw-r--r--. 2 root root 22 Jan 26 17:58 1.txt
mv 可以改名和移动文件
[root@SRD999 2015]# mv 1.iso 2.iso
[root@SRD999 2015]# ll
total 4251356
-rw-r--r--. 2 root root 22 Jan 26 17:58 1.txt
-rw-rw-r--. 1 srd srd 4353378304 Jan 25 13:52 2.iso
rm 删除文件和目录
rmdir 只能删除空目录
[root@SRD999 2015]# ll
total 4251356
-rw-rw-r--. 1 srd srd 4353378304 Jan 25 13:52 1.iso
-rw-r--r--. 2 root root 22 Jan 26 17:58 1.txt
touch 修改文件时间属性和创建文件
[root@SRD999 2015]# touch test1
[root@SRD999 2015]# touch test2
[root@SRD999 2015]# touch test2
[root@SRD999 2015]# touch test3
[root@SRD999 2015]# touch test4
[root@SRD999 2015]# touch test5
[root@SRD999 2015]# ll
total 4251356
-rw-rw-r--. 1 srd srd 4353378304 Jan 25 13:52 1.iso
-rw-r--r--. 2 root root 22 Jan 26 17:58 1.txt
-rw-r--r--. 1 root root 0 Jan 27 11:17 test1
-rw-r--r--. 1 root root 0 Jan 27 11:17 test2
-rw-r--r--. 1 root root 0 Jan 27 11:17 test3
-rw-r--r--. 1 root root 0 Jan 27 11:17 test4
-rw-r--r--. 1 root root 0 Jan 27 11:17 test5
rename改名
[root@SRD999 2015]# rename test srd test?
[root@SRD999 2015]# ll
total 4251356
-rw-rw-r--. 1 srd srd 4353378304 Jan 25 13:52 1.iso
-rw-r--r--. 2 root root 22 Jan 26 17:58 1.txt
-rw-r--r--. 1 root root 0 Jan 27 11:17 srd1
-rw-r--r--. 1 root root 0 Jan 27 11:17 srd2
-rw-r--r--. 1 root root 0 Jan 27 11:17 srd3
-rw-r--r--. 1 root root 0 Jan 27 11:17 srd4
-rw-r--r--. 1 root root 0 Jan 27 11:17 srd5
which 查找文件绝对路径
[root@SRD999 2015]# which passwd
/usr/bin/passwd
whereis 多用于查找指令的二进制文件,一般文件用locate
[root@SRD999 2015]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz