文章目录
- 二、基本指令
- 8. man
- 9. nano 和 cat
- 10. cp
- 11. mv
- 12. echo 和 > 和 >> 和 <
- 13. more 和 less
- 14. head 和 tail 和 |
- 未完待续
二、基本指令
8. man
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令就是 man 命令。
man 命令不止可以查 man 命令。
按方向键的 ↓ 键就可以往下查看。
man 手册分为 9 章。
如果系统中没有 man 手册,CentOS 可以输入 yum install -y man-pages 来下载。
9. nano 和 cat
nano 命令就相当于Linux系统里的记事本,可以编写文件。
cat 命令可以查看文件内容。
cat 常用选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
我们在 file.txt 文件里编写一个C语言程序。
然后按 Ctrl + X 退出 ,再按 y 同意保存,回车即可。
如果 nano 命令不可用,输入下载命令 yum install -y nano 。
10. cp
cp 命令即 copy,拷贝的意思。
常用选项:
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
cp 命令也可以重命名文件。如果拷贝的 目标目录不存在 ,则会在目标的最后一个路径将源文件重命名。
知识点:隐藏文件既不能被删除,也不能被拷贝。
11. mv
cp 命令相当于 Windows 的复制,而 mv 命令就相当于 剪切 。将文件或目录移动到目标目录后,原目录里就已经没有了。
常用选项:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
mv 命令可以做到在同一个目录下将一个文件重命名。
知识点:命令的本质就是可执行文件! 我们将我们之前写的C语言程序给编译一下,使其成为可执行程序。
同时我们介绍一下 which 命令,这个命令可以查看 指令 的所在目录。
我们使用任意指令就是 执行这些可执行程序。我们可以将任意可执行程序 mv 到 /usr/bin/(所有指令的目录位置) 目录下,使我们的可执行程序也成为指令,这就叫做 指令的下载 。
一般我们在命令行取得别名,重启系统就自动销毁了,所以不用删除。
12. echo 和 > 和 >> 和 <
echo 就跟C语言中的 printf 一样,给他什么字符串,他就输出什么字符串,默认输出到显示器(即我们所看到的界面)。
而 > 符号的意思是 输出重定向 ,即改变输出方向。
Linux下一切皆文件。像Linux的显示器,也算是文件,echo 命令就是默认向显示器文件里写入。
通过上面测试发现:>:输出重定向,每次都会清空文件,然后再写入 。所以我们能够衍生出新的花样:
即 > file.txt 可以①新建空文件②请空目标文件 。
我们每次往文件内部写入就会清空文件,这也太扯了吧,要是我就是不想要清空文件呢?我们可以把 > 替换成 >> 。>> 即 追加重定向 ,意思非常好理解,就是更改追加方向。
cat的其他用法:
我们的输入,就相当于 cat 从键盘文件中读取。
< 就是 输入重定向 ,修改输入的方向。
13. more 和 less
more 命令就像 cat 命令,不过 cat 命令适合查看小文件,不适合查看大文件。而 more 命令可以查看大文件,但是 more 命令现在已经不推荐使用了,更推荐使用 less 命令。
我们先创建一个大文件,我们在命令行输入:i=0; while [ $i -le 1000 ]; do echo “hello $i”; let i++; done > file.txt 这个指令,不需要理解意思,只知道他为我们创建了一个1000行的大文件就行。
常用选项:
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit,退出
由于more不能上翻文件,所以不推荐more,更推荐 less 命令。
14. head 和 tail 和 |
head 和 tail 指令都是来查看文件内容的,head 是查看头部内容,默认 10行 ,tail 是查看尾部内容的,默认 10行 。
知识点:我们已经会提取文件的头部和尾部内容了,那我们怎么提取文件的中间内容呢?其实显而易见,我们搭配一下 head 和 tail 即可,但难点就是,我们怎么将其中一个的结果当作另一个指令的输入呢?我们可以创建一个临时文件来存放其中一个的结果,但是也太不优雅了,我们可以 通过管道来连接 。
| 就是命令行管道 ,简称管道。命令行就像 流水 一样,从左一步一步经过管道往右流 。