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
在设定时间方面:
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″ //这样可以设置全部时间
时间戳:
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
date +%Y-%m:%d/%H:%M:%S
:特殊格式显示时间
[root@VM-4-3-centos lesson3]# date +%Y-%m:%d/%H:%M:%S 2022-11:19/15:25:32
date +%s
:显示时间戳时间
[root@VM-4-3-centos lesson3]# date +%s 1668842769
date +%Y-%m:%d/%H:%M:%S -d@时间戳
:将时间戳转换为格式时间
[root@VM-4-3-centos lesson3]# date +%Y-%m:%d/%H:%M:%S -d@1668842769 2022-11:19/15:26:09
cal 指令
语法: cal [参数] [月份] [年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项:
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历
cal :默认查看本月日历
[root@VM-4-3-centos lesson3]# cal November 2022 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
cal 年份
:查看一年的日历
[root@VM-4-3-centos lesson3]# cal 2022 2022 January February March Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 1 2 3 4 5 1 2 3 4 5 2 3 4 5 6 7 8 6 7 8 9 10 11 12 6 7 8 9 10 11 12 9 10 11 12 13 14 15 13 14 15 16 17 18 19 13 14 15 16 17 18 19 16 17 18 19 20 21 22 20 21 22 23 24 25 26 20 21 22 23 24 25 26 23 24 25 26 27 28 29 27 28 27 28 29 30 31 30 31 April May June Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 1 2 3 4 5 6 7 1 2 3 4 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11 10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18 17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25 24 25 26 27 28 29 30 29 30 31 26 27 28 29 30 July August September Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 1 2 3 4 5 6 1 2 3 3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 10 10 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 17 17 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 24 24 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 30 31 October November December Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 1 2 3 4 5 1 2 3 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17 16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24 23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31 30 31
cal -3
:显示系统前一个月,当前月,下一个月的月历
[root@VM-4-3-centos lesson3]# cal -3 October 2022 November 2022 December 2022 Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 1 2 3 4 5 1 2 3 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17 16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24 23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31 30 31
sort 指令
对文本内容进行排序,排序后的顺序类似于类似于strcmp的比较,按照 ascii码值 排序,排序默认升序,-r 选项降序。
sort 文件名
:按 ascii 码值排序文件内容并打印,不会影响到文件本身
[root@VM-4-3-centos lesson3]# nano test.c [root@VM-4-3-centos lesson3]# sort test.c aaaaaaaaa aaaaaaaaa bbb bbbbbbb cccccccc ccccccccc ggg hhhhhhhh jjjjjjjj
sort -r 文件名
:倒序排序
[root@VM-4-3-centos lesson3]# sort -r test.c jjjjjjjj hhhhhhhh ggg ccccccccc cccccccc bbbbbbb bbb aaaaaaaaa aaaaaaaaa
sort 文件名 | uniq:uniq 是对相邻文本内容进行去重,将 sort 文件名的内容放到 管道 中,使用 uniq 进行去重。
[root@VM-4-3-centos lesson3]# sort test.c | uniq aaaaaaaaa // 另一句内容被去除 bbb bbbbbbb cccccccc ccccccccc ggg hhhhhhhh jjjjjjjj
find 和 which 和 whereis 指令
find
语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:
name 按照文件名查找文件。
拓展:
Linux下find命令在目录结构中搜索文件,并执行指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
即使系统中含有网络文件系统(NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系
统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
find在查找时,第一次查找较慢,第二次很快,Linux会把查找的结果缓存起来。
find 路径 -name 查找名称:把从这个路径开始的所有 带有查找名称 的文件查找出来
查找 test.txt:
[root@VM-4-3-centos lesson3]# find ./testcp2 -name test.txt ./testcp2/testcp1/a/test.txt
which
which 指令
: 可以查看指令路径
比如查看 clear 的路径:
[root@VM-4-3-centos lesson3]# which clear /usr/bin/clear
我们常用的指令都在 /usr/bin
位置:
whereis
whereis 搜索指定名称的文件/程序/归档文件
[root@VM-4-3-centos lesson3]# whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
alias 指令
当一条指令过于复杂时,可以使用alias 为文件起别名。
`alias 别名=‘指令’:为指令起别名,起别名后,使用别名就相当于这条指令
例如给 ls -a -l -i -n
起别名:
[root@VM-4-3-centos lesson3]# ls -a -l -i -n total 48 655920 drwxr-xr-x 6 0 0 4096 Nov 19 15:40 . 393219 dr-xr-x---. 9 0 0 4096 Nov 17 23:45 .. 656003 drwxr-xr-x 2 0 0 4096 Nov 19 02:03 mydir 656511 drwxr-xr-x 2 0 0 4096 Nov 19 02:03 mydirdir 656513 -rw-r--r-- 1 0 0 9901 Nov 19 14:06 mylog.txt 656516 -rw-r--r-- 1 0 0 74 Nov 19 15:41 test.c 655867 drwxr-xr-x 3 0 0 4096 Nov 19 02:57 testcp1 655966 drwxr-xr-x 4 0 0 4096 Nov 19 16:06 testcp2 656512 -rw-r--r-- 1 0 0 5090 Nov 19 14:54 tmp.txt [root@VM-4-3-centos lesson3]# alias myls='ls -a -l -i -n' [root@VM-4-3-centos lesson3]# myls total 48 655920 drwxr-xr-x 6 0 0 4096 Nov 19 15:40 . 393219 dr-xr-x---. 9 0 0 4096 Nov 17 23:45 .. 656003 drwxr-xr-x 2 0 0 4096 Nov 19 02:03 mydir 656511 drwxr-xr-x 2 0 0 4096 Nov 19 02:03 mydirdir 656513 -rw-r--r-- 1 0 0 9901 Nov 19 14:06 mylog.txt 656516 -rw-r--r-- 1 0 0 74 Nov 19 15:41 test.c 655867 drwxr-xr-x 3 0 0 4096 Nov 19 02:57 testcp1 655966 drwxr-xr-x 4 0 0 4096 Nov 19 16:06 testcp2 656512 -rw-r--r-- 1 0 0 5090 Nov 19 14:54 tmp.txt
unalias 别名
:取消别名
再为 alias 取消别名:
[root@VM-4-3-centos lesson3]# alias myls alias myls='ls -a -l -i -n' [root@VM-4-3-centos lesson3]# unalias myls [root@VM-4-3-centos lesson3]# alias myls -bash: alias: myls: not found // 取消成功
grep 指令
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
grep 为文本行过滤,说白了就是将指定文本内容,按照特定关键字,按行筛选。
grep ‘字符串’ 文件:筛选出 含有该字符串 的内容
例如在文件中匹配 aaa
[root@VM-4-3-centos mydir]# cat test.txt aaaaaa bbbbb bbbaaaabbb cccccc vvvvv aaaaa ccccccc [root@VM-4-3-centos mydir]# grep 'aaa' test.txt aaaaaa bbbaaaabbb aaaaa
grep -v ‘字符串’ 文件:筛选出 不含有该字符串 的内容
[root@VM-4-3-centos mydir]# grep -v 'aaa' test.txt bbbbb cccccc vvvvv ccccccc
grep -i ‘字符串’ 文件:忽略大小写 正向匹配
[root@VM-4-3-centos mydir]# grep -i 'aaa' test.txt aAaaa bbbaaaabbb AAAaaa
grep -ivn '字符串' 文件
:忽略大小写反向匹配并给上行号
[root@VM-4-3-centos mydir]# grep -ivn 'aaa' test.txt 2:bbbbb 4:cccccc 5:vvvvv 7:ccccccc 8:
cat test.txt | grep 'aaa'
: 通过管道来匹配 aaa
[root@VM-4-3-centos mydir]# cat test.txt | grep 'aaa' aAaaa bbbaaaabbb AAAaaa