接着上一篇继续写指令。
man指令
man指令是一个手册功能的指令,可以查看系统内的接口,指令等等,也可以查看一个指令有什么用法。如果是需要查看C语言中的指令,比如printf,就可以man 3 printf。不过man大多数情况是用来查看操作系统提供的可调用接口。
man也可以自己查看自己man man,里面9个数字也代表各自能查看什么,9个man手册。man查到的指令左上角能看到在哪个手册查到的。
cp指令
复制文件或目录。
把zzz目录里的zzz.txt文件放入abc拷贝到这个abc目录内。拷贝目录的话,不能这样写,
拷贝目录到上一级目录。拷贝目录需要加上-r。当然,如果遇到阻碍拷贝,询问是否拷贝等情况,就可以强制拷-rf。
mv指令
移动目录或文件。在自己的家目录下,你可以随意移动,但还是不要太随意了。
移动后,当前所在目录就没有这个文件了。也可以从家目录移动到当前目录
移动目录时默认会把目录内所有文件都移动过去
总结一下,man就是man src(文件或目录) dest(一定是一个目录)
mv指令的第二个功能是重命名。
当前目录下没有name.txt, 并且这也不是一个目录,所以系统就会判定这是重命名。我们也可以吧他移动并重命名到其他目录。
当然也可以重命名目录
cat指令
打印文件的内容
但是这个文本必须有内容。这时候就可以nano一下,写完后ctrl + X , y, 空格,再次cat一下即可。
和cat有个类似的命令——echo。用echo后面跟上内容可以直接打印,可用双引号括起来,但不括也可。echo是输出到显示器的,我们也可以改变一下,把要输出的内容放到文件里,这也就是输出重定向。如果目标文件不存在,就会自动创建并放入内容。
不加>,就会判定为要输出的内容。用echo写上新的内容时,会把原始内容清空并再次写入。
如果就是要追加而不是重写,要用>>。这也就是追加重定向,不断地向目标文件追加新内容。
用wc命令可以统计文本的内容,-l可以看行数
有了>,自然也有<。<是输入重定向。cat后面什么都不跟时,系统会停在那里,用户输入什么它就是输出什么,因为cat默认情况下从键盘读取数据,所以如果想改变它读取的文件,那么就<就可以让cat从后面的文件里读取,也就是输入重定向了。
cat也有命名选项。 可用man cat仔细查看
不过cat查看大文件内容不太合适,要用more指令,比如1000行的内容,more可以根据屏幕大小来显示内容,显示到屏幕满,然后回车来向下滚动。同样地,less命令也是如此,但是可以按上下键来上下翻,屏幕最下方可以搜索多少行,比如一下子到666行,/666即可。
head指令
默认会把文本前十行打印出来。也可以指定打印多少行
tail指令
默认显示文本后十行,和head一样用法
也可以直接用数字表示打印多少行
这里要引入一个概念,命令行管道 | 。
cat mylog.txt | wc -l。|是一个管道,这个管道可以当做一个文件,mylog里的内容放到这个管道里,然后wc命令从中使用数据执行命令。
现在利用管道来提取mylog里500-520行的内容
date指令
查看时间
而这个时间则是格林威治时间。时间戳。
时间戳的转化:
加上-d,前面加上格式。@后面是时间。
这就是格林威治时间
cal指令
查看日历。也可以后面加上年份查看整年的日历。默认本月日历。
我们也可以写程序来打印时间
现在我们再做一个文件内容
一个升序一个降序。按照每行开头数字来排列。如果有同样的则放到一起。当然还有去重
Find命令
find的命令选项相当多,这里只写一个比较重要的。-name
在根目录下查找创建的test.c文件。这和windows的查找功能很像。
关于查找,还有别的指令
which指令
可以搜索指令
whereis指令
搜索系统默认路径下指定名称的文件、程序或者指定的归档文件
搜ls时也把手册搜索了。
在which图中有一个alias,这是一个起别名功能,和C语言中typedef有点像。比如alias myls='ls'
,那么myls就是ls的功能了,只不过换了个名字,这时候which myls就会看到他代替的内容。
grep指令
文本行过滤工具
在前面带上-n就可以打印出行号
现在改一下之前的文件。-v表示除去指定内容之外都打印,-i是忽略大小写,当然指令也可以组合写
grep后面用单双引号都可。
zip/unzip指令
直接上图
现在解包
解包后发现bit目录里面没有东西,是因为刚才打包的是目录,但是并没有把里面的东西打包。
现在重新来一次打包
加上-r就是正常的压缩了。
结束。