day6 系统目录操作命令(cd mkdir rmdir rm)

上一次我们学习了linux目录的介绍,以及查看命令ls及alias,那么我们如何学习对这些目录进行操作,具体如下:cd      mkdir    rmdir   rm.

1、首先先讲两个概念:每个文件或目录都有自己的路径,那什么是相对路径和绝对路径:

相对路径:从当前目录开始的路径则是相对路径,非根目录开头的。

[root@localhost ~]# cd /etc/
[root@localhost etc]# ls sysconfig/network-scripts/ifcfg-eth0
sysconfig/network-scripts/ifcfg-eth0
[root@localhost etc]# pwd
/etc

绝对路径:从根目录开始的路径则是绝对路径:因为对它们而言,都在根目录下:

[root@localhost ~]# pwd
/root
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth0
[root@localhost ~]# pwd
/root

就是说,只要是从根目录开头的路径,则都是绝对路径,如上图:

或者是可以任何目录下都可以切换到自己想去的目录,则为绝对路径了。

2、cd: (change  directory)当我们需要进入一个目录时,则使用cd命令,它的具体参数如下:

"cd"   "cd ~"    "cd ."   "cd ..” “cd -"

cd后面加目录,表示进入一个目录下,如我们需要查看网卡的文件目录:则如下:

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-eth0   ifdown-post    ifup-eth    ifup-routes
ifcfg-lo     ifdown-ppp     ifup-ippp   ifup-sit
ifdown       ifdown-routes  ifup-ipv6   ifup-tunnel
ifdown-bnep  ifdown-sit     ifup-isdn   ifup-wireless
ifdown-eth   ifdown-tunnel  ifup-plip   init.ipv6-global

另外使用cd命令 还可以返回到根目录:等同于"cd ~"如下:

[root@localhost network-scripts]# cd                    #第一次切换到当前根目录下:
[root@localhost ~]# pwd                                 #查看所在路径:
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cd ~                  #第二次切换到当前根目录下:
[root@localhost ~]# pwd                                 #查看所在路径:
/root

2.1 "cd ~"使用此命令则可以返回则至根目录,等同于命令"cd".如上图:

2.2 "cd ."表示当前目录:

[root@localhost ~]# pwd                #第一次查看目录
/root 
[root@localhost ~]# cd .
[root@localhost ~]# pwd                #第二次查看所在目录
/root

2.3 “cd .." 表示返回上一级目录:每次都会返回当前目录的上一级目录:如下:

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd             #当前所在目录
/etc/sysconfig/network-scripts                     
[root@localhost network-scripts]# cd ..           #第一次使用命令后
[root@localhost sysconfig]# pwd                   返回上级目录
/etc/sysconfig
[root@localhost sysconfig]# cd ..                #第二次使用命令后
[root@localhost etc]# pwd                         又返回上级目录
/etc
[root@localhost etc]# cd ..                      #第三次使用命令后
[root@localhost /]# pwd                           又返回上级目录
/

2.4  "cd  -"表示返回至上次所在的目录(未切换前的目录),相当于遥控器上的交换按钮:

[root@localhost ~]# cd /etc/ssh/                    #首次进入当前目录下
[root@localhost ssh]# pwd                           #查看所在目录
/etc/ssh
[root@localhost ssh]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd               #查看当前所在目录
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# cd -              #使用命令后
/etc/ssh
[root@localhost ssh]# pwd                           #再次查看所在目录
/etc/ssh
[root@localhost ssh]#                               #返回至第一次所在目录
          

如图所示:第一次所在的目录是/etc/ssh下,此时再进入到网卡所在的目录,然后是用cd  -,我们会发现此时又回到了/etc/ssh目录下。

3、mkdirrmdir:分别是创建目录和删除目录:

3.1:mkdir: 要创建目录: 参数-p 

[root@localhost ~]# mkdir mulu                      #创建目录
[root@localhost ~]# ls -ld mulu                     #查看目录信息
drwxr-xr-x 2 root root 4096 Jun 10 23:11 mulu

mkdir支持创建级联目录:需要加-p参数:不然会报错:如下:

