🪐🪐🪐欢迎来到程序员餐厅💫💫💫
主厨:邪王真眼
主厨的主页:Chef‘s blog
所属专栏:青果大战linux
总有光环在陨落,总有新星在闪烁
date
- 功能:
指定格式显示时间
- 指令效果:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ date
Sat May 18 10:53:10 CST 2024
进阶玩法
-
设定显示的格式
格式设定为一个加号后接数个标记,
%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
效果展示:
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ date +%F_%H:%m:%S
2024-05-18_11:05:11
%F是固定的年月日输出格式,后面接上我们自定义的小时分钟秒输出格式,其中‘-’和‘:’是分隔符,由用户自己设置(也可以不设置),但是不可以用空格。
时间戳
概念:
Unix 时间戳(英文为 Unix epoch, Unix time, POSIX time 或 Unix timestamp )是从格林威治时间 1970 年 1 月 1 日( UTC/GMT 的午夜)开始所经过的秒数,不考虑闰秒。
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ date +%s
1716001680
时间戳转化为时间:date -d@1508749502
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ date -d@1716001680
Sat May 18 11:08:00 CST 2024
这个输出格式也可以修改
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ date -d@1716001680 +%F
2024-05-18
小细节
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ date -d@0 +%F_%H:%M:%S
1970-01-01_08:00:00
很奇怪,不是说时间戳是从1970年1月1日午夜开始算吗,怎么电脑上是从八点开始的
因为,时差,
我们的Linux服务器在中国,中国时间是按北京时间算的(即东八区),要比格林威治时间早八个小时,所以就是八点整
Cal指令
背景知识:
cal 命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。 “ 阳历 ” 又名 “ 太阳 历 ” ,系以地球绕行太阳一周为一年,为西方各国所通用,故又名 “ 西历 ”。
功能:
用于查看日历等时间信息
进阶玩法:
- 选项-3
- 选项-j
- 选项-y
find指令
命令格式: find pathname -options
功能:在文件树种查找文件,并作出相应的处理(可能访问磁盘)
-name 按照文件名查找文件。
指令展示
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ find ~ -name test1
/home/qingguo/project3/test1
/home/qingguo/project1/test1
其中:‘~’是家目录,即路径;-name是选项;test1是我们要找的文件名或目录名
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ find /usr/bin -name ls
/usr/bin/ls
其中:‘/usr/bin’是家目录,即路径;-name是选项;ls是我们要找的文件名或目录名
在查找时能否查到该文件有两个条件:
1.该文件存在
2.你有对应的权限
可以看到,我们申请去/usr路径下寻找,但因为没有权限而被驳回了。
Linux下find命令在目录结构中搜索文件,并执行指定的操作,即使系统含有网络文件系统(NFS),find命令在该文件系统中同样有效,只你具有相应的权限。在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
grep指令
功能:
在文件中搜索字符串,将找到的行打印出来
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ grep '1' a.txt
1
11
进阶功能:
- 选项-i
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test1]$ grep -i 'a' a.txt
aa
AA
- 选项-n
- 选项-v
反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
zip指令
功能:
将目录或文件压缩成 zip 格式
指令效果展示:
常用选项:
- 选项-r
递归处理,将指定目录下的所有文件和子目录一并处理
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ zip -r test1.zip test1
adding: test1/ (stored 0%)
adding: test1/a1/ (stored 0%)
adding: test1/b.txt (stored 0%)
adding: test1/c.txt (stored 0%)
adding: test1/a.txt (deflated 27%)
unzip指令
- 功能:
将zip指令压缩的压缩包进行解压
- 指令格式
unzip 压缩包 -d 目录
不使用-d加路径就会默认解压到当前路径
- 选项-d
可以改变解压文件的位置
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ unzip test1.zip -d test2
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ tree ./
./
├── test1
│ ├── a1
│ ├── a.txt
│ ├── b.txt
│ └── c.txt
├── test1.zip
├── test2
│ └── test1
│ ├── a1
│ ├── a.txt
│ ├── b.txt
│ └── c.txt
├── test3
├── test4
├── test5
└── test6.txt
tar指令
tar的功能比zip更强大
可以解压,也可以压缩,还可以直接查看压缩包的内容。
常用选项:
- 选项-c
建立一个压缩文件的参数指令(create 的意思);
指令展示
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ tar -czf test1.tgz test1
我们文件后缀使用tgz,
选项是czf,‘c'表示创建压缩文件,’z'是压缩方式,‘f'表示后接文件或目录
- 选项-x :
解开一个压缩文件的参数指令
我们先把压缩包转移到test2中,再解压
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ mv test1.tgz test2
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ cd test2
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test2]$ tar xzf test1.tgz
- 选项-t
:查看 tarfile 里面的文件
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test2]$ tar tzf test1.tgz
test1/
test1/a1/
test1/b.txt
test1/c.txt
test1/a.txt
- 选项-v:
展示压缩和解压过程
注意:v要跟在c或x后面
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z project1]$ tar -cvzf test1.tgz test1
test1/
test1/a1/
test1/b.txt
test1/c.txt
test1/a.txt
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test2]$ tar -xvzf test1.tgz
test1/
test1/a1/
test1/b.txt
test1/c.txt
test1/a.txt
- 选项-z :
是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
- 选项-j :
是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
- 选项-v :
压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
- 选项-f
使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
- 选项-C :
解压到指定目录
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z test2]$ tar -xzf test1.tgz -C ../test3
uname 指令:
指令展示:
- 选项 -r
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ uname -r
3.10.0-957.21.3.el7.x86_64
- 选项:-a或–all
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ uname -a
Linux iZf8z6fhz4n89uhtqx9ey6Z 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
热键
概念:
快捷键,又叫快速键或热键,指通过某些特定的按键、按键顺序或按键组合来完成一个操作,例如我们常见到的crtl+c(复制),ctrl+v(粘贴)
[Tab]
功能:
具有『命令补全』和『档案补齐』的功能
如下所示,我在输出了pw后快速双击tab键,他就会显示出所有一pw开头的指令,如果只有一种可能,则会直接帮你补齐。
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$ pw
pwck pwconv pwd pwdx pwhistory_helper pwmake pwscore pwunconv
如果我们直接双击tab键,他就会显示你当前权限下所有可执行的指令
如下,我现在有1200种指令可以使用
[qingguo@iZf8z6fhz4n89uhtqx9ey6Z ~]$
Display all 1200 possibilities? (y or n)
[ctrl]+c
Ctrl+C中断了进程,让当前的程序『停掉』返回到终端界面。
[ctrl]+d
关机
注意,这里的关机不是退出xshell等软件,而是关闭云服务器。