前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux】基本指令 (下篇)

【Linux】基本指令 (下篇)

作者头像
野猪佩奇`
发布2023-03-28 14:06:52
1.3K0
发布2023-03-28 14:06:52
举报
文章被收录于专栏:C/C++ 后台开发学习路线

文章目录

date 指令

语法:date [选项] [格式];

功能:指定格式显示时间;

常用选项

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

  • %Y : 完整年份;
  • %m : 月份;
  • %d : 日;
  • %H : 小时;
  • %M : 分钟;
  • %S : 秒;
  • %F : 相当于 %Y-%m-%d
  • %X : 相当于 %H:%M:%S;

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@时间戳数值;

注:时间戳是指从1970年1月1日0时0分0秒(UTC/GMT的 午夜)开始到现在所经过的秒数,不考虑闰秒;同时,由于我国处于东八区,所以对应过来我国是1970年1月1日8时0分0秒;

指令演示

1、格式化显示当前时间:

image-20220928171907926
image-20220928171907926

2、时间戳的生成与转换:

image-20220928172131845
image-20220928172131845

cal 指令

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

语法: cal [参数] [月份] [年份];

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

常用选项

  • -n 显示系统前n/2个月,当前月,后n/2个月的月历;
  • -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数);
  • -y 显示当前年份的日历;

指令演示

image-20220928172700340
image-20220928172700340
image-20220928172728202
image-20220928172728202

find 指令

语法:find [路径] [选项];

功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘);

常用选项

由于find的功能十分强大,所以其对应的选项也非常多,但作为初学者我们可以先掌握它最常用的选项,其余选项在后续学习中慢慢掌握;

  • -name 按照文件名查找文件;

拓展知识

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

2、Linux下find命令提供了相当多的查找条件,功能很强大;但由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间去了解;

3、即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,但是需要具有相应的权限;

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

指令演示

image-20220928173823788
image-20220928173823788

与 find 相关的其他指令

在学习了find指令之后,我们还可以拓展学习一下Linux中与find相关的其他指令:

1、which – 专门用于搜索命令:

image-20220929083910365
image-20220929083910365

2、alias – 对指令进行重命名 (起别名):

image-20220929084410666
image-20220929084410666

注意:我们这里使用alias为其他指令创建的别名是一种临时效果,即当系统重启后该别名会失效,想要让其永久生效需要进行其他操作。如下图:

3、whereis – 在特定的路径下,查找与指定文件名近似匹配的指令或文档:

image-20220929085258673
image-20220929085258673

grep 指令

语法:grep [选项] [目标字符串] [文件];

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

常用选项

和find指令一样,grep也是Linux中一条非常强大且被频繁使用的指令,同样,其选项也非常多,这里我们还是只列举其中最基础、最常用的几个,更多的选项可以阅读下面这位大佬的博客: linux grep命令详解 - ggjucheng - 博客园 (cnblogs.com)

  • -i:忽略大小写的不同,即将大小写视为相同;
  • -n:顺便输出行号;
  • -v :反向选择,即显示出没有 ‘搜寻字符串’ 内容的那一行;

拓展知识

为了方便下面的演示,除了之前我们使用 “cnt=0; while [ cnt -le 10000 ] ; do echo "hello world [cnt]”; let cnt++; done > test.txt" 生成的test.txt文件之外,我们需要再新建一个 file.txt 以及 num.txt 文件:

image-20220929092646697
image-20220929092646697
image-20220929095915083
image-20220929095915083

指令演示

1、在文件中搜索字符串:

image-20220929092822281
image-20220929092822281

2、忽略大小写:

image-20220929092957051
image-20220929092957051

3、反向过滤:

image-20220929093337477
image-20220929093337477

与 grep 相关的其他指令

grep 可以和其他指令配合并结合管道,来实现某些匹配工作;

1、wc – 统计行数:

image-20220929093704216
image-20220929093704216

grep + wc + 管道 -> 统计符合筛选条件的行数:

image-20220929093843228
image-20220929093843228

2、sort – 对文本内容进行排序:

image-20220929100341905
image-20220929100341905

3、uniq – 去除文本中相邻的重复内容:

image-20220929100500170
image-20220929100500170

sort + uniq + 管道 -> 去除文本中的全部重复数据并排序:

image-20220929100632265
image-20220929100632265

注:grep、sort、uniq 类似指令是将文本中的内容按照一定的条件进行筛选后显示到终端,并不会改变文本中的内容。

zip 指令

语法:: zip [压缩文件.zip] [目录或文件];

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

常用选项

  • -r:递归处理,将指定目录下的所有文件和子目录一并处理;

拓展知识

1、我们为什么要对文件进行打包与压缩?

在我们平时使用Windows的过程中,可能也会遇到需要将文件进行打包的情况;比如我们的C语言期末大作业,老师一般都会要求我们将所有的 .c 文件,.h 文件,实验报告的.wordx 文件以及各种实验数据.txt 文件全部都放到一个文件夹中,然后将该文件夹压缩,最后只提交压缩文件即可;又比如我们的综测,我们需要将综测表、各种综测证明材料都放到一起然后压缩提交;

上述例子中,我们将各种分散的文件集中到一个文件夹下的操作叫打包,而将该文件夹压缩的操作叫压缩;打包和压缩是两个不同的概念,但是目前我们不对其做详细区分;

结合上面的两个例子,我们为什么要对文件进行打包与压缩呢?原因有两个:

1、便于传输:互联网中有许多大大小小的文件,将所有文件打包压缩到一个文件中进行传输可以有效避免小文件丢失,从而实现高效传输; 2、便于保存:将所有文件集中到一起便于我们对其进行管理与保存。

2、zip 默认对一个目录进行打包压缩的时候,只会对目录文件进行打包压缩,而不会对目录中的子文件进行打包压缩;所以我们使用 zip 打包压缩目录时需要使用 -r 选项。

指令演示

1、打包压缩目录文件:

image-20220929103744048
image-20220929103744048

2、打包压缩普通文件:

image-20220929103337217
image-20220929103337217

unzip 指令

语法:unzip [压缩文件/目录] [选项];

功能:解包并解压目录/文件;

常用选项

  • -d:将文件解压到指定目录下;

拓展知识

1、zip 将文件进行打包并压缩,unzip 对文件进行解包并解压;

2、unzip 默认将文件解压到当前路径,如果想要解压到指定路径需要加 -d 选项。

指令演示

1、解压到当前路径:

image-20220929110008017
image-20220929110008017

2、解压到其他路径:

image-20220929110127107
image-20220929110127107

tar 指令

语法:tar [选项] [文件/目录];

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

常用选项

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

拓展知识

1、在使用 tar 时,-f 选项需要放在最后,其余选项,比如 -c -v -z -x 可以随意调换位置;

2、tar 默认也是解压到当前路径,如需要指定到其他路径需要使用 -C 选项;

3、tar 格式的压缩文件支持不解压查看文件,使用 -t 选项即可;

指令演示

1、压缩文件/目录:

image-20220929111135370
image-20220929111135370

2、压缩文件过程中显示文件:

image-20220929111248096
image-20220929111248096

3、不解压查看文件:

image-20220929112149252
image-20220929112149252

4、解压文件/目录到当前路径,并在解压过程中显示文件:

image-20220929111758315
image-20220929111758315

5、解压文件/目录到指定路径,在解压过程中不显示文件:

image-20220929111952301
image-20220929111952301

bc 指令

bc 命令是任意精度计算器语言,通常在linux下当计算器用;它类似基本的计算器, 使用这个计算器可以做基本的数学运算;输入 quit 即可退出 bc:

image-20220929143140837
image-20220929143140837
image-20220929143243114
image-20220929143243114

bc 也可以与管道结合使用:

image-20220929143608662
image-20220929143608662

uname 指令

语法:uname [选项];

功能:uname用来获取电脑和操作系统的相关信息;同时,uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息;

常用选项

  • -a:详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型 (体系结构/cpu架构),硬件平台类型,操作系统名称;
  • -r:输出部分信息,如内核版本、硬件名、处理器型 (体系结构/cpu架构);

指令演示

image-20220929145011044
image-20220929145011044

其他的一些指令

lscpu – 查看CPU信息:

image-20220929152337835
image-20220929152337835

lsmem – 查看内存信息:

image-20220929152416982
image-20220929152416982

df -h – 查看磁盘情况:

image-20220929152503405
image-20220929152503405

who – 查看Linux当前在线用户:

image-20220929152607468
image-20220929152607468

拓展指令

除了上面这些,还有一些指令作为拓展:

  • 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
  • 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
  • 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
  • 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
  • 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
  • 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

重要的几个热键

在Linux的使用中,熟练运用一些热键可以让我们的工作效率提升很多:

1、[Tab] 按键 – 具有『命令补全』和『档案补齐』的功能:即当我们输入一个命令的一部分,然后按一次 [Tab] (有的电脑需要按两次),Linux就会自动将该命令补全;

image-20220929145649484
image-20220929145649484

2、[Ctrl]-c 按键 – 此热键一般用于两个方面 ,一是终止异常程序,比如死循环程序:

image-20220929150714887
image-20220929150714887
image-20220929150932676
image-20220929150932676

二是废除当前命令行:

image-20220929151157359
image-20220929151157359

3、[Ctrl]-d 按键 – 退出当前用户 (退出一层),可以用来取代 exit:

image-20220929151924934
image-20220929151924934

4、[Ctrl]-r 按键 – 搜索历史命令,我们输入 Ctrl+r,然后输入关键字系统就会弹出对应的历史指令,我们按 <- -> 即可选中:

image-20220929152155914
image-20220929152155914

关机

语法:shutdown [选项];

常见选项

  • -h:将系统的服务停掉后,立即关机;
  • -r:在将系统的服务停掉之后就重新启动;
  • -t second:-t 后面加秒数,即『过几秒后关机』的意思;

注意:虚拟机需要关机,但云服务器永远都不要关机。


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • date 指令
  • cal 指令
  • find 指令
  • grep 指令
  • zip 指令
  • unzip 指令
  • tar 指令
  • bc 指令
  • uname 指令
  • 其他的一些指令
  • 重要的几个热键
  • 关机
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档