5 时间相关的指令
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 |
我们可以来试试:
这里面+和%是不能够省略的,其他地方的字符可以自己替换:
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 的 午夜)开始所经过的秒数,不考虑闰秒
我们可以将时间戳转化成具体的时间
6 Cal指令
cal 命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。 “ 阳历 ” 又名 “ 太阳历 ” ,系以地球绕行太阳一周为一年,为西方各国所通用,故又名 “ 西历 ” 。
命令格式 : cal [参数][月份][年份]
功能 : 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项 :
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历
7 find指令:(灰常重要) -name
Linux下find命令在目录结构中搜索文件,并执行指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)
这个指令的意思是将家目录中所有名字为text.c的路径都显示出来,这里我们只有一个,所以只显示了一个,我们不妨再lesson2的目录下再创建个text.c,来观察是否会显示:
很明显我们观察到了我们想要的结果,至于find命令的其他选项,大家下来后可以自己试试。
8 grep指令
grep的参考文档
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
通过这个命令我们能比较直观的找到我们想要找到的文件数据,有点儿类似Windows中搜索功能,该命令能够再任意文件中查找我们想要的数据并且把它打印出来,我们还可以通过管道来打印:
讲到这儿,我再补充一个小知识点:Linux下一切皆文件,无论是键盘还是屏幕,甚至是指令,再Linux中都被当做文件来处理,这个在后面我们还会有深刻的认识。
9 zip/unzip指令
语法:zip 压缩文件.zip 目录或文件
功能:将目录或文件压缩成zip格式
这个命令很简单,我们可以直接上手试试:
我们最后发现为lesson4中啥也没有呢?
原因就处在我们压缩的时候:压缩的时候有多级目录的话要加上 -r 选项递归处理,否则就会出错。
我们将前面的删掉然后重新压缩:
这下可以明显看见成功了。
10 其他常见命令
1 sort:(文本行排序)
首先我们打开linux.txt文件,向里面写入数据:
保存退出后使用命令:
sort linux.txt
我们看到该文本已经按照ascll大小排列出来了。
2 uniq:(相邻内容去重)
我们重新打开nano修改一下里面数据,然后进行排序去重:
最终我们可以发现文本内容重复的已经被删去,剩下的按照ascll大小进行排列,最后文本内容剩下了10行。
注意:无论是去重还是排序,文本实际的内容是不会改变的,就是说改变的只是我们在屏幕上看见的数据,文本的数据没有发生一点儿改变。
文本内容还是以前未排序未去重的样子。
3 which:(查看指令路径)
4 whereis:(搜索包含关键字的文档)
5 top:(任务管理器)
这个类似于Windows中任务管理器。退出的话按q。
6 alias:(起别名)
注意=不能省略,' '可以换成" ",但是不能不写。
总结:
本次我们介绍的命令有:
man | more | echo | less | head | tail |
wc | date | cal | find | grep | zip/unzip |
sort |
uniq |
which |
whereis |
top |
alias |
与此同时我们还了解了输出重定向,追加重定向,输入重定向,管道等等知识,看起来很乱很杂,但是我们要好好的把这些命令融会贯通,才能为后面的学习做准备。
由于整理的有点儿仓促,有错误是不可避免的,希望大佬们能指正本文的错误,非常感谢。
基本指令这里还有一部分没有讲完,剩下内容将在下一次补充,我们下期再见啦!