• Linux——Linux指令2|more指令|less指令|head和tail指令|管道|时间相关的指令|date显示|Cal指令|find指令


    目录

     more指令

    less指令 

    head和tail指令 

    管道 

    时间相关的指令 

     date显示

    Cal指令

    find指令:(灰常重要) -name 

    which 

     alias

     grep指令

    zip/unzip指令 

    打包和压缩

    tar指令(重要):打包/解包,不打开它,直接看内容 

     bc指令

    uname –r指令 

    重要的几个热键[Tab],[ctrl]-c, [ctrl]-d 

    关机 


     more指令

    输入以下代码会让file.txt文件产生一万行代码

    count=0; while [ $count -le 10000 ]; do echo "hello world ${count}"; let count++; done > file.txt

    输入cat file.txt查看里面的内容

     但有个缺陷,这样不好观察到前面的内容

    我们可用more指令来观察,输入more file.txt,more的特点是把一个屏幕打满,就不再继续往后打印,如果想观察后面的要不断按回车,more不能往上翻

     more -n file.txt

    可查看file.txt文件的前n行内容

    less指令 

     

    less指令也是把一个屏幕给打满, 若想观察下面的也可以按回车

     也可按↑或↓来进行翻阅查看

    退出less按Q

    -i
     
    忽略搜索时的大小写
     
    -N显示每行的行号
     
    /字符串:向下搜索“字符串”的功能
     
    ?字符串:向上搜索“字符串”的功能
     
    n重复前一个搜索(与 / 或 ? 有关)
     
    N:反向重复前一个搜索(与 / 或 ? 有关)
     
    q:quit

     输入less file.txt查看文件,按回车

    若要查看第999行内容输入/999回车即可

     

     若要查看含有999的数字,我们一直按n即可

     若想重新回到最开始按G即可

     我们touch test9-13.c文件 

    输入vim test9-13.c可对这个文件进行书写

    写一个死循环程序

    写好之后,按ESC在输入:wq即可退出

     跑起来后进入死循环,我们按ctrl+C即可退出

    ctrl+C:终止异常的命令

    head和tail指令 

    根据刚才的文件,我们输入 head file.txt此时只会显示头部的一些内容,默认为10行

     

     输入tail file.txt,会显示后面几行的内容

     中间加-n会显示最后n行

     如果想拿去[999,1009]的内容呢?

    我们可把前1009行输出到另一个文件里

     这种方法是通过创建临时文件,如果是大文件则比较浪费空间

    管道 

    上面的方法通过创建临时文件,比较麻烦,下面我们用管道来解决 

     这个|叫管道,管道就是我们日常生活中见到的,都是用来传输资源的

    计算机传输的主要资源是数据,管道是用来传到数据的

    file.txt 把内容输出到管道里,tail从管道里读

    管道可以连接多条命令,可以批量化,流水化处理数据

    wc 命令:统计文本行个数

     管道可以称之为管道文件,这是一个内存级别的文件,没有在磁盘上 

    时间相关的指令 

     date显示

     date 指定格式显示时间: date +%Y:%m:%d
    date 用法: date [OPTION]... [+FORMAT]

    在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
     

    %H :
     
    小时(00..23)
     
    %M :分钟(00..59)
     
    %S :秒(00..61)
     
    %X :相当于 %H:%M:%S
     
    %d :日 (01..31)
     
    %m :月份 (01..12)
     
    %Y :完整年份 (0000..9999)
     
    %F :相当于 %Y-%m-%d

    这种查看时间不太美观,我们可对其进行优化

     

     显示时间戳

    时间戳是从1970年1月1日00:00到现在的秒数

    该数据是单向递增具有唯一性的 

    把时间戳转回日期

     当时间戳为0,显示8点,是因为时间戳开始的时间不是北京时间是一个外国时间,所以显示北京时间8点

    Cal指令

     命令格式: cal [参数][月份][年份]
    功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

    -3显示系统前一个月,当前月,下一个月的月历

     
    -j显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
     
    -y显示当前年份的日历

     

     cal只有-1和-3,没有-4 -5 -2之类的命令

    find指令:(灰常重要) -name 

     Linux下find命令在目录结构中搜索文件,并执行指定的操作。
    Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
    即使系统中含有网络文件系统( NFS), find命令在该文件系统中同样有效,只你具有相应的权限。在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)

    语法: find pathname -options
    功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘

    -name 按照文件名查找文件

    在家目录下找到file.txt文件

     find会从家目录开始查找file.txt文件

    which 

    which

    该如何看待linux下的各种命令,其实这些命令本质上就是可执行程序(工具,命令,指令)

    我们编写的C/C++代码编译后形成了.exe文件

    定位上跟可执行程序一模一样

    win下的安装一个软件,Linux也会有安装一个软件,其实这个过程更多的就是拷贝

    我们可看到ls存在于这个路径下 

    运行程序的时候:1.找到它 2.运行它

    这样也能执行ls命令,输入它的路径就能找到它,找到之后就能运行

     

     which就是帮我们找到它

    which在系统路径中,查找特定的指令所在的路径

    还有一个命令whereis 

     whereis查找:除了指令之外只要是包括ls内容的所有文档都会显示,就是把跟ls有关的显示出来

     alias

    alias在上面的which命令执行后可以看到,alias叫做给一条命令起别名 

     

    输入alias zhansgan='ls-al'

    相当于给ls-al起了个别名叫zhangsan

    输入zhangsan就跟输入ls -al一个效果

     

     重新登陆后,别名就会失效。起别名只在本次登陆中有效

     grep指令

     语法: grep [选项] 搜寻字符串 文件
    功能: 在文件中搜索字符串,将找到的行打印出来

    -i :
     
    忽略大小写的不同,所以大小写视为相同
     
    -n :顺便输出行号
     
    -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
    grep会把包含888的文本行过滤出来

     grep是行文本过滤的工具

    通过管道进行逆置

     加-n可显示行号

     -v可反向匹配,即显示出不包含888的内容

    找到函数中main

     现在我们修改文件,让文件里大小写乱序

     输入语句后,可显示我们要查看的内容,由此课间grep对大小写很敏感

     -i对大小写不敏感

     xargs是参数的意思

     如果不想让echo输出的命令通过管道交给ls,这样的话是不行的,ls只能通过默认的方式取走,ls不会读取前面的这些命令

     但是ls有命令行参数,我们通过管道把这些数据转化成命令行参数交给ls,就如同执行了ls -l -a -i,我们用xargs即可

     xagrs:将管道的输出结果,作为命令行参数,交给后面的程序

    zip/unzip指令 

    打包和压缩

    打包和压缩

    打包:将东西放在一起

    压缩:采用某种压缩算法,压缩它的存储空间

    这样便于传输,或者归档

    比如:我们下载软件的时候,我们下载的是一个压缩包

    市面上各种后缀的压缩包,是非常多的解压工具非常多,linux下也是如此

     语法: zip 压缩文件.zip 目录或文件
    功能: 将目录或文件压缩成zip格式

    -r 递 归处理,将指定目录下的所有文件和子目录一并处理
    将test2目录压缩: zip test2.zip(压缩后形成的新文件) test2/*(要压缩的对象)
    解压到tmp目录: unzip test2.zip -d /tmp

    开始压缩


     压缩完成后可以看到一个.zip文件

    把zip移动到上一级目录,之后输入cd..进入上一级目录 

    用unzip解压后

     我们发现这里面什么都没有

     我们加入-r

     我们删掉project所有内容之后,对压缩包解压

     

     可以看到解压完成

    我们新创建一个路径

    删除刚才的压缩包

     现在我们指定解压到afternoon目录下,解压的时候加-d

     

     此时解压成功

    tar指令(重要):打包/解包,不打开它,直接看内容 

     tar [-cxtzjvf] 文件与目录 ....
参数:

    -c :
     
    建立一个压缩文件的参数指令(create 的意思);
     
    -x :解开一个压缩文件的参数指令!
     
    -t :查看 tarfile 里面的文件!
     
    -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
     
    -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
     
    -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
     
    -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
     
    -C :解压到指定目录

    tar.gz这种写法比较繁琐

     

     tar压缩 -czvf选项 project.tgz生成的压缩文件 project要压缩的对象

    v是显示压缩过程

     此时生成了压缩包

     在当前路径下解压

     

     压缩:-czvf 解压:xzvf

    我们将压缩包解压到这个路径下

     解压,注意-C,C是大写

     

     bc指令

     bc命令可以很方便的进行浮点运算,bc命令可以帮我们运算

     +-*/和%都可以

    uname –r指令 

     语法: uname [选项]
    功能: uname用来获取电脑和操作系统的相关信息。
    补充说明: uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息

    -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
    在lINUX下查看体系结构(x86)和内核版本

     uname-r查看内核版本

    如64位错做系统,基于x64处理器,这个叫体系结构

    重要的几个热键[Tab],[ctrl]-c, [ctrl]-d 

     [Tab]按键---具有『命令补全』和『档案补齐』的功能
    [Ctrl]-c按键---让当前的程序『停掉』
    [Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可
    以用来取代exit

    输入a按tab

     输入whi按tab

    ctrl+d快速退出 

    关机 

     语法: shutdown [选项] ** 常见选项: **

    -h
    -r
    : 将系统的服务停掉后,立即关机。
    : 在将系统的服务停掉之后就重新启动

    -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

    云服务器不关机,halt,shutdown

    输入history可查看历史记录

    也可保存历史记录到一个文件中history >test.txt

  • 相关阅读:
    数据结构与算法之美代码:排序算法3
    FPGA 异步复位同步释放 详解
    题目 1058: 二级C语言-求偶数和
    TDDL介绍及原理
    现代数据架构-湖仓一体
    兄弟兄弟,在git中的使用.gitignore忽略不想要提交的文件,了解一下呗
    Allegro DFM Ravel Rule 板外异物检查
    前缀和+差分+ 树状数组
    nacos
    LeetCode --- 2. Add Two Numbers 解题报告
  • 原文地址:https://blog.csdn.net/weixin_49449676/article/details/126828581