[Linux服务器] Linux--基本指令2

197 0
Honkers 2025-3-3 15:08:52 | 显示全部楼层 |阅读模式

我们今天继续学习linux基本命令(touch、mkdir、rmdir、rm、man、cp)

touch 指令

Linux理论知识:⽂件类型的认识

语法: touch [ 选项 ]... ⽂件 ...

功能:touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在 的⽂件。

常⽤选项:

  • -a : change only the access time
  • -c : change only the modification time

举例:

  1. # 创建普通⽂件
  2. [whb@bite-alicloud test]$ ls
  3. dir file.txt
  4. [whb@bite-alicloud test]$ touch newFile.txt
  5. [whb@bite-alicloud test]$ ls
  6. dir file.txt newFile.txt
  7. # 查看⽂件时间
  8. [whb@bite-alicloud test]$ stat newFile.txt
  9. File: ‘newFile.txt’
  10. Size: 0 Blocks: 0 IO Block: 4096 regular empty
  11. file
  12. Device: fd01h/64769d Inode: 1844719 Links: 1
  13. Access: (0664/-rw-rw-r--) Uid: ( 1003/ whb) Gid: ( 1003/ whb)
  14. Access: 2023-01-11 15:06:45.832787572 +0800
  15. Modify: 2023-01-11 15:06:45.832787572 +0800
  16. Change: 2023-01-11 15:06:45.832787572 +0800
  17. Birth: -
  18. # 修改⽂件access时间
  19. [whb@bite-alicloud test]$ touch -a newFile.txt
  20. [whb@bite-alicloud test]$ stat newFile.txt
  21. File: ‘newFile.txt’
  22. Size: 0 Blocks: 0 IO Block: 4096 regular empty
  23. file
  24. Device: fd01h/64769d Inode: 1844719 Links: 1
  25. Access: (0664/-rw-rw-r--) Uid: ( 1003/ whb) Gid: ( 1003/ whb)
  26. Access: 2023-01-11 15:07:00.062846804 +0800
  27. Modify: 2023-01-11 15:06:45.832787572 +0800
  28. Change: 2023-01-11 15:07:00.062846804 +0800
  29. Birth: -
  30. # 修改⽂件Modify时间
  31. [whb@bite-alicloud test]$ touch -m newFile.txt
  32. [whb@bite-alicloud test]$ stat newFile.txt
  33. File: ‘newFile.txt’
  34. Size: 0 Blocks: 0 IO Block: 4096 regular empty
  35. file
  36. Device: fd01h/64769d Inode: 1844719 Link: 1
  37. Access: (0664/-rw-rw-r--) Uid: ( 1003/ whb) Gid: ( 1003/ whb)
  38. Access: 2023-01-11 15:07:00.062846804 +0800
  39. Modify: 2023-01-11 15:09:19.428426903 +0800
  40. Change: 2023-01-11 15:09:19.428426903 +0800
  41. Birth: -
复制代码

mkdir指令

语法: mkdir [ 选项 ] dirname...

功能:在当前⽬录下创建⼀个名为“dirname”的⽬录

常⽤选项

  • -p/--parents: 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃ 动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多个⽬录
  1. # 创建普通空⽬录
  2. [whb@bite-alicloud test]$ ls -l
  3. total 4
  4. drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir-rw-rw-r-- 1 whb whb
  5. 0 Jan 11 14:22 file.txt-rw-rw-r-- 1 whb whb
  6. 0 Jan 11 15:09 newFile.txt
  7. [whb@bite-alicloud test]$ mkdir mydir
  8. [whb@bite-alicloud test]$ ls -l
  9. total 8
  10. drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir-rw-rw-r-- 1 whb whb
  11. 0 Jan 11 14:22 file.txt
  12. drwxrwxr-x 2 whb whb 4096 Jan 11 15:15 mydir-rw-rw-r-- 1 whb whb
  13. 0 Jan 11 15:09 newFile.txt
  14. # 递归建⽴多个⽬录,创建指定路径
  15. [whb@bite-alicloud test]$ mkdir -p path1/path2/path3/path4
  16. [whb@bite-alicloud test]$ ls -l
  17. total 12
  18. drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir-rw-rw-r-- 1 whb whb
  19. 0 Jan 11 14:22 file.txt
  20. drwxrwxr-x 2 whb whb 4096 Jan 11 15:15 mydir-rw-rw-r-- 1 whb whb
  21. 0 Jan 11 15:09 newFile.txt
  22. drwxrwxr-x 3 whb whb 4096 Jan 11 15:16 path1
  23. [whb@bite-alicloud test]$ tree path1
  24. path1
  25. └── path2
  26. └── path3
  27. └── path4
  28. # tree命令是⼀个递归以树状结构显⽰指定⽬录的命令,如果没有安装
  29. # 如果当前⽤⼾是root: yum install -y tree (因为现在开始⽤的都是root,所以推荐这个⽤法)
  30. # 如果当前⽤⼾是普通⽤⼾: sudo yum install -y tree (讲完vim,⼤家才能将⾃⼰添加到系统信任列表中,暂时普通⽤⼾⽆法使⽤sudo)
