相对和绝对路径、cd、rm命令

本文详细介绍了Linux系统中目录操作的基本命令,包括cd、mkdir、rmdir及rm等命令的使用方法与注意事项,帮助读者掌握如何高效地管理和操作文件目录。

相对路径和绝对路径

  • 绝对路径:是从/(也被称为根目录)开始的,比如/usr、/etc/X11。如果一个路径是从/开始的,它一定是绝对路径
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-ens33
  • 相对路径:相对于当前位置的路径;不是以根目录开头的路径。例如:
[root@localhost ~]# cd /etc/
[root@localhost etc]# ls sysconfig/network-scripts/ifcfg-ens33
sysconfig/network-scripts/ifcfg-ens33

cd命令

  • cd命令是change directory的缩写,用来改变用户所在的目录
[root@localhost ~]# pwd  //显示用户当前工作目录
/root
[root@localhost ~]# cd /etc
[root@localhost etc]# 
[root@localhost etc]# cd //如果后面什么都不跟,就会进入当前用户的家目录下面
[root@localhost ~]# pwd
/root
[root@localhost ~]# 
  • cd命令后面只能跟目录名,如果跟文件名会被报错
[root@localhost ~]# cd /tmp/yum.log
-bash: cd: /tmp/yum.log: 不是目录
  • cd ..进入当前目录的上一级目录
[root@localhost ~]# cd /usr/local
[root@localhost local]# pwd
/usr/local
[root@localhost local]# cd ..
[root@localhost usr]# pwd
/usr
[root@localhost usr]# 
  • cd .进入当前目录
[root@localhost usr]# pwd
/usr
[root@localhost usr]# cd .
[root@localhost usr]# pwd
/usr
  • cd ~进入用户家目录
[root@localhost usr]# pwd
/usr
[root@localhost usr]# cd ~
[root@localhost ~]# pwd
/root
[root@localhost ~]# 
  • cd -进入上一次所在目录来回交替
[root@localhost ~]# cd /usr/local
[root@localhost local]# cd /usr
[root@localhost usr]# cd -
/usr/local
[root@localhost local]# cd -
/usr
[root@localhost usr]# 

mkdir命令

  • 命令mkdir(make directory简写)用于创建目录,格式如下: mkdir [选项] [目录名称]
[root@localhost ~]# mkdir /tmp/test/
[root@localhost ~]# ls /tmp/
systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
test  //此处出现了test目录
[root@localhost ~]# 
  • -p能创建一大串级联目录;如果不加-p就会报错;例如: mkdir –p [目录名称]
[root@localhost ~]# mkdir /tmp/test/1/2/3
mkdir: 无法创建目录"/tmp/test/1/2/3": 没有那个文件或目录
[root@localhost ~]# mkdir -p /tmp/test/1/2/3
[root@localhost ~]# tree /tmp
/tmp
├── systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
│   └── tmp
├── systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
│   └── tmp
├── systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
│   └── tmp
│       └── vmware-root
├── systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
│   └── tmp
├── systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
│   └── tmp
├── systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
│   └── tmp
│       └── vmware-root
├── systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
│   └── tmp
├── systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
│   └── tmp
├── systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
│   └── tmp
│       └── vmware-root
└── test
    └── 1
        └── 2
            └── 3

25 directories, 0 files
[root@localhost ~]# 
  • 如果创建一个已经存在的目录会报错,加上-p后就不会报错
[root@localhost ~]# mkdir /tmp/test
mkdir: 无法创建目录"/tmp/test": 文件已存在
[root@localhost ~]# mkdir -p /tmp/test
[root@localhost ~]# 

rmdir命令

  • 命令rmdir(remove directory简写)用于删除空目录,后面可以是一个目录,也可以是多个目录
[root@localhost ~]# mkdir /tmp/111
[root@localhost ~]# mkdir /tmp/222
[root@localhost ~]# ls /tmp
111
222
systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
test
[root@localhost ~]# rmdir /tmp/111 /tmp/222/
[root@localhost ~]# ls /tmp
systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
test
[root@localhost ~]# 
  • rmdir只能删除目录,不能删除文件
  • rmdir和mkdir有共同选项-p,能删除一大窜目录,但是在联级的目录中,如果某一个目录里面还有目录或者文件,这个命令就不好用,会报错
  • rmdir使用起来有一定的局限性,所以用的很少,可以使用rm来删除目录或者文件。

rm命令

  • rm [文件名] 删除文件
[root@localhost ~]# cd /tmp/test
[root@localhost test]# touch test.txt
[root@localhost test]# ls
1  test.txt
[root@localhost test]# rm test.txt
rm:是否删除普通空文件 "test.txt"?y
[root@localhost test]# ls
1
[root@localhost test]# 
  • -r 用来删除目录
[root@localhost tmp]# ls
1
systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
test
[root@localhost tmp]# rm -r 1
rm:是否删除目录 "1"?y
[root@localhost tmp]# ls
systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
test
[root@localhost tmp]# 
  • -f (forces)强制删除,它不会在提示是否删除,而是直接删除。如果后面跟一个不存在的文件或者目录,它也不会报错
  • 如果要删除目录,必须要加上-r,不然就算加上-f选项也会报错
  • -v 可视化,可以看见删除的步骤
[root@localhost tmp]# mkdir -p test/1/2/3/1.txt
[root@localhost tmp]# tree
.
├── systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
│   └── tmp
├── systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
│   └── tmp
├── systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
│   └── tmp
│       └── vmware-root
├── systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
│   └── tmp
├── systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
│   └── tmp
├── systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
│   └── tmp
│       └── vmware-root
├── systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
│   └── tmp
├── systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
│   └── tmp
├── systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
│   └── tmp
│       └── vmware-root
└── test
    └── 1
        └── 2
            └── 3
                └── 1.txt

26 directories, 0 files
[root@localhost tmp]# rm -rvf test
已删除目录:"test/1/2/3/1.txt"
已删除目录:"test/1/2/3"
已删除目录:"test/1/2"
已删除目录:"test/1"
已删除目录:"test"
[root@localhost tmp]# 
  • ==注意:rm -rf虽然好用,但是要千万注意,rm –rf 命令后面千万不要加“/”,否则它会把系统文件全部删除,是非常危险滴!==
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值