cd 切换工作目录命令

  • cd(英文全拼:change directory)切换目录

命令格式:cd [-选项] [目录名]

  • 提示:目录名称可以是绝对路径或相对路径,如果不指定目录名称,则切换到当前用户的家目录~
  • 常用快捷操作:

    • ~ 表示为家目录-
    • . 表示为当前目录
    • .. 表示上一级目录
    • -可在两路径之间来回切换

      pwd 打印当前所在目录命令

  • pwd(英文全拼:print work directory)打印当前所在的工作目录,执行pwd命令后,可显示当前所在的工作目录的绝对路径名称

  • 命令格式:pwd [-选项]
  1. [root@localhost ~]# cd /opt/a/b/c/d
  2. #打印当前所在目录绝对路径
  3. [root@localhost d]# pwd
  4. /opt/a/b/c/d
  5. #切换到用户家目录
  6. [root@localhost d]# cd ~
  7. [root@localhost ~]# pwd
  8. /root
  9. [root@localhost ~]# cd /opt/a/b/c/d
  10. [root@localhost d]# pwd
  11. /opt/a/b/c/d
  12. [root@localhost d]# cd
  13. [root@localhost ~]# pwd
  14. /root
  15. [root@localhost ~]# cd /bin
  16. [root@localhost bin]# pwd
  17. /bin
  18. [root@localhost bin]# cd /boot
  19. [root@localhost boot]# pwd
  20. /boot
  21. [root@localhost boot]# ls
  22. [root@localhost boot]# cd /dev
  23. [root@localhost dev]# pwd
  24. /dev
  25. [root@localhost dev]# ls
  26. [root@localhost dev]# cd /etc
  27. [root@localhost etc]# pwd
  28. /etc
  29. [root@localhost etc]# ls
  30. [root@localhost etc]# ls /
  31. bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
  32. #“.”表示当前所在目录,对于cd命令而言作用不大
  33. [root@localhost etc]# cd .
  34. [root@localhost etc]# cd /opt/a/b/c/d
  35. [root@localhost d]# pwd
  36. /opt/a/b/c/d
  37. #“..”切换到当前目录的上一级目录
  38. [root@localhost d]# cd ..
  39. [root@localhost c]# pwd
  40. /opt/a/b/c
  41. [root@localhost c]# cd ..
  42. [root@localhost b]# pwd
  43. /opt/a/b
  44. [root@localhost b]# cd ..
  45. [root@localhost a]# cd ..
  46. [root@localhost opt]# pwd
  47. /opt
  48. [root@localhost opt]# cd ..
  49. [root@localhost /]# cd ..
  50. [root@localhost /]# cd
  51. [root@localhost ~]# ls
  52. [root@localhost ~]# cd /opt/a/b/c/d
  53. [root@localhost d]# pwd
  54. /opt/a/b/c/d
  55. #"-"可在两个路径之间来回切换
  56. [root@localhost d]# cd /etc/yum
  57. [root@localhost yum]# cd -
  58. /opt/a/b/c/d
  59. [root@localhost d]# pwd
  60. /opt/a/b/c/d
  61. [root@localhost d]# cd -
  62. /etc/yum
  63. [root@localhost yum]# cd -
  64. /opt/a/b/c/d
  65. [root@localhost d]# cd -
  66. /etc/yum

绝对路径与相对路径

  • 绝对路径:以/(根)为起点,到达你想去的目标目录称为绝对路径
  • 相对路径:以当前路径为起点,到达你想去的目标目录


  1. #绝对路径以“/”作为起点,到达目标路径
  2. [root@localhost ~]# cd /opt/a/b/c/d
  3. [root@localhost d]# pwd
  4. /opt/a/b/c/d
  5. #切换到上一级目录
  6. [root@localhost c]# cd ..
  7. [root@localhost b]# pwd
  8. /opt/a/b
  9. [root@localhost b]# ls
  10. c
  11. #相对路径以当前路径作为起点到达目标路径
  12. [root@localhost b]# cd c/
  13. [root@localhost c]# pwd
  14. /opt/a/b/c
  15. [root@localhost c]# cd ..
  16. [root@localhost b]# cd ..
  17. [root@localhost a]# cd ..
  18. [root@localhost opt]# pwd
  19. /opt