复制代码
  • mkdir 文件名 新建文件
  • mkdir 不允许直接新建一系列文件
  • mkdir -p允许新建一系列文件 mkdir -p ./dir1/dir2/dir3
  • rmdir 指令&&rm指令

  •  rmdir是⼀个与mkdir相对应的命令,mkdir是建⽴⽬录,⽽rmdir是删除命令
  • 语法:rmdir [-p]  [dirName]
  • 适⽤对象:具有当前⽬录操作权限的所有使⽤者
  • 功能删除空⽬录
  • 常⽤选项:
  • -p 当⼦⽬录被删除后如果⽗⽬录也变成空⽬录的话,就连带⽗⽬录⼀起删除。

举例:

  1. # 删除空⽬录
  2. [whb@bite-alicloud test]$ ll
  3. total 12
  4. drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir
  5. -rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt
  6. drwxrwxr-x 2 whb whb 4096 Jan 11 15:15 mydir
  7. -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt
  8. drwxrwxr-x 3 whb whb 4096 Jan 11 15:16 path1
  9. [whb@bite-alicloud test]$ tree mydir/
  10. mydir/
  11. 0 directories, 0 files
  12. [whb@bite-alicloud test]$ rmdir mydir
  13. [whb@bite-alicloud test]$ ll
  14. total 8
  15. drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir
  16. -rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt
  17. -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt
  18. drwxrwxr-x 3 whb whb 4096 Jan 11 15:16 path1
  19. # 删除路径
  20. [whb@bite-alicloud test]$ tree path1
  21. path1
  22. └── path2
  23. └── path3
  24. └── path4
  25. 3 directories, 0 files
  26. [whb@bite-alicloud test]$ rmdir -p path1/path2/path3/path4
  27. [whb@bite-alicloud test]$ ll
  28. total 4
  29. drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir
  30. -rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt
  31. -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt
  32. # 指定路径中有不为空的路径,便⽆法删除
  33. [whb@bite-alicloud test]$ rmdir -p path1/path2/path3
  34. rmdir: failed to remove ‘path1/path2/path3’: Directory not empty
  35. [whb@bite-alicloud test]$ touch path1/myfile.txt
  36. [whb@bite-alicloud test]$ touch path1/path2/myfile.txt
  37. [whb@bite-alicloud test]$ tree path1/
  38. path1/
  39. ├── myfile.txt
  40. └── path2
  41. ├── myfile.txt
  42. └── path3
  43. └── path4
  44. 3 directories, 2 files
  45. [whb@bite-alicloud test]$ rmdir -p path1/path2/path3/path4
  46. rmdir: failed to remove directory ‘path1/path2’: Directory not empty
复制代码

rm命令可以同时删除⽂件或⽬录

语法: rm [-f-i-r-v] [dirName/dir]

适⽤对象:所有使⽤者

功能:删除⽂件或⽬录

常⽤选项:

  • -f 即使⽂件属性为只读(即写保护),亦直接删除
  • -i 删除前逐⼀询问确认
  • -r 删除⽬录及其下所有⽂件

rm -r 递归删除非空目录 (一直询问是否删除)

rm -rf 递归并强制删除非空目录(不会一直询问是否删除) !!!此命令可以删除/家目录根目录(可能不会删除干净,但大概率系统会崩溃,linux没有恢复机制)

rm -rf / 是一个非常危险的操作,它会递归删除根目录 / 下的所有文件和目录,导致系统崩溃并无法恢复。

* 通配符 可以匹配任何内容