[root@localhost ~]# mkdir dir1/dir2/                 #首次创建目录,报错.....
mkdir: cannot create directory ‘dir1/dir2/’: No such file or directory
[root@localhost ~]# mkdir -p dir1/dir2/              #第二次创建目录,可以创建成功......
[root@localhost ~]# tree dir1/                       #查看目录情况:
dir1/
└── dir2
1 directory, 0 files

此时我们需要加上-p参数既可,如上:

此时创建成功,可以用我们上一章学的tree命令来查看:可不要忘记它还有一个-L选项,可以选择要显示的目录数。

3.2  此时我们已经学会创建,那是否可以删除呢,当然是可以的,使用命令rmdir

rmdir:删除的目录,参数: -p  删除级联目录      :注:不得删除非空目录

[root@localhost ~]# ls -ld mulu                       #查看目录情况。
drwxr-xr-x 2 root root 4096 Jun 10 23:11 mulu
[root@localhost ~]# rmdir mulu                        #删除目录。
[root@localhost ~]# ls -ld mulu                       #目录已经删除:
ls: cannot access mulu: No such file or directory

删除级联目录则要-p目录:删除目录下的目录:

但目录下还有目录时,删除时会提示目录非空,此时需要用”-p“选项。

[root@localhost ~]# ls -l dir1/                #查看目录下情况,发现还有目录dir2.
total 4
drwxr-xr-x 3 root root 4096 Jun 10 23:17 dir2
[root@localhost ~]# rmdir dir1/               #此时使用rmdir目录删除时会报错:
rmdir: failed to remove ‘dir1/’: Directory not empty
[root@localhost ~]# rmdir -p dir1/dir2/dir3/dir4/      使用 “-p” 则可以成功删除:

rmdir  -p 会直接删除"dir"目录,连同它目录下"dir2"目录和"dir3"目录也删除:

此时我们会思考,如果它目录下是文件呢,是否还可以删除,那我们下面来看一看:

[root@localhost ~]# mkdir -p 1/2/                 #创建一个目录1及子目录2.           
[root@localhost ~]# touch 1/2/3                   #创建一个文件3.
[root@localhost ~]# tree 1/                       #查看目录下情况:
1/
├── 2
│   └── 3
└── 212
1 directory, 2 files
[root@localhost ~]# rmdir -p 1/2/                #使用rmdir命令删除,提示“目录非空”:
rmdir: failed to remove ‘1/2/’: Directory not empty

如下:我们根目录下,有目录"1"下有"2"目录,"2"目录下有"3.txt"文本,删除时会提示"目录非空"。

此时我们需要用到一个新命令:rm   参数: -f (force)   -r(删除目录要加)。

[root@localhost ~]# ls -l 1               #查看目录下情况:
total 4
drwxr-xr-x 2 root root 4096 Jun 10 23:25 2
-rw-r--r-- 1 root root    0 Jun  8 12:39 212
[root@localhost ~]# rm 1                       使用rm命令删除,无法删除:
rm: cannot remove ‘1’: Is a directory
[root@localhost ~]# rm -fr 1                   #需使用-f(forece)强制选项:

此时删除目录会报错:提示它是一个目录,无法删除。需要加-fr参数即可:

[root@localhost ~]# rm -f 1                 #删除目录:
rm: cannot remove ‘1’: Is a directory       #报错:提示是一个目录:
[root@localhost ~]# ls -l 1                 #查看当前目录:
total 4
drwxr-xr-x 2 root root 4096 Jun 10 23:25 2
-rw-r--r-- 1 root root    0 Jun  8 12:39 212
[root@localhost ~]# rm -fr 1               #使用  fr 参数:
[root@localhost ~]# ^C
[root@localhost ~]# ls -ld 1
ls: cannot access 1: No such file or directory      #目录已经成功删除:
  

由上图看到,此时目录已经被删除了。

上图中用到了!号,它的意思是表示历史记录里面最后一条tree开头的命令。

命令历史直接用history查看即可。

[root@localhost ~]# history
    1  exit
    2  LS
    3  ls
    4  host
    5  vi /etc/hostname
    6  vi /etc/sysconfig/network
    7  vi /etc/hostname .
  ....
  ....
  ....
  555   
  563  history

本章内容介绍到这里。

转载于:https://my.oschina.net/yuanhaohao/blog/1824239

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值