• <Linux复习>基础指令下


    一、本章重点

    1、复习基本指令:man、cp、mv、cat、tac、more、less、head、tail、date、cal、find、grep

    2、介绍:输入重定向、输出重定向、追加重定向

    01 man指令

    功能:可用来查看命令、系统调用、c库函数。

    用法:man 选项 命令

    常用选项:1、2、3

    1:命令

    2:系统调用

    3:c库函数(如果没有,需要安装)

    安装c库函数命令: yum install -y man-pages

    需要安装其他语言库函数及汉化版可自行百度搜索

    默认选项是1,如果库函数和命令查找冲突,在不指明选项的情况下,查找的是命令。

    如:printf,man printf查找的是指令printf,man 3 printf查找的是c库函数。

    如果man指令不熟悉,可以man man来查阅man命令的使用方式。

    02 cp指令

    cp是copy的缩写,用来拷贝目录和文件

    拷贝文件:

     拷贝目录:

    【cp 原目录 目标目录】这样直接拷贝目录是不被允许的,需要加上-r选项才能完成目录拷贝

     

    还有两个不是很常用的选项,-f和-i。

    -f:是force的缩写,用来强制拷贝,因为有的时候该文件和目录不是你的,在你拷贝的时候linux可能会询问你是否确认拷贝。

    需要注意的是,当目标文件和当前目录的文件重名的时候,直接拷贝会覆盖掉重名的文件。

    比如:

     -i:覆盖文件之前先询问用户。

    如:

     

    还有需要了解:默认拷贝生成的文件和目录都是在当前目录下。

    03 mv指令

    mv是move的缩写,有两个功能:

    1、类是于剪切文件和目录的功能。

    2、对文件或目录进行重命名。

    该指令的用法和cp非常相似,不同的是:mv剪切目录时不需要带-r选项。

    04 cat指令

    功能:查看目标文件的内容。

    常用选项:-n

     如果cat后面没有跟文件,则从键盘读取数据。

     cat + 文件名的使用方式,实际上是一种输入重定向,与cat < 文件名是一样的。

    输入重定向:简单来说就是原本从键盘上读取数据改为从目标文件读取数据。

    05 tac指令

    功能:逆序打印文件内容

     与cat功能相似,但需要了解的是tac没有-n选项。

    06 more指令

    功能:一般用于查看长文本。

    cat更适合查看短文本,more更适合查看长文本。

    因为:当文本很长的时候cat会将文本打印出来,这样不仅消耗了很多时间,同时不断的刷屏让我们难以查看前面的内容,而more则是选择将屏幕打满,然后等待你按Enter向下翻阅。

    使用:more + 文件名

    在翻阅的同时,more也可以使用 / 来实现搜索功能。

    但一般我们跟喜欢使用less,因为more不能向前翻,只能向后翻,less可以使用上下键实现前后翻。除此之外,less有更多的搜索功能,不仅可以向下搜索,也可以向上搜索。

    07 less指令

    功能:用于查看长文本,比more功能更强大。

    在使用less指令之前,先生成一个100000行的文件。

    这里我直接用shell脚本生成:

    cnt=1; while [ $cnt -le 100000 ]; do echo "hello bit $cnt"; let cnt++; done > file.txt

    再用wc命令查看file文件的内容行数

     说明我们数据写入成功。

    查看file文件,输入命令:less file.txt

    可通过上下键或者j、k来上下翻阅文件内容。

    08 head指令

    功能:查看前n行文本。

    常用选项:-数字

    如查看file.txt的前5行文本:

     不带-数字,默认显示前10行内容。

    09 tail指令

    功能:查看后n行文本

    常用选项:-数字

    如查看file.txt的后5行文本:

      不带-数字,默认显示前10行内容。

    既然可以查看前n行内容和后n行内容,怎么查看[30000-30020]行的内容呢?

    方法一:使用临时文件

     方法二:使用管道

    10 date指令

    功能:显示时间

    直接使用date,不加任何选项,显示的是英文的年、月、日、时、分、秒。

    如果不习惯这种显示格式,可以自己控制显示的格式。

    还可以打印时间戳(时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。)

    有两种方式打印时间戳

    1、使用命令打印

    2、使用c库函数打印

     

     

     还可以将时间戳转化为对应的日期时间。

    11 cal指令

    功能:打印日期

    直接使用cal命令:打印本月的日期

     cal 年份:打印该年的日期

     cal -3:打印本月并打印与本月相近的2个月份的日期。

    12 find指令(灰肠重要)

    功能:在目录结构中搜索文件,功能非常强大。

    用法:find pathname -options

    如:在/usr/include目录下查找stdio.h头文件在哪

    13 grep指令

    功能:常用于进行行文本过滤

     

     常用选项:

    -n:顺便输出行号

    -i:忽略大小写

    -v:反向过滤

     

     

    14重定向

    1、输入重定向:原本从键盘读取数据改为从目标文件读取数据

    在使用的时候,我们一般省略<,直接写cat test.c

    2、输出重定向:原本将数据往显示器打印变为将数据往目标文件打印。(会清空原数据)

     

    3、追加重定向:原本将数据往显示器打印变为将数据往目标文件打印(不会清空原数据)

  • 相关阅读:
    Nginx+Tomcat负载均衡、动静分离群集
    YoloV8改进策略:独家原创,LSKA(大可分离核注意力)改进YoloV8,比Transformer更有效,包括论文翻译和实验结果
    CountDownLatch的原理
    Kali Linux源
    C语言实现小游戏之扫雷
    数据结构与算法之美学习笔记:17 | 跳表:为什么Redis一定要用跳表来实现有序集合?
    SpringBoot整合sql数据源
    Alibaba Druid整合
    定义丈夫类Husband 和妻子类Wife
    使用 DCGAN 生成动漫面孔-附训练数据集下载
  • 原文地址:https://blog.csdn.net/m0_62171658/article/details/127001025