• 【探索Linux命令行】从基础指令到高级管道操作的介绍与实践


    目录

    man 指令(说明)

    介绍

    cp 指令(复制)

    ​编辑

    mv 指令(移动)

    ​编辑

    cat 指令(类似cout)

    less(查找)

    head & tail(打印)

    管道 |(中间查找)

    sum


    前言:sum手写笔记可见文末~

    man 指令(说明)

    介绍

    man 手册更多的是用来查指令和系统调用接口

    所以,如果我们想查某个不懂的命令我们只需要 man 一下,问问那个男人就可以了。

    1. $ man 3 printf
    2. $ man 2 fork
    3. $ man 1 printf

    man 后面加上这些数字是为了指定查看不同类型的手册。如果不知道 man 有哪些手册可供查看,该怎么办呢?

    💡 我们可以通过执行 man man 命令,查看 man 的手册来获取相关信息:

    $ man man

    然后我们就可以进入这样一个界面

    下翻在该手册中,可以看到这些数字分别代表的含义:

    1. 命令
    2. 系统调用
    3. C 语言相关的接口

    这三个手册是我们最常用的,因此我们通过在 man 命令后加上不同的数字,来查找不同的手册

    另外,如果你使用的是云服务器,这是一种在线环境。

    如果系统中没有 man 手册,手册可能未安装。

    💭 你可以试试查看 fork 指令的用法:

    $ man 2 fork

    如果查不到,就需要安装 man 手册(需切换至 root 用户):

    # yum install -y man-pages

    安装完后,再次查询 fork 就能看到结果了。

    语法man [选项] 命令
    功能:查看联机手册获取帮助。

    选项说明
    -k根据关键字搜索联机帮助。
    num只在第num章节找。
    -a显示所有章节的内容。

    手册章节

    1. 普通命令
    2. 系统调用
    3. 库函数
    4. 特殊文件
    5. 文件格式
    6. 游戏
    7. 附件和变量
    8. 系统管理命令

    man 手册可以查看不同的手册,手册编号 1,2,3.....,默认是 1。

    如果你不知道有啥手册可以查,输入 man man 查看。

    cp 指令(复制)

    语法cp [选项] 源文件或目录 目标文件或目录
    功能:复制文件或目录。

    选项说明
    -f, --force强行复制文件或目录。
    -i, --interactive覆盖文件之前询问用户。
    -r, -R, --recursive递归处理,将指定目录下的文件及子目录一并处理。

    让我们来实现以下  疯狂星期四   cp爱情经不起等待.dog 

    我们不仅能拷贝,还可以指定路径去拷贝。

    💭 拷贝一份 .txt 到  目录下:

    大家可以试试,理论和实践还是有些区别的

    cp -r拷贝目录

    mv 指令(移动)

    语法mv [选项] 源文件或目录 目标文件或目录
    功能:1. 移动文件

              2. 将文件重命名。

    选项说明
    -f强制覆盖目标文件。
    -i覆盖文件之前询问用户。

     $ mv [文件] [新名字]       # 重命名

    因为rm删除了不可逆,所以我们可以尝试用mv重改一下rm,做一个回收站~

    try:

    1. vim ~/.bashrc #修改这个文件
    2. mkdir -p ~/.trash
    3. alias rm=trash
    4. alias ur=undelfile
    5. undelfile() {
    6. mv -i ~/.trash/\$@ ./
    7. }
    8. trash() {
    9. mv $@ ~/.trash/
    10. }

    cat 指令(类似cout)

    语法cat [选项] [文件]
    功能查看文件内容

    选项说明
    -b对非空输出行编号。
    -n对输出的所有行编号。
    -s不输出多行空行。

    cat -n

    cat不适合打印长文本

    例如当面对一个超长文本时

    $ cnt=1; while [ $cnt -le 100000 ]; do echo "Hello! $cnt"; let cnt++; done > long.txt

    cat打印

    超级不方便查找,所以长文本使用more

    默认为26

    可以 more 数字 文件  来查找指定行数

    less(查找)

    more 仅能向前移动,却不能向后移动,但 less 支持前后翻,我们更推荐使用 less

    选项说明
    -i忽略搜索时的大小写
    -N显示每行的行号 /字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能
    - n重复前一个搜索(与 / 或 ? 有关)
    -N反向重复前一个搜索(与 / 或 ? 有关)
    -Q推出查看

    学到后面可以用less查日志,超级方便

    head & tail(打印)

    head/tail   -n(num)    file

    那如果我们想查看520行的内容呢

    可以创建临时文件,但是有没有更方便的方法呢,of course——管道

    管道 |(中间查找)

    就像是一个运输数据的传输通道一样,先抽取前520行,通过管道再抽取后5行

    sum

  • 相关阅读:
    前后端交互—Ajax基础
    不可重复读和幻读区别
    初识Cpp之 三、Cpp预处理器
    汽车IVI中控开发入门及进阶(二十四):杰发科技AC8015
    通过Nginx(OpenResty)修改UserAgent
    [PostgreSQL的 SPI_接口函数]
    C++笔记打卡第23天(STL常用算法)
    Hadoop3教程(九):MapReduce框架原理概述
    众多mock工具,这一次我选对了
    使用mybatis_plus快速实现分页插件
  • 原文地址:https://blog.csdn.net/2301_80171004/article/details/139706097