rmdir 删除空目录命令

  • rmdir(英文全拼:remove directory)删除空目录
  • 命令格式:rmdir [-选项] 目录名
  1. #rmdir只能删除空目录,如果目录下存在数据无法删除
  2. [root@localhost ~]# rmdir /opt/a
  3. rmdir: 删除 "/opt/a" 失败: 目录非空
  4. [root@localhost ~]# ls -R /opt/a
  5. /opt/a:
  6. b
  7. /opt/a/b:
  8. c
  9. /opt/a/b/c:
  10. d
  11. /opt/a/b/c/d:
  12. [root@localhost ~]# rmdir /opt/a/b/c/d
  13. [root@localhost ~]# ls -R /opt/a
  14. /opt/a:
  15. b
  16. /opt/a/b:
  17. c
  18. /opt/a/b/c:
  19. [root@localhost ~]# rmdir /opt/a/b/c
  20. [root@localhost ~]# ls -R /opt/a/b
  21. /opt/a/b:
  22. [root@localhost ~]# rmdir /opt/a/b
  23. [root@localhost ~]# ls -R /opt/a
  24. /opt/a:
  25. [root@localhost ~]# rmdir /opt/a
  26. [root@localhost ~]# ls /opt
  27. rh student xx
  28. [root@localhost ~]# rmdir /opt/
  29. rmdir: 删除 "/opt/" 失败: 目录非空

touch 创建文件命令

  • touch 命令用于创建新的空白文件
  • 命令格式:touch [-选项] 文件名
  1. #在当前路径创建空文件
  2. [root@localhost ~]# touch hello
  3. [root@localhost ~]# ls
  4. #在当前路径同时创建多个文件
  5. [root@localhost ~]# touch t1 t2 t3 t4
  6. [root@localhost ~]# ls
  7. #在指定路径同时创建多个文件
  8. [root@localhost ~]# touch /opt/test1 /opt/test2 /opt/test3
  9. [root@localhost ~]# ls /opt
  10. rh student test1 test2 test3 xx
  11. #如果存在同名目录时,无法创建
  12. [root@localhost ~]# mkdir test
  13. mkdir: 无法创建目录"test": 文件已存在
  14. #如果存在同名文件时,touch命令没有提示,但原有文件不会被覆盖
  15. [root@localhost ~]# touch t1
  16. #对于目录而言,只有单个目录的时候,“/”可有可无
  17. [root@localhost ~]# ls /opt/
  18. rh student test1 test2 test3 xx
  19. [root@localhost ~]# ls /opt
  20. rh student test1 test2 test3 xx
  21. #对于目录而言,查看目录下的内容时,必须要有“/”
  22. [root@localhost ~]# ls /opt/xx
  23. oo
  24. #对于文件而言,后边绝对不能有“/”
  25. [root@localhost ~]# ls /opt/test1
  26. /opt/test1
  27. [root@localhost ~]# ls /opt/test1/
  28. ls: 无法访问/opt/test1/: 不是目录

