[root@iZ25lzba47vZ ~]# which ls alias ls=‘ls --color=auto‘ /usr/bin/ls
这个命令只能查找在环境变量下面的文件,如上面的代码一样。
这个命令依赖搜索库,文件录入不及时,但是可以手动更新,使用命令:
[root@iZ25lzba47vZ ~]# updatedb
如果命令没有的话,需要安装:
[root@iZ25lzba47vZ ~]# yum install -y mlocate Loaded plugins: langpacks base | 3.6 kB 00:00:00 epel | 4.3 kB 00:00:00 extras
这个命令,知道就好了,很少用。
[root@iZ25lzba47vZ ~]# whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
find 目录 -查找选项 选项参数 查找内容
看个基本的例子:
[root@iZ25lzba47vZ ~]# find /root/ -type f -name "*.log" /root/npm-debug.log /root/.npm/npm-debug.log /root/oneinstack/src/libevent-2.0.22-stable/config.log /root/oneinstack/src/tmux-2.1/config.log /root/oneinstack/src/pcre-8.38/config.log /root/oneinstack/src/htop-2.0.0/config.log /root/oneinstack/src/pure-ftpd-1.0.42/config.log /root/Application/Runtime/Logs/Home/17_09_11.log
上面这段代码的意思是:在/root目录下查找文件类型为f(普通文件),且文件名以.log结尾的文件。
f:文件
[root@iZ25lzba47vZ ~]# find /root/ -type f -name ‘*.log‘ /root/npm-debug.log /root/.npm/npm-debug.log /root/oneinstack/src/libevent-2.0.22-stable/config.log /root/oneinstack/src/tmux-2.1/config.log /root/oneinstack/src/pcre-8.38/config.log /root/oneinstack/src/htop-2.0.0/config.log /root/oneinstack/src/pure-ftpd-1.0.42/config.log /root/Application/Runtime/Logs/Home/17_09_11.log
d:目录
[root@iZ25lzba47vZ ~]# find / -type d -name ‘conf‘ /proc/sys/net/ipv4/conf /proc/sys/net/ipv6/conf /usr/local/aegis/PythonLoader/conf /usr/local/aegis/aegis_client/aegis_10_27/conf /usr/local/aegis/aegis_client/aegis_10_25/conf /usr/local/aegis/aegis_client/aegis_10_33/conf /usr/local/aegis/aegis_client/aegis_10_31/conf /usr/local/nginx/conf
l:软连接
[root@iZ25lzba47vZ 1]# find . -type f|xargs ls -l -rw-r--r-- 1 root ruanwenwu 0 Oct 26 22:30 ./1.txt -rw-r--r-- 1 ruanwenwu ruanwenwu 0 Mar 26 2017 ./4/33.txt -rw-rw-r-- 1 root root 0 Oct 26 00:01 ./4/4.txt -rw-rw-r-- 1 root root 0 Oct 26 00:15 ./4/6/b.txt -rw-r--r-- 1 root root 6 Oct 26 00:33 ./4/b.txt -rw-rw-r-- 1 root root 2 Oct 26 00:24 ./5.txt
c:输入设备
b:块设备
查找修改时间在1天以上的:
[root@iZ25lzba47vZ 1]# find /root/1 -mtime +1 /root/1/4/33.txt
查找修改时间在10分钟以内的:
[root@iZ25lzba47vZ 1]# find /root/1 -mmin -10 [root@iZ25lzba47vZ 1]# touch /root/1/c.txt [root@iZ25lzba47vZ 1]# find /root/1 -mmin -10 /root/1 /root/1/c.txt
查找文件大小小于10kb的:
[root@iZ25lzba47vZ 1]# find /root/ -size +1000k /root/.cache/composer/repo/https---packagist.org/p-provider-2017-01.json
查找文件大小大于10M的:
[root@iZ25lzba47vZ 1]# find /root/ -size +10M /root/oneinstack/src/ImageMagick-6.8.9-10.tar.gz /root/oneinstack/src/php-5.6.18.tar.gz /root/oneinstack/src/mysql-5.5.48.tar.gz /root/oneinstack/src/php-7.0.3.tar.gz /root/oneinstack/src/percona-server-5.6.28-76.1.tar
我们使用inode号来找硬链接,因为硬链接的inode号和源文件一致:
[root@iZ25lzba47vZ 1]# ls 1.txt 4 5 5.txt c.txt [root@iZ25lzba47vZ 1]# ln 1.txt /tmp/1.txt [root@iZ25lzba47vZ 1]# ls -l 1.txt -rw-r--r-- 2 root ruanwenwu 0 Oct 26 22:30 1.txt [root@iZ25lzba47vZ 1]# ls -i 1.txt 158242 1.txt [root@iZ25lzba47vZ 1]# find / -inum 158242 /tmp/1.txt
xargs参数用来处理查找到的文件,先举个例子:
[root@iZ25lzba47vZ 1]# find /root/1 -type f -exec mv {} {}.bak \; [root@iZ25lzba47vZ 1]# tree /root/1 /root/1 ├── 1.txt.bak.bak ├── 4 │ ├── 33.txt.bak │ ├── 4.txt.bak │ ├── 6 │ │ └── b.txt.bak.bak │ └── b.txt.bak ├── 5 ├── 5.txt.bak └── c.txt.bak.bak
发现用了这个命令后,所有的文件都被改成了原文件名+.bak文件。括号就是找到的一条结果。
[root@iZ25lzba47vZ 1]# stat /root/1/1.txt.bak.bak File: ‘/root/1/1.txt.bak.bak’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: ca01h/51713d Inode: 158242 Links: 2 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 1003/ruanwenwu) Access: 2017-10-27 22:47:06.221000000 +0800 Modify: 2017-10-26 22:30:26.890000000 +0800 Change: 2017-10-27 23:07:24.217000000 +0800
我们最常用到的是三个时间:
Access:访问时间。当我们cat一个文件时会变化。
Modify:当我们修改一个文件内容时会改变,这时候Change也会改变,因为Change受inode信息的影响,文件大小变了,inode信息也变了,Change也跟着变了。
Change:当文件权限,所属组,大小等信息变更时会变。
touch 一个文件时,三个时间都会变。
Linux的文件后缀不像在windows下那么有意义。在linux下,后缀只是为了让我们更容易区分文件类型。常见的文件类型有:
.conf 配置文件
.zip zip压缩包
.tar.gz tar.gz压缩包
.tar tar压缩包
.log 日志文件
SecureCrt和Xshell支持。需要安装lrzrz命令:
yum -y install lrzsz
上传文件到linux:
rz
输如rz回车就好了。
下载文件到windows:
sz filename
sz加上文件名称,就会弹出交互界面了。
linux学习(十)find命令、Linux文件后缀名、Linux和windows文件互传
原文:http://www.cnblogs.com/doubilaile/p/7745635.html