linux基础指令讲解(rmdir、rm、man、cp、mv、cat、more、less、head、tail)

发布于:2024-05-18 ⋅ 阅读:(181) ⋅ 点赞:(0)

🪐🪐🪐欢迎来到程序员餐厅💫💫💫

          主厨:邪王真眼
主厨的主页:Chef‘s blog  
所属专栏:青果大战linux

总有光环在陨落,总有新星在闪烁


rmdir指令

语法: rmdir [-p]  [dirName]
适用对象:具有当前目录操作权限的所有使用者

功能

只能删除空目录
  • 使用rmdir指令前:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt
├── pp
│   └── p
  • 使用rmdir指令后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ rmdir pp/p
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt
├── pp

常用选项

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
  • 使用rmdir -p指令前:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt
├── pp
│   └── p
  • 使用rmdir -p指令后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ rmdir -p pp/p
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt

rm 指令

rm命令可以删除文件和目录
语法:rm [-选项] [文件或目录]
适用对象:所有使用者

功能

删除文件或目录(删除目录需要加入-r选项)
  •  使用rm指令前:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt
├── pp
│   └── p.txt
  • 使用rm指令后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ rm pp/p.txt
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt
├── pp

常用选项

-r 删除目录及其下所有文件和子目录
  • 使用rm 指令后可以看出删除失败了
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ rm pp
rm: cannot remove ‘pp’: Is a directory
  • 使用rm -r指令后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ rm -r pp
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt
 -i 删除前逐一询问确认
  • 使用rm -i指令前
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ rm -r pp
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt
  • 使用rm -i -r指令前
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ mkdir -p pp/p
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ rm -i -r pp
rm: descend into directory ‘pp’? y
rm: remove directory ‘pp/p’? y
rm: remove directory ‘pp’? y
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ tree ./
./
├── d.txt

-f 即使文件属性为只读(即写保护),亦直接删除

这个就是直接强制删除文件了,一条指令直接带走这个目录下所有子目录和文件以及该目录本身,

而且不会去询问你“是否要删除该文件”


man指令:

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令就是man

语法:    man [选项] 命令

功能:

 用于显示系统手册页(manual page)中的文档

  • 使用man指令查询ls指令介绍

常用选项

man -num :表示只在第num章节找

  • 不加该选项时
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ man printf

  • 加了该选项时:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ man 3 printf

手册内容:
手册分为8章(我们目前只要知道前三章即可)
  1. 是普通的命令
  2. 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
  3. 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件

cp指令:

语法 cp [ 选项 ]    源文件或目录    目标文件或目录

功能:

复制文件或目录
说明 :
cp 指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
  • 基础功能展示

1.复制文件

  • 使用指令前
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ tree ./
./
├── a.txt
└── b
  • 使用指令后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ cp a.txt c.txt 
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ tree ./
./
├── a.txt
├── b
└── c.txt

我们把a.txt文件拷贝了一份,并且命名为c.txt

2.复制目录

  • 使用指令前
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ tree ./
./
├── a.txt
└── b
  • 使用指令后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ cp -r b c
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ tree ./
./
├── a.txt
├── b
└── c

我们把b文件拷贝了一份,并且命名为c

注意要加入选项 -r,否则会报错


常用选项

选项-f --force
 强行复制文件或目录, 不论目的文件或目录是否已经存在
选项-i --interactive
覆盖文件之前先询问用户
选项-r/-R --recursive
递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

mv指令:

mv 命令是 move 的缩写,可以用来移动文件或者将文件改名
语法 : mv   [ 选项 ]     源文件或目录 目标文件或目录

功能:

1.重命名
当第二个参数类型是文件时, mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  • 使用指令前:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ tree ./
./
├── a.txt
├── b
├── c
└── d
    └── dd
  • 使用指令后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ mv a.txt A.txt
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ tree ./
./
├── A.txt
├── b
├── c
└── d
    └── dd
2.剪切
当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个, mv 命令将各参数指定的源文件均移至目标目录中。
  • 使用指令前:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ tree ./
