zoukankan      html  css  js  c++  java
  • linux学习(十)find命令、Linux文件后缀名、Linux和windows文件互传

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

    1.1 which

    [root@iZ25lzba47vZ ~]# which ls
    alias ls='ls --color=auto'
            /usr/bin/ls

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

    1.2 locate

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

    [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                                             

    1.3 whereis

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

    [root@iZ25lzba47vZ ~]# 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 目录 -查找选项 选项参数 查找内容

    看个基本的例子:

    [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结尾的文件。

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

    2.2.1 type:文件类型

    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:块设备

    [root@iZ25lzba47vZ 1]# find /dev/ -type b /dev/xvdb /dev/xvda1 /dev/xvda

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

    查找修改时间在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

    2.2.3 size:文件大小

    查找文件大小小于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

    2.3 查找硬链接

    我们使用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

    2.4 -xargs参数

    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文件。括号就是找到的一条结果。

    三、常用快捷键

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

    四、stat

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

    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加上文件名称,就会弹出交互界面了。

    坚持!
  • 相关阅读:
    图片懒加载原理-实例二
    节流函数(throttle)的原理
    防抖动函数(debounce)的原理
    立即执行函数(immediate)的原理
    图片懒加载原理-实例三
    图片懒加载原理-实例四:首屏加载
    js运算符优先级
    java实现链栈
    java实现栈
    静态链表以及几种表的比较
  • 原文地址:https://www.cnblogs.com/doubilaile/p/7745635.html
Copyright © 2011-2022 走看看