• 第七章 文件管理之基础命令


    一、pwd命令是"print working directory"中每个单词的首字母缩写,其功能是显示当前工作目录的绝对路径。在实际工作中,我们在命令行操作命令时,经常会在各个目录路径间切换,此时可使用pwd命令快速查看当前所在的目录路径。

    pwd        #显示当前工作目录的绝对路径 ====告诉我,你在哪里

    [root@jindada ~]# cd /usr/
    [root@jindada usr]# pwd
    /usr
    [root@jindada usr]# cd local/
    [root@jindada local]# pwd
    /usr/local

    二、cd命令        #切换工作目录 切换路径

    [root@jindada local]# cd   #直接切换到当前用户的家目录
    [root@jindada ~]# pwd
    /root
    [root@jindada ~]# cd ~     #切换当前用户的家目录 ==== cd /root

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

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

    [root@jindada /]# cd usr/
    [root@jindada usr]# cd ./local/
    [root@jindada local]# pwd
    /usr/local

    [root@jindada local]# cd ../etc/   #切换当前目录的上一级目录/usr下的etc目录
    [root@jindada etc]# pwd
    /usr/etc

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

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

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

     

    三、ls         #显示文件或者目录列表信息 打开目录 显示目录里面的内容

    常用选项:

    -l      #以长格式形式显示文件或者目录的详细属性信息

    -i      #显示文件或者目录的inode信息 索引节点信息

    -h      #以字节大小显示文件大小 B KB MB GB

    -a     #显示所有文件,隐藏文件 所有以点开头的文件就是隐藏文件

    -S     #以文件大小进行排序 从大到小显示

    -t      #根据时间进行排序 最新的时间在最上面

    -r      #倒序排序

    -F      #给不同的文件加上不同的标识符

    -d     #显示目录本身信息

      /      #目录

      *      #可执行文件

      =      #套接字文件 socker文件

      |      #管道文件

    [root@jindada ~]# ls      #如果不加目录信息,默认针对的是当前目录操作
    anaconda-ks.cfg day01.txt dead.letter oldboy qingshu_dir test.txt

    [root@jindada ~]# ls /root/
    anaconda-ks.cfg day01.txt dead.letter oldboy qingshu_dir test.txt

    [root@jindada ~]# ls -l      #系统自带别名相当于[root@jindada ~]# ll
    total 12
    -rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
    -rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
    -rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
    drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
    drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
    -rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt

    [root@jindada ~]# ll -i      #显示文件的inode信息
    total 12
    134317666 -rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
    134380621 -rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
    134915040 -rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
    201533705 drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
    202273667 drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
    134380624 -rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt

    [root@jindada ~]# ll -h     #以字节大小显示文件信息
    total 12K
    -rw-------. 1 root root 1.4K Jul 8 12:26 anaconda-ks.cfg
    -rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
    -rw-------. 1 root root 2.3K Jul 3 14:31 dead.letter
    drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
    drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
    -rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt

    10月24日 程序员日

    [root@jindada ~]# ll -a      #显示所有的文件,隐藏文件
    total 48
    dr-xr-x---. 5 root root 272 Jul 8 12:29 .
    dr-xr-xr-x. 18 root root 236 Jul 3 16:31 ..
    -rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
    -rw-------. 1 root root 3258 Jul 8 00:48 .bash_history
    -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
    drwxr-xr-x. 2 root root 68 Jul 6 12:20 .certs
    -rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
    -rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
    -rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
    -rw------- 1 root root 170 Jul 7 11:04 .mysql_history
    drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
    drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
    -rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
    -rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt
    -rw------- 1 root root 6003 Jul 7 18:40 .viminfo


    [root@jindada ~]# ll -aS     #显示所有的文件,隐藏文件,并从大到小显示
    total 48
    -rw------- 1 root root 6003 Jul 7 18:40 .viminfo
    -rw-------. 1 root root 3258 Jul 8 00:48 .bash_history
    -rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
    -rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
    dr-xr-x---. 5 root root 272 Jul 8 12:29 .
    dr-xr-xr-x. 18 root root 236 Jul 3 16:31 ..
    -rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
    -rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
    -rw------- 1 root root 170 Jul 7 11:04 .mysql_history
    -rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
    drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
    -rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
    drwxr-xr-x. 2 root root 68 Jul 6 12:20 .certs
    drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
    -rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
    -rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
    -rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt


    [root@jindada ~]# ll -at      #显示所有文件,隐藏文件并根据时间进行排序
    total 48
    dr-xr-x---. 5 root root 272 Jul 8 12:29 .
    -rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
    drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
    -rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
    -rw-------. 1 root root 3258 Jul 8 00:48 .bash_history
    -rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt
    -rw------- 1 root root 6003 Jul 7 18:40 .viminfo
    -rw------- 1 root root 170 Jul 7 11:04 .mysql_history
    drwxr-xr-x. 2 root root 68 Jul 6 12:20 .certs
    drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
    dr-xr-xr-x. 18 root root 236 Jul 3 16:31 ..
    -rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
    -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@jindada ~]# ll -atr      #显示所有文件,隐藏文件并根据时间顺序进行倒序排序
    total 48
    -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
    -rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
    dr-xr-xr-x. 18 root root 236 Jul 3 16:31 ..
    drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
    drwxr-xr-x. 2 root root 68 Jul 6 12:20 .certs
    -rw------- 1 root root 170 Jul 7 11:04 .mysql_history
    -rw------- 1 root root 6003 Jul 7 18:40 .viminfo
    -rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt
    -rw-------. 1 root root 3258 Jul 8 00:48 .bash_history
    -rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
    drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
    -rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
    dr-xr-x---. 5 root root 272 Jul 8 12:29 .


    [root@jindada ~]# ll -aSr     #显示所有文件,隐藏文件并根据文件大小进行倒序排序
    total 48
    -rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt
    -rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
    -rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
    drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir
    drwxr-xr-x. 2 root root 68 Jul 6 12:20 .certs
    -rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
    drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy
    -rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
    -rw------- 1 root root 170 Jul 7 11:04 .mysql_history
    -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. 18 root root 236 Jul 3 16:31 ..
    dr-xr-x---. 5 root root 272 Jul 8 12:29 .
    -rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
    -rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
    -rw-------. 1 root root 3258 Jul 8 00:48 .bash_history
    -rw------- 1 root root 6003 Jul 7 18:40 .viminfo

    [root@jindada ~]# ll -aF     #显示所有文件,隐藏文件并加上不同的标识符
    total 48
    dr-xr-x---. 5 root root 272 Jul 8 12:29 ./
    dr-xr-xr-x. 18 root root 236 Jul 3 16:31 ../
    -rw-------. 1 root root 1350 Jul 8 12:26 anaconda-ks.cfg
    -rw-------. 1 root root 3258 Jul 8 00:48 .bash_history
    -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
    drwxr-xr-x. 2 root root 68 Jul 6 12:20 .certs/
    -rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
    -rw-r--r-- 1 root root 30 Jul 8 12:09 day01.txt
    -rw-------. 1 root root 2276 Jul 3 14:31 dead.letter
    -rw------- 1 root root 170 Jul 7 11:04 .mysql_history
    drwxr-xr-x 12 root root 106 Jul 8 12:18 oldboy/
    drwxr-xr-x 2 root root 46 Jul 6 12:20 qingshu_dir/
    -rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
    -rwxr-xr-x 1 root root 0 Jul 7 20:40 test.txt*
    -rw------- 1 root root 6003 Jul 7 18:40 .viminfo

    [root@jindada ~]# ll -d /root/     #显示/root/目录本身信息
    dr-xr-x---. 5 root root 272 Jul 8 12:29 /root/

    [root@jindada ~]# ls / #显示/目录下的文件
    bin data etc lib media opt root sbin sys usr
    boot dev home lib64 mnt proc run srv tmp var

    [root@jindada ~]# ls -l /      #以行的形式显示文件名称
    total 20
    lrwxrwxrwx. 1 root root 7 Jun 9 21:35 bin -> usr/bin
    dr-xr-xr-x. 5 root root 4096 Jun 9 21:42 boot
    drwxr-xr-x. 3 root root 17 Jul 3 16:32 data
    drwxr-xr-x 19 root root 3180 Jul 8 09:02 dev
    drwxr-xr-x. 85 root root 8192 Jul 8 09:02 etc
    drwxr-xr-x. 3 root root 16 Jul 7 20:41 home
    lrwxrwxrwx. 1 root root 7 Jun 9 21:35 lib -> usr/lib
    lrwxrwxrwx. 1 root root 9 Jun 9 21:35 lib64 -> usr/lib64
    drwxr-xr-x. 2 root root 6 Apr 11 2018 media
    drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
    drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
    dr-xr-xr-x 110 root root 0 Jul 8 09:02 proc
    dr-xr-x---. 5 root root 272 Jul 8 12:29 root
    drwxr-xr-x 27 root root 780 Jul 8 11:36 run
    lrwxrwxrwx. 1 root root 8 Jun 9 21:35 sbin -> usr/sbin
    drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
    dr-xr-xr-x 13 root root 0 Jul 8 10:32 sys
    drwxrwxrwt. 19 root root 4096 Jul 8 15:32 tmp
    drwxr-xr-x. 13 root root 155 Jun 9 21:35 usr
    drwxr-xr-x. 19 root root 267 Jun 9 21:44 var

     

    四、tree       #以树状形式显示目录列表

    安装:

    [root@jindada ~]# yum -y install tree

    选项:

    -a       #显示所有文件或者目录 隐藏文件

    -d        #只显示目录及目录的数量

    -f        #以绝对路径显示目录列表

    -h       #显示文件的大小

    -F        #给不同类型的文件加上不同的标识符

        /        #目录

        *       #可执行文件

        =        #套接字文件 socker文件

        |       #管道文件

        -L        #根据目录的基本显示

    [root@jindada ~]# tree       #显示当前目录的目录列表
    .
    ├── anaconda-ks.cfg
    ├── day01.txt
    ├── dead.letter
    ├── qingshu_dir
    │   ├── qingshu1.txt
    │   └── qingshu2.txt
    └── test.txt

    1 directory, 6 files


    [root@jindada ~]# tree -a        #显示当前目录的全部文件。隐藏文件列表
    .
    ├── anaconda-ks.cfg
    ├── .bash_history
    ├── .bash_logout
    ├── .bash_profile
    ├── .bashrc
    ├── .certs
    │   ├── cert8.db
    │   ├── key3.db
    │   ├── qq.crt
    │   └── secmod.db
    ├── .cshrc
    ├── day01.txt
    ├── dead.letter
    ├── .mysql_history
    ├── qingshu_dir
    │   ├── qingshu1.txt
    │   └── qingshu2.txt
    ├── .tcshrc
    ├── test.txt
    └── .viminfo

    2 directories, 18 files


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

    8 directories


    [root@jindada ~]# tree -h /var/log/        #显示文件的大小
    /var/log/
    ├── [ 176] anaconda
    │   ├── [ 41K] anaconda.log
    │   ├── [3.9K] ifcfg.log
    │   ├── [1.9M] journal.log
    │   ├── [ 0] ks-script-gg9B9N.log
    │   ├── [200K] packaging.log


    [root@jindada ~]# tree -L 2 /root/        #显示家目录下2级的文件或者目录
    /root/
    ├── anaconda-ks.cfg
    ├── day01.txt
    ├── dead.letter
    ├── qingshu_dir
    │   ├── qingshu1.txt
    │   └── qingshu2.txt
    └── test.txt

    1 directory, 6 files

    [root@sh-jindada ~]# tree -f /root        #以绝对路径的形式显示文件列表
    /root
    ├── /root/10.txt
    ├── /root/1.txt
    ├── /root/2.txt
    ├── /root/3.txt
    ├── /root/4.txt
    ├── /root/5.txt
    ├── /root/6.txt
    ├── /root/7.txt
    ├── /root/8.txt
    └── /root/9.txt

    五、mkdir         #创建目录

    选项:

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

    -v       #显示创建的过程

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

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

    *        #通配符 所有的意思

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

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


    [root@jindada ~]# mkdir /data        #使用绝对路径进行创建
    [root@jindada ~]# mkdir data        #使用相对路径进行创建

    [root@jindada ~]# ll
    total 4
    -rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
    drwxr-xr-x. 2 root root 6 Jul 8 19:51 data
    [root@jindada ~]# ll /
    total 20
    lrwxrwxrwx. 1 root root 7 Jul 6 02:13 bin -> usr/bin
    dr-xr-xr-x. 5 root root 4096 Jul 6 02:17 boot
    drwxr-xr-x. 2 root root 6 Jul 8 19:51 data


    [root@jindada ~]# mkdir /root/data
    mkdir: cannot create directory ‘/root/data’: File exists

     

    File exists #文件已经存在

    解决:

    1. 你要创建的目录已经存在,无需再次进行创建

    2. 你要创建的目录路径书写错误


    [root@jindada ~]# mkdir -p /root/data

    [root@jindada ~]# mkdir test/oldboy
    mkdir: cannot create directory ‘test/oldboy’: No such file or directory
    [root@jindada ~]# mkdir -p test/oldboy
    [root@jindada ~]# ll
    total 4
    -rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
    drwxr-xr-x. 2 root root 6 Jul 8 19:51 data
    drwxr-xr-x. 3 root root 20 Jul 8 19:57 test
    [root@jindada ~]# ll test/
    total 0
    drwxr-xr-x. 2 root root 6 Jul 8 19:57 oldboy

     

    [root@jindada ~]# mkdir oldboy
    [root@jindada ~]# mkdir 'oldboy '
    [root@jindada ~]#
    [root@jindada ~]# ll
    total 4
    -rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
    drwxr-xr-x. 2 root root 6 Jul 8 19:51 data
    drwxr-xr-x. 2 root root 6 Jul 8 20:00 oldboy
    drwxr-xr-x. 2 root root 6 Jul 8 20:00 oldboy
    drwxr-xr-x. 3 root root 20 Jul 8 19:57 test
    [root@jindada ~]# ll -F
    total 4
    -rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
    drwxr-xr-x. 2 root root 6 Jul 8 19:51 data/
    drwxr-xr-x. 2 root root 6 Jul 8 20:00 oldboy/
    drwxr-xr-x. 2 root root 6 Jul 8 20:00 oldboy /
    drwxr-xr-x. 3 root root 20 Jul 8 19:57 test/
    [root@jindada ~]# root 6 Jul 8 20:00 oldboy/


    [root@jindada ~]# mkdir -v data01
    mkdir: created directory ‘data01’


    [root@jindada ~]# mkdir -m 700 data02
    [root@jindada ~]# ll
    total 4
    -rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
    drwxr-xr-x. 2 root root 6 Jul 8 19:51 data
    drwxr-xr-x. 2 root root 6 Jul 8 20:02 data01
    drwx------. 2 root root 6 Jul 8 20:04 data02
    drwxr-xr-x. 2 root root 6 Jul 8 20:00 oldboy
    drwxr-xr-x. 2 root root 6 Jul 8 20:00 oldboy
    drwxr-xr-x. 3 root root 20 Jul 8 19:57 test

     

    [root@jindada ~]# echo {01..10}
    01 02 03 04 05 06 07 08 09 10


    [root@jindada ~]# mkdir test/data{01..10} #批量创建10个目录
    [root@jindada ~]# ll test/
    total 0
    drwxr-xr-x. 2 root root 6 Jul 8 20:09 data01
    drwxr-xr-x. 2 root root 6 Jul 8 20:09 data02
    drwxr-xr-x. 2 root root 6 Jul 8 20:09 data03
    drwxr-xr-x. 2 root root 6 Jul 8 20:09 data04
    drwxr-xr-x. 2 root root 6 Jul 8 20:09 data05
    drwxr-xr-x. 2 root root 6 Jul 8 20:09 data06
    drwxr-xr-x. 2 root root 6 Jul 8 20:09 data07
    drwxr-xr-x. 2 root root 6 Jul 8 20:09 data08
    drwxr-xr-x. 2 root root 6 Jul 8 20:09 data09
    drwxr-xr-x. 2 root root 6 Jul 8 20:09 data10

    [root@jindada ~]# echo {a..z}
    a b c d e f g h i j k l m n o p q r s t u v w x y z
    [root@jindada ~]# echo {a..g}
    a b c d e f g
    [root@jindada ~]# echo {A..Z}
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    [root@jindada ~]# mkdir test/oldboy-{a..g}


    [root@jindada ~]# ll -d test/oldboy-*
    drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-a
    drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-b
    drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-c
    drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-d
    drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-e
    drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-f
    drwxr-xr-x. 2 root root 6 Jul 8 20:11 test/oldboy-g


    [root@jindada ~]# mkdir data-{a,c,d,h}
    [root@jindada ~]# ll
    total 4
    -rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
    drwxr-xr-x. 2 root root 6 Jul 8 19:51 data
    drwxr-xr-x. 2 root root 6 Jul 8 20:02 data01
    drwx------. 2 root root 6 Jul 8 20:04 data02
    drwxr-xr-x. 2 root root 6 Jul 8 20:12 data-a
    drwxr-xr-x. 2 root root 6 Jul 8 20:12 data-c
    drwxr-xr-x. 2 root root 6 Jul 8 20:12 data-d
    drwxr-xr-x. 2 root root 6 Jul 8 20:12 data-h

    [root@jindada ~]# mkdir -p oldboy/{01..10}/data{01..10}/test{01..10}

    #在Linux系统中,是区分大小写的

    [root@jindada ~]# mkdir a
    [root@jindada ~]# mkdir A
    [root@jindada ~]# ll
    total 4
    drwxr-xr-x. 2 root root 6 Jul 8 12:25 a
    drwxr-xr-x. 2 root root 6 Jul 8 12:25 A

     

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

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

    举例:

    [root@jindada ~]# touch test.txt

    [root@jindada ~]# touch data.{txt,sh,log,xml,tar,py,js}
    [root@jindada ~]# 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@jindada ~]# touch data{01..10}.txt
    [root@jindada ~]# 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          #复制或者拷贝文件

    语法:  命令   源文件   目标目录


    选项:

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

    -p        #保持源文件属性

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

    -a === -pdr

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

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

    举例:
    [root@jindada ~]# cp /etc/hosts /root
    [root@jindada ~]# cp /etc/passwd ./
    [root@jindada ~]# cp /etc/resolv.conf .
    [root@jindada ~]# ll
    total 12
    -rw-r--r--. 1 root root 158 Jul 9 09:11 hosts
    -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@jindada ~]# cp /opt/ ./
    cp: omitting directory ‘/opt/’
    [root@jindada ~]# cp -r /opt/ ./
    [root@jindada ~]# ll
    total 12
    -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@jindada ~]# ll /etc/grub2.cfg
    lrwxrwxrwx. 1 root root 22 Jul 6 02:14 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
    [root@jindada ~]# cp /etc/grub2.cfg ./
    [root@jindada ~]# 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@jindada ~]# rm -f grub2.cfg
    [root@jindada ~]# cp -d /etc/grub2.cfg ./
    [root@jindada ~]# 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@jindada ~]# cp -t ./ /etc/fstab
    [root@jindada ~]# 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@jindada ~]# cp /etc/hosts ./
    cp: overwrite ‘./hosts’? n

    [root@jindada ~]# alias
    alias cp='cp -i'


    #强制覆盖不提示 临时取消别名

    [root@jindada ~]# cp /etc/hosts ./

     

    八、mv       #移动或者重命名文件

    语法:命令   源文件  目标目录 


    选项:

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

    -f        #强制覆盖,不提示

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

             #临时取消别名的含义


    [root@sh-jindada ~]# mv --help
    mv [OPTION]... SOURCE... DIRECTORY
    mv [OPTION]... -t DIRECTORY SOURCE...


    [root@sh-jindada ~]# mv hosts /opt      #移动文件 ,原位置的文件已经存在
    [root@sh-jindada ~]# ll
    total 12
    -rw-r--r--. 1 root root 4201 Jun 15 12:24 grub2.cfg
    drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
    -rw-r--r--. 1 root root 1013 Jun 15 12:27 passwd
    drwxr-xr-x. 2 root root 23 Jun 15 12:22 test
    [root@sh-jindada ~]# ll /opt/
    total 4
    -rw-r--r--. 1 root root 158 Jun 15 12:15 hosts


    [root@sh-jindada ~]# mv test/ /opt/      #移动目录 不需要加任何选项
    [root@sh-jindada ~]# ll
    total 12
    -rw-r--r--. 1 root root 4201 Jun 15 12:24 grub2.cfg
    drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
    -rw-r--r--. 1 root root 1013 Jun 15 12:27 passwd
    [root@sh-jindada ~]# ll /opt/
    total 4
    -rw-r--r--. 1 root root 158 Jun 15 12:15 hosts
    drwxr-xr-x. 2 root root 23 Jun 15 12:22 test


    [root@sh-jindada ~]# cp /etc/hosts ./
    [root@sh-jindada ~]# ll
    total 16
    -rw-r--r--. 1 root root 4201 Jun 15 12:24 grub2.cfg
    -rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
    drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
    -rw-r--r--. 1 root root 1013 Jun 15 12:27 passwd
    [root@sh-jindada ~]# mv hosts /opt/      #文件已经存在时,提示是否覆盖
    mv: overwrite ‘/opt/hosts’? n
    [root@sh-jindada ~]# mv -i hosts /opt/
    mv: overwrite ‘/opt/hosts’? n
    [root@sh-jindada ~]# 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'      #系统自带的别名

    [root@sh-jindada ~]# mv -f hosts /opt/        #强制覆盖
    [root@sh-jindada ~]# ll
    total 12
    -rw-r--r--. 1 root root 4201 Jun 15 12:24 grub2.cfg
    drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
    -rw-r--r--. 1 root root 1013 Jun 15 12:27 passwd
    [root@sh-jindada ~]# ll /opt/
    total 4
    -rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
    drwxr-xr-x. 2 root root 23 Jun 15 12:22 test


    [root@sh-jindada ~]# cp /etc/passwd ./
    cp: overwrite ‘./passwd’? n
    [root@sh-jindada ~]# cp /etc/passwd ./       #临时取消别名的作用
    [root@sh-jindada ~]# ll
    total 12
    -rw-r--r--. 1 root root 4201 Jun 15 12:24 grub2.cfg
    drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
    -rw-r--r--. 1 root root 1013 Jun 16 09:09 passwd


    [root@sh-jindada ~]# mv -t ./ /opt/hosts        #把原位置跟目标位置进行调换
    [root@sh-jindada ~]# ll
    total 16
    -rw-r--r--. 1 root root 4201 Jun 15 12:24 grub2.cfg
    -rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
    drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
    -rw-r--r--. 1 root root 1013 Jun 16 09:09 passwd
    [root@sh-jindada ~]# ll /opt/
    total 0
    drwxr-xr-x. 2 root root 23 Jun 15 12:22 test



    #重命名

    [root@sh-jindada ~]# mv grub2.cfg 123.txt
    [root@sh-jindada ~]# ll
    total 16
    -rw-r--r--. 1 root root 4201 Jun 15 12:24 123.txt
    -rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
    drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
    -rw-r--r--. 1 root root 1013 Jun 16 09:09 passwd
    [root@sh-jindada ~]# mv opt/ test
    [root@sh-jindada ~]# ll
    total 16
    -rw-r--r--. 1 root root 4201 Jun 15 12:24 123.txt
    -rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
    -rw-r--r--. 1 root root 1013 Jun 16 09:09 passwd
    drwxr-xr-x. 2 root root 6 Apr 11 2018 test

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


    [root@jindada ~]# rename test oldboy test.txt
    [root@jindada ~]# 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       #删除文件或者目录

    选项:

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

    -f          #强制删除不提示

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


    [root@sh-jindada ~]# rm 123.txt          #提示你是否确认删除
    rm: remove regular file ‘123.txt’? n
    [root@sh-jindada ~]# 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@sh-jindada ~]# rm -f 123.txt       #强制删除不提示
    [root@sh-jindada ~]# ll
    total 8
    -rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
    -rw-r--r--. 1 root root 1013 Jun 16 09:09 passwd
    drwxr-xr-x. 2 root root 6 Apr 11 2018 test

    [root@sh-jindada ~]# rm -f test/
    rm: cannot remove ‘test/’: Is a directory         #这是个目录

    [root@sh-jindada ~]# rm -rf test/          #递归目录
    [root@sh-jindada ~]# ll
    total 8
    -rw-r--r--. 1 root root 158 Jun 16 09:05 hosts
    -rw-r--r--. 1 root root 1013 Jun 16 09:09 passwd

    [root@sh-jindada ~]# rm -rf ./            #删除当前所在位置的目录


    [root@sh-jindada ~]# rm -rf ./*           #删除一个目录下的所有内容 排除隐藏文件 确认好自己在那里

    ==

    [root@sh-jindada ~]# rm -rf *


    [root@sh-jindada ~]# rm -rf /*          #禁止执行此命令

  • 相关阅读:
    21--数据库优化
    20--mysql读写分离,分库分表
    18--mysql主从复制、及架构
    17--数据快速导出、导入,数据库迁移
    16--mysql数据备份
    15--mysql日志管理
    14--mysql锁机制
    13--mysql事务详解,数据库读现象
    etcd原理详解代码剖析
    k8s入坑之路(10)kubernetes coredns详解
  • 原文地址:https://www.cnblogs.com/jhno1/p/13274957.html
Copyright © 2020-2023  润新知