Linux的基本指令(2)

01.man指令

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

解释:

1:用man 查自己的时候,可以知道 man有九个手册供我们去查询,左上角的man(1)代表,我们查询man时候,在第一个手册中查到了,现在即使后面会再有man,也不会去查找了

2:九个手册,第三个是C语言库。

a:man ls

解释:我们用man 去查询 ls,左上角可知,在man 的第一个手册中查询到了ls,可以知道ls 的所有相关的东西 

b:man  printf

解释: 我们查printf的时候,是在第一个手册中查到的,竟然不是第三个C语言库手册中,所以printf再Linux中也是一个指令,我们现在指定手册查收printf试试

c:man 3 printf

总结:

1:man 可以指定手册查找:

2:man 默认从上往下查找 

02. nano指令

解释:该目录下无任何东西,此时nano一个文件,按下回车,则:

解释:在nano出的file.txt文件中,写了一个简答的C语言打印 ,然后按ctrl + x,进行退出

解释:在按y,回车

 解释:此时再tree一下,就看到了nano出来的file.txt

总结:

nano相当于windows的新建一个记事本,在里面写东西。 

03. cp指令

语法 cp [ 选项 ] 源文件或目录 目标文件或目录
功能 : 复制文件或目录

a:不同级目录下文件的cp

解释:把目录dir4下的 文件 file.txt cp到了 dir4的商家目录dir3中,此时tree的时候,发现dir3和dir3都有file.txt 

b:同级目录下文件的cp

解释:同级目录下,不允许存在同名文件或目录,这是一个常识 ,这里想把当前目录下的file.txt文件,再复制到当前目录,这是错的。

正确方法:

同级目录下的相同名字文件的复制:

解释:cp file.txt  file.txt.2 才是对的,这等同于,在当前目录下创建了一个与file.txt内容相同的文件,只是名字不同,变成了file.txt.2

展示内容相同:

解释:通过cat打印出了 file.txt.2 的内容,可知 file.txt.2 的文件内容和 file.txt 的内容是相同的 

注意:不要cp file.txt . file.txt.2 ,多的一个点是错的,代表你把 file.txt.2 变成了. file.txt.2,后者是一个隐藏文件,而不是我们的本意

c:不同级目录下目录的cp

解释:和目录的删除一样,目录的复制不能直接cp,要cp -r

解释:把dir3目录下的dir4目录 cp到了dir2 中,dir2和dir3都有了dir4这个目录。

 d:同级目录下目录的cp

解释:把当前目录下的dir4目录,改了个名,复制到了当前目录下

错误示范:

解释:不修改名字就会报错

也可以把dir4 cp 到 dir4中:

解释:into itself ,也就是把dir4 放进了 dir4 自己里面

e:把一个目录下的所有东西拷贝进另一个目录 

解释:把dir1目录内的dir2,cp到了另一个目录110中(dir1的上级目录) cp -rf * ..

其中cp -rf 后面没有路径,就是默认当前的路径,所有此时 * 就代表当前的路径的全部目录以及文件,然后 .. 就代表拷到到的地方(目的地)。

总结:

cp不能进行同名的cp

cp默认不包括隐藏文件

04. mv指令

