linux的文件搜索find和连接
1、which filename搜索命令,列出命令的绝对路径和alias,搜索范围是PATH的路径;但对于内部命令,例如cd,情况会有所不同;
2、whereis filename 在PATH中搜索含有filename的文件;
echo $PATH显示 PATH值;
vi /etc/profile 永久修改PATH值;
3、locate filename 默认需要安装,原理是通过生成数据库,在查找数据库来寻找路径;第一使用,要updatedb来生成,当然每天凌晨4点updatedb会自动更新;
安装命令:yum install -y mlocate
另外,locate会忽略/tmp目录下的文件 ,例如上图中/tmp目录下的yum.log就被忽略了;
4、find filename 功能最全最强大
(1)find 文件夹 filename -type d,搜索指定文件夹得指定类型的文件(d是目录,f是所有文件);
(2)find /root -name “wei”,搜索指定文件夹的指定名称的文件,支持通配符如“*.txt”;
(3)find /root -mtime +N ,搜索指定文件的指定创建时间的文件,+N表示N天以前,-N表示N天以内;
find /root -mmin +N,表示的N分钟以前,-N表示N分钟以内;
另外三个参数可以混用;
另外可以用管道,同时显示出时间,例如:
find /root -name “*txt”-mmin -90 |xargs ls -l
或者find /root -name “*txt” -mmin -90 -exec ls -l {} \;
三个时间:
atime文件访问时间
ctime 文件更改时间
mtime 文件更改内容的时间,ls看到的就是mtime
使用stat filename可以看到三个时间:
使用vi编辑3.txt,三个time都会变,但使用echo更改的时候,只会更改ctime和mtime:
(4)find的反义效果:
find /etc/init.d/ ! -type d
find 的或-o,如
find /etc -type d -o -mtime -1
5、软连接
ln -s filename filename 建立文件或目录的软连接,最好用绝对路径,防止出错;软连接是两个inode对应两个文件,但指向同一个文件;
6、硬链接(软连接不加 -s就是硬链接)
硬链接不能作用于目录,硬链接的本质就是把相同inode号作用于另一个文件上,而且不能跨设备;