cp 复制命令

  • cp(英文全拼:copy file)用于复制文件或目录,cp命令在复制时也可修改目录或文件名字
  • 命令格式:cp [-选项] 源文件或目录 目标目录
  • 常用选项:
    • -p 保留源文件属性不变(如:修改时间、归属关系、权限)
    • -r 复制目录(包含该目录下所有的子目录和文件)
  1. #复制当前目录文件到/opt目录(相对路径方式复制)
  2. [root@localhost ~]# cp t1 /opt/
  3. [root@localhost ~]# ls /opt
  4. rh student t1 test1 test2 test3 xx
  5. #复制文件到/opt目录(绝对路径方式复制)
  6. [root@localhost ~]# cp /root/t2 /opt
  7. [root@localhost ~]# ls /opt
  8. rh student t1 t2 test1 test2 test3 xx
  9. #同时复制多个文件
  10. [root@localhost ~]# cp t3 t4 /opt/
  11. [root@localhost ~]# ls /opt
  12. #创建目录
  13. [root@localhost ~]# mkdir abc
  14. #使用-r对目录执行复制
  15. [root@localhost ~]# cp -r abc /opt
  16. [root@localhost ~]# ls /opt
  17. #同时复制多个目录
  18. [root@localhost ~]# mkdir abc1 abc2 abc3
  19. [root@localhost ~]# cp -r abc1 abc2 abc3 /opt
  20. [root@localhost ~]# ls /opt
  21. #复制hello文件到/opt并改名为hello.txt
  22. [root@localhost ~]# cp hello /opt/hello.txt
  23. [root@localhost ~]# ls /opt
  24. #复制xxxx目录到/opt并改名xxoo
  25. [root@localhost ~]# mkdir xxxx
  26. [root@localhost ~]# cp -r xxxx /opt/xxoo
  27. [root@localhost ~]# ls /opt
  28. #使用“.”配合cp命令执行复制
  29. [root@localhost ~]# cd /etc/sysconfig/network-scripts/
  30. [root@localhost network-scripts]# pwd
  31. /etc/sysconfig/network-scripts
  32. [root@localhost network-scripts]# cp /root/t1 .
  33. [root@localhost network-scripts]# ls
  34. #操持属性不变复制文件
  35. [root@localhost ~]# cp -p anaconda-ks.cfg /opt
  36. cp:是否覆盖"/opt/anaconda-ks.cfg" y
  37. [root@localhost ~]# ls -l /opt/anaconda-ks.cfg
  38. -rw-------. 1 root root 1800 3 13 17:34 /opt/anaconda-ks.cfg
  39. #对比以上两个文件的详细属性信息(最后一次修改时间)
  40. [root@localhost ~]# ls -l anaconda-ks.cfg
  41. -rw-------. 1 root root 1800 3 13 17:34 anaconda-ks.cfg
  42. #这两个操作代表什么意思?
  43. [root@localhost ~]# cp -r xxxx /mnt/oooo #拷贝并改名
  44. [root@localhost ~]# cp -r xxxx /mnt/oooo #拷贝

mv 移动命令

  • mv(英文全拼:move file)用于移动文件或目录到其他位置,也可用于修改目录或文件名
  • 命令格式:mv [-选项] 源文件… 目标路径
  1. #移动当前路径hello文件到/mnt目录
  2. [root@localhost ~]# mv hello /mnt
  3. [root@localhost ~]# ls /mnt
  4. hello home oooo test
  5. #同时移动多个文件
  6. [root@localhost ~]# mv t1 t2 t3 t4 /mnt
  7. [root@localhost ~]# ls /mnt
  8. hello home oooo student1 t1 t2 t3 t4 test
  9. #移动/opt目录下文件到/mnt
  10. root@localhost ~]# mv /opt/test1 /opt/test2 /opt/test3 /mnt/
  11. [root@localhost ~]# ls /mnt
  12. hello home oooo student1 t1 t2 t3 t4 test test1 test2 test3
  13. #移动目录
  14. [root@localhost ~]# mv student1 /mnt
  15. [root@localhost ~]# ls /mnt
  16. hello home oooo student1 test
  17. #移动文件并改名
  18. [root@localhost ~]# mv hello.txt /media/hello
  19. [root@localhost ~]# ls /media/
  20. hello
  21. #移动目录并改名
  22. [root@localhost ~]# mv test /media/testxx
  23. [root@localhost ~]# ls /media/
  24. hello testxx

