linux学习find命令Linux文件后缀名Linux和windows文件互传

Posted 阮文武的网络日志

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习find命令Linux文件后缀名Linux和windows文件互传相关的知识,希望对你有一定的参考价值。

一、和find相关的几个搜索命令,了解即可。

1.1 which

[[email protected] ~]# which ls
alias ls=ls --color=auto
        /usr/bin/ls

这个命令只能查找在环境变量下面的文件,如上面的代码一样。

1.2 locate

这个命令依赖搜索库,文件录入不及时,但是可以手动更新,使用命令:

[[email protected] ~]# updatedb

如果命令没有的话,需要安装:

[[email protected] ~]# yum install -y mlocate
Loaded plugins: langpacks
base                                                                                 | 3.6 kB  00:00:00     
epel                                                                                 | 4.3 kB  00:00:00     
extras                                             

1.3 whereis

这个命令,知道就好了,很少用。

[[email protected] ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

二、find命令

2.1 find的基本语法

find 目录 -查找选项 选项参数 查找内容

看个基本的例子:

[[email protected] ~]# 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结尾的文件。

2.2 其中查找选项可分为以下几种:

2.2.1 type:文件类型

f:文件

[[email protected] ~]# 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:目录

[[email protected] ~]# 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:软连接

[[email protected] 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:块设备

[[email protected] 1]# find /dev/ -type b /dev/xvdb /dev/xvda1 /dev/xvda

2.2.2 mtime/mmin : 修改天数/修改分钟数

查找修改时间在1天以上的:

[[email protected] 1]# find /root/1 -mtime +1
/root/1/4/33.txt

查找修改时间在10分钟以内的:

[[email protected] 1]# find /root/1 -mmin -10
[[email protected] 1]# touch /root/1/c.txt
[[email protected] 1]# find /root/1 -mmin -10
/root/1
/root/1/c.txt

2.2.3 size:文件大小

查找文件大小小于10kb的:

[[email protected] 1]# find /root/ -size +1000k
/root/.cache/composer/repo/https---packagist.org/p-provider-2017-01.json

查找文件大小大于10M的:

[[email protected] 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

2.3 查找硬链接

我们使用inode号来找硬链接,因为硬链接的inode号和源文件一致:

[[email protected] 1]# ls
1.txt  4  5  5.txt  c.txt
[[email protected] 1]# ln 1.txt /tmp/1.txt
[[email protected] 1]# ls -l 1.txt
-rw-r--r-- 2 root ruanwenwu 0 Oct 26 22:30 1.txt
[[email protected] 1]# ls -i 1.txt
158242 1.txt
[[email protected] 1]# find / -inum 158242
/tmp/1.txt

2.4 -xargs参数

xargs参数用来处理查找到的文件,先举个例子:

[[email protected] 1]# find /root/1 -type f -exec mv {} {}.bak \;
[[email protected] 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文件。括号就是找到的一条结果。

三、常用快捷键

ctrl + d退出终端
logout退出终端
exit退出终端
ctrl+u往前删
ctrl+d往后一个个删
ctrl+e挪到最后
ctrl+a挪到前面
ctrl+k删除光标后面的

四、stat

stat用来查看文件的详细信息
[[email protected] 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的文件后缀

Linux的文件后缀不像在windows下那么有意义。在linux下,后缀只是为了让我们更容易区分文件类型。常见的文件类型有:

.conf 配置文件

.zip zip压缩包

.tar.gz tar.gz压缩包

.tar tar压缩包

.log 日志文件

六、windows和Linux文件互传。

SecureCrt和Xshell支持。需要安装lrzrz命令:

yum -y install lrzsz

上传文件到linux:

rz

输如rz回车就好了。

下载文件到windows:

sz filename

sz加上文件名称,就会弹出交互界面了。

以上是关于linux学习find命令Linux文件后缀名Linux和windows文件互传的主要内容,如果未能解决你的问题,请参考以下文章

Linux 递归修改后缀名

linux 常用命令学习记录

find命令和文件后缀名

Linux CentOS7 VMware find命令文件名后缀

Linux学习笔记find文件名后缀

linux 删除问题 一次删除多个目录下的相同扩展名的文件