[Linux修炼]Linux基本指令(三)

66 阅读8分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第16天,点击查看活动详情

前言

      开始Linux指令学习了,本文就来分享一波笔者的学习经验和心得,本文系第三篇。

      笔者水平有限,难免存在纰漏,欢迎指正交流。

Linux基本指令(三)

时间相关的指令

date显示

      date 指定格式显示时间: date +%Y:%m:%d date

      用法: date [OPTION]... [+FORMAT]

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

%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

      不能加空格,因为linux下空格用来区分选项。

image-20221002101116773

2.在设定时间方面

date -s //设置当前时间,只有root权限才能设置,其他只能查看。 

date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00 

date -s 01:01:01 //设置具体时间,不会对日期做更改 

date -s “01:01:01 2008-05-23//这样可以设置全部时间 

date -s “01:01:01 20080523//这样可以设置全部时间 

date -s “2008-05-23 01:01:01//这样可以设置全部时间 

date -s “20080523 01:01:01//这样可以设置全部时间

3.时间戳

时间->时间戳: date +%s

时间戳->时间: date -d@1508749502(时间戳)

      Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜00:00)开始所经过的秒数,不考虑闰秒

      用于日志记录时间,方便存储,由于是线性递增的,也便于范围查找。

image-20221002101337663

      为什么是08而不是00是根据云服务器所在地时间的,这里是北京时间。

      时间的重要性:

      因为时间戳是要用变量来存储的,那随着时间的递增,变量是不是就有可能装不下了?那怎么办?换个更大的变量去装吗?那全球是统一时间戳的,那么多台机器要进行更改的话得多麻烦多耗时?万一在修改的空档期时间戳溢出的话,会造成十分严重的后果,交通调度、金融贸易、银行服务等等都会受到严重冲击。

Cal指令

      cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。 “阳历”又名“太阳 历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”

命令格式: cal 参数 月份 年份

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

常用选项:

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

image-20221002101629698

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

image-20221002101652141

      -y 显示当前年份的日历

image-20221002101717822

image-20221002101501768

      只有一个参数,则表示年份

image-20221002101531926

      有两个参数,则表示月份和年份

image-20221002101608413

find指令(灰常重要)

      Linux下find命令在目录结构中搜索文件,并执行指定的操作。

      Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下,不过我们这里先了解一下基本用法。

      即使系统中含有网络文件系统(NFS), find命令在该文件系统中同样有效,只你具有相应的权限。

      在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

语法: find pathname -options filename

功能: 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘,进而导致效率低下)

常用选项: -name 按照文件名查找文件

image-20220928151417850

      这是一个“大力出奇迹”的指令,你要它找它就实实在在地去找。

      指令执行的时候访问的一般不是文件本身,而是加载到内存中的文件信息,在一开始就已经把根目录之类的目录结构载入内存了,不过可能存在成百上千的文件,不太可能一次性把所有文件信息都加载到内存中,一般把重要的先加载,所以find指令其实有可能在内存中找不到某个文件的信息,这时它就会去访问磁盘,硬是要把文件找出来(所有同名文件),还会把寻找所经历的路径显示出来。

grep指令

语法: grep [选项] 搜寻字符串 文件

功能: 在文件中搜索字符串,将找到的行打印出来

说明: 文本内容的行过滤工具,默认情况下会匹配文本中的关键字,匹配上的就进行行显示。

常用选项:

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

image-20220928153115551

      grep可以和其他命令结合管道来进行某些匹配工作。

      wc -l 可以进行行数统计

image-20220928153416026

      sort 可以对文本内容进行排序打印,以行为单位,依据ASCII码值大小进行排序(类似于C语言中字符串比大小)。

image-20221002102934626

      uniq 可以对文本内容以行为单位去重打印,不过只限于相邻两行。

image-20221002103012784

      这时候就可以先sort排序后再uniq去重:

image-20221002103137904

      注意:sort和uniq并不会实际改变文件内容。

zip/unzip指令

语法: zip 压缩文件名.zip 要被压缩的目录或文件

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

image-20220927193525158

常用选项:

      -r 递归处理,将指定目录下的所有文件和子目录一并处理(zip)

image-20221002103428373

      -d 解包解压到指定路径下(unzip)

image-20220928154937781

为什么要打包和压缩呢?

      各种资源、程序等东西通常包含多个大小文件,打包不易丢失文件而且方便网络传输,压缩的话可以提高传输效率,简而言之就是便于传输和保存。

tar指令(重要)

      用于打包/解包

语法: tar [参数] 文件与目录

参数:

-c :建立一个压缩文件的参数指令(create 的意思);

-x :解开一个压缩文件的参数指令!

-t :不打开文件而直接查看 tarfile 里面的文件!

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

-v :压缩/解压的过程中同步显示压缩文件列表!这个常用,但不建议用在背景执行过程!

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

-C : 解压到指定目录

案例:

      -czf 创建一个基于gzip算法压缩的文件

image-20220928160700414

      -xzf 解压一个基于gzip算法压缩的文件(到当前目录下)

image-20220928160859515

      -xzvf 基于上面的解压,显示解压过程

      -czvf 基于上面的压缩,显示压缩过程

      -tf 不解开压缩包而浏览里面的文件

image-20220928161447643

      加上-C可以把压缩包解压到指定目录下

image-20220928161846630

bc指令

      bc命令可以进行浮点运算,只是简单提一下。

image-20221002103714051

image-20221002103756624

uname –r指令:

语法: uname [选项]

功能: uname用来获取电脑和操作系统的相关信息。

补充说明: uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。

常用选项:

-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,硬件名,处理器类型,硬件平台类型,操作系统名称

-r 查看体系结构

image-20220928162325443

image-20220928163911429

重要的几个热键

[Tab]按键:具有『命令补全』和『档案补齐』的功能

      输入一个命令可以用tab键自动补齐,而且还可以查看可能的补齐命令

image-20220928164110167

[Ctrl] c按键:让当前的程序『停掉』——用来终止前台的异常程序(比如程序跑起来发现死循环了可以无脑ctrl c)

image-20220928164712910

[Ctrl] r按键:搜索历史命令(根据提供的命令片段)

image-20221002104832634

[Ctrl] d按键:退出当前用户,退出一层。

      通常代表着『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,也可以用来取代exit来退出。

关机

语法: shutdown [选项]

常见选项:

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

      这个就不演示了(😓)。

补充指令

      lscpu:查看cpu信息。

image-20221002104853875

      lsmem:查看内存信息。

image-20221002104906455

      df -h:查看磁盘使用情况。

image-20221002104925155

      who:查看当前Linux系统的在线用户。

image-20221002104938300


以上就是本文全部内容,感谢观看,你的支持就是对我最大的鼓励~

src=http___c-ssl.duitang.com_uploads_item_201708_07_20170807082850_kGsQF.thumb.400_0.gif&refer=http___c-ssl.duitang.gif