Linux常用命令——目录处理命令

1、建立目录:mkdir

mkdir -p [目录名]
    -p 递归创建
    命令英文原意:make directories

  实例:

[root@localhost ~]# ls
anaconda-ks.cfg  binaries  binaries.tar.gz  initial-setup-ks.cfg
[root@localhost ~]# mkdir test --创建test目录可以成功创建
[root@localhost ~]# ls
anaconda-ks.cfg  binaries  binaries.tar.gz  initial-setup-ks.cfg  test
[root@localhost ~]# mkdir test1/test2  --当前目录下既没有test1,也没有test2,无法成功创建
mkdir: 无法创建目录"test1/test2": 没有那个文件或目录
[root@localhost ~]# mkdir -p test1/test2 --使用-p,进行递归创建
[root@localhost ~]# ls
anaconda-ks.cfg  binaries  binaries.tar.gz  initial-setup-ks.cfg  test  test1
[root@localhost ~]# ls test1
test2

2、切换目录:cd

cd [目录]
    命令英文原意:change directory

简化操作
    cd ~   进入当前用户的家目录
    cd     进入当前用户的家目录
    cd -   进入上次目录
    cd ..  进入上一级目录
    cd .   进入当前目录

  绝对路径和相对路径

  相对路径:参照当前所在目录进行查找

[root@localhost ~]# cd ../usr/local/src/
[root@localhost src]# cd ../usr/local/src/   --相对路径是参照当前所在目录进行查找,当前所在位置发生改变后之前的命令不一定可以执行
-bash: cd: ../usr/local/src/: 没有那个文件或目录

  绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置

[root@localhost ~]# cd /etc/
[root@localhost etc]# cd /etc/

3、查询所在目录位置:pwd

pwd
命令英文原意:print working directory
[root@localhost etc]# pwd
/etc

4、删除空目录:rmdir

rmdir [目录名]
命令英文原意:remove empty directories

  实例:

[root@localhost ~]# ls
anaconda-ks.cfg  binaries  binaries.tar.gz  initial-setup-ks.cfg  test  test1
[root@localhost ~]# rmdir test
[root@localhost ~]# ls
anaconda-ks.cfg  binaries  binaries.tar.gz  initial-setup-ks.cfg  test1
[root@localhost ~]# rmdir test1  --rmdir只能删除空目录,如果目录下有子文件就无法删除
rmdir: 删除 "test1" 失败: 目录非空

5、删除文件或目录:rm

rm -rf [文件或目录]
    命令英文原意:remove
    选项:
        -r   删除目录
        -f   强制

  实例:

    rm

[root@localhost ~]# touch test3
[root@localhost ~]# ls
anaconda-ks.cfg  binaries  binaries.tar.gz  initial-setup-ks.cfg  test1  test3
[root@localhost ~]# rm test3
rm:是否删除普通空文件 "test3"?y
[root@localhost ~]# ls
anaconda-ks.cfg  binaries  binaries.tar.gz  initial-setup-ks.cfg  test1

    rm -r

[root@localhost ~]# ls
anaconda-ks.cfg  binaries  binaries.tar.gz  initial-setup-ks.cfg  test1
[root@localhost ~]# rm -r test1
rm:是否进入目录"test1"? y
rm:是否删除目录 "test1/test2"?y
rm:是否删除目录 "test1"?y

    rm -rf (执行-rf必须知道要删的东西是什么,删了就是删了,找不回来了,甚至Linux可以识别 rm -rf / 的命令)

[root@localhost ~]# mkdir -p test1/test2
[root@localhost ~]# rm -rf test1
[root@localhost ~]# ls
anaconda-ks.cfg  binaries  binaries.tar.gz  initial-setup-ks.cfg

6、复制命令:cp

cp [选项] [原文件或目录] [目标目录]
    命令英文原意:copy
    选项:
        -r 复制目录
        -p 连带文件属性复制
        -d 若源文件是链接文件,则复制链接属性
        -a 相当于 -pdr

  实例:

    cp

[root@localhost ~]# cp anaconda-ks.cfg  /tmp/ana
[root@localhost ~]# ls /tmp/
ana                         

    cp -r

[root@localhost ~]# ls
anaconda-ks.cfg  binaries  binaries.tar.gz  initial-setup-ks.cfg  test1
[root@localhost ~]# cp test1/ /tmp/
cp: 略过目录"test1/"
[root@localhost ~]# cp -r test1/ /tmp/
[root@localhost ~]# ls /tmp/
ana  test1

    cp -a

[root@localhost ~]# ll
总用量 20172
-rw-------.  1 root root      2165 5月  13 16:15 anaconda-ks.cfg
drwxr-xr-x. 14  501 games      175 6月  17 2017 binaries
-rw-r--r--.  1 root root  20647102 6月  22 2017 binaries.tar.gz
-rw-r--r--.  1 root root      2213 5月  13 16:17 initial-setup-ks.cfg
drwxr-xr-x.  3 root root        19 6月  15 16:24 test1
[root@localhost ~]# ll /tmp/
总用量 216
-rw-------. 1 root  root   2165 6月  15 16:22 ana
drwxr-xr-x. 3 root  root     19 6月  15 16:25 test1
[root@localhost ~]# date
2019年 06月 15日 星期六 16:45:11 CST
[root@localhost ~]# cp -a anaconda-ks.cfg /tmp/
[root@localhost ~]# ll /tmp/
总用量 220
-rw-------. 1 root  root   2165 6月  15 16:22 ana
-rw-------. 1 root  root   2165 5月  13 16:15 anaconda-ks.cfg
drwxr-xr-x. 3 root  root     19 6月  15 16:25 test1

7、剪切或改名命令:mv

mv [原文件或目录] [目标目录]
    命令英文原意:move

  实例:

[root@localhost ~]# mv test1/ /tmp/test3   --复制目录的时候不需要加-r
[root@localhost ~]# ls /tmp/   
ana  anaconda-ks.cfg   test1  test3                                                                   

  

[root@localhost ~]# mkdir -p test1/test2
[root@localhost ~]# ls
anaconda-ks.cfg  binaries  binaries.tar.gz  initial-setup-ks.cfg  test1
[root@localhost ~]# mv test1/ test123 --源文件和目标文件在同一目录下为改名命令
[root@localhost ~]# ls
anaconda-ks.cfg  binaries  binaries.tar.gz  initial-setup-ks.cfg  test123

 mv命令移动文件时文件属性不会发生任何改变。

posted @ 2019-06-15 17:02  Simon丿  阅读(398)  评论(0编辑  收藏  举报