Linux——基础入门(2)
echo
echo可以把字符直接打印在屏幕上:
如果说我们想要往某个文件里写东西我们可以直接echo>XXXXX(文件名)。而且,如过这个文件名不存在,会直接新建一个该名字的文件。
我们用nano打开看一下:
我们称 ** > ** 为输出重定向。
我们再重定向一句:
发现原来的那句话不见了,由此我们可以推出:输出重定向会覆盖原有的数据。那我如果我不想让原来的数据覆盖掉呢?我们可以用 ** >> 追加重定向 **。
cat
cat是打印文件内容(不是猫的意思~):
cat还有几个选项:-s,-n,-b。我们要演示这几个选项的效果,我们首先对Test.txt进行一些修改(多打一些行和一些空行):
我们首先来看-n:
我们看到:-n是打印行号。
-s 不输出多行空行。
-b 空行不编号。
cat还有一种用法:直接敲cat后回车。
我们输入一些数据:
这时候cat默认从键盘中读取数据,然后打印在屏幕上(如果输入结束按Ctrl+C退出)。
我们可以用 ** < ** 改变输入来源(输入重定向)
tac
cat是正向输出,tac是反向输出:
more命令
在介绍more命令之前,我们先要伪造一个大文件:
输入以下代码:
此时便会多出一个big.txt的大型文件。
此时我们用more来查看:
此时我们可以按回车,来向下翻阅。(按q键退出more)
注意:more只能向下翻阅,不能向上翻阅。
我们有more的替代品:less指令。
less
less就是在more的基础上,增加了向上翻阅的功能:
按键盘的 ↓ 键向下翻阅,↑ 键向上翻阅。(按q键退出)
head
如果我们只想看一个文件的前几行——head。
head + -数。
比如说我想看big.txt的前10行。
tail
tail的效果跟head的相反,是看一个文档的倒数几行。
比如我想看big.txt最后的10行:
现在我有一个要求,选取第800行到809行。这时候我们有另一个指令:** | **(管道)
| (管道)
管道可以集结多条指令:
原理是这样的:管道左边操作的结果会作为管道右边操作的起始条件。
wc
wc打印文件的行数和大小:
wc -l 只打印行号:
uniq
uniq是对相邻信息去重(相同的数据只打印一次):
但如果数据重复但不相邻的话,就无法去重了,这时候我们可以用sort。
sort
我们将Test.txt里的内容进行一些修改:
这个时候就无法去重了:
date
我们想要查看时间的话用date指令:
但这样有点不好看,我们可以附带指令调整格式:
date +%s 时间戳
我们可能看不懂,这时候我们要用date -d @时间戳,转换成我们看得懂的日期:
find
find是查找相应的文件:
find + 路径 + -方式 文件名。
grep 行过滤
grep可以在指定的文件里寻找指定的信息:
还可以支持多个文件同时查找:
grep ‘关键字’ ‘文件名1’ ‘文件名2’ …
grep还有几个选项:
-n 显示行号:
-i 忽略大小写。
我们先用nano改变一下big.txt的大小写:
-v去掉关键字之后的数据
history
history是查看历史指令:
快速敲击Tab键
快速敲击Tab键可已查看一些记忆模糊的指令:
比如我记得一个指令是ca开头:
快速敲击Tab键:
就会显示所有以ca开头的指令。
压缩
我们的Windows会压缩文件,我们的Linux也可以。我们介绍两种压缩的方法。
zip压缩
zip的压缩指令是:
zip -选项 xxx.zip 要压缩的文件
比如我们想把Newday下面的文件全部压缩了:
成功之后会出现一个zip文件。我们新建一个文件夹把这个zip文件放进去,方便我们检查:
现在我们想进行解压,解压器的指令是:
unzip xxx.zip -选项
但是,我们把它解压出来之后和我们原有的文件进行相比:
好像我们什么都没压缩?那是因为Newday里面还有内容,我们只压缩了表层,没有递归压缩。那该怎么办呢,-r选项就行了:
我们再以相同的方法检查一下:
我们还可以指定文件解压到哪里(-d 选项):
tar压缩
除了zip压缩以外,我们还有一种压缩方式:tar压缩:
我们用tar来压缩一下Newday:
注意一下-f之后要去接压缩包的新名字。
我们将Newday.tgz解压到My_8_28:
bc
bc是Linux中的一个小型的 “计算器”:
uname
uname可以查到Linux版本的内核信息: