【Linux】基本指令(2)

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


文章目录

  • 一、Linux系统下一切皆文件
    • [1. echo](#1. echo)
    • [2. 输出重定向 > 与 追加重定向 >>](#2. 输出重定向 > 与 追加重定向 >>)
    • [3. cat 与 tac](#3. cat 与 tac)
    • [4. 输入重定向 <](#4. 输入重定向 <)
    • [5. 终端也是文件](#5. 终端也是文件)
  • 二、常用指令
    • [1. man](#1. man)
    • [2. cp(全称 copy)](#2. cp(全称 copy))
    • [3. mv(move缩写)](#3. mv(move缩写))
    • [4. cat、more 和 less](#4. cat、more 和 less)
    • [5. head 和 tail](#5. head 和 tail)
    • [6. 管道 |](#6. 管道 |)
    • [7. data](#7. data)

一、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

  1. 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 选项 文件

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

常用选项:-num,显示开头的num行。

tail

格式:head 选项 文件

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

常用选项:

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

6. 管道 |

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

  1. 像上面讲到的提取文件中间的一部分内容,需要一个文件作为中间过程的存储空间才能实现,之后还要删掉它,非常麻烦。这个时候我们就可以使用管道来省略这个步骤,将 head 命令对中间文件的输出变成 tail 命令的输入,然后 > 到目标文件里。
Linux 复制代码
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(国际通用标准时间参考系统) 开始所经过的秒数。

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

相关推荐
A小辣椒8 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒12 小时前
TShark:基础知识
linux
AlfredZhao14 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式