一、man指令
语法: man [选项] 命令
功能:man 指令可以查阅 Linux 的联机手册
安装指令:
yum intall -y man-pages
1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文 件)
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
4 是特殊文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig
其中1,2,3,7比较常用
man 默认从1号手册开始查找 man 后的内容,按照手册顺序依次向后查找,找到就显示,找不到就是找不到
按 q 退出查阅(quit)
查找 printf 指令:man printf(默认为1号手册,linux默认)
查找 3号手册(C语言库函数) 中的printf 指令:man 3 printf
二、cp指令
语法:cp [选项] 源文件或目录 目标文件或目录
功能: cp —— 复制文件或目录
常用指令:
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
注意:
cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
拷贝到上级路径:
递归拷贝文件夹:
三、 mv 指令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的 目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它 将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至 目标目录中。
常用选项:
-f :f —— force 强制的意思,如果目标文件已经存在,不会询问直接覆盖。
-i :若目标文件已经存在时,就会询问是否覆盖!
重命名:
剪切:
当然可以剪切并重命名:
四、echo指令
echo “字符串”:可以把字符串打印到屏幕上(默认打印到显示器)
这里引入一个新的概念叫做 输出重定向
echo “字符串” > 文件名:将字符串写入文件中,若文件不存在会创建文件,为输出重定向
多次输出重定向会覆盖之前的数据:
>的意思就是 输出重定向
显示数据到显示器上,就是向显示器打印,可以理解为向显示器写入,可以把显示器看做一种文件。我们的C程序获取数据,比如 scanf、cin 都是从键盘读取到的,所以键盘也可以看做一种文件。
内存从键盘获取数据的过程,也就是 read ,对应着 input(输入)到程序中;内存显示数据到显示器的过程,也就是 write,对应着 output(输出) 到显示器上。这一过程就是IO。之前我们学习C语言文件操作时,读写方法是对于文件的。所以我们可以抽象拓展出一个概念:Linux下一切皆文件
echo “字符串” >> 文件名:将字符串内容追加到文件中,为 追加重定向(会自动换行)
五、cat指令
语法:cat [选项] [文件]
功能: 查看目标文件的内容
常用选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
cat 打印文件的内容到屏幕上,其实就是查看文件内容。
使用 cat 查看内容:
cat -s 文件名:省略多余空行 查看文件内容,就是指令之间最多输出一个空行
cat -sn 文件名:-n 是对输出行编号,-sn组合使用就是省略空行输出编号并打印内容(省略空行)。
这里引入一个概念叫做:输入重定向
cat < 文件名:输入重定向,将文件中内容读取到 cat 中,并打印
如果 cat 后不跟任何内容,那么就会 默认从键盘中读数据:
所以,输入重定向就是改变原先从键盘上读取数据的方式,改为从其他文件中读取数据,其实这里使用 cat test.txt 和 cat < test.txt 的效果是一样的,但是还是有些区别:第一个是通过命令行参数获得文件名,第二个是通过重定向获得文件名。
六 、wc指令
语法:wc [-lwm]
功能:统计文件的行数、单词数、字符数
常用指令:
-l :仅列出行
-w :仅列出多少字(英文单字)
-m :多少字符
wc -l 文件名:显示文本文件有多少行和文件名
七、more 指令
语法:more [选项] [文件]
功能:more命令,功能类似 cat
常用选项:
-n 对输出的所有行编号
q 退出more
往 my 中写入 Linux 1 ~ Linux 10000。命令行脚本:
cnt=0; while [ $cnt -le 10000 ]; do echo "Linux $cnt"; let cnt++; done>my.txt
d翻阅,q退出
八、less 指令
语法: less [参数] 文件
功能:
less与more类似,但使用less可以 随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
常用选项:
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit 退出
less 工具是对文件或其它输出进行分页显示的工具,应该说是linux查看文件内容的工具,功能强大。
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看。
使用 less,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容。
less 拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
less 文件名:查看文件内容支持上下翻阅
less 支持查阅功能,方法为 / + 查阅内容,在一次查阅后,无法查阅到上次查阅内容前面的内容
九、head指令
语法: head [参数]… [文件]…
功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10 行。
常用选项:
-n<行数> 显示的行数
head -n5 文件名:显示前五行,写成 head -5
十、tail指令
语法: tail[必要参数] [选择参数] [文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
常用选项:
-f 循环读取
-n<行数> 显示行数
tail 默认打印尾部十行内容。
tail -n5 文件名:显示文件尾部五行内容
若想要截取中间部分可以借助重定向。
比如截取my.txt中的101-150行,先用head截取前150,再用tail截取后50重定向到文件里即可。
第二种方法,管道
| 就是管道的标志。计算机中最重要的资源是数据,| 就会被 shell 解释为链接两条指令用来传输数据的指令。我们可以把管道也当做一种文件。
先处理前面的指令的结果再传送给后面。