hello~ 很高兴见到大家! 这次带来的是C++中关于Linux基本指令这部分的一些知识点,如果对你有所帮助的话,可否留下你宝贵的三连呢?
个 人 主 页 : 默|笙

文章目录
- 一、Linux系统下一切皆文件
-
- [1. echo](#1. echo)
- [2. 输出重定向 > 与 追加重定向 >>](#2. 输出重定向 > 与 追加重定向 >>)
- [3. cat 与 tac](#3. cat 与 tac)
- [4. 输入重定向 <](#4. 输入重定向 <)
- [5. 终端也是文件](#5. 终端也是文件)
- 二、常用指令
一、Linux系统下一切皆文件
1. echo
格式:echo [选项][写入内容]
作用:将指定字符串写入标准输出文件(默认连接到终端设备文件),最终显示在显示器上。
选项:
- -e:用于启用转义字符。
- -n:取消结尾换行,echo默认结尾会进行换行操作。
- 向显式器打印,这里的显示器就是一个文件 ,具体操作是向显示器文件进行写入。我们可以认识一个指令echo,它跟 printf 相似,可以输出字符串。
- 我们用 echo 输出一段字符串 "abcd" 默认会写入到显示器文件上。显示器文件里面就会显示 abcd。
2. 输出重定向 > 与 追加重定向 >>
- 我们可以用 > 与 >> 后面跟要写入的文件来改变 echo 要对哪个文件进行写入,若这个文件不存在,那么会在当前目录下创造这个文件来进行写入。
- 但是 > 是对这个文件重新写入,是先把文件内容清楚,再进行写入,而不是覆盖原本内容。
- 而追加重定向 >> 就是在原来文件内容的基础之上增添内容,它不会清除原来文件的内容,也不会覆盖原本文件内容。


3. cat 与 tac
格式:cat [选项][文件]
作用:从键盘文件读取数据写入显示器文件(cat后面不跟文件)和读取文件内容并写入到显示器文件(就是查看文件)。(cat后面跟文件)
选项:
- -b: 对非空输出行编号,空行不做编号。
- -n: 对输出的所有行编号。
- -s: 不输出多行空行。
tac:cat 是正向查看文件(从开头),而tac是反向查看文件(从结尾)。
- 从键盘读取数据,这里的键盘也是一个文件,具体就是从键盘文件读取数据。cat 指令,它跟 scanf 相似,若 cat 指令后面什么也不跟,可以从键盘文件里读取数据写入显示器文件(默认)。(结束条件:crtl + D)

- cat 后面跟 > 与文件,可以改变进行写入的文件,将从键盘文件里读取到的内容写入到指定文件里,若文件不存在,则创造文件进行写入。

4. 输入重定向 <
- 我们可以用 < 后面跟要进行读取的文件来改变 cat 读取哪个文件(文件不存在时会报错)。

5. 终端也是文件

- 我们还可以用 > 将要显示在终端0文件里面的内容重定向到终端1文件里面。
二、常用指令
1. man
格式:man [章节号] [名称]
作用:显示指定命令、系统调用、库函数或配置文件的官方手册页 。Linux命令有很多参数,我们不可能全部记住,这个时候可以通过man命名来查询指定命令功能。按q退出手册。
选项:
- -k:根据关键字搜索联机帮助。
- -num:只在第num章节查找。
- -a 将所有章节的都显示出来,比如 man printf 它缺省从第⼀章开始搜索,搜到就停止,他会继续往后面搜索,直到所有章节的 printf 都搜索完毕。
- man手册分为9章,可以通过 man man 之后往下翻找到。
安装 man-pages:
1.centos: yum install -y man-pages centos
- ubuntu: apt install -y man-pages ubuntu

- 查找 ls,查找会从第一个章节开始查找,如果第一个章节没有查到,则会继续查第二个章节。man 2 ls 则只会在第二章进行查找。


2. cp(全称 copy)
格式:cp [选项] 源文件或目录 目标文件或目录。
作用:复制文件或目录。
选项:
- -f: 或 --force 强行复制文件或目录,不论的目文件或目录是否已经存在。
- -i: 或--interactive 覆盖文件之前先询问用户,防止意外覆盖重要文件。
- -r: 递归处理,将指定目录下的文件与子目录⼀并处理。若源文件或目录的形态,不属于目录或符号链接,则⼀律视为普通文件处理。
截屏有点问题:
3. mv(move缩写)
格式:mv [选项] 源文件或目录 目标文件或目录
作用:可以用来移动文件或给文件改名,常用来备份文件或目录。
- 若第一个参数类型是文件,第二个参数类型也是文件,则是为源文件重命名(此时源文件只能有一个,若目标文件已存在,则会直接覆盖),若为目录,则是将源文件移至这个目录里面。
- 若第一个参数类型是目录,若第二个参数类型是未存在的目录,则是为目录重命名;若是已经存在的目录,则是将源目录移至到已存在的目录里。
4. cat、more 和 less
- cat 一般用来查看内容比较少的小文件,如果是内容多的文件,比如日志文件,cat 会被内容刷屏,就不好查看内容。这个时候就需要用到 more 和 less 命令了,它们会先显示文件前面的一部分内容,之后可以往下翻阅。
- 但是 more 只支持下翻,而不支持如上翻等一些其他操作,不太好用,我们主要了解 less命令。
less:
格式:less [参数] 文件
功能:随意浏览文件。按 q 停止查阅。
- -i:忽略搜索时的大小写。
- -N:显示每行的行号。
- /字符串:向下搜索"字符串"的功能。
- ?字符串:向上搜索"字符串"的功能。
- n:重复前⼀个搜索(与 / 或 ? 有关)。上一个是 / 就继续向下,是 ? 就继续向上。
- N:反向重复前⼀个搜索(与 / 或 ? 有关)。上一个是 / 就是向上,是 ?就是向下。
5. head 和 tail
head
格式:head [选项] [文件]
作用:查看文件的开头部分内容(默认显示前10行) ,实质就是将文件开头的部分内容(如果什么也不写,默认是键盘文件)写入到显示器文件里,所以也可以用 head 将文件一部分 > 输出到别的文件里面。
常用选项:-num,显示开头的num行。
tail
格式:head [选项] [文件]
作用:查看文件的结尾部分内容(默认显示最后10行) ,实质也就是将文件结尾的部分内容(如果什么也不写,默认是键盘文件)写入到显示器文件里,所以也可以用 tail 将文件末尾一部分 > 输出到别的文件里面。
常用选项:
- -num,显示结尾的num行。
- -f:循环读取。
- 结合这两个命令和 > 输出重定向,我们就可以实现提取出文件中间的一部分内容,先用 head 提取出文件前面的一部分内容 > 到某个文件中去,然后用 tail 取出这个文件里的后面一部分我们需要的内容 > 到某个文件里进行储存。比如取出一个名叫 text.txt 文件里第491行到500行的内容:
Linux
head -500 text.txt > 中间文件
tail -10 中间文件 > 目标文件
6. 管道 |
它能一个命令的输出变成另一个命令的输入。
- 像上面讲到的提取文件中间的一部分内容,需要一个文件作为中间过程的存储空间才能实现,之后还要删掉它,非常麻烦。这个时候我们就可以使用管道来省略这个步骤,将 head 命令对中间文件的输出变成 tail 命令的输入,然后 > 到目标文件里。
Linux
head -500 text.txt | tail -10 > 目标文件
7. data
格式:date [选项]... [+格式]
作用:用于显示或设置系统日期和时间。
常用标记列表:
- %H: 小时。
- %M : 分钟。
- %S : 秒。
- %X : 相当于 %H:%M:%S。
- %d : 日。
- %m : 月份。
- %Y : 完整年份。年是大写,时分秒也是大写。
- %F : 相当于 %Y-%m-%d。

- 时间戳:+%s(这里的s是小写)。是计算机系统中用于表示特定时间点的数字值,它是从某个固定起点开始计算的经过时间。这里是Unix 时间戳,它是从 1970年1月1日 00:00:00 UTC(国际通用标准时间参考系统) 开始所经过的秒数。

今天的分享就到此结束啦,如果对读者朋友们有所帮助的话,可否留下宝贵的三连呢~~
就让我们共同努力, 一起走下去!