举例:

  1. #
  2. 删除普通⽂件
  3. [whb@bite-alicloud test]$ ll
  4. total 8
  5. drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir
  6. -rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt
  7. -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt
  8. drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1
  9. [whb@bite-alicloud test ]$ rm file.txt
  10. [whb@bite-alicloud test]$ ll
  11. total 8
  12. drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir
  13. -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt
  14. drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1
  15. # 删除⽬录⽂件
  16. [whb@bite-alicloud test]$ ll
  17. total 8
  18. drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir
  19. -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt
  20. drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1
  21. [whb@bite-alicloud test]$ rm dir
  22. rm: cannot remove ‘dir’: Is a directory
  23. [whb@bite-alicloud test]$ rm -r dir
  24. [whb@bite-alicloud test]$ ll
  25. total 4
  26. -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt
  27. drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1
  28. # 删除普通⽂件前询问
  29. [whb@bite-alicloud test]$ ll
  30. total 4
  31. -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt
  32. drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1
  33. [whb@bite-alicloud test]$ rm-i newFile.txt
  34. rm: remove regular empty file ‘newFile.txt’? y
  35. [whb@bite-alicloud test]$ ll
  36. total 4
  37. drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1
  38. [whb@bite-alicloud test]$ ll
  39. total 4
  40. drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1
  41. # 删除⽬录前询问
  42. [whb@bite-alicloud test]$ mkdir -p d/d/d/d
  43. [whb@bite-alicloud test]$ tree d
  44. d
  45. └── d
  46. └── d
  47. └── d
  48. 3 directories, 0 files
  49. [whb@bite-alicloud test]$ rm -ri d
  50. rm: descend into directory ‘d’? y
  51. rm: descend into directory ‘d/d’? y
  52. rm: descend into directory ‘d/d/d’? y
  53. rm: remove directory ‘d/d/d/d’? y
  54. rm: remove directory ‘d/d/d’? y
  55. rm: remove directory ‘d/d’? y
  56. rm: remove directory ‘d’? y
  57. [whb@bite-alicloud test]$ ll
  58. total 0
  59. # 递归强制删除⾮空⽬录
  60. [whb@bite-alicloud test]$ tree path1/
  61. path1/
  62. ├── myfile.txt
  63. └── path2
  64. └── myfile.txt
  65. 1 directory, 2 files
  66. [whb@bite-alicloud test]$ rm -f path1
  67. rm: cannot remove ‘path1’: Is a directory
  68. [whb@bite-alicloud test]$ rm -rf path1
  69. [whb@bite-alicloud test]$ ll
  70. total 0
复制代码

man指令

命令 Linux的命令有很多参数,我们不可能全记住,可以通过查看联机⼿册获取帮助

语法:man [ 选项 ] 命令

常用选项:

  • -k根据关键字搜索联机帮助
  •  num只在第num章节查找
  • -a 将所有章节的都显⽰出来,⽐如manprintf它缺省从第⼀章开始搜索,知道就停⽌,⽤a选 项,当按下q退出,他会继续往后⾯搜索,直到所有章节都搜索完毕

解释⼀下:man⼿册分为9章(不同系统可能会有差别)

  •  1是普通的命令 
  • 2是系统调⽤,如open,write之类的(通过这个,⾄少可以很⽅便的查到调⽤这个函数,需要加什么 头⽂件) 
  • 3是库函数,如printf,fread4是特殊⽂件,也就是/dev下的各种设备⽂件 
  • 4略
  • 5是指⽂件的格式,⽐如passwd,就会说明这个⽂件中各个字段的含义
  • 6是给游戏留的,由各个游戏⾃⼰定义
  • 7是附件还有⼀些变量,⽐如像environ这种全局变量在这⾥就有说明
  • 8是系统管理⽤的命令,这些命令只能由root使⽤,如ifconfig
  • 9略

举例:

  1. [whb@bite-alicloud test]$ man printf # 查看printf指令(没错,printf也是⼀个指令)
  2. [whb@bite-alicloud test]$ man fork # 查看系统调⽤,默认没有这个指令,man就⾃动去2号⼿册查找
  3. [whb@bite-alicloud test]$ man 2 frok # 查看系统调⽤
  4. [whb@bite-alicloud test]$ man 3 printf # 查看C库函数
  5. [whb@bite-alicloud test]$ man 7 signal # 查看变量
  6. [whb@bite-alicloud test]$ man 7 environ
  7. [whb@bite-alicloud test]$ man man #查看手册自己