cat 查看文件内容命令

  • cat (英文全拼:concatenate)命令用于查看文本文件内容
  • 命令格式:cat [选项] 文件名
  • 常用选项
    • -n #查看文件时以行号的形式显示文件内容
  1. #查看文件内容
  2. [root@localhost ~]# cat anaconda-ks.cfg
  3. [root@localhost ~]# cat initial-setup-ks.cfg
  4. [root@localhost ~]# cat /etc/hosts
  5. #查看网卡文件内容
  6. [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens32
  7. ...
  8. NAME="ens32" //网卡名
  9. UUID="16085f4c-f690-4058-b29e-d55c73387026"
  10. DEVICE="ens32"
  11. ONBOOT="yes"
  12. IPADDR="192.168.0.50" //网卡IP地址
  13. PREFIX="24" //子网掩码
  14. GATEWAY="192.168.0.254" //网管
  15. DNS1="114.114.114.114" //DNS
  16. #查看当前系统用户基本信息文件内容
  17. [root@localhost ~]# cat /etc/passwd
  18. root:x:0:0:root:/root:/bin/bash
  19. bin:x:1:1:bin:/bin:/sbin/nologin
  20. daemon:x:2:2:daemon:/sbin:/sbin/nologin
  21. adm:x:3:4:adm:/var/adm:/sbin/nologin
  22. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  23. #查看当前系统主机名配置文件内容
  24. [root@localhost ~]# cat /etc/hostname
  25. localhost.localdomain
  26. #查看当前系统版本信息文件内容
  27. [root@localhost ~]# cat /etc/redhat-release
  28. CentOS Linux release 7.6.1810 (Core)
  29. #查看当前系统开机自动挂载配置文件内容
  30. [root@localhost ~]# cat /etc/fstab
  31. #查看系统组基本信息文件内容
  32. [root@localhost ~]# cat /etc/group
  33. #使用“-n”以行号形式显示文件内容
  34. [root@localhost ~]# cat -n /etc/passwd
  35. [root@localhost ~]# cat -n /etc/hostname
  36. [root@localhost ~]# cat -n /etc/fstab
  37. [root@localhost ~]# cat -n /etc/group
  38. [root@localhost ~]# cat -n /etc/services

less命令

  • less工具是对文件的输出进行分页显示的工具,常用于查看内容量较大的文件
  • 命令格式:less [-选项] 文件
  • 常用选项:
    • -N #以行号形式显示文件内容
  • 使用技巧:
    • 键盘上下键逐行查看
    • pgdn :向上翻一页(Fn + 上键)
    • pgup :向下翻一页(Fn + 下键)
    • /字符串 :搜索指定字符串(n从上向下搜索,N从下向上搜索)
    • G:直接跳转到文件最后一行
    • gg:直接跳转到文件行首
    • q :退出
  1. [root@localhost ~]# less -N /etc/services

head与tail命令

  • head命令:用来显示文件开头部分内容,默认显示文件开头10行内容
  • 命令格式:head [选项] 参数
  • 常用选项:
    • -n<行数> 指定显示的行数
    • -f 动态显示
  1. [root@localhost ~]# head /etc/passwd
  2. [root@localhost ~]# head /etc/fstab
  3. [root@localhost ~]# head /etc/group
  4. [root@localhost ~]# head /etc/hostname
  5. [root@localhost ~]# head /etc/hosts
  6. [root@localhost ~]# head /etc/sysconfig/network-scripts/ifcfg-ens32
  7. #查看存放DNS配置文件信息
  8. [root@localhost ~]# head /etc/resolv.conf
  9. #使用-n指定显示文件前多少行内容
  10. [root@localhost ~]# head -n 5 /etc/passwd
  11. [root@localhost ~]# head -n 6 /etc/passwd
  12. [root@localhost ~]# head -n 15 /etc/passwd
  13. [root@localhost ~]# head -n 20 /etc/passwd
  • tail命令:用来显示文件末尾部分内容,默认显示文件末尾10行内容
  • 命令格式:tail [选项] 参数
  • 常用选项:-n<行数> 指定显示的行数 -f 动态显示
  1. [root@localhost ~]# tail /etc/passwd
  2. #使用“-n”指定显示文件末尾多少行内容
  3. [root@localhost ~]# tail -n 5 /etc/passwd
  4. [root@localhost ~]# tail -n 5 /etc/sysconfig/network-scripts/ifcfg-ens32
  5. IPADDR="192.168.0.50"
  6. PREFIX="24"
  7. GATEWAY="192.168.0.254"
  8. DNS1="114.114.114.114"
  9. IPV6_PRIVACY="no"
  10. #动态查看文件内容
  11. [root@localhost ~]# touch t1
  12. root@localhost ~]# tail -f t1
  13. #另开一个终端向文件写入内容
  14. [root@localhost ~]# echo 123 > t1

