• 文件管理基础命令


    pwd 显示当前目录绝对路径

     pwd            #显示当前工作目录的绝对路径    告诉我,你在哪里
    [root@CentOS7 usr]# pwd
    /usr
    [root@CentOS7 usr]# cd local
    [root@CentOS7 local]# pwd
    /usr/local

     

    cd 切换工作目录

    cd          #切换工作目录   切换路径 
    [root@CentOS7 local]# cd #直接切换到当前用户的家目录
    [root@CentOS7 ~]#
    [root@CentOS7 ~]# cd ~ #切换当前用户的家目录   ====   cd /root

    [root@CentOS7 ~]# cd . #保持当前目录不变
    [root@CentOS7 ~]# cd ./ #保持当前目录不变

    [root@CentOS7 ~]# cd .. #切换当前目录的上一级目录
    [root@CentOS7 /]# cd
    [root@CentOS7 ~]# cd ../ #切换当前目录的上一级目录
    [root@CentOS7 /]#

    [root@CentOS7 local]# cd ../etc #进入当前目录的上一级目录/usr下的etc目录
    [root@CentOS7 etc]# pwd
    /usr/etc

    [root@CentOS7 local]# cd ../etc #进入当前目录的上一级目录/usr下的etc目录
    [root@CentOS7 etc]# pwd
    /usr/etc

    [root@CentOS7 usr]# cd   ../etc #不同目录下。执行的相对路径操作,得到的结果是不同的
    [root@CentOS7 etc]# pwd
    /etc

    [root@CentOS7 etc]# cd /
    [root@CentOS7 /]#             #切换到根目录   根本身也是一个目录

    [root@CentOS7 /]# cd - #切换到你上一次所在的目录     快速的到达上一次所在的路径
    /etc
    [root@CentOS7 etc]#

     

    ls 显示文件或者目录列表信息

    ls      #显示文件或者目录列表信息      打开目录  显示目录里面的内容  
    常用选项:
       -l #以长格式形式显示文件或者目录的详细属性信息  

    -i #显示文件或者目录的inode信息   索引节点信息
       
       -h #以字节大小的形式显示文件大小   B   KB   MB   GB  
       
       -a #显示所有的文件,隐藏文件 所有以点开头的文件就是隐藏文件
       
       -S #以文件大小进行排序 从大到小显示
       
       -t #根据时间进行排序 最新的时间在最上面
       
       -r #倒叙排序  
       
       -F #给不同的文件加上不同的标识符  
       
       -d #显示目录本身信息  
       
      / #目录
     
      * #可执行文件  
     
      = #套接字文件 socker文件  
     
      | #管道文件  
     #系统自带的别名   ll === ls -l  
     
    [root@CentOS7 ~]# ls #如果不加目录信息,默认针对的是当前目录操作
    anaconda-ks.cfg

    [root@CentOS7 ~]# ls   /root
    anaconda-ks.cfg

    [root@CentOS7 ~]# ls -l     #以长格式形式显示文件或者目录的详细属性信息
    total 4
    -rw-------. 1 root root 1429 Jul  6 02:17 anaconda-ks.cfg

    [root@CentOS7 ~]# ls -li     #以长格式形式显示文件或者目录的详细属性信息及inode信息   索引节点信息
    total 4
    134317667 -rw-------. 1 root root 1429 Jul  6 02:17 anaconda-ks.cfg

    [root@CentOS7 ~]# ll -h     #以字节大小的形式显示文件大小   B   KB   MB   GB
    total 4.0K
    -rw-------. 1 root root 1.4K Jul  6 02:17 anaconda-ks.cfg

    [root@CentOS7 ~]# ll -a     #显示所有的文件,隐藏文件 所有以点开头的文件就是隐藏文件
    total 28
    dr-xr-x---.  2 root root  127 Jul  8 12:24 .
    dr-xr-xr-x. 17 root root  224 Jul  6 09:33 ..
    -rw-r--r--.  1 root root    8 Jul  8 12:24 1.txt
    -rw-------.  1 root root 1458 Jul  6 09:34 anaconda-ks.cfg
    -rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
    -rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
    -rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
    -rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
    -rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc

    [root@CentOS7 ~]# ll -aS     #显示所有文件包含隐藏文件并从大到小显示
    total 28
    -rw-------.  1 root root 1458 Jul  6 09:34 anaconda-ks.cfg
    dr-xr-xr-x. 17 root root  224 Jul  6 09:33 ..
    -rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
    -rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
    -rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc
    dr-xr-x---.  2 root root  127 Jul  8 12:24 .
    -rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
    -rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
    -rw-r--r--.  1 root root    8 Jul  8 12:24 1.txt

    [root@CentOS7 ~]# ll -aSr     #显示所有文件包含隐藏文件并从小到大显示
    total 28
    -rw-r--r--.  1 root root    8 Jul  8 12:24 1.txt
    -rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
    -rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
    dr-xr-x---.  2 root root  127 Jul  8 12:24 .
    -rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc
    -rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
    -rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
    dr-xr-xr-x. 17 root root  224 Jul  6 09:33 ..
    -rw-------.  1 root root 1458 Jul  6 09:34 anaconda-ks.cfg

    [root@CentOS7 ~]# ll -at     #显示所有文件包含隐藏文件并根据时间进行排序 最新的时间在最上面
    total 28
    -rw-r--r--.  1 root root    8 Jul  8 12:24 1.txt
    dr-xr-x---.  2 root root  127 Jul  8 12:24 .
    -rw-------.  1 root root 1458 Jul  6 09:34 anaconda-ks.cfg
    dr-xr-xr-x. 17 root root  224 Jul  6 09:33 ..
    -rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
    -rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
    -rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
    -rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
    -rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc

    [root@CentOS7 ~]# ll -atr   #显示所有文件包含隐藏文件并根据时间进行排序 倒叙排序
    total 28
    -rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc
    -rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
    -rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
    -rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
    -rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
    dr-xr-xr-x. 17 root root  224 Jul  6 09:33 ..
    -rw-------.  1 root root 1458 Jul  6 09:34 anaconda-ks.cfg
    dr-xr-x---.  2 root root  127 Jul  8 12:24 .
    -rw-r--r--.  1 root root    8 Jul  8 12:24 1.txt

    [root@CentOS7 ~]# ll -aF     #显示所有文件包含隐藏文件并给不同的文件加上不同的标识符
    total 28
    dr-xr-x---.  2 root root  127 Jul  8 12:24 ./
    dr-xr-xr-x. 17 root root  224 Jul  6 09:33 ../
    -rw-r--r--.  1 root root    8 Jul  8 12:24 1.txt
    -rw-------.  1 root root 1458 Jul  6 09:34 anaconda-ks.cfg
    -rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
    -rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
    -rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
    -rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
    -rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc

    [root@CentOS7 ~]# ll -d /root     #显示目录本身信息
    dr-xr-x---. 2 root root 127 Jul  8 12:24 /root

    [root@CentOS7 ~]# ls /    
    bin   dev home lib64 mnt proc run   srv tmp var
    boot etc lib   media opt root sbin sys usr
    [root@CentOS7 ~]# ls -1 /     #以行的形式显示文件名称
    bin
    boot
    dev
    etc
    home
    lib
    lib64
    media
    mnt
    opt
    proc
    root
    run
    sbin
    srv
    sys
    tmp
    usr
    var

     

    stat 详细显示文件的属性

    stat          #详细显示文件的属性信息
    选项:
        -c     #指定格式输出   %a 以8进制显示文件的权限
    [root@CentOS7 ~]# stat passwd
    File: ‘passwd’
    Size: 798       Blocks: 8         IO Block: 4096   regular file
    Device: 803h/2051d Inode: 134317678   Links: 1
    Access: (0644/-rw-r--r--) Uid: (    0/   root)   Gid: (    0/   root)
    Context: unconfined_u:object_r:admin_home_t:s0
    Access: 2020-07-14 19:13:16.904691535 +0800
    Modify: 2020-07-14 19:13:12.935691465 +0800
    Change: 2020-07-14 19:13:12.935691465 +0800
    Birth: -

    # -c 指定格式输出   %a 以8进制显示文件的权限  
    [root@CentOS7 ~]# stat -c %a passwd
    644

     

    file 详细显示文件的信息

    file        #详细显示文件的信息  
    [root@CentOS7 ~]# file passwd
    passwd: ASCII text    #标准文件

    [root@CentOS7 ~]# file /opt/
    /opt/: directory       #目录

    [root@CentOS7 ~]# file /bin/ls
    /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=ceaf496f3aec08afced234f4f36330d3d13a657b, stripped

    [root@CentOS7 ~]# ll /bin/ls
    -rwxr-xr-x. 1 root root 117680 Oct 31  2018 /bin/ls

    [root@CentOS7 ~]# file /etc/grub2.cfg
    /etc/grub2.cfg: symbolic link to `../boot/grub2/grub.cfg'

    [root@CentOS7 ~]# file /dev/log
    /dev/log: socket

    [root@CentOS7 ~]# file /run/systemd/initctl/fifo
    /run/systemd/initctl/fifo: fifo (named pipe)

     

    tree 树状形式显示目录列表

    tree            #以树状形式显示目录列表
    #tree命令软件包
    yum install  -y tree    
    选项:
        -a #显示所有文件或者目录 隐藏文件
        -d #只显示目录及目录的数量
        -h #显示文件的大小  
        -F #给不同类型的文件加上不同的标识符
        -L    #层级显示
        / #目录
        * #可执行文件  
        = #套接字文件 socker文件  
        | #管道文件  
       
     
    [root@CentOS7 ~]# tree
    .
    ├── 1.txt
    └── anaconda-ks.cfg

    0 directories, 2 files

    [root@CentOS7 ~]# tree -a
    .
    ├── 1.txt
    ├── anaconda-ks.cfg
    ├── .bash_logout
    ├── .bash_profile
    ├── .bashrc
    ├── .cshrc
    └── .tcshrc

    0 directories, 7 files

    [root@CentOS7 ~]# tree -d /var/log     #只显示目录及目录的数量
    /var/log
    ├── anaconda
    ├── audit
    ├── rhsm
    └── tuned

    4 directories

    [root@CentOS7 ~]# tree -h /var/log     #显示文件大小
    /var/log
    ├── [ 176] anaconda
    │   ├── [ 27K] anaconda.log
    │   ├── [3.9K] ifcfg.log
    │   ├── [1.5M] journal.log
    │   ├── [   0] ks-script-1jLLxc.log
    │   ├── [197K] packaging.log
    │   ├── [ 29K] program.log
    │   ├── [121K] storage.log
    │   ├── [275K] syslog
    │   └── [ 21K] X.log

    [root@CentOS7 ~]# tree -L 2 /   #只显示 n 层目录 (n 为数字)
    /
    ├── bin -> usr/bin
    ├── boot
    │?? ├── config-3.10.0-957.el7.x86_64
    │?? ├── efi
    │?? ├── grub
    │?? ├── grub2
    │?? ├── initramfs-0-rescue-73dc23c3ad884fa58a6392e44d25cfd0.img
    │?? ├── initramfs-3.10.0-957.el7.x86_64.img
    │?? ├── symvers-3.10.0-957.el7.x86_64.gz
    │?? ├── System.map-3.10.0-957.el7.x86_64
    │?? ├── vmlinuz-0-rescue-73dc23c3ad884fa58a6392e44d25cfd0
    │?? └── vmlinuz-3.10.0-957.el7.x86_64

     

    mkdir 创建目录

    mkdir            #创建目录
    选项:
          -p #创建多级目录 递归创建   当目录已经存在时,再次创建不会提示报错  

    -v #显示创建的过程  

    -m #创建的时候,给目录设置一个权限  


    {} #生成序列 有规律和无规律   有规律使用..分割   无规律的使用逗号分割

    * #通配符   所有的意思


    在相同的路径下,不能存在相同的文件名称

    在不同的路径下,可以存在相同的文件名称  

    [root@CentOS7 ~]# mkdir /data #使用绝对路径进行创建
    [root@CentOS7 ~]# ll /
    total 20
    lrwxrwxrwx.   1 root root    7 Jul  6 09:29 bin -> usr/bin
    dr-xr-xr-x.   5 root root 4096 Jul  6 09:34 boot
    drwxr-xr-x.   2 root root    6 Jul  8 22:56 data
    drwxr-xr-x.  19 root root 3200 Jul  8 08:20 dev
    drwxr-xr-x.  80 root root 8192 Jul  8 22:47 etc
    drwxr-xr-x.   3 root root   17 Jul  7 08:45 home

    [root@CentOS7 ~]# mkdir data #使用相对路径进行创建    
    [root@CentOS7 ~]# ll
    total 8
    -rw-r--r--. 1 root root    8 Jul  8 12:24 1.txt
    -rw-------. 1 root root 1458 Jul  6 09:34 anaconda-ks.cfg
    drwxr-xr-x. 2 root root    6 Jul  8 22:57 data

    [root@CentOS7 ~]# mkdir -p /root/data   #当目录已经存在时,再次创建不会提示报错  

    [root@CentOS7 ~]# mkdir -v data01       #显示创建的过程  
    mkdir: created directory ‘data01’

    [root@CentOS7 ~]# mkdir -m 700 data02   #创建的时候,给目录设置一个权限  
    [root@CentOS7 ~]# ll
    total 8
    -rw-r--r--. 1 root root    8 Jul  8 12:24 1.txt
    -rw-------. 1 root root 1458 Jul  6 09:34 anaconda-ks.cfg
    drwxr-xr-x. 2 root root    6 Jul  8 22:57 data
    drwxr-xr-x. 2 root root    6 Jul  8 23:01 data01
    drwx------. 2 root root    6 Jul  8 23:02 data02

    [root@CentOS7 ~]# mkdir test/data{01..04}     #批量创建目录
    [root@CentOS7 ~]# ll test
    total 0
    drwxr-xr-x. 2 root root 6 Jul  8 23:03 data01
    drwxr-xr-x. 2 root root 6 Jul  8 23:03 data02
    drwxr-xr-x. 2 root root 6 Jul  8 23:03 data03
    drwxr-xr-x. 2 root root 6 Jul  8 23:03 data04

     

    touch 创建文件

    touch       #创建文件   创建空文件  当文件已经存在时,创建的时候不会报错,但是会改变文件的时间戳  不能跨目录创建

      {} #生成序列 有规律和无规律   有规律使用..分割   无规律的使用逗号分割        

    [root@CentOS7 ~]# touch data.{txt,sh,log,xml,tar,py,js}
    [root@CentOS7 ~]# ll
    -rw-r--r--.  1 root root    0 Jul  8 12:27 data.js
    -rw-r--r--.  1 root root    0 Jul  8 12:27 data.log
    -rw-r--r--.  1 root root    0 Jul  8 12:27 data.py
    -rw-r--r--.  1 root root    0 Jul  8 12:27 data.sh
    -rw-r--r--.  1 root root    0 Jul  8 12:27 data.tar
    -rw-r--r--.  1 root root    0 Jul  8 12:27 data.txt
    -rw-r--r--.  1 root root    0 Jul  8 12:27 data.xml
     
    [root@CentOS7 ~]# touch data{01..10}.txt
    [root@CentOS7 ~]# ll
    -rw-r--r--.  1 root root    0 Jul  8 12:28 data01.txt
    -rw-r--r--.  1 root root    0 Jul  8 12:28 data02.txt
    -rw-r--r--.  1 root root    0 Jul  8 12:28 data03.txt
    -rw-r--r--.  1 root root    0 Jul  8 12:28 data04.txt
    -rw-r--r--.  1 root root    0 Jul  8 12:28 data05.txt
    -rw-r--r--.  1 root root    0 Jul  8 12:28 data06.txt
    -rw-r--r--.  1 root root    0 Jul  8 12:28 data07.txt
    -rw-r--r--.  1 root root    0 Jul  8 12:28 data08.txt
    -rw-r--r--.  1 root root    0 Jul  8 12:28 data09.txt
    -rw-r--r--.  1 root root    0 Jul  8 12:28 data10.txt
                                                           

     

    cp 复制,拷贝

    cp       #复制,拷贝  

    语法:

    命令     源文件     目标目录

    选项:

    -r #递归复制   复制目录时所使用的

    -p #保持源文件属性

    -d #复制的时候保持软连接

    -a   ===  -pdr  #保留原文件属性的前提下复制文件

    -t #把源文件的位置跟目标目录的位置进行调换   在批量拷贝文件时使用

    -i #当拷贝的文件在目标目录已经存在时,提示是否覆盖     系统自带的别名

    [root@CentOS7 ~]# cp /etc/hosts /root
    [root@CentOS7 ~]# cp /etc/passwd   ./
    [root@CentOS7 ~]# cp /etc/resolv.conf .
    [root@CentOS7 ~]# ll
    total 20
    -rw-r--r--. 1 root root  158 Jul  9 15:32 hosts
    -rw-r--r--. 1 root root 1011 Jul  9 15:32 passwd
    -rw-r--r--. 1 root root   51 Jul  9 15:33 resolv.conf

    [root@CentOS7 ~]# cp /opt/ ./
    cp: omitting directory ‘/opt/’
    [root@CentOS7 ~]# cp -r /opt/ ./     # -r 复制目录使用
    [root@CentOS7 ~]# ll
    total 20
    drwxr-xr-x. 2 root root    6 Jul  9 15:38 opt

    [root@CentOS7 ~]# ll /etc/grub2.cfg
    lrwxrwxrwx. 1 root root 22 Jul  6 02:14 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
    [root@CentOS7 ~]# cp /etc/grub2.cfg ./
    [root@CentOS7 ~]# ll
    total 20
    -rw-r--r--. 1 root root 4229 Jul  9 09:16 grub2.cfg
    -rw-r--r--. 1 root root  158 Jul  9 09:11 hosts
    drwxr-xr-x. 2 root root    6 Jul  9 09:14 opt
    -rw-r--r--. 1 root root  873 Jul  9 09:11 passwd
    -rw-r--r--. 1 root root   51 Jul  9 09:11 resolv.conf
    [root@CentOS7 ~]# rm -f grub2.cfg
    [root@CentOS7 ~]# cp -d /etc/grub2.cfg   ./     #-d 复制的时候保持软连接
    [root@CentOS7 ~]# ll
    total 12
    lrwxrwxrwx. 1 root root  22 Jul  9 09:16 grub2.cfg -> ../boot/grub2/grub.cfg
    -rw-r--r--. 1 root root 158 Jul  9 09:11 hosts
    drwxr-xr-x. 2 root root   6 Jul  9 09:14 opt
    -rw-r--r--. 1 root root 873 Jul  9 09:11 passwd
    -rw-r--r--. 1 root root  51 Jul  9 09:11 resolv.conf

    [root@CentOS7 ~]# cp -t ./   /etc/fstab   #把源文件的位置根目标目录的位置进行调换   在批量拷贝文件时使用
    [root@CentOS7 ~]# ll
    total 16
    lrwxrwxrwx. 1 root root   7 Jul  6 02:13 bin -> usr/bin
    -rw-r--r--. 1 root root 501 Jul  9 09:21 fstab
    lrwxrwxrwx. 1 root root  22 Jul  9 09:16 grub2.cfg -> ../boot/grub2/grub.cfg
    -rw-r--r--. 1 root root 158 Jul  9 09:11 hosts
    drwxr-xr-x. 2 root root   6 Jul  9 09:14 opt
    -rw-r--r--. 1 root root 873 Jul  9 09:11 passwd
    -rw-r--r--. 1 root root  51 Jul  9 09:11 resolv.conf

    [root@CentOS7 ~]# alias   #当拷贝的文件在目标目录已经存在时,提示是否覆盖 系统自带的别名
    alias cp='cp -i'

    #强制覆盖不提示   临时取消别名
    [root@CentOS7 ~]# cp /etc/hosts ./

     

    mv 移动和重命名文件

    mv       #移动和重命名文件 
    语法:

    命令     源文件   目标目录  

    选项:

    -i #当文件已经存在时,移动的时候,提示是否覆盖目标文件   系统自带别名
    [root@CentOS7 ~]# alias
    alias mv='mv -i'

    -f #强制覆盖,不提示  

    -t #把源文件的位置跟目标目录的位置进行调换

    #强制覆盖不提示
    [root@CentOS7 ~]# mv /opt/hosts   ./

    [root@CentOS7 ~]# mv -f /opt/hosts   ./
    [root@CentOS7 ~]# ll
    total 4
    -rw-r--r--. 1 root root 158 Jul  9 10:00 hosts
    drwxr-xr-x. 2 root root   6 Jul  9 09:59 mnt
    [root@CentOS7 ~]# ll /opt/
    total 8
    -rw-r--r--. 1 root root 501 Jul  9 09:28 fstab
    -rw-r--r--. 1 root root  51 Jul  9 09:28 resolv.conf

    [root@CentOS7 ~]# mv -t /opt/   ./hosts   #把源文件的位置跟目标目录的位置进行调换
    [root@CentOS7 ~]# ll
    total 0
    drwxr-xr-x. 2 root root 6 Jul  9 09:59 mnt
    [root@CentOS7 ~]# ll /opt/
    total 12
    -rw-r--r--. 1 root root 501 Jul  9 09:28 fstab
    -rw-r--r--. 1 root root 158 Jul  9 10:00 hosts
    -rw-r--r--. 1 root root  51 Jul  9 09:28 resolv.conf

    #在移动文件或者目录的过程中,修改了名称  
    [root@CentOS7 ~]# mv mnt/   mot
    [root@CentOS7 ~]# ll
    total 0
    drwxr-xr-x. 2 root root 6 Jul  9 09:59 mot
    [root@CentOS7 ~]# mv /opt/hosts   ./host
    [root@CentOS7 ~]# ll
    total 4
    -rw-r--r--. 1 root root 158 Jul  9 10:00 host
    drwxr-xr-x. 2 root root   6 Jul  9 09:59 mot

     

    rename 利用替换字符串的方式进行重命名

     rename    #利用替换字符串的方式进行重命名 


    [root@CentOS7 ~]# rename   test   oldboy   test.txt
    [root@CentOS7 ~]# ll
    total 4
    -rw-r--r--. 1 root root 158 Jul  9 10:00 host
    drwxr-xr-x. 2 root root   6 Jul  9 09:59 mot
    -rw-r--r--. 1 root root   0 Jul  9 10:08 oldboy.txt

     

    rm 删除

    rm      #删除命令     特别危险
    选项:

    -i    #在删除文件的时候,提示你是否确认删除   系统别名

    -f #强制删除不提示  

    -r #删除目录使用 递归删除  

    [root@CentOS7 ~]# ll
    total 4
    -rw-r--r--. 1 root root 158 Jul  9 10:00 host
    drwxr-xr-x. 2 root root   6 Jul  9 09:59 mot
    -rw-r--r--. 1 root root   0 Jul  9 10:08 oldboy.txt
    [root@CentOS7 ~]# rm host
    rm: remove regular file ‘host’? n
    [root@CentOS7 ~]# ll
    total 4
    -rw-r--r--. 1 root root 158 Jul  9 10:00 host
    drwxr-xr-x. 2 root root   6 Jul  9 09:59 mot
    -rw-r--r--. 1 root root   0 Jul  9 10:08 oldboy.txt
    [root@CentOS7 ~]# alias
    alias cp='cp -i'
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias grep='grep --color=auto'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='rm -i'

    [root@CentOS7 ~]# rm -f   host         #强制删除文件不提示
    [root@CentOS7 ~]# ll
    total 0
    drwxr-xr-x. 2 root root 6 Jul  9 09:59 mot
    -rw-r--r--. 1 root root 0 Jul  9 10:08 oldboy.txt

    [root@CentOS7 ~]# rm -rf mot/       #强制删除目录,文件不提示
    [root@CentOS7 ~]# ll
    total 0
    -rw-r--r--. 1 root root 0 Jul  9 10:08 oldboy.txt

    [root@CentOS7 ~]# rm -rf ./* #删除目录下的所有   排除 隐藏文件

     

    echo 打印输出文件 创建新文件 修改文件

    echo    #打印你所要输出的内容    打印变量的值   创建新文件   修改文件    输出加上颜色      脚本中使用的多

    选项:

    -n #不自动换行

    -e #支持一些特殊字符的使用   #换行符   #tab键  
       
     
    [root@CentOS7 ~]# echo hello world
    hello world
    [root@CentOS7 ~]# echo -n   hello world
    hello world[root@CentOS7 ~]#

    #定义和打印变量
    [root@CentOS7 ~]# Name=zzc
    [root@CentOS7 ~]# Name
    -bash: Name: command not found
    [root@CentOS7 ~]# echo $Name
    zzc

    [root@CentOS7 ~]# echo $PWD
    /root
    [root@CentOS7 ~]# cd /opt/
    [root@qls opt]# echo $PWD
    /opt


    #创建新文件  
    >   #标准输出重定向   如果文件不存在,会自动创建,如果文件存在,会首先把文件的内容清空,然后再把你要输出的内容重定向进去  
    [root@CentOS7 ~]# echo 1 > test.txt
    [root@CentOS7 ~]# ll
    total 8
    -rw-------. 1 root root 1429 Jul  6 02:17 anaconda-ks.cfg
    -rw-r--r--. 1 root root    2 Jul  9 10:56 test.txt
    [root@CentOS7 ~]# cat test.txt
    1

    [root@CentOS7 ~]# echo 2 > test.txt
    [root@CentOS7 ~]# cat test.txt
    2


    >> #标准输出追加重定向 如果文件不存在,会自动创建,如果文件存在,会把你要输出的内容追加到文件的底部
    [root@CentOS7 ~]# echo 3 >> test.txt
    [root@CentOS7 ~]# cat test.txt
    2
    3

    [root@CentOS7 ~]# echo -e "hello world"     #支持一些特殊字符的使用     #tab键
    hello
    world

    [root@CentOS7 ~]# echo -e "1 2 3"       #     换行符
    1
    2
    3
    [root@CentOS7 ~]# echo -e "1 2 3" > oldboy.txt
    [root@CentOS7 ~]# cat oldboy.txt
    1
    2
    3

    字颜色:30—–37

      echo -e "33[30m 黑色字 33[0m"
      echo -e "33[31m 红色字 33[0m"
      echo -e "33[32m 绿色字 33[0m"
      echo -e "33[33m 黄色字 33[0m"
      echo -e "33[34m 蓝色字 33[0m"
      echo -e "33[35m 紫色字 33[0m"
      echo -e "33[36m 天蓝字 33[0m"
      echo -e "33[37m 白色字 33[0m"

    字背景颜色范围:40—–47

      echo -e "33[40;37m 黑底白字 33[0m"
      echo -e "33[41;37m 红底白字 33[0m"
      echo -e "33[42;37m 绿底白字 33[0m"
      echo -e "33[43;37m 黄底白字 33[0m"
      echo -e "33[44;37m 蓝底白字 33[0m"
      echo -e "33[45;37m 紫底白字 33[0m"
      echo -e "33[46;37m 天蓝底白字 33[0m"
      echo -e "33[47;30m 白底黑字 33[0m"
      

    cat 显示文件内容 创建新文件 修改文件 合并文件

    cat    #显示文件内容  把文件内容全部显示出来     创建新文件  修改文件    合并文件
    选项:

    -n #显示文件时,显示文件的行号  

    -A #给显示的文件内容的每行结尾加上一个标识符  

    [root@CentOS7 ~]# cat passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

    [root@CentOS7 ~]# cat -n passwd       #显示文件并显示行号
        1 root:x:0:0:root:/root:/bin/bash
        2 bin:x:1:1:bin:/bin:/sbin/nologin
        3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
        4 adm:x:3:4:adm:/var/adm:/sbin/nologin
        5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
        6 sync:x:5:0:sync:/sbin:/bin/sync
        7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

    [root@CentOS7 ~]# cat -A passwd       #给显示的文件内容的每行结尾加上一个标识符
    root:x:0:0:root:/root:/bin/bash$
    bin:x:1:1:bin:/bin:/sbin/nologin$
    daemon:x:2:2:daemon:/sbin:/sbin/nologin$
    adm:x:3:4:adm:/var/adm:/sbin/nologin$
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin$
    sync:x:5:0:sync:/sbin:/bin/sync$
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown$

    #   <<   标识符限定输入重定向       命令从标准输入中输入,直到遇到标识符的分解符结束

    >   #标准输出重定向   如果文件不存在,会自动创建,如果文件存在,会首先把文件的内容清空,然后再把你要输出的内容重定向进去
    [root@CentOS7 ~]# cat >1.txt<<EOF
    > 123
    > EOF
    [root@CentOS7 ~]# cat 1.txt
    123

    >> #标准输出追加重定向 如果文件不存在,会自动创建,如果文件存在,会把你要输出的内容追加到文件的底部
    [root@CentOS7 ~]# cat >>1.txt<<EOF  
    > 456
    > EOF
    [root@CentOS7 ~]# cat 1.txt
    123
    456


    #将多个文件合并为一个文件
    [root@CentOS7 ~]# cat 1.txt
    123
    456
    789
    qwrw
    [root@CentOS7 ~]# cat test.txt
    qwewrrew
    [root@CentOS7 ~]# cat 1.txt test.txt
    123
    456
    789
    qwrw
    qwewrrew

    [root@CentOS7 ~]# cat test.txt 1.txt > 2.txt   #合并两个文件并新建文件
    [root@CentOS7 ~]# cat 2.txt
    qwewrrew
    123
    456
    789
    qwrw

    more 分页显示文件内容 文件显示完成之后,会自动退出

     more      #分页显示文件内容    文件显示完成之后,会自动退出
    选项:
    -num #num是数字   指定一页显示多少行

    +num #num是数字   指定从第几行开始显示文件内容

    操作:
    空格或者f键 #向下翻页

    b键   #向上翻页

    回车  #向下一行  

    h   #帮助信息

    q   #退出  

    /xxx   #搜索你要搜索的内容   搜索出来的内容不会高亮显示
      n   #向下查找   不能向上查找
      =   #显示当前光标所在的行号

    [root@CentOS7 ~]# more services


    [root@CentOS7 ~]# more -1 services
    # /etc/services:
    --More--(0%)


    [root@CentOS7 ~]# more +5 services
    # IANA services version: last updated 2013-04-10
    #
    # Note that it is presently the policy of IANA to assign a single well-known

    less 分页显示文件内容 文件显示完成之后,不会自动退出

    less     #分页显示文件内容     文件显示完成之后,不会自动退出
    选项:
       -N #显示文件内容的时候,加上行号  
       
       -i #在搜索的时候,忽略大小写  

    操作:
    空格或者f键 #向下翻页

    b键 #向上翻页

    回车   #向下一行

    q #退出

    h #显示帮助

    /xxxx #搜索指定的内容   会把搜索出来的内容高亮显示  
      n   #向下查找
      N   #向上查找
      =   #显示当前页的内容是由哪些行组成的 显示总行数 显示文件从开头到当前行总共显示了多少字节内容   总字节大小


    [root@CentOS7 ~]# less -N services   #显示文件内容的时候,加上行号

    [root@CentOS7 ~]# less -i services   #在搜索的时候,忽略大小写

     

    head 默认显示文件头部前十行内容

    head        #显示文件头部信息,默认显示前十行内容
    选项:
    -nN       #(数字) 取消默认输出,可以简写 ===  -num
     
     -cN      #(数字) 显示文件的前几个字符
     
    [root@CentOS7 ~]# head passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    
    [root@CentOS7 ~]# head -n 2 passwd   #显示文件头部前两行内容
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    [root@CentOS7 ~]# head -2 passwd    # -num   === -n  num
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    
    [root@CentOS7 ~]# head -c 5 passwd   #显示文件头部前几个字符
    root:[root@CentOS7 ~]#
    

     

    tail 默认显示文件尾部最后十行内容 实时显示文件的尾部变化

    tail        #显示文件尾部信息,默认显示文件最后十行内容
    选项:
     -nN      #(数字) 取消默认输出,可以简写  ===  -num
     
     -cN      #(数字) 显示文件的最后几个字符,默认最后有个换行符,  换行符也是一个字符
     
     -f       #实时显示文件的尾部变化信息  实时查看文件内容的更新,当文件不存在时,会报错退出
     
     -F       #实时更新文件的内容,当文件不存在,不会退出,会一直尝试读取这个文件,直到文件存在
     
     
    [root@CentOS7 ~]# tail  passwd
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    abrt:x:173:173::/etc/abrt:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    ntp:x:38:38::/etc/ntp:/sbin/nologin
    
    [root@CentOS7 ~]# tail -n 2 passwd     #显示文件尾部最后两行内容
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    ntp:x:38:38::/etc/ntp:/sbin/nologin
    [root@CentOS7 ~]# tail -3 passwd       # -num === -n num  
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    ntp:x:38:38::/etc/ntp:/sbin/nologin
    
    [root@CentOS7 ~]# tail -c5 passwd       #显示最后5个字符,只能看见4个,另外一个是换行符 
    ogin
    [root@CentOS7 ~]# tail -c6 passwd
    login
    
    
    #新建窗口进行测试
    2.[root@CentOS7 ~]# echo 'hello' >> passwd
    
    1.[root@CentOS7 ~]# tail -f passwd        #实时显示文件的尾部变化信息
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    abrt:x:173:173::/etc/abrt:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    ntp:x:38:38::/etc/ntp:/sbin/nologin
    hello
    
    [root@CentOS7 ~]# tail -f test.log      #实时查看文件内容的更新,当文件不存在时,会报错退出
    tail: cannot open ‘test.log’ for reading: No such file or directory
    tail: no files remaining
    [root@CentOS7 ~]# tail -F test.log      #实时更新文件的内容,当文件不存在,不会退出,会一直尝试读取这个文件,直到文件存在
    tail: cannot open ‘test.log’ for reading: No such file or directory
    
    
    tailf	    #实时输出文件内容  监控日志   ===  tail   -f
    选项:
     -nN      #(数字) 取消默认输出,可以简写  ===  -num

     

    locate 根据本地的数据库进行查找文件,不会查找到最新的文件

    locate       #根据本地的数据库进行查找文件,不会查找到最新的文件
    
    #locate 命令安装包
    yum  install  -y  mlocate
    
    选项:
             -i		  #不区分大小写  
    		
    		-r	      #简单使用正则表达式   $  结尾  
    		
    [root@CentOS7 ~]# updatedb		#更新数据库  
    
    [root@CentOS7 ~]# locate passwd    #把系统中所有文件名称包含passwd的文件全部查找出来 
    /etc/passwd
    /etc/passwd-
    /etc/pam.d/passwd
    /etc/security/opasswd
    /root/passwd
    /usr/bin/gpasswd
    /usr/bin/grub2-mkpasswd-pbkdf2
    /usr/bin/passwd
    /usr/include/rpcsvc/yppasswd.h
    /usr/include/rpcsvc/yppasswd.x
    /usr/lib/firewalld/services/kpasswd.xml
    /usr/lib64/security/pam_unix_passwd.so
    
    #创建一个新文件,正常情况下使搜索不到的   因为本地数据库表是一天更新一次  需要手动更新
    [root@CentOS7 ~]# touch test.txt
    [root@CentOS7 ~]# ll
    total 4
    -rw-r--r--. 1 root root 980 Jul 10 14:35 passwd
    drwxr-xr-x. 2 root root   6 Jul 10 12:04 test
    -rw-r--r--. 1 root root   0 Jul 10 15:00 test.txt
    [root@CentOS7 ~]# locate test.txt
    [root@CentOS7 ~]# updatedb
    [root@CentOS7 ~]# locate test.txt
    /root/test.txt
    
    [root@CentOS7 ~]# touch TEST.TXT
    [root@CentOS7 ~]# ll
    total 4
    -rw-r--r--. 1 root root 980 Jul 10 14:35 passwd
    drwxr-xr-x. 2 root root   6 Jul 10 12:04 test
    -rw-r--r--. 1 root root   0 Jul 10 15:00 test.txt
    -rw-r--r--. 1 root root   0 Jul 10 15:01 TEST.TXT
    [root@CentOS7 ~]# updatedb
    [root@CentOS7 ~]# locate test.txt
    /root/test.txt
    [root@CentOS7 ~]# locate -i test.txt     #搜索内容时不区分大小写
    /root/TEST.TXT
    /root/test.txt
    
    [root@CentOS7 ~]# locate -r txt$        #搜索时以什么为结尾的内容需加$符为结尾
    /etc/pki/nssdb/pkcs11.txt
    /root/test.txt
    /usr/lib/firmware/TDA7706_OM_v2.5.1_boot.txt
    /usr/lib/firmware/TDA7706_OM_v3.0.2_boot.txt
    /usr/lib/firmware/ivtv-firmware-license-end-user.txt
    /usr/lib/firmware/ivtv-firmware-license-oemihvisv.txt
    /usr/lib/firmware/ar3k/1020200/RamPatch.txt
    /usr/lib/firmware/ar3k/1020201/RamPatch.txt
    /usr/lib/firmware/ar3k/30000/RamPatch.txt
    /usr/lib/firmware/ar3k/30101/RamPatch.txt
    

     

    which 查找命令的绝对路径

    which     #查找命令的绝对路径
    
    [root@CentOS7 ~]# which cd
    /usr/bin/cd
    
    #查找命令的绝对路径时,是通过PATH环境变量中的路径进行查找 
    #此命令会在以下路径下查找命令的路径
    [root@CentOS7 ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    
    #查找命令来源于哪个软件
    [root@CentOS7 ~]# rpm -qf `which tree`
    tree-1.6.0-10.el7.x86_64
    [root@CentOS7 ~]# rpm -qf `which locate`
    mlocate-0.26-8.el7.x86_64
    [root@CentOS7 ~]# rpm -qf /usr/bin/tree
    tree-1.6.0-10.el7.x86_64
    [root@CentOS7 ~]# rpm -qf /usr/bin/locate
    mlocate-0.26-8.el7.x86_64
    

     

    whereis 查找系统二进制程序,man帮助文件,源代码文件

    whereis     #查找系统二进制程序、man帮助文件、源代码文件     查找不到自己创建的文件
    选项:
      -b         #只查找二进制程序文件
     
      -m		#查找man帮助文件
     
      -s		#查找源代码文件  
      
    [root@CentOS7 ~]# whereis ping
    ping: /usr/bin/ping /usr/share/man/man8/ping.8.gz
    [root@CentOS7 ~]# whereis cp
    cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz
    #以上输出信息从左至右分别为查询的程序名、bash路径、bash的man 手册页路径。
    
    [root@CentOS7 ~]# whereis -b cp   #显示cp命令的二进制程序
    cp: /usr/bin/cp              # cp命令的二进制程序的地址
    
    [root@CentOS7 ~]# whereis -m cp    #显示cp命令的man帮助文件
    cp: /usr/share/man/man1/cp.1.gz    #cp命令的帮助文件地址
    
    

     

    type 显示命令的类型

    type      #显示命令的类型
    选项:
        -a		#显示内置命令的绝对路径  
    	
    	-p		#只显示命令的绝对路径
    	
    # help 命令可以显示系统中所有的内置命令 	
    
    [root@CentOS7 ~]# type cd   
    cd is a shell builtin      #内置命令
    [root@CentOS7 ~]# type -a cd   #显示内置命令的绝对路径
    cd is a shell builtin   
    cd is /usr/bin/cd
    
    [root@CentOS7 ~]# type ping
    ping is /usr/bin/ping
    [root@CentOS7 ~]# type -p ping   #只显示命令的绝对路径
    /usr/bin/ping
    [root@CentOS7 ~]# type -ap cp    #显示内置命令的绝对路径 内置命令必须加a
    /usr/bin/cp
    

    find 查找和搜索文件

    find      #文件查找命令包括隐藏文件     指定路径查找   根据名称  大小  权限  时间等查找 
    选项:
      -type			#根据类型查找 
    
    	   f		    #普通文件
    	
    	   d		    #目录
    	
      -name			#根据名称进行查找  
    
    	   "*xxx"	#以任意开头的,xxx为结尾的文件 
    		
    	   "xxx*"	#以xxx开头,任意字符为结尾的文件  
    		
    	   "*xxx*"	#查找文件名称中包含xxx的
    
      -iname		#查找的时候忽略大小写  
    
      -maxdepth	    #查找目录的层级  根据目录层级进行查找
    
       *		    #特殊符号  通配符  不是正则     所有的意思
    
                      命令   目录    类型   普通文件   根据名称   叫什么名字
    [root@CentOS7 ~]# find   /etc   -type      f      -name     "hostname"		#精确查找 
    /etc/hostname
                      命令    目录   类型     目录     忽略大小写   名字
    [root@CentOS7 ~]# find   /root  -type      d      -iname      "zzc"
    /root/zzc
    /root/ZZC
    
    #查找以hostname开头的文件   "xxx*"	#以xxx开头,任意字符为结尾的文件
    [root@CentOS7 ~]# find  /opt/    -name  "hostname*" 
    /opt/hostname
    /opt/hostnamectl
    
    #查找以hostname为结尾的文件  "*xxx"	#以任意开头的,xxx为结尾的文件 
    [root@CentOS7 ~]# find   /opt/  -name  "*hostname"
    /opt/hostname
    /opt/test_hostname
    
    #查找文件名称包含hostname的文件包括隐藏文件    "*xxx*"  #查找文件名称中包含xxx的
    [root@CentOS7 ~]# find  /opt/  -name "*hostname*"
    /opt/hostname
    /opt/hostnamectl
    /opt/test_hostname
    /opt/test_hostname.txt
    
    [root@CentOS7 ~]# touch   /opt/.hostname.log
    [root@CentOS7 ~]# find  /opt/  -name "*hostname*"
    /opt/hostname
    /opt/hostnamectl
    /opt/test_hostname
    /opt/test_hostname.txt
    /opt/.hostname.log
    
    #查找根目录下前四个目录的所有已oldbboy开头的文件
    [root@CentOS7 ~]# find / -maxdepth 4 -type f -name "oldboy*"
    /etc/oldboy.txt
    /root/oldboy.txt
    /test/123/456/oldboy.txt
    
    #根据目录的层级查找
    [root@CentOS7 ~]# find  /  -maxdepth  2   -type  d   -name  "hostname"
    /root/hostname
    [root@CentOS7 ~]# 

     

    rz 上传

    rz      #将本地的文件上传到Linux操作系统
    #不能上传目录,需要将目录打成一个压缩包进行上传     只能上传 4G以下的文件
    
    #rz上传 sz下载命令安装包
    [root@CentOS7 ~]# yum  install  lrzsz   -y
    
    选项:
       -E   #当上传的文件已经存在时,系统会进行重命名   会在原来的文件名称后面加上.数字  从0开始
       
    [root@CentOS7 ~]# rz  -E
    [root@CentOS7 ~]# ll
    total 32
    -rw-r--r--. 1 root root 13140 Jul  7 12:23 day03.md
    -rw-r--r--. 1 root root 13140 Jul  7 12:23 day03.md.0

     

    sz 下载

    sz          #将Linux系统的文件下载到本地
    [root@CentOS7 ~]# sz passwd

     

    wget 联网下载

    wget     #联网下载
    
    #软件包
    [root@CentOS7 ~]# yum  install  -y  wget
    
    选项:  
    	-O(大写)		#指定下载的路径和名称  
    	
    	-q		#静默输出  
    	
    	--limit-rate=10k		#限制下载的速率     k  ===KB    m  == MB
    	
    [root@CentOS7 ~]# wget www.baidu.com
    --2020-07-10 16:22:58--  http://www.baidu.com/
    Resolving www.baidu.com (www.baidu.com)... 112.80.248.76, 112.80.248.75
    Connecting to www.baidu.com (www.baidu.com)|112.80.248.76|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 2381 (2.3K) [text/html]
    Saving to: ‘index.html’
    
    100%[=========================================>] 2,381       --.-K/s   in 0s      
    
    2020-07-10 16:22:58 (105 MB/s) - ‘index.html’ saved [2381/2381]
    
    
    [root@CentOS7 ~]# wget http://nginx.org/download/nginx-1.18.0.zip
    --2020-07-10 16:25:32--  http://nginx.org/download/nginx-1.18.0.zip
    Resolving nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3
    Connecting to nginx.org (nginx.org)|62.210.92.35|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1711619 (1.6M) [application/zip]
    Saving to: ‘nginx-1.18.0.zip’
    
    100%[=========================================>] 1,711,619   38.1KB/s   in 54s    
    
    2020-07-10 16:26:26 (31.0 KB/s) - ‘nginx-1.18.0.zip’ saved [1711619/1711619]
    
    [root@CentOS7 ~]# ll
    total 1692
    -rw-r--r--. 1 root root    9810 Jul  8 00:06 download.html
    -rw-r--r--. 1 root root    2381 Jul 10 16:22 index.html
    -rw-r--r--. 1 root root 1711619 Apr 21 22:33 nginx-1.18.0.zip
    -
    
    #指定下载路径及名称 
    [root@CentOS7 ~]# wget -O /opt/nginx-org http://nginx.org/download/nginx-1.18.0.zip--2020-07-10 16:30:23--  http://nginx.org/download/nginx-1.18.0.zip
    Resolving nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3
    Connecting to nginx.org (nginx.org)|62.210.92.35|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1711619 (1.6M) [application/zip]
    Saving to: ‘/opt/nginx-org’
    
    100%[=========================================>] 1,711,619   25.6KB/s   in 48s    
    
    2020-07-10 16:31:11 (35.0 KB/s) - ‘/opt/nginx-org’ saved [1711619/1711619]
    
    [root@CentOS7 ~]# ll /opt
    total 1984
    -rw-r--r--. 1 root root 1711619 Apr 21 22:33 nginx-org
    
    #静默下载,不显示下载过程
    [root@CentOS7 ~]# wget  -q  http://nginx.org/download/nginx-1.19.1.tar.gz
    [root@CentOS7 ~]# ll
    total 2100
    -rw-r--r--. 1 root root   41240 Mar 23 00:20 032220_1620_Zabbix1.png
    -rw-r--r--. 1 root root    9810 Jul  8 00:06 download.html
    -rw-r--r--. 1 root root    2381 Jul 10 11:57 index.html
    -rw-r--r--. 1 root root 1039530 Apr 21 22:33 nginx-1.18.0.tar.gz
    -rw-r--r--. 1 root root 1047223 Jul  7 23:59 nginx-1.19.1.tar.gz
    
    
    #限制下载速率
    [root@CentOS7 ~]# wget   --limit-rate=10k   http://nginx.org/download/nginx-1.18.0.tar.gz ^C
    [root@CentOS7 ~]# rm -rf ./*
    [root@CentOS7 ~]# wget   --limit-rate=10k   http://nginx.org/download/nginx-1.18.0.tar.gz
    --2020-07-10 12:11:13--  http://nginx.org/download/nginx-1.18.0.tar.gz
    Resolving nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3
    Connecting to nginx.org (nginx.org)|62.210.92.35|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1039530 (1015K) [application/octet-stream]
    Saving to: ‘nginx-1.18.0.tar.gz’
    
    32% [========================>] 335,872     10.0KB/s  eta 70s   
    

     

    curl 访问网站

    curl		#利用URL规则在命令行下面工作的文件传输工具   联网下载   测试网站  访问网站 
    选项:  
    	-o		#把访问的内容写入到一个指定的文件中
    	
    	-s		#静默输出  不显示访问写入的过程 
    
    
    [root@CentOS7 ~]# curl  -o  ./baidu.html    www.baidu.com
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  2381  100  2381    0     0    311      0  0:00:07  0:00:07 --:--:--   657
    [root@CentOS7 ~]# ll
    total 1356
    -rw-r--r--. 1 root root    2381 Jul 10 12:15 baidu.html
    
    
    [root@CentOS7 ~]# curl  -s   -o   ./nginx.tar.gz    http://nginx.org/download/nginx-1.18.0.tar.gz
    

     

    sort 排序

    sort     #排序    将不相同的行进行排序在一起     默认是根据第一列进行排序  默认是以空白字符为分割符  默认以字母进行排序
    
    选项:
    	-k		#指定哪一列排序
    	
    	-n		#以数值大小的方式进行排序 
    	
    	-r		#倒叙排序  
    
    	-t		#指定分隔符  
    
    [root@CentOS7 ~]# cat test.txt
    a 3
    c 5
    e 8
    b 4
    g 9
    d 12
    [root@CentOS7 ~]# sort -k2 test.txt    #指定第二列排序
    d 12
    a 3
    b 4
    c 5
    e 8
    g 9
    
    [root@CentOS7 ~]# sort -nk2 test.txt   #指定第二列按数值大小排序
    a 3
    b 4
    c 5
    e 8
    g 9
    d 12
    
    [root@CentOS7 ~]# sort -rnk2 test.txt   #指定第二列按数值大小倒序排列
    d 12
    g 9
    e 8
    c 5
    b 4
    a 3
    
    [root@CentOS7 ~]# sort -t ':' -nk3 passwd   #指定以 :为分隔符的第三列数值大小排序
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    ntp:x:38:38::/etc/ntp:/sbin/nologin
    tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    abrt:x:173:173::/etc/abrt:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    

     

    uniq 去重

    uniq     #去重   去除重复的行   只能去除相同相邻的行     统计   将重复的行的次数统计出来    跟sort结合使用
    
    |		#管道   将前面命令的执行结果交给后面的命令继续执行   操作的是数据  
    
    选项:
    		-c		#统计重复的行的次数 
    		
    [root@CentOS7 ~]# sort file.txt
    123
    123
    456
    abc
    abc
    qwe
    [root@CentOS7 ~]# sort file.txt | uniq  
    123
    456
    abc
    qwe
    
    [root@CentOS7 ~]# sort file.txt | uniq -c    #统计重复的行
          2 123
          1 456
          2 abc
          1 qwe
     
    [root@CentOS7 ~]# sort file.txt | uniq -c | sort
          1 456
          1 qwe
          2 123
          2 abc
    [root@CentOS7 ~]# sort file.txt | uniq -c | sort -n
          1 456
          1 qwe
          2 123
          2 abc
    [root@CentOS7 ~]# sort file.txt | uniq -c | sort -rn
          2 abc
          2 123
          1 qwe
          1 456
    

     

    cut 取列

    cut   #取列  awk命令的小弟  默认的分隔符为tab键   截取字段   截取你想要的内容
    
    选项:
    		-d		#指定分隔符 
    		
    		-f		#取出指定的列 
            
            -c		#取出指定的字符  按照行进行处理的 
     
    [root@CentOS7 ~]# cat test.txt
    root:x:0:0:root:/root:/bin/bash
    [root@CentOS7 ~]# cut -d ":" -f7 test.txt    #指定以 : 为分隔符取第七列
    /bin/bash
    
    [root@CentOS7 ~]# cut -d ":" -f1,7 test.txt  #指定以 :为分隔符取第一和第七列
    root:/bin/bash
    
    [root@CentOS7 ~]# cut -d ":" -f4-7 test.txt  #指定以 : 为分隔符取第四到第七列
    0:root:/root:/bin/bash
    
    [root@CentOS7 ~]# cat test.txt
    root:x:0:0:root:/root:/bin/bash
    [root@CentOS7 ~]# cut -c 6 test.txt   #取第六个字符
    x
    [root@CentOS7 ~]# cut -c 4,8 test.txt  #取第四个和第八个字符
    t0
    [root@CentOS7 ~]# cut -c 3-7 test.txt  #取第三到第七的字符
    ot:x:
    
    #取出系统eth0的IP地址
    [root@CentOS7 ~]# ifconfig eth0
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 10.0.0.100  netmask 255.255.255.0  broadcast 10.0.0.255
            inet6 fe80::5169:baec:f4cd:6fb9  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:02:d2:3a  txqueuelen 1000  (Ethernet)
            RX packets 2524  bytes 206264 (201.4 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 1280  bytes 138388 (135.1 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    [root@CentOS7 ~]# ifconfig eth0 | head -2 | tail -1 | cut -d " " -f10
    10.0.0.100
    
    [root@CentOS7 ~]# ip a s eth0
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:02:d2:3a brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.100/24 brd 10.0.0.255 scope global noprefixroute eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::5169:baec:f4cd:6fb9/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    [root@CentOS7 ~]# ip a s eth0 | head -3 | tail -1 | cut -c 10-19
    10.0.0.100

     

    tr 替换 删除

    tr   #替换或者删除字符的命令    只能单对单的替换
    选项:
    	-d		#删除指定的字符
    	
    语法:
    	tr   old   new   <   file  
       <		#标准输入重定向
       
    [root@CentOS7 ~]# cat test.txt
    root:x:0:0:root:/root:/bin/bash
    [root@CentOS7 ~]# tr "0" "7" < test.txt    #替换字符
    root:x:7:7:root:/root:/bin/bash
    
    [root@CentOS7 ~]# cat test.txt             #删除字符
    root:x:0:0:root:/root:/bin/bash
    [root@CentOS7 ~]# tr -d "0" < test.txt
    root:x:::root:/root:/bin/bash
    
    

     

    wc 统计

    wc     ##统计    行数  字节数  列数   行的长度 
    选项:
    	-l		#统计行数 
    	
    	-w		#统计列数,默认以空白字符为分隔符 
    	
    	-c		#统计字节数 
    	
    	-L		#统计文件中最长的行的长度
    	
    [root@CentOS7 ~]# wc passwd
     21  39 974 passwd
    [root@CentOS7 ~]# wc -l passwd    #只统计行数
    21 passwd
    [root@CentOS7 ~]# wc -w passwd    #只统计列数
    39 passwd
    [root@CentOS7 ~]# wc -c passwd    #只统计字节数
    974 passwd
    [root@CentOS7 ~]# wc -L passwd    #统计文件中最长的行的长度
    99 passwd	
    
    

     

    gerp 过滤

    grep      #过滤   文本搜索工具    给过滤的字符加上颜色  支持正则  | 
    选项: 
    	-n		#显示过滤出来的内容所在文件的行号
    	
    	-v		#排除,取反
    	
    	-c		#统计过滤出来的内容的总行数 
    	
    	-i		#过滤的时候忽略大小写   
    
    	-o		#只显示你要过滤的内容
        
    	-w		#精确匹配  只过滤你要过滤的单词,而不是包含这个单词的字符串  
        
        -r		#递归过滤  针对目录进行操作  
    
    	-A		#显示出你要过滤的内容及向下多少行的内容 
    	
    	-B		#显示出你要过滤的内容及向上多少行的内容 
    	
    	-C		#显示出你要过滤的内容向上向下各多少行 
    
    	^		#以什么开头
    	
    	$		#以什么为结尾
    	
    	|		# 或者    扩展正则   
    	
    	-E		#支持扩展正则   ====  egrep
    	
    	.		#任意一个字符  排除换行符  
    	
    	*		#前面的字符出现0次或者0次以上  
    	
    	.*		#所有  
    	
    [root@CentOS7 ~]# grep "root" passwd
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
    
    [root@CentOS7 ~]# grep -n 'root' passwd       #显示过滤出来的内容所在文件的行号
    1:root:x:0:0:root:/root:/bin/bash
    10:operator:x:11:0:operator:/root:/sbin/nologin
    
    [root@CentOS7 ~]# grep -v 'root' passwd       #排除包含'root'内容
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    abrt:x:173:173::/etc/abrt:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    ntp:x:38:38::/etc/ntp:/sbin/nologin
    
    [root@CentOS7 ~]# grep -c 'root' passwd    #统计过滤出来的内容的行数
    2
    
    [root@CentOS7 ~]# cat file.txt
    root
    roottt
    oldboy
    olirl
    oldgirl
    ROOT
    [root@CentOS7 ~]# grep -i 'root' file.txt   #过滤内容时忽略大小写
    root
    roottt
    ROOT
    
    [root@CentOS7 ~]# grep -o 'root' passwd     #只显示过滤的内容
    root
    root
    root
    root
    
    
    [root@CentOS7 ~]# grep 'root' file.txt
    root
    roottt
    [root@CentOS7 ~]# grep -w 'root' file.txt    #只过滤你要过滤的单词而不是包含这个单词的字符串
    root
    
    [root@CentOS7 ~]# grep -r 'root' ./       #递归过滤,针对目录的操作
    ./.bash_history:find root
    ./.bash_history:find /root/
    ./.bash_history:find /root -type f 
    ./.bash_history:find /root -type f -name "^.txt"
    ./.bash_history:[root@CentOS7 ~]# ll
    ./.bash_history:-rw-r--r--. 1 root root 38607 Jul  9  2013 7f6f8291jw1ee8c5j55rzj21hc0u0gwq.jpg
    ./.bash_history:-rw-r--r--. 1 root root   974 Jul 10 11:00 passwd
    ./.bash_history:drwxr-xr-x. 2 root root     6 Jul 10 12:04 test
    ./.bash_history:[root@CentOS7 ~]# 
    ./test.txt:root:x:0:0:root:/root:/bin/bash
    ./passwd:root:x:0:0:root:/root:/bin/bash
    ./passwd:operator:x:11:0:operator:/root:/sbin/nologin
    ./file.txt:root
    ./file.txt:roottt
    
    [root@CentOS7 ~]# cat file.txt
    root
    roottt
    oldboy
    olirl
    oldgirl
    ROOT
    [root@CentOS7 ~]# grep -A 2 'olirl' file.txt    #显示过滤的内容及向下2行的内容
    olirl 
    oldgirl
    ROOT
    
    [root@CentOS7 ~]# grep -B 2 'olirl' file.txt    #显示过滤的内容及向上2行的内容
    roottt
    oldboy
    olirl
    
    [root@CentOS7 ~]# grep -C 2 'olirl' file.txt    #显示过滤的内容及向上向下各多少行
    roottt
    oldboy
    olirl
    oldgirl
    ROOT
    
    #过滤root或者mail的字符串     -E 支持扩展正则的使用     |  或者的意思
    [root@CentOS7 ~]# grep -E  'root|mail'  passwd 
    root:x:0:0:root:/root:/bin/bash
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    rootttt
    
    
    
  • 相关阅读:
    深入剖析Java中的装箱和拆箱
    JDBC(1)
    设计模式
    MySQL学习笔记(3)
    MySQL学习笔记(2)
    MySQL学习笔记(1)
    tomcat 部署项目出现Error thrown in preDeregister method
    JSP页面中的request.getContextPath()出现“ .... .. refers to the missing type String
    myEclipse 导入 jquery包为什么整个项目都会报错
    走楼梯
  • 原文地址:https://www.cnblogs.com/backz/p/13396966.html
Copyright © 2020-2023  润新知