复制代码

cp指令

语法: cp [ 选项 ] 源⽂件或⽬录 ⽬标⽂件或⽬录

功能:  复制⽂件或⽬录

说明:

  • cp指令⽤于复制⽂件或⽬录
  • 如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定 的所有⽂件或⽬录复制到此⽬录中

常用选项

  • -f 或 --force强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在
  • -i或--interactive 覆盖⽂件之前先询问⽤⼾
  • -r递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符 号链接,则⼀律视为普通⽂件处理
  1. # cp普通⽂件
  2. [whb@bite-alicloud test]$ echo "你好">myfile.txt
  3. [whb@bite-alicloud test]$ cat myfile.txt
  4. 你好
  5. [whb@bite-alicloud test]$ ll
  6. total 4
  7. -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile.txt
  8. [whb@bite-alicloud test]$ cp myfile.txt myfile-backup.txt
  9. [whb@bite-alicloud test]$ ll
  10. total 8
  11. -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile-backup.txt
  12. -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile.txt
  13. [whb@bite-alicloud test]$ cat myfile-backup.txt
  14. 你好
  15. #将多个⽂件拷⻉到指定路径下
  16. [whb@bite-alicloud test]$ ll
  17. total 8
  18. -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile-backup.txt
  19. -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile.txt
  20. [whb@bite-alicloud test]$ mkdir dir
  21. [whb@bite-alicloud test]$ ll
  22. total 12
  23. drwxrwxr-x 2 whb whb 4096 Jan 11 15:48 dir
  24. -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile-backup.txt
  25. -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile.txt
  26. [whb@bite-alicloud test]$ cp *.txt dir # *表⽰通配符,匹配所有.txt结尾的⽂件名
  27. [whb@bite-alicloud test]$ ll
  28. total 12
  29. drwxrwxr-x 2 whb whb 4096 Jan 11 15:48 dir
  30. -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile-backup.txt
  31. -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile.txt
  32. [whb@bite-alicloud test]$ tree dir
  33. dir
  34. ├── myfile-backup.txt
  35. └── myfile.txt
  36. # cp
  37. 如果⽬标⽂件存在,就覆盖
  38. [whb@bite-alicloud test]$ echo "hello bite tech" > myfile.txt
  39. [whb@bite-alicloud test]$ cat myfile.txt
  40. hello bite tech
  41. [whb@bite-alicloud test]$ cp myfile.txt myfile-backup.txt
  42. [whb@bite-alicloud test]$ cat myfile-backup.txt
  43. hello bite tech
  44. # 拷⻉前询问
  45. [whb@bite-alicloud test]$ cp -i myfile.txt myfile-backup.txt
  46. cp: overwrite ‘myfile-backup.txt’? y
  47. # 递归强制拷⻉整个⽬录
  48. [whb@bite-alicloud ~]$ tree test
  49. test
  50. ├── dir
  51. │ ├── myfile-backup.txt
  52. │ └── myfile.txt
  53. ├── myfile-backup.txt
  54. └── myfile.txt
  55. 1 directory, 4 files
  56. [whb@bite-alicloud ~]$ cp -rf test test-backup
  57. [whb@bite-alicloud ~]$ tree test-backup
  58. test-backup
  59. ├── dir
  60. │ ├── myfile-backup.txt
  61. │ └── myfile.txt
  62. ├── myfile-backup.txt
  63. └── myfile.txt
  64. 1 directory, 4 files
复制代码

补充知识:

Linux热键

Tab:快速双击,可以进行补齐(命令补齐/路径补齐)

什么都不输入的话,可以显示所有命令

Ctrl+C 失控状态,直接Ctrl+C终止当前进程

少年没有乌托邦,心向远方自明朗!

如果这个博客对你有帮助,给博主一个免费的点赞就是最大的帮助❤
欢迎各位点赞,收藏关注哦❤
如果有疑问或有不同见解,欢迎在评论区留言❤
后续会继续更新大连理工大学相关课程和有关Linux的内容和示例
点赞加关注,学习不迷路,好,本次的学习就到这里啦!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

特级红客

关注
  • 3159
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行