Linux--基本指令2
- 软件开发
- 2025-09-19 04:30:01

我们今天继续学习linux基本命令(touch、mkdir、rmdir、rm、man、cp)
touch 指令Linux理论知识:⽂件类型的认识
语法: touch [ 选项 ]... ⽂件 ...
功能:touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在 的⽂件。
常⽤选项:
-a : change only the access time-c : change only the modification time举例:
# 创建普通⽂件 [whb@bite-alicloud test]$ ls dir file.txt [whb@bite-alicloud test]$ touch newFile.txt [whb@bite-alicloud test]$ ls dir file.txt newFile.txt # 查看⽂件时间 [whb@bite-alicloud test]$ stat newFile.txt File: ‘newFile.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd01h/64769d Inode: 1844719 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1003/ whb) Gid: ( 1003/ whb) Access: 2023-01-11 15:06:45.832787572 +0800 Modify: 2023-01-11 15:06:45.832787572 +0800 Change: 2023-01-11 15:06:45.832787572 +0800 Birth: - # 修改⽂件access时间 [whb@bite-alicloud test]$ touch -a newFile.txt [whb@bite-alicloud test]$ stat newFile.txt File: ‘newFile.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd01h/64769d Inode: 1844719 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1003/ whb) Gid: ( 1003/ whb) Access: 2023-01-11 15:07:00.062846804 +0800 Modify: 2023-01-11 15:06:45.832787572 +0800 Change: 2023-01-11 15:07:00.062846804 +0800 Birth: - # 修改⽂件Modify时间 [whb@bite-alicloud test]$ touch -m newFile.txt [whb@bite-alicloud test]$ stat newFile.txt File: ‘newFile.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd01h/64769d Inode: 1844719 Link: 1 Access: (0664/-rw-rw-r--) Uid: ( 1003/ whb) Gid: ( 1003/ whb) Access: 2023-01-11 15:07:00.062846804 +0800 Modify: 2023-01-11 15:09:19.428426903 +0800 Change: 2023-01-11 15:09:19.428426903 +0800 Birth: - mkdir指令语法: mkdir [ 选项 ] dirname...
功能:在当前⽬录下创建⼀个名为“dirname”的⽬录
常⽤选项:
-p/--parents: 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃ 动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多个⽬录 # 创建普通空⽬录 [whb@bite-alicloud test]$ ls -l total 4 drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir-rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt-rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt [whb@bite-alicloud test]$ mkdir mydir [whb@bite-alicloud test]$ ls -l total 8 drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir-rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt drwxrwxr-x 2 whb whb 4096 Jan 11 15:15 mydir-rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt # 递归建⽴多个⽬录,创建指定路径 [whb@bite-alicloud test]$ mkdir -p path1/path2/path3/path4 [whb@bite-alicloud test]$ ls -l total 12 drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir-rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt drwxrwxr-x 2 whb whb 4096 Jan 11 15:15 mydir-rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt drwxrwxr-x 3 whb whb 4096 Jan 11 15:16 path1 [whb@bite-alicloud test]$ tree path1 path1 └── path2 └── path3 └── path4 # tree命令是⼀个递归以树状结构显⽰指定⽬录的命令,如果没有安装 # 如果当前⽤⼾是root: yum install -y tree (因为现在开始⽤的都是root,所以推荐这个⽤法) # 如果当前⽤⼾是普通⽤⼾: 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 当⼦⽬录被删除后如果⽗⽬录也变成空⽬录的话,就连带⽗⽬录⼀起删除。举例:
# 删除空⽬录 [whb@bite-alicloud test]$ ll total 12 drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir -rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt drwxrwxr-x 2 whb whb 4096 Jan 11 15:15 mydir -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt drwxrwxr-x 3 whb whb 4096 Jan 11 15:16 path1 [whb@bite-alicloud test]$ tree mydir/ mydir/ 0 directories, 0 files [whb@bite-alicloud test]$ rmdir mydir [whb@bite-alicloud test]$ ll total 8 drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir -rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt drwxrwxr-x 3 whb whb 4096 Jan 11 15:16 path1 # 删除路径 [whb@bite-alicloud test]$ tree path1 path1 └── path2 └── path3 └── path4 3 directories, 0 files [whb@bite-alicloud test]$ rmdir -p path1/path2/path3/path4 [whb@bite-alicloud test]$ ll total 4 drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir -rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt # 指定路径中有不为空的路径,便⽆法删除 [whb@bite-alicloud test]$ rmdir -p path1/path2/path3 rmdir: failed to remove ‘path1/path2/path3’: Directory not empty [whb@bite-alicloud test]$ touch path1/myfile.txt [whb@bite-alicloud test]$ touch path1/path2/myfile.txt [whb@bite-alicloud test]$ tree path1/ path1/ ├── myfile.txt └── path2 ├── myfile.txt └── path3 └── path4 3 directories, 2 files [whb@bite-alicloud test]$ rmdir -p path1/path2/path3/path4 rmdir: failed to remove directory ‘path1/path2’: Directory not emptyrm命令可以同时删除⽂件或⽬录
语法: rm [-f-i-r-v] [dirName/dir]
适⽤对象:所有使⽤者
功能:删除⽂件或⽬录
常⽤选项:
-f 即使⽂件属性为只读(即写保护),亦直接删除-i 删除前逐⼀询问确认-r 删除⽬录及其下所有⽂件rm -r 递归删除非空目录 (一直询问是否删除)
rm -rf 递归并强制删除非空目录(不会一直询问是否删除) !!!此命令可以删除/家目录根目录(可能不会删除干净,但大概率系统会崩溃,linux没有恢复机制)
rm -rf / 是一个非常危险的操作,它会递归删除根目录 / 下的所有文件和目录,导致系统崩溃并无法恢复。
* 通配符 可以匹配任何内容
举例:
# 删除普通⽂件 [whb@bite-alicloud test]$ ll total 8 drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir -rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1 [whb@bite-alicloud test ]$ rm file.txt [whb@bite-alicloud test]$ ll total 8 drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1 # 删除⽬录⽂件 [whb@bite-alicloud test]$ ll total 8 drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1 [whb@bite-alicloud test]$ rm dir rm: cannot remove ‘dir’: Is a directory [whb@bite-alicloud test]$ rm -r dir [whb@bite-alicloud test]$ ll total 4 -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1 # 删除普通⽂件前询问 [whb@bite-alicloud test]$ ll total 4 -rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1 [whb@bite-alicloud test]$ rm-i newFile.txt rm: remove regular empty file ‘newFile.txt’? y [whb@bite-alicloud test]$ ll total 4 drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1 [whb@bite-alicloud test]$ ll total 4 drwxrwxr-x 3 whb whb 4096 Jan 11 15:26 path1 # 删除⽬录前询问 [whb@bite-alicloud test]$ mkdir -p d/d/d/d [whb@bite-alicloud test]$ tree d d └── d └── d └── d 3 directories, 0 files [whb@bite-alicloud test]$ rm -ri d rm: descend into directory ‘d’? y rm: descend into directory ‘d/d’? y rm: descend into directory ‘d/d/d’? y rm: remove directory ‘d/d/d/d’? y rm: remove directory ‘d/d/d’? y rm: remove directory ‘d/d’? y rm: remove directory ‘d’? y [whb@bite-alicloud test]$ ll total 0 # 递归强制删除⾮空⽬录 [whb@bite-alicloud test]$ tree path1/ path1/ ├── myfile.txt └── path2 └── myfile.txt 1 directory, 2 files [whb@bite-alicloud test]$ rm -f path1 rm: cannot remove ‘path1’: Is a directory [whb@bite-alicloud test]$ rm -rf path1 [whb@bite-alicloud test]$ ll 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使⽤,如ifconfig9略举例:
[whb@bite-alicloud test]$ man printf # 查看printf指令(没错,printf也是⼀个指令) [whb@bite-alicloud test]$ man fork # 查看系统调⽤,默认没有这个指令,man就⾃动去2号⼿册查找 [whb@bite-alicloud test]$ man 2 frok # 查看系统调⽤ [whb@bite-alicloud test]$ man 3 printf # 查看C库函数 [whb@bite-alicloud test]$ man 7 signal # 查看变量 [whb@bite-alicloud test]$ man 7 environ [whb@bite-alicloud test]$ man man #查看手册自己 cp指令语法: cp [ 选项 ] 源⽂件或⽬录 ⽬标⽂件或⽬录
功能: 复制⽂件或⽬录
说明:
cp指令⽤于复制⽂件或⽬录如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定 的所有⽂件或⽬录复制到此⽬录中常用选项
-f 或 --force强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在-i或--interactive 覆盖⽂件之前先询问⽤⼾-r递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符 号链接,则⼀律视为普通⽂件处理 # cp普通⽂件 [whb@bite-alicloud test]$ echo "你好">myfile.txt [whb@bite-alicloud test]$ cat myfile.txt 你好 [whb@bite-alicloud test]$ ll total 4 -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile.txt [whb@bite-alicloud test]$ cp myfile.txt myfile-backup.txt [whb@bite-alicloud test]$ ll total 8 -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile-backup.txt -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile.txt [whb@bite-alicloud test]$ cat myfile-backup.txt 你好 #将多个⽂件拷⻉到指定路径下 [whb@bite-alicloud test]$ ll total 8 -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile-backup.txt -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile.txt [whb@bite-alicloud test]$ mkdir dir [whb@bite-alicloud test]$ ll total 12 drwxrwxr-x 2 whb whb 4096 Jan 11 15:48 dir -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile-backup.txt -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile.txt [whb@bite-alicloud test]$ cp *.txt dir # *表⽰通配符,匹配所有.txt结尾的⽂件名 [whb@bite-alicloud test]$ ll total 12 drwxrwxr-x 2 whb whb 4096 Jan 11 15:48 dir -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile-backup.txt -rw-rw-r-- 1 whb whb 22 Jan 11 15:47 myfile.txt [whb@bite-alicloud test]$ tree dir dir ├── myfile-backup.txt └── myfile.txt # cp 如果⽬标⽂件存在,就覆盖 [whb@bite-alicloud test]$ echo "hello bite tech" > myfile.txt [whb@bite-alicloud test]$ cat myfile.txt hello bite tech [whb@bite-alicloud test]$ cp myfile.txt myfile-backup.txt [whb@bite-alicloud test]$ cat myfile-backup.txt hello bite tech # 拷⻉前询问 [whb@bite-alicloud test]$ cp -i myfile.txt myfile-backup.txt cp: overwrite ‘myfile-backup.txt’? y # 递归强制拷⻉整个⽬录 [whb@bite-alicloud ~]$ tree test test ├── dir │ ├── myfile-backup.txt │ └── myfile.txt ├── myfile-backup.txt └── myfile.txt 1 directory, 4 files [whb@bite-alicloud ~]$ cp -rf test test-backup [whb@bite-alicloud ~]$ tree test-backup test-backup ├── dir │ ├── myfile-backup.txt │ └── myfile.txt ├── myfile-backup.txt └── myfile.txt 1 directory, 4 files补充知识:
Linux热键
Tab:快速双击,可以进行补齐(命令补齐/路径补齐)
什么都不输入的话,可以显示所有命令
Ctrl+C 失控状态,直接Ctrl+C终止当前进程
少年没有乌托邦,心向远方自明朗!
如果这个博客对你有帮助,给博主一个免费的点赞就是最大的帮助❤ 欢迎各位点赞,收藏和关注哦❤ 如果有疑问或有不同见解,欢迎在评论区留言❤ 后续会继续更新大连理工大学相关课程和有关Linux的内容和示例 点赞加关注,学习不迷路,好,本次的学习就到这里啦!!!
Linux--基本指令2由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Linux--基本指令2”
上一篇
MATLAB中asManyOfPattern函数用法
下一篇
蓝桥杯门牌制作