./
├── a.txt
├── b
├── c
└── d
    └── dd
  • 使用指令后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ mv A.txt a.txt
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ mv ./d/dd ./DD
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ tree ./
./
├── a.txt
├── b
├── c
├── d
└── DD

常用选项

选项-f 
force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
选项-i 
若目标文件 (destination) 已经存在时,就会询问是否覆盖!

cat指令:

语法 cat  [ 选项 ][ 文件 ]

功能

查看目标文件的内容
  • 使用该指令:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project3]$ cat test2.txt
#include<stdio.h>
int main()
{
printf("Hello,Linux!");
return 0;
}

常用选项

选项-b
对非空输出行编号
  • 使用-b选项前
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project3]$ cat test2.txt
aaaaaaaaaa

bbbbbbbbbb


cccccccccc




ddddddddd
  • 使用-b选项后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project3]$ cat -b test2.txt
     1	aaaaaaaaaa

     2	bbbbbbbbbb


     3	cccccccccc




     4	ddddddddd
选项-n
对输出的所有行编号
  • 使用-n选项前
​
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project3]$ cat test2.txt
aaaaaaaaaa

bbbbbbbbbb


cccccccccc




ddddddddd
  • 使用-n选项后
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project3]$ cat -n test2.txt
     1	aaaaaaaaaa
     2	
     3	bbbbbbbbbb
     4	
     5	
     6	cccccccccc
     7	
     8	
     9	
    10	
    11	ddddddddd

选项-s
不输出多行空行
  • 使用-s选项前
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project3]$ cat test2.txt
aaaaaaaaaa

bbbbbbbbbb


cccccccccc




ddddddddd
  • 使用-s指令后

[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project3]$ cat -s test2.txt
aaaaaaaaaa

bbbbbbbbbb

cccccccccc

ddddddddd

more指令:

语法 more [ 选项 ][ 文件 ]

功能

more 命令,功能类似 cat
  • 使用more指令
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project3]$ more test3.txt

常用选项

-n   输出指定文件前n行信息
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project3]$ more -10 test3.txt
1
2
3
4
5
6
7
8
9
0
指令q
退出more
指令 :/ 内容(在最后一行输入)
找寻带有该内容的一行信息,并从它开始向下展示
22
33
44
55
66
77
88
99
00

less指令:

less  工具也是对文件或其它输出进行分页显示的工具,应该说是 linux 正统查看文件内容的工具,功能极其强大。
 more  的时候,我们并没有办法向前面翻, 只能往后面看但若使用了 less  时,就可以使用  [pageup][pagedown]  等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
除此之外,在  less  里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [ 参数 ] 文件

功能

less more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前
不会加载整个文件。
进阶功能
选项-i
   忽略搜索时的大小写
选项-N 
  显示每行的行号
/ 字符串:向下搜索 字符串 的功能(从前向后找)
? 字符串:向上搜索 字符串 的功能(从后向前找)

head指令:

head  就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块, head 用来显示档案的开头至标准输出中,不指定文件时,对输入信息进行处理
语法: head [ 参数 ]... [ 文件 ]... 

功能

head  用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。 
选项
-n<行数 显示的行数
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project3]$ head -8 test3.txt
1
2
3
4
5
6
7
8

不指定文件时,作为输入信息进行处理

  • 输入

[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project3]$ head
aaa
  • 输出
​
aaa

tail指令:

tail  命令从指定点开始将文件写到标准输出 . 使用 tail 命令的 -f 选项可以方便的查阅正在改变的日志文件 ,tail - f filename会把 filename 里最尾部的内容显示在屏幕上 , 并且不但刷新 , 使你看到最新的文件内容 .
语法: tail[ 必要参数 ][ 选择参数 ][ 文件
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
-n< 行数 显示n行信息
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project3]$ tail -9 test3.txt
222
333
444
555
666
777
888
999
000

今天学习了10个指令,下去一定要好好练习哦

🥰创作不易,你的支持对我最大的鼓励🥰
🪐~ 点赞收藏+关注 ~

e3ff0dedf2ee4b4c89ba24e961db3cf4.gif


网站公告

今日签到

点亮在社区的每一天
去签到