语法 : mv [ 选项 源文件或目录 目标文件或目录
功能:用来移动文件或者将文件改名

a: mv 文件1 到不存在的文件2

解释:将file.txt mv 到 file.txt.3中,后者不存在,所以file.txt直接重命名成file.txt.3

b:mv 文件1 到存在的文件2

解释:

1: 将file.txt.3 mv 到 file.txt.2中,后者存在,file.txt.2文件会被删除,而file.txt.3 重命名成了file.txt.2,放在同级目录中 

2:和1是一样的,将file.txt.3 mv 到非同级目录的 file.txt.2中,后者存在,file.txt.2文件会被删除,而file.txt.3 重命名成了file.txt.2,放在了该非同级目中

c:mv 文件1 到不存在的目录

解释:就是重命名文件1为这个目录的名字,目录不存在,该目录其实就是一个名字而已,而a是一样的,文件不存在,该文件也就是一串名字 

d:mv 文件1 到存在的目录

解释:到本级目录,就是文件同名了,会报错,到非本级目录,就是剪切过去

e:mv 目录1 到存在的文件

 解释:不管是把当前目录的目录 mv 到 哪里的文件,都是错误的,因为:文件系统不允许用目录替换文件,因为这会删除原始文件的内容 

f:mv 目录1 到不存在的文件

解释:和a是一样的,你文件不存在,该文件也就是一串名字, 会将dir1重命名为file.tx2

g:mv 目录1 到存在的目录2

解释:虽然目录2存在,但是是自己的子目录,这是不行的, 不允许你将一个目录移动到它自己的子目录中,因为这会导致文件系统结构上的循环。

解释:将dir4剪切到dir2下了 

h:mv 目录1 到不存在的目录2

解释:同上文,重命名dir1为dir2

05. which指令

解释:

1:查看指令在系统的什么目录下 ,ls在/usr/bin/ls中

2:指令其实内部就是程序,你用一个指令,其实该指令回去执行对应的程序

安装自制指令:

a:

解释:因为指令是程序,所以我们nano一个testt.c 的文件出来 

 b:

解释:在该文件中写一个简单的打印函数 

c:

解释:gcc 以下这个.c文件,会得到一个a.out的可执行程序 

d:

解释:要执行这个可执行程序,必须./a.out,而不能a.out,但我们执行指令的时候,比如ls,我们并没有./ls,所以我们继续: 

 e:

解释:先重命名一下a.out为mycmd,好看一点 ,重命名依旧是要./mycmd才能执行程序

f:

解释:把mycmd放进一开始的ls的目录中,此时发现直接mycmd都能执行程序了 

卸载自制指令:

解释:卸载即rm掉这个指令就行了,卸载后回到从前,依旧是./mycmd才能执行

 06. alias指令

解释:为ls -l 起了一个别名110 ,输入110 即达到了ls -l的效果

 07. echo指令

用于在标准输出(通常是终端或屏幕)上显示一行文本或变量的值

在Linux中有一个思想:万物皆文件

解释:

1:文件都有读和写,读或写可能其一为空

2:比如键盘我们用的时候,键盘就是读入我们打的东西,但是键盘不会写

3:比如显示器,它会写也就是显示东西给我们看,但是它不会读

解释:可知,echo在打印的同时,还自带回车 ,根据思想理解成,echo向显示屏输出了东西,显示器就显示了hhhhh

08. cat指令

语法cat [选项][文件]

功能: 查看目标文件的内容

解释:cat可以读取我们键盘上输入的东西 ,再向显示器传达

解释:cat可以读取文件里面的内容,再向显示器传达

-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

a: tac指令

解释:tac 显示文件的行是逆序的,和cat相反

09. > :输出重定向

a:>输出重定向到已存在文件

解释:> 这个符号是输出重定向,这是是一个重要的功能,它允许用户将命令的输出从标准输出(通常是终端或屏幕)重定向到其他地方 ,比如图中给的file.txt 

b:>输出重定向到不存在文件

解释:file.txt不存在的时候,会创建再写入

c:>不输出直接重定向到不存在文件

 解释:甚至可以不写入,用来创建一个文件 

解释: 但是当文件有内容的时候,只进行 > 操作的时候,会情况文件

总结:> 的作用

1:可以将标准输出重定向到其他地方

2:可以新建文件

3:可以情况文件

10. >> :追加重定向

解释:发现不断地 > ,结果并没有把每次 > 在文件中的内容进行打印出来,而是清空上一次,再去接收下一次 

解释:>> 就解决了这个问题 

11. <:输入重定向

解释:我们已经知道了,cat默认向键盘这个文件中读东西

解释:通过<来把cat默认从键盘中读取,变成了从文件中读取  

和cat file.txt.3必然是有区别的,不过一言两语说不清楚,以后说,这里体现<的作用就行了、

12. more指令

语法 more [ 选项 ][ 文件 ]
功能 more 命令,功能类似 cat

 解释:循环向一个file.txt文件中写入0-100

解释:然后more file.txt,发现显示了一满屏的内容,此时回车一下,数字才又出现一个,不能上下翻阅数字,只能回车往下一个一个的看。 

13. less指

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

解释:用less后,发现不仅可以回车往下,还可以上下的翻看。

14. head指令

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。

语法: head [ 参数 ]... [ 文件 ]... 
功能
head  用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。 

15. tail指令

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

 问题:怎么显示中的第40到50行?

A:先head再tail 或者 先tail再head

解释: 先用head提取前50行到一个tmp.txt文件中,再对tmp.txt这个文件进行tail10行即可。

缺点:需要一个临时文件

16. 管道 |

竖线符号 | 称为“管道符”,它的作用是将一个命令(程序)的标准输出(stdout)重定向为另一个命令的标准输入(stdin)。这样,第一个命令的输出结果就可以作为第二个命令的输入数据。

解释:head -50 file.txt 的输出,成为了tail -10的输入

甚至可以:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值