【Linux】一万七千字详解 —— 基本指令(二)3

简介: 【Linux】一万七千字详解 —— 基本指令(二)

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 位置:

b1d3ad1375578e9fb56cbb25016b39e9.png

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
相关文章
|
24天前
|
Linux Windows
【Linux】-基本指令(下)
【Linux】-基本指令(下)
【Linux】-基本指令(下)
|
19天前
|
Linux
【Linux第一弹】- 基本指令
【Linux第一弹】- 基本指令
31 1
|
25天前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
39 3
|
24天前
|
Unix Linux 索引
【Linux】-基本指令(上)
【Linux】-基本指令(上)
|
30天前
|
Linux Shell Windows
Linux入门1——初识Linux指令
Linux入门1——初识Linux指令
25 0
Linux入门1——初识Linux指令
|
1月前
|
人工智能 Unix Linux
装杯 之 Linux指令
本文介绍了Linux操作系统的基本命令。首先欢迎各位进入Linux的世界,并展示了`ls`命令,用于列出目录下的文件和子目录。接着介绍了`pwd`命令,用于显示当前目录;`cd`命令,用于切换目录;`mkdir`命令,用于创建目录;`touch`命令,用于创建普通文件或修改文件时间戳;`rmdir`命令,用于删除空目录;以及`rm`命令,用于删除文件或目录。通过这些基本命令,你可以开始探索和管理Linux系统。
|
3月前
|
存储 人工智能 Ubuntu
Linux指令学习(一)
Linux指令学习(一)
|
存储 Linux C语言
Linux:入门学习知识及常见指令
Linux:入门学习知识及常见指令
|
6月前
|
人工智能 Unix Linux
Linux的学习之路:2、基础指令(1)
Linux的学习之路:2、基础指令(1)
49 0
|
6月前
|
Unix Linux Windows
Linux的学习之路:3、基础指令(2)
Linux的学习之路:3、基础指令(2)
61 0