• Linux基本指令(下)


    前言


    😍😍😍
    上一篇Linux基本指令主要讲解了关于文件操作方面的指令,接下来这一片Linux基本指令主要讲解一下关于文件内容方面的基本指令;

    cat指令

    语法 :cat 选项 目录
    功能: 查看目标文件的内容;
    常用选项
    -b :不对空行进行标行号;
    -s : 压缩多余空行,对多余空行不进行输出;
    -n :对所有行进行标号并输出;
    实际演练:
    现在我们利用命令输出num.txt文件里面的每一行的行号:
    在这里插入图片描述
    现在我们对num.txt里面的内容稍加修改,以便演示后面的选项:
    在这里插入图片描述
    我们向文件的头部加入了几行空格,但是现在我们不想让这些多余空行输出出来,我们就可以带上-s选项:
    在这里插入图片描述
    当然我们不想对空行进行标号,可以带上选项 -b
    在这里插入图片描述
    好,既然讲到这里了,我们现在来拓展一点小知识
    我们现在就简单的揭晓一个命令:echo "字符串"(关于其选项,读者可以自行去查man手册),这个命令的作用呢是将字符串输出到显示器上面;
    我们都知道其实命令也是一个一个可执行文件,就与我们在Window环境下生成的.exe文件是一样,简单来说我们写的程序也可叫做指令,这二者之间没有什么本质区别,好现在我们回归主题:那么命令既然是个程序的话,那么现在他的作用就是将字符串输出到显示器,在linux系统中万物皆是文件,包括我们的网卡、显示器、键盘等等,那么好既然显示器是一个文件是呗,弄我echo的本质是不是就是向一个文件里面输出数据或者叫做向这个文件里面写入数据(都是站在程序的角度来看的),那我们可不可以改变echo的输出方向呢,让他不在向显示器输出数据,而向另一个文件输出?
    答案是可以的!!!
    我们把这种操作叫做输出重定向,就是重新改变程序的输出方向!!!!
    在这里插入图片描述
    我们改怎么表示输出重定向?
    就比如我现在想要向test.txt里面输入“测试1”,可用命令:
    echo "测试1" > test.txt,这里的>就表示输出重定向
    在这里插入图片描述
    我们来多玩几次:
    在这里插入图片描述
    我们可以发现每次重定向输出的结构貌似都是最后一次的结果,不会保留上一次的结果,也就是说,每次重定向输出数据之前的系统会先将文件里面的内容清理干净,再输出!!!也就是覆盖式输出;我们不想覆盖掉上一次的内容怎末办?
    那就用追加重定向呗!>>这两个箭头表示追加重定向!!!
    在这里插入图片描述
    那如果我想清空该文件怎末办?
    直接指向命令 > test.txt将空白输出到test.txt问价里面去:
    在这里插入图片描述
    啥内容也就没有了!!
    好嘞!理解上面了,我们再回到cat命令来,既然都有输出重定向(改变输出方向),那有没有输入重定向(改变输入方向嘞)?
    有的,cat命令就是先从文件里面读取数据,再打印数据的!!
    如果我们不在cat后面加任何参数的话,就是默认从键盘读取数据,读到啥就回显啥:
    在这里插入图片描述
    按下Ctrl+C就可以退出了;
    现在我们改变cat的输入方向:
    在这里插入图片描述
    总结一下:
    1、> 表示输出重定向;
    2、>> 表示追加重定向;
    3、< 表示输入重定向;

    more命令

    虽然cat是能查看文件内容,但是太麻烦了,你想假设文件内容太长,cat一下就把你的内容刷到了末尾,你想看前面的还得往前拉,很是麻烦,为了解决这个问题,我们可以采用more命令来查看文件内容;

    语法 :more 选项 文件
    功能: 查看文件内容;
    常用选项
    -n:代表一个具体数字,比如1、2、3、4……等,表示地一次先显示n行,按空格又显示n行,按回车显示一行;
    按q退出;
    实例演示:
    在这里插入图片描述
    在这里插入图片描述
    当然这个命令查看文件内容的话,只能下翻不能回翻,很是麻烦,我们一般用它也用的比较少,我们更习惯用less;

    less命令

    语法 :less 选项 文件
    功能: 查看文件内容;
    常用选项
    -i : 忽略搜索时的大小写
    -N: 显示每行的行号
    /字符串:向下搜索“字符串”的功能
    ?字符串:向上搜索“字符串”的功能
    n:重复前一个搜索(与 / 或 ? 有关)
    N:反向重复前一个搜索(与 / 或 ? 有关)
    实例演示:
    在这里插入图片描述

    head命令

    语法 :head 选项 文件
    功能: 查看文件的前n行(n是你带的选项决定的,如果没有n默认显示前10行);
    常用选项
    -n: 查看前n行内容
    实例演示
    在这里插入图片描述
    默认显示前10行的内容:
    在这里插入图片描述

    tail命令

    与head相对的就是tail命令了

    语法 :tail 选项 文件
    功能: 查看文件后n行的内容(n由我们所带的选项决定,默认是后10行);
    常用选项
    -n : 查看后n行的内容;
    -f :循环读取,j就是不断获取文件最尾部的内容,并且不断刷新,使你看到文件最新的内容;
    实例演示
    在这里插入图片描述
    默认情况:
    在这里插入图片描述

    wc指令

    语法 :wc 选项 文件
    功能: 输出文件行数、单词数、字节数;
    常用选项
    -l : 输出文件行数
    -w: 输出文件单词数
    -c 输出文件字节数;
    实战演练 :
    假设我们现在只想统计text.txt的行数,那么我们就可以利用指令:wc -l text.txt;
    在这里插入图片描述
    我们也可以输出其单词数、字节数:
    在这里插入图片描述
    那么现在问题来了,我如果想要统计[500,520]的行数嘞?
    我们虽然能一眼看出来,但是计算机不行啊,我们得告诉他具体指令他才能算出来,
    怎末办?
    方法1
    1、利用head指令将文本前520行数据利用重定向输出到一个叫做tmp.txt的文件里面;
    2、再利用tail指令将tmp文本后20行数据利用输出重定向输出到tmp2.txt文件里面;
    3、最后再利用指令wc -l tmp2.txt, 去统计tmp.txt文件里面的行数;在这里插入图片描述
    这样创建临时文件的方法很是麻烦;
    我们现在利用第二种方法:
    方法2:
    在这里插入图片描述
    利用管道的概念,我们巧妙的解决了行数问题;
    那么什么是管道?
    在这里插入图片描述
    利用管道里我们就能利用命令批量化高效化的处理问题!!!可以将多个命令链接起来使用!!
    我们可以将这个管道理解成一个临时的文件!!!

    date指令

    1、直接显示时间:命令:date
    2、格式化显示时间;命令:date +"%Y-%m-%d %H-%M-%S";格式的话最好用双引号括起来,避免由空格引起的不必要的麻烦!
    %Y:年份
    %m:月份
    %d:日
    %H:小时
    %M:分钟
    %S:秒
    3、如果我们当前时间有误,我们可以利用命令date -s "格式",来重新设置时间;
    date -s//设置时间只有拥有root权限才可以;
    格式如下:
    "20221101",只设置年月日,具体时间会被置为00000011:36:21,只设置具体时间,不会对日期进行改变;
    “01:01:01 2008-05-23,这样可以设置全部时间;
    "01:01:01 20080523",这样可以设置全部时间;
    “2008-05-23 01:01:01,这样可以设置全部时间;
    "20080523 01:01:01",这样可以设置全部时间;
    4、时间戳
    date +%s//获得当前时间的时间戳;(当前时间->时间戳)
    什么是时间戳?
    Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从197011日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
    5、时间
    date -d@ 时间戳//将时间戳转换为具体时间
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    cal指令

    cal指令也是一个关于时间的指令:

    语法 :cal 选项 [月份] [年份]
    功能: 查看指定年月的日历;
    常用选项
    -3 : 查看当前月、上一月、下一月的日历;
    -y:显示当前年份日历;
    -j:显示在当年中的第几天;
    实际演示
    cal 什么也不带,默认是当年当前月份的日历:
    在这里插入图片描述
    比如我们只想显示指定年月的时间,比如 2022 12月份的日历,我们就可以输入命令cal 12 2022
    在这里插入图片描述
    当我们仅输入一个数字时,默认是带的数字表示年,则cal命令会将该年的日历全部展现出来:
    在这里插入图片描述

    find指令

    语法 :find 选项 目录 文件名
    功能: 用于在指定路径系查找文件,并做出相应的处理(可能访问磁盘)
    常用选项
    -name :
    实战演练:
    比如现在我们想要搜索下一num.txt文件:
    当然我们可以在指定路径去查找,如果没有指定路径则默认在当前目录下查找:
    在这里插入图片描述
    指定路径查找:
    在这里插入图片描述
    当然find还有其他很多选项,这里只讲解 -name选项;
    接下来咱们再讲解连个也跟查找相关的命令:
    which 指令
    查看指令(指令也是个可执行程序)所在路径,和取别名的情况!!
    比如:
    在这里插入图片描述
    whereis 指令
    搜索包含关键字的文档;
    比如:
    在这里插入图片描述
    当没有搜到时,它会直接显示关键字名称:
    在这里插入图片描述

    grep指令

    语法 :grep 选项 “字符串” 文件名
    功能: 用于过滤出含有指定字符窜的数据;
    常用选项
    -i :忽略大小写
    -v : 过滤出不含指定字符串的数据;
    -n :输出数据时带上行号;
    实战演练:
    在这里插入图片描述
    现在我们筛选出含有字符串 “aaa“的:
    在这里插入图片描述
    再加上个忽略大小写:
    在这里插入图片描述
    输出不含“aaa”的,忽略大小写,并且顺带输出行号:
    在这里插入图片描述
    这里在介绍几个简单命令:
    sort 选项 文件
    对文件进行正向排序并输出,如果带上选项-r的话就是降序:
    在这里插入图片描述
    降序:
    在这里插入图片描述
    注意sort在不带任何参数的情况下默认排的是升序,并且默认将大写字母视为小写字母来排序,小写字母排在大写字母前面:
    或许你会问为什么?不是按照ascll码值来排序的嘛?
    这是Linux的规定!!!Liunx规定是这样子做,咱们就得这样子做!!
    对于这样的特殊情况我们需要格外注意!!!

    比如:在这里插入图片描述
    按照ascll码来排序的话,排出来的结果就应该是:ABCabc;可是我们加上sort来为我们排序,会得到如下结果:
    在这里插入图片描述
    是不是有点颠覆认知!但是如果你将大写字母视为小写字母就完全能说的通了!!!
    而且我们将大写字母视为小写字母,小写字母占主导地位,所以小写字母排在大写字母的前面;
    同时我们也可加上选项 -f将小写字母视为大写字母,那么大写字母占主导地位,大写字母就会排在小写字母的前面:
    我们所得到的结果也就是:A,a,B,b,C,c;
    在这里插入图片描述
    接着我们在介绍一个去重的命令,由于上述文本不方便演示,我们接着重新写一个文本来演示:
    uniq 选项 文件
    对文件去重:
    在这里插入图片描述
    我们对其排序并去重:
    在这里插入图片描述

    top命令

    查看Linux环境下的任务管理器:
    在这里插入图片描述
    输入q退出;

    alias命令

    该命令主要用来给比较复杂的命令取别名,比如:
    在这里插入图片描述

    我们给ls -a -l -1命令取别名为myls:
    那么myls与ls -a -l -1具有一样的作用:
    在这里插入图片描述

    zip/unzip命令

    语法 :zip 选项 压缩文件.zip 目录或文件名
    功能: 将目录或文件打包压缩成一个以.zip结尾的压缩文件
    常用选项
    -r :递归处理,目录下的子目录或文件
    实战演练
    在这里插入图片描述
    在这里插入图片描述
    现在我们将lesson4压缩成一个zip文件:
    在这里插入图片描述
    现在我们有了lesson4的压缩包,我们想要知道压缩成功了没有,我们就需要对其解压看看:
    为此我么接着学习解压命令:
    这个命令很简单:直接unzip 压缩文件.zip -d 解压到指定目录
    为此我们现在来解压一下lesson4.zip
    在这里插入图片描述
    我们现在来查看一下lesson4里面有什么:
    在这里插入图片描述
    这是为什么?我不是已经成功压缩了嘛;
    主要是由于我们直接压缩的话zip命令就只会压缩目录,不会压缩其里面的子目录和文件,如果我们想要连其子目录和文件一起压缩的话,我们需要带上选项-r:
    接下来我们删除掉原来的压缩文件重新压缩:
    在这里插入图片描述
    我们再来查看一下文件里面的内容:
    在这里插入图片描述
    我们可以发现lesson4里面的所有文件都被压缩进来了;
    那么为什么要压缩呢?
    1、为了利用有限的空间装载更多的数据;
    2、方便管理零散的文件,提高传输速率;

    tar命令

    语法 :tar 选项 压缩文件.zip 目录或文件名
    功能: 将目录或文件打包压缩成一个压缩文件
    常用选项
    -c:对文件进行打包;
    -z:对文件进行压缩,压缩成.tgz或者gz格式
    -j:对文件进行压缩,压缩成.bz2格式;
    -x:解开压缩包;
    -t:查看压缩包里面的内容;
    -v:查看压缩包里面详细内容;
    -f:使用档名,请留意,在f之后要立即接档名!不要再加参数!!
    -C:解压到特定路径;
    实战演练:
    在这里插入图片描述
    现在我们需要最lesson1里面的内容进行压缩处理,我们只需输入命令:
    tar -czf lesson.tgz lesson1
    在这里插入图片描述
    我们可以看到的确出现了一个.tgz的压缩包,现在我们想对其进行解压的话,我们只需输入命令:
    tar -xzf lesson1.tgz -C lesson2
    如果我们不带-C选项的话,默认是解压在当前路径下,由于当级目录已经存在lesson1这个目录,为此我们需要将它解压到特定目录下,而解压到特定目录下我们需要带上选项-C:
    在这里插入图片描述
    当然如果我们就不想解压,我们想看看里面到底有些什么内容,我们就可以输入命令:
    tar -ztf lesson1.tgz
    在这里插入图片描述
    如果还想看一看他们的详细信息,我们可以带上-v选项:
    tar -ztvf lesson1.tgz
    在这里插入图片描述
    我们可以看到的确出现了比上一次更加详细的内容;

    bc命令

    也就是Linux系统中的计算器:

    在这里插入图片描述
    Ctrl+C退出
    我们也可以利用上面所讲的管道的观点配合着使用:
    在这里插入图片描述

    uname命令

    语法 :uname 选项
    功能: uname用来获取电脑和操作系统的相关信息
    常用选项
    -a:查看所有信息,从左到右,依次为内核名称、主机名、内核版本号、内核版本、硬件名、处理器类型、硬件平台类型、操作系统名称;
    实例演示:
    在这里插入图片描述

    shutdown命令

    与关机有关的小命令:

    -h : 将系统的服务停掉后,立即关机。
    -r : 在将系统的服务停掉之后就重新启动
    -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
    如果我们想要做到定时关机的话,我们可以利用命令:
    shutdown -h hour:min
    比如我们现在20:00的时候关机:
    在这里插入图片描述
    如果我们想要取消的话我们输入命令
    shutdown -c即可
    在这里插入图片描述
    系统提示我们权限不够,我们转为root就可以了:
    在这里插入图片描述
    此时系统告诉我们已经取消了;
    当然定时重启也是一样的道理,只需将参数换成 -r 即可;
    当然如果你想立即重启或关机,只需将时间参数改为 now 即可!!

    总结

    以上便是linux基本操作指令,我们不用一口气就记住它们,我们只需要多家练习,便能孰能生巧,慢慢就记住了!!🌹🌹🌹

  • 相关阅读:
    CogView中的MLP
    [elementuiPlus]el-select改变时触发el-input校验的解决方法
    pytorch 手写数字识别例子
    【FreeRTOS】10 事件标志组
    金融科技,串联了互联网时代与数字时代
    【无人机】模拟一群配备向下摄像头的移动空中代理覆盖平面区域(Matlab代码实现)
    Amazon亚马逊 Vendor Central Label详解
    人工智能基础_机器学习026_L1正则化_套索回归权重衰减梯度下降公式_原理解读---人工智能工作笔记0066
    软件测试面试题
    【React】单页面应用限制多开登录
  • 原文地址:https://blog.csdn.net/qq_62106937/article/details/127894723