语法: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秒;
指令演示
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
语法: cal [参数] [月份] [年份];
功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份;
常用选项
-n 显示系统前n/2个月,当前月,后n/2个月的月历;
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数);
-y 显示当前年份的日历;
指令演示
语法:find [路径] [选项];
功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘);
常用选项
由于find的功能十分强大,所以其对应的选项也非常多,但作为初学者我们可以先掌握它最常用的选项,其余选项在后续学习中慢慢掌握;
- -name 按照文件名查找文件;
拓展知识
1、Linux下find命令在目录结构中搜索文件,并执行指定的操作;
2、Linux下find命令提供了相当多的查找条件,功能很强大;但由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间去了解;
3、即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,但是需要具有相应的权限;
4、在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会访问磁盘,从而花费很长的时间 (这里是指30G字节以上的文件系统)。
指令演示
与 find 相关的其他指令
在学习了find指令之后,我们还可以拓展学习一下Linux中与find相关的其他指令:
注意:我们这里使用alias为其他指令创建的别名是一种临时效果,即当系统重启后该别名会失效,想要让其永久生效需要进行其他操作。如下图:
3、whereis – 在特定的路径下,查找与指定文件名近似匹配的指令或文档:
语法:grep [选项] [目标字符串] [文件];
功能:在文件中搜索字符串,将找到的行打印出来;
常用选项
和find指令一样,grep也是Linux中一条非常强大且被频繁使用的指令,同样,其选项也非常多,这里我们还是只列举其中最基础、最常用的几个,更多的选项可以阅读下面这位大佬的博客: linux grep命令详解 - ggjucheng - 博客园 (cnblogs.com) 。
-i:忽略大小写的不同,即将大小写视为相同;
-n:顺便输出行号;
-v :反向选择,即显示出没有 ‘搜寻字符串’ 内容的那一行;
拓展知识
为了方便下面的演示,除了之前我们使用 “cnt=0; while [ c n t − l e 10000 ] ; d o e c h o " h e l l o w o r l d [ cnt -le 10000 ] ; do echo "hello world [ cnt−le10000];doecho"helloworld[cnt]”; let cnt++; done > test.txt" 生成的test.txt文件之外,我们需要再新建一个 file.txt 以及 num.txt 文件:
指令演示
与 grep 相关的其他指令
grep 可以和其他指令配合并结合管道,来实现某些匹配工作;
grep + wc + 管道 -> 统计符合筛选条件的行数:
sort + uniq + 管道 -> 去除文本中的全部重复数据并排序:
注:grep、sort、uniq 类似指令是将文本中的内容按照一定的条件进行筛选后显示到终端,并不会改变文本中的内容。
语法:: zip [压缩文件.zip] [目录或文件];
功能:将目录或文件压缩成zip格式;
常用选项
- -r:递归处理,将指定目录下的所有文件和子目录一并处理;
拓展知识
1、我们为什么要对文件进行打包与压缩?
在我们平时使用Windows的过程中,可能也会遇到需要将文件进行打包的情况;比如我们的C语言期末大作业,老师一般都会要求我们将所有的 .c 文件,.h 文件,实验报告的.wordx 文件以及各种实验数据.txt 文件全部都放到一个文件夹中,然后将该文件夹压缩,最后只提交压缩文件即可;又比如我们的综测,我们需要将综测表、各种综测证明材料都放到一起然后压缩提交;
上述例子中,我们将各种分散的文件集中到一个文件夹下的操作叫打包,而将该文件夹压缩的操作叫压缩;打包和压缩是两个不同的概念,但是目前我们不对其做详细区分;
结合上面的两个例子,我们为什么要对文件进行打包与压缩呢?原因有两个:
1、便于传输:互联网中有许多大大小小的文件,将所有文件打包压缩到一个文件中进行传输可以有效避免小文件丢失,从而实现高效传输;
2、便于保存:将所有文件集中到一起便于我们对其进行管理与保存。
2、zip 默认对一个目录进行打包压缩的时候,只会对目录文件进行打包压缩,而不会对目录中的子文件进行打包压缩;所以我们使用 zip 打包压缩目录时需要使用 -r 选项。
指令演示
语法:unzip [压缩文件/目录] [选项];
功能:解包并解压目录/文件;
常用选项
- -d:将文件解压到指定目录下;
拓展知识
1、zip 将文件进行打包并压缩,unzip 对文件进行解包并解压;
2、unzip 默认将文件解压到当前路径,如果想要解压到指定路径需要加 -d 选项。
指令演示
语法: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 选项即可;
指令演示
bc 命令是任意精度计算器语言,通常在linux下当计算器用;它类似基本的计算器, 使用这个计算器可以做基本的数学运算;输入 quit 即可退出 bc:
语法:uname [选项];
功能:uname用来获取电脑和操作系统的相关信息;同时,uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息;
常用选项
- -a:详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型 (体系结构/cpu架构),硬件平台类型,操作系统名称;
- -r:输出部分信息,如内核版本、硬件名、处理器型 (体系结构/cpu架构);
指令演示
拓展指令
除了上面这些,还有一些指令作为拓展:
在Linux的使用中,熟练运用一些热键可以让我们的工作效率提升很多:
1、[Tab] 按键 – 具有『命令补全』和『档案补齐』的功能:即当我们输入一个命令的一部分,然后按一次 [Tab] (有的电脑需要按两次),Linux就会自动将该命令补全;
2、[Ctrl]-c 按键 – 此热键一般用于两个方面 ,一是终止异常程序,比如死循环程序:
3、[Ctrl]-d 按键 – 退出当前用户 (退出一层),可以用来取代 exit:
4、[Ctrl]-r 按键 – 搜索历史命令,我们输入 Ctrl+r,然后输入关键字系统就会弹出对应的历史指令,我们按 <- -> 即可选中:
语法:shutdown [选项];
常见选项
-h:将系统的服务停掉后,立即关机;
-r:在将系统的服务停掉之后就重新启动;
-t second:-t 后面加秒数,即『过几秒后关机』的意思;
注意:虚拟机需要关机,但云服务器永远都不要关机。