rm删除命令

  • rm(英文全拼:remove)命令用于删除文件或者目录。
  • 命令格式:rm [-选项…] 目录或文件…
  • 常用选项
    • -f 强制删除
    • -r 删除目录
    • “*”特殊字符:系统常用符号,用来代表任意字符
  1. [root@localhost ~]# ls /opt
  2. abc abc1 abc2 abc3 anaconda-ks.cfg hello.txt home rh student t1 t2 t3 t4 xx xxoo
  3. [root@localhost ~]# ls /mnt
  4. hello home oooo student1 t1 t2 t3 t4 test test1 test2 test3
  5. #删除指定目录下文件
  6. [root@localhost ~]# rm /opt/anaconda-ks.cfg
  7. rm:是否删除普通文件 "/opt/anaconda-ks.cfg"y #默认需要确认(y|n)
  8. #查看文件是否被成功删除
  9. [root@localhost ~]# ls /opt
  10. abc abc1 abc2 abc3 hello.txt home rh student t1 t2 t3 t4 xx xxoo
  11. [root@localhost ~]# rm /opt/hello.txt
  12. rm:是否删除普通空文件 "/opt/hello.txt"y
  13. #同时删除目录下指定文件
  14. [root@localhost ~]# rm /opt/t1 /opt/t2 /opt/t3 /opt/t4
  15. rm:是否删除普通空文件 "/opt/t1"y
  16. rm:是否删除普通空文件 "/opt/t2"y
  17. rm:是否删除普通空文件 "/opt/t3"y
  18. rm:是否删除普通空文件 "/opt/t4"y
  19. #查看文件是否被成功删除
  20. [root@localhost ~]# ls /opt
  21. abc abc1 abc2 abc3 home rh student xx xxoo
  22. #使用“-f”强制删除文件(无需确认,直接删除)
  23. [root@localhost ~]# rm -f /mnt/hello
  24. [root@localhost ~]# ls /mnt
  25. home oooo student1 t1 t2 t3 t4 test test1 test2 test3
  26. #同时强制删除多个文件
  27. [root@localhost ~]# rm -f /mnt/t1 /mnt/t2 /mnt/t3 /mnt/t4
  28. [root@localhost ~]# ls /mnt
  29. #删除目录
  30. [root@localhost ~]# rm -r /opt/abc
  31. rm:是否删除目录 "/opt/abc"y
  32. [root@localhost ~]# ls /opt
  33. abc1 abc2 abc3 home rh student xx xxoo
  34. #同时删除多个目录
  35. [root@localhost ~]# rm -r /opt/abc1 /opt/abc2 /opt/abc3
  36. rm:是否删除目录 "/opt/abc1"y
  37. rm:是否删除目录 "/opt/abc2"y
  38. rm:是否删除目录 "/opt/abc3"y
  39. [root@localhost ~]# ls /opt
  40. home rh student xx xxoo
  41. #同时强制删除多个目录
  42. [root@localhost ~]# rm -rf /opt/home /opt/student /opt/xx /opt/xxoo
  43. [root@localhost ~]# ls /opt
  44. rh
  45. #创建目录与文件
  46. [root@localhost ~]# touch /opt/t1
  47. [root@localhost ~]# mkdir /opt/test
  48. [root@localhost ~]# ls /opt
  49. rh t1 test
  50. #rm命令在删除目录时,包含改目录及目录下所有数据全部删除
  51. [root@localhost ~]# rm -rf /opt/
  52. [root@localhost ~]# ls /
  53. [root@localhost ~]# ls /mnt
  54. home oooo student1 test test1 test2 test3
  55. #使用“*”通配任意所有字符,删除/mnt目录下所有数据
  56. [root@localhost ~]# rm -rf /mnt/*
  57. [root@localhost ~]# ls /mnt