一.你如何看待指令
指令说白了就是可执行程序,且指令一定是在系统的某一个位置存在的,在执行指令前,我们需要先找到它。
二.man指令
众所周知,Linux的指令有很多,指令的选项也有很多,我们不可能全记住,但可以通过查看联机手册获取帮助,只需要用到 man指令,然后加上你要查的内容即可。
有的老铁可能用的是云服务器,云服务器的手册其实是精简版,有的指令不一定能查到,这个时候可以安装 man 手册,安装指令为: yum install -y man-pages
如图所示,当你使用 man man 指令时,也就是你要查看man 手册的内容时,会有这几行代码,前面红框框起来的是 man 手册的编号,在未指定编号的情况下,系统默认按编号顺序查找手册,当然你也可以指定手册编号查找,因为一些指令可能与一些函数同名,但它们在不同编号的手册里,这个时候不指定编号查找,可能就找不到你想要的内容。
下面是每个编号所代表的内容: 1. 是普通的命令; 2 . 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要 加什么头文件); 3 . 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件; 5 . 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义; 6 . 是给游戏留的,由各个游戏自己定义; 7 . 是附件还有一些变量,比如向environ这种全局变量在这里就有说明; 8 . 是系统管理用的命令,这些命令只能由root使用,如ifconfig;
三.cp 指令
cp 就是 copy 的缩写,即拷贝,就跟 windows 的拷贝是一样的; 它用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
常用选项: -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在; -i 或 --interactive 覆盖文件之前先询问用户; -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理; -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理。
四.mv 指令
mv 指令有两个功能: 1.重命名 2.剪切 或者,我们可以这样理解:mv就是将文件重命名并剪切到相应的路径,若未指定要剪切到的路径,默认是当前路径;若未指定新的名称,则默认为原来的名称。
五.Linux 下一切皆文件
在Linux系统下,一切皆文件,文件就有读写功能,包括键盘啊,显示器啊什么的,这些都有读写功能。
重定向 >
重定向有输出重定向,输入重定向,追加重定向; 我们向文件中写入数据或是读取数据时,可以通过重定向,来改变文件写入和读取的对象; 比如,你本来要向显示器文件写入数据,你可以用重定向命令 > ,来改变写入的对象。
注意:如果重定向的文件不存在的话,系统会自动创建一个文件,且每次重定向时都会清空文件里的内容然后再写入数据,如果想要不清空,可以使用追加指令:>> (注意这两个大于号之间不能有空格,你不要拆开它们)
利用重定向快速创建文件:
六.echo 指令
这个指令的功能类似于 printf ,但是这个只能打印字符串,这个也不像C语言一样需要双引号,当然你加双引号也没问题;
我们也可以重定向到一个文件里:
当然也可以追加数据:
七.cat 指令
cat 指令可以打印文件中的所有内容 下面是它的一些常用选项: -b 对非空输出行编号 -n 对输出的所有行编号 -s 不输出多行空行(即如果有多行空行,只输出一行空行)
八.more 与 less 指令
more的功能和cat的功能类似,这里就不过多赘述了,其实常用的还是 less 指令。
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而less二者都可,而且less在查看之前不会加载整个文件。 一些常用选项: -i 忽略搜索时的大小写 -N 显示每行的行号 /字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能 n:重复前一个搜索(与 / 或 ? 有关) N:反向重复前一个搜索(与 / 或 ? 有关) q:quit
九.管道
使用符号是 | ,其后面的内容会被系统解释成”管道“文件,注意这个文件是内存级的,并不会开空间。 我们可以把管道理解成一个媒介,管道就肯定有输入和输出啊,就是把 | 前面的内容给到 | ,然后再 | 输出到 | 后面的内容。
十.head 与 tail 指令
head和tail就如它们的字面意思一样,它们是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 就是看档案的结尾,它们后面可以跟选项: -n<行数> <显示的行数> 例: 显示前3行:
显示后2行:
但是如果我们要获得中间的几行该怎么般呢? 可以利用管道 |
例:
获取第2 - 4行:
head -4 test4 :获取test4 文件的前4行,然后给到 | 中;tail -3 test4 :就是获取刚刚head获取的4行中末尾3行;
所以有了管道,我们就可以获取到文件任意行的内容。