01.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指令
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指令
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可以读取文件里面的内容,再向显示器传达
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指令
解释:循环向一个file.txt文件中写入0-100
解释:然后more file.txt,发现显示了一满屏的内容,此时回车一下,数字才又出现一个,不能上下翻阅数字,只能回车往下一个一个的看。
13. less指
解释:用less后,发现不仅可以回车往下,还可以上下的翻看。
14. head指令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。
15. tail指令
问题:怎么显示中的第40到50行?
A:先head再tail 或者 先tail再head
解释: 先用head提取前50行到一个tmp.txt文件中,再对tmp.txt这个文件进行tail10行即可。
缺点:需要一个临时文件
16. 管道 |
竖线符号 |
称为“管道符”,它的作用是将一个命令(程序)的标准输出(stdout)重定向为另一个命令的标准输入(stdin)。这样,第一个命令的输出结果就可以作为第二个命令的输入数据。
解释:head -50 file.txt 的输出,成为了tail -10的输入
甚至可以: