前言:
之前那一篇我们已经介绍了一部分的基础命令,当然那只不过是九牛一毛,本篇我们继续介绍一些比较重要且需要掌握的基础命令。
mv命令:
其实这个命令有两个功能,一个是移动(剪切)文件,一个重命名文件。
当然,我们也可以结合使用,就是剪切并重命名。
我们对于mv命令,也可以移动并且重命名。
cat命令:
cat后面只能跟普通文件,相当于读文件。
-n:显示行号。
-s:省去多余空格。
-b:只给非空行进行编号。
tac命令:
tac是将文件倒序输出(仅仅是将行倒序输出)。
如果直接执行cat命令,只会输出从键盘上录入的内容,ctrl + C异常终止,ctrl + D表明读到结尾。
注意:
cat命令一般只适用于比较短的文件,我们一般不使用。
Linux重定向技术:
这是本篇文章的重磅内容,Linux下一切皆文件。
对于显示器,键盘,Linux都是以文件看待的。printf/cout我们向显示器进行打印,相当于对显示器文件进行写入。
echo命令:
这个相当于打印,在控制台中输出内容。
类似与System.out.printfln();(这是Java中的语句)。
>和>>:
相当于向指定文件中写入,要配合echo命令。
直接使用>是重新写文件,如果该文件不存在,会创建新文件。
>>是追加内容。
之前说到过,echo命令相当于有换行,因为Linux中本身就有printf命令,所以如果想不换行可以使用printf。
cat配合使用:
cat直接执行就是默认从键盘中读取数据的。
这就是Linux中的重定向技术。
Ctrl + R快捷键:
ctrl + R:可以在里面输入历史的某些命令片段,这样可以直接补全,ctrl + C强制退出。
more命令:
其实也是读取文件的,相对于cat命令,它能进行向下翻页。
less命令(重要 常用):
more命令缺陷很明显,所以又有了less命令。
我们使用less命令,可以进行上翻下翻,之后还可以使用 : / + 内容 进行内容查找。
如:/999。
head 和 tail 命令:
很明显,就是查看文件前面几行和文件后面几行,默认都是10行。
-n:查看前几行。
-行数:查看第几行。
但是此时我们如果想查看文件中间的[5000, 5020]行该怎么办?
我们可以创建临时文件,把log.txt前5020行写入临时文件中,之后利用tail命令读取后面的21行实现,但是这样很麻烦。
管道符:
符号为 | ,就是将前面的结果放入管道,之后后面的命令相当于读取前面的结果。
这是一个非常重要的命令,我们在以后会经常使用到。
date命令:
date可以查看当前Linux的系统时间,当然也可以加上选项指定输出格式。
-d:将时间戳转换为当前日期。
时间戳:
因为每个地方时间都不一样,也就是存在时差,所以计算机为了统一时间,就定义了一个时间戳。
从英国格林威治的1970年1月1日开始的时间,方便我们对比时间大小。
我们可以将时间戳理解为从英国格林威治的1970年1月1日开始到目前为止有多少毫秒,所以时间戳是一直在变化的。
我们可以通过-d选项,将当前时间戳转换为日期,并且也可以加上输出格式。
cal命令:
这个命令其实就是calendar命令,获取日期的命令(里面的选项如下图)。
find命令(重要):
顾名思义,也就是查找命令,查找文件或者目录的路径。
-name:按照文件名找文件。
whilch命令:
which是专门在系统当中查找对应的指令的。
因为这些命令都是存在于bin目录,所以我们用指令也可以加上目录,但是这样就很冗余,于是我们就对Linux系统命令前省略了前面的路径。
也就意味着我们可以创建指令,因为这些指令都是基于C语言写的,所以我们自己写一个命令。
所以此时你应该懂了为什么我们写的.c文件编译以后需要 ./ + 文件名 了,否则就是在执行系统命令。
alias命令:
这个命令是起别名。注意是给命令起别名:
注意上面给命令起别名没有创建新文件!
当我们对一个命令起了别名以后,关闭Xshell以后再执行该命令,会发现执行不了了,是因为别名是在内存上的,关闭以后销毁。
但是ll是'ls -l --color=auto'的别名,启动Xshell时会自动形成ll别名。
grep命令:
grep:行文本过滤工具。
-v:反向查找(和PS中的反选相似)。
-i:ignore,忽略大小写。
比如此时我们创建了一个文件,里面内容如下:
hello bit
hello Bit
hello BIt
hello BIT
helLo BIT
比如此时我们再追加上两行内容,"aaaaaaa""bbbbbb"。
zip和unzip命令:
很明显,这是打包压缩和解压缩命令。
压缩的目的:打包压缩就是为了方便传输,减小网络传输资源。
zip命令:
-r:递归处理。
unzip命令:
-d:如果要解压缩到一个目录中,需要用到这个目录。
当我们进行打包时,如果是一个目录,需要进行-r递归处理打包,之后zip的使用规则是:
zip 文件名.zip 需要打包的文件
zip -r 文件名.zip 需要打包的文件 #递归处理
如果我们对一个目录打包不进行递归处理,那么解压缩的文件就是一个空目录。
使用选项-d选项。