【Linux】基本指令(2)

发布于:2025-07-30 ⋅ 阅读:(16) ⋅ 点赞:(0)

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

在这里插入图片描述



一、Linux系统下一切皆文件

1. echo

格式:echo [选项][写入内容]
作用:将指定字符串写入标准输出文件(默认连接到终端设备文件),最终显示在显示器上。
选项:

  1. -e:用于启用转义字符。
  2. -n:取消结尾换行,echo默认结尾会进行换行操作。
  1. 向显式器打印,这里的显示器就是一个文件,具体操作是向显示器文件进行写入。我们可以认识一个指令echo,它跟 printf 相似,可以输出字符串。
    在这里插入图片描述
  2. 我们用 echo 输出一段字符串 “abcd” 默认会写入到显示器文件上。显示器文件里面就会显示 abcd。

2. 输出重定向 > 与 追加重定向 >>

  1. 我们可以用 > 与 >> 后面跟要写入的文件来改变 echo 要对哪个文件进行写入,若这个文件不存在,那么会在当前目录下创造这个文件来进行写入。
  2. 但是 > 是对这个文件重新写入,是先把文件内容清楚,再进行写入,而不是覆盖原本内容。
  3. 而追加重定向 >> 就是在原来文件内容的基础之上增添内容,它不会清除原来文件的内容,也不会覆盖原本文件内容。

在这里插入图片描述

在这里插入图片描述

3. cat 与 tac

格式:cat [选项][文件]
作用:从键盘文件读取数据写入显示器文件(cat后面不跟文件)和读取文件内容并写入到显示器文件(就是查看文件)。(cat后面跟文件)
选项:

  1. -b: 对非空输出行编号,空行不做编号。
  2. -n: 对输出的所有行编号。
  3. -s: 不输出多行空行。

tac:cat 是正向查看文件(从开头),而tac是反向查看文件(从结尾)。

  1. 从键盘读取数据,这里的键盘也是一个文件,具体就是从键盘文件读取数据。cat 指令,它跟 scanf 相似,若 cat 指令后面什么也不跟,可以从键盘文件里读取数据写入显示器文件(默认)。(结束条件:crtl + D)

在这里插入图片描述

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

在这里插入图片描述

4. 输入重定向 <

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

在这里插入图片描述

5. 终端也是文件

在这里插入图片描述

  1. 我们还可以用 > 将要显示在终端0文件里面的内容重定向到终端1文件里面。

二、常用指令

1. man

格式:man [章节号] [名称]
作用:显示指定命令、系统调用、库函数或配置文件的官方手册页。Linux命令有很多参数,我们不可能全部记住,这个时候可以通过man命名来查询指定命令功能。按q退出手册。
选项:

  1. -k:根据关键字搜索联机帮助。
  2. -num:只在第num章节查找。
  3. -a 将所有章节的都显示出来,比如 man printf 它缺省从第⼀章开始搜索,搜到就停止,他会继续往后面搜索,直到所有章节的 printf 都搜索完毕。
  1. man手册分为9章,可以通过 man man 之后往下翻找到。

安装 man-pages:
1.centos: yum install -y man-pages centos
2. ubuntu: apt install -y man-pages ubuntu

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

2. cp(全称 copy)

格式:cp [选项] 源文件或目录 目标文件或目录。
作用:复制文件或目录。
选项:

  1. -f: 或 --force 强行复制文件或目录,不论的目文件或目录是否已经存在。
  2. -i: 或–interactive 覆盖文件之前先询问用户,防止意外覆盖重要文件。
  3. -r: 递归处理,将指定目录下的文件与子目录⼀并处理。若源文件或目录的形态,不属于目录或符号链接,则⼀律视为普通文件处理。

截屏有点问题:
在这里插入图片描述

3. mv(move缩写)

格式:mv [选项] 源文件或目录 目标文件或目录
作用:可以用来移动文件或给文件改名,常用来备份文件或目录。

  1. 若第一个参数类型是文件,第二个参数类型也是文件,则是为源文件重命名(此时源文件只能有一个,若目标文件已存在,则会直接覆盖),若为目录,则是将源文件移至这个目录里面。
  2. 若第一个参数类型是目录,若第二个参数类型是未存在的目录,则是为目录重命名;若是已经存在的目录,则是将源目录移至到已存在的目录里。

4. cat、more 和 less

  1. cat 一般用来查看内容比较少的小文件,如果是内容多的文件,比如日志文件,cat 会被内容刷屏,就不好查看内容。这个时候就需要用到 more 和 less 命令了,它们会先显示文件前面的一部分内容,之后可以往下翻阅。
  2. 但是 more 只支持下翻,而不支持如上翻等一些其他操作,不太好用,我们主要了解 less命令。

less:
格式:less [参数] 文件
功能:随意浏览文件。按 q 停止查阅。

  1. -i:忽略搜索时的大小写。
  2. -N:显示每行的行号。
  3. /字符串:向下搜索“字符串”的功能。
  4. ?字符串:向上搜索“字符串”的功能。
  5. n:重复前⼀个搜索(与 / 或 ? 有关)。上一个是 / 就继续向下,是 ? 就继续向上。
  6. N:反向重复前⼀个搜索(与 / 或 ? 有关)。上一个是 / 就是向上,是 ?就是向下。

5. head 和 tail

head

格式:head [选项] [文件]
作用:查看文件的开头部分内容(默认显示前10行),实质就是将文件开头的部分内容(如果什么也不写,默认是键盘文件)写入到显示器文件里,所以也可以用 head 将文件一部分 > 输出到别的文件里面。
常用选项:-num,显示开头的num行。

tail

格式:head [选项] [文件]
作用:查看文件的结尾部分内容(默认显示最后10行),实质也就是将文件结尾的部分内容(如果什么也不写,默认是键盘文件)写入到显示器文件里,所以也可以用 tail 将文件末尾一部分 > 输出到别的文件里面。
常用选项:

  1. -num,显示结尾的num行。
  2. -f:循环读取。
  1. 结合这两个命令和 > 输出重定向,我们就可以实现提取出文件中间的一部分内容,先用 head 提取出文件前面的一部分内容 > 到某个文件中去,然后用 tail 取出这个文件里的后面一部分我们需要的内容 > 到某个文件里进行储存。比如取出一个名叫 text.txt 文件里第491行到500行的内容:
head -500 text.txt > 中间文件
tail -10 中间文件 > 目标文件

6. 管道 |

它能一个命令的输出变成另一个命令的输入。

  1. 像上面讲到的提取文件中间的一部分内容,需要一个文件作为中间过程的存储空间才能实现,之后还要删掉它,非常麻烦。这个时候我们就可以使用管道来省略这个步骤,将 head 命令对中间文件的输出变成 tail 命令的输入,然后 > 到目标文件里。
head -500 text.txt | tail -10 > 目标文件

7. data

格式:date [选项]… [+格式]
作用:用于显示或设置系统日期和时间。
常用标记列表:

  1. %H: 小时。
  2. %M : 分钟。
  3. %S : 秒。
  4. %X : 相当于 %H:%M:%S。
  5. %d : 日。
  6. %m : 月份。
  7. %Y : 完整年份。年是大写,时分秒也是大写。
  8. %F : 相当于 %Y-%m-%d。

在这里插入图片描述

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

在这里插入图片描述


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


网站公告

今日签到

点亮在社区的每一天
去签到