- 了解目录树结构
重要:Linux下,一切皆文件!!!
说在前面:
1). 接下来所有的命令需要在一个载体上执行,这个载体就叫做终端。
2). 终端上所有命令都需要一个东西翻译解析一下,计算机才能理解并执行。
3). 这个翻译解析的东西叫SHELL解释器,RedHat和Centos默认shell解释器叫bash。
4). 既然需要bash帮忙翻译解释相关命令,那么你所敲的命令必须符合它的语法,否则报错给你看。
-
路径表示方法
绝对路径
1). 一定是以"/"(根)开头,它是唯一一个绝对能够描述文件所在路径的方式。
2). “/” 根目录是linux操作系统最顶级的目录,没有任何路径比它还要靠前。
相对路径
1). 路径是相对的,文件所在的路径是相对于当前所在路径而言的。
2). 当前路径使用 .或./ 表示;当前目录的上一级目录使用 …或…/ 表示
3). 当前用户家目录使用 ~ 表示;上次工作路径使用 - 表示
路径切换和查看的相关命令
pwd:查看当前工作路径
cd:更改工作路径,切换路径(默认切换到当前用户家目录)
[root@heima ~]# pwd 打印当前工作路径
/root
[root@heima ~]# cd /home 切换到/home目录下
[root@heima home]# cd ../ 切换到当前路径的上一级目录
[root@heima /]# pwd
/
[root@heima /]# cd ~ 切换到当前用户家目录
[root@heima ~]# cd - 切换到上一次工作路径
/
[root@heima /]# cd 切换到当前用户家目录
[root@heima ~]# pwd
/root
- file判断文件类型
文件类型 | 标识 | 描述 |
---|---|---|
字符设备 | c | 所有输入输出的设备,如:键盘、鼠标、显示器、打印机等 |
块设备 | b | 所有存储设备称之为块设备文件,如:软盘、磁盘、光盘、U盘、磁带、光驱等 |
软连接文件 | i | 类似于Windows下的快捷方式 |
目录文件 | d | 相当于Windows下的文件夹 |
普通文件 | f,- | 类似Windows下记事本、word等,可以使用相关命令进行编辑、查看文件内容 |
管道文件 | p | 简单理解为程序或进程之间通讯的一种方式 |
套接字文件 | s | 简单理解为程序或进程之间通讯的一种方式 |
[root@localhost ~]# file /root
/root: directory 目录
[root@localhost ~]# file /root/install.log
/root/install.log: ASCII text 普通的文本文件
[root@localhost ~]# file /dev/sda
/dev/sda: block special 块设备文件,存放数据
[root@localhost ~]# file /dev/tty1
/dev/tty1: character special 字符设备
[root@localhost ~]# file /bin/sh
/bin/sh: symbolic link to bash 软连接文件
- ls 列出目录内容
常见选项
-a all,查看目录下的所有文件,包含隐藏文件
-l 长列表显示 时间最近更改时间
-h human 以人性化方式显示出来
-d 只列出目录名,不显示出其他内容
-t 按照修改时间排序
-r 逆序排序
-S 大S 按照文件大小排序
-i 显示文件的inode号(索引号)
-R 递归列出目录中内容
-m 用逗号分割显示内容
示例:以不同的选项列出/root目录里的内容
[root@localhost ~]# ls -a /root
[root@localhost ~]# ls -l /root
[root@localhost ~]# ls -lh /root
[root@localhost ~]# ls -lt /root
[root@localhost ~]# ls -S /root
[root@localhost ~]# ls -R /root
[root@localhost ~]# ls -d /root 查看/root目录本身的信息
- mkdir创建目录
常见选项
-p 级联创建 创建的目录上一级不存在,加上此参数可以创建,放在文件前后都可以
可以一次创建多个目录 空格隔开
[root@localhost ~]# mkdir /test/ 在根下创建test目录
[root@localhost ~]# mkdir ./test/ 在当前目录下创建test目录
[root@localhost ~]# mkdir -p /test/yunwei/redhat
[root@localhost ~]# mkdir test test1
- touch创建文件
文件创建规则
1. 严格区分大小写
2. 不能包含含特殊符号: /,*
3. 最多255个字符
touch命令的功能
1. 目标文件不存在 就创建文件
2. 目标文件存在 修改文件时间
3. 一次性可以创建多个文件 空格隔开
# 查看文件信息 stat 文件
[root@test1 ljy]# stat 1.txt
文件:"1.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:33918289 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:home_root_t:s0
最近访问:2020-11-21 12:07:10.890387685 +0800
最近更改:2020-11-21 12:07:10.890387685 +0800
最近改动:2020-11-21 12:07:10.890387685 +0800
创建时间:-
# 人为修改文件访问时间
touch -a 1.txt -t "202011111111"
# 人为修改文件的更改时间
touch -m 1.txt -t "202011211010"
# 一次性修改文件访问与更改时间
touch -d "202011211111" 1.txt
注意: 修改时间时如果只指定时间 时分秒 默认日期是当前日期加上指定的时间
创建一个新的空文件(目标文件不存在)
# 在/tmp目录下创建file1文件
[root@localhost ~]# touch /tmp/file1
# 在当前目录下创建file1文件
[root@localhost ~]# touch file1
思考:这2个file1文件是同一个文件吗?
答:不是同一个文件,因为路径不一样。
修改文件的时间(目标文件存在)
查看文件的相关时间命令
[root@localhost tmp]# stat file1 查看文件的状态信息
File: `file1'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 915714 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-04-01 17:36:00.353096343 +0800
Modify: 2019-04-01 17:36:00.353096343 +0800
Change: 2019-04-01 17:36:00.353096343 +0800
Access:文件的查看访问时间
Modify:文件的修改时间
Change:文件的属性时间,文件的大小、权限等信息发生改变时,该时间会变化
修改文件的时间
[root@localhost tmp]# touch file1
[root@localhost tmp]# stat file1 查看文件的状态信息
File: `file1'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 915714 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-04-01 17:41:00.353096343 +0800
Modify: 2019-04-01 17:41:00.353096343 +0800
Change: 2019-04-01 17:41:00.353096343 +0800
其他修改:
[root@localhost tmp]# touch -a file1 -t 201506161320 修改文件点访问时间
[root@localhost tmp]# touch -m file1 -t 201612121330 修改文件修改时间
-a:访问时间
-m:修改时间
-t:时间类型格式
[root@localhost tmp]# touch -d 20110808 file1 修改文件日期
[root@localhost tmp]# touch -d 1215 file1 修改文件时间
[root@localhost tmp]# touch -d "20101012 11:11:11" file1 修改文件的日期和时间
说明:大家只需要掌握touch -d的用法即可。
注:RHEL6开始relatime,atime延迟修改,必须满足其中一个条件:
1. 自上次atime修改后,已达到86400秒;
2. 发生写操作时;
- 查看文件内容
4.1 cat
一般查看小文件,从第一行到最后一行列出来
常见选项
-n 显示行号
-A 显示控制符 如换行符、制表符( linux $ 和 Windows ^M$ )
4.2 tac
一般查看小文件,从最后一行到第一行列出来
4.3 more和less
一般查看大文件,q退出查看,可以搜索,建议用less命令
4.4 head
默认查看文件前10行 head -n 15 或 head -15 表示查看前15行
4.5 tail
默认查看文件后10行 tail -n 15 或 tail -15 表示查看后15行
# 动态查看文件内容的变化 用于日志动态查看
tail -f 文件
4.6 ldd
一般用来查看二进制的命令文件
示例:
[root@localhost tmp]# cat /etc/passwd 查看/etc/passwd文件内容
[root@localhost tmp]# cat -n /etc/passwd 查看/etc/passwd文件内容,并打印行号
[root@localhost tmp]# tac /etc/passwd 查看/etc/passwd文件内容
[root@localhost tmp]# head -5 /etc/passwd 查看/etc/passwd文件的前5行内容
[root@localhost tmp]# tail -5 /etc/passwd 查看/etc/passwd文件的后5行内容
[root@localhost tmp]# more /var/log/messages
[root@localhost tmp]# less /var/log/messages
[root@localhost tmp]# ldd /bin/mkdir 查看mkdir命令文件(二进制)的内容
- cp 复制
本地文件拷贝 可以重命名文件
cp [选项] 需要拷贝的文件 拷贝到哪里去
常用选项
-r 递归拷贝目录
-v 显示拷贝过程信息
-p 文件属性信息一起拷贝
-a 递归拷贝文件,包含目录及文件属性信息
用法:
cp 选项 需要拷贝的文件 拷贝到哪里去
# cp /root/file1 /home 拷贝/root/下的file1文件到/home目录下
# cp -r /home/itcast /root 拷贝/home/itcast目录到/root目录下
# su - user01 切换到user01用户下
$ touch file1
# cp -p /home/user01/file1 /tmp/ 拷贝home/user01/file1文件(包含属性信息)到/tmp下
# cp /root/file1 /tmp/test1 拷贝文件并且重命名
-a和-p有什么区别?
相同点都是需要拷贝文件的属性信息,比如拥有者(谁创建的等);不同点在于,-p只能拷贝文件,-a既可以拷贝文件也可以拷贝目录。
- mv 移动或重命名文件
# 移动文件用法(不同路径下):
mv 需要移动的文件 移动到新的路径下 --文件路径不一样
# 重命名用法(相同路径下):
mv 原文件名字 新文件名字 -- 新旧文件路径一样
# 示例
# mv /root/file1 /tmp 移动/root/file1文件到/tmp目录下
# mv /tmp/file1 /tmp/test1 将/tmp目录下的file1文件重命名成test1
- rm 删除
常用选项
-r 递归删除 一般用于删除目录
-f 直接删除,屏蔽提示信息
# 示例
[root@localhost tmp]# rm file1 删除当前目录下的file1文件,有提示
[root@localhost tmp]# rm -r dir1 删除当前目录下的dir1目录,有提示
[root@localhost tmp]# rm -f /root/file1 强制删除/root/file1文件,不提示,直接删
- help 简约帮助命令
# 内部命令 shell内置的命令
help 命令
# 外部命令 第三方程序软件的命令
命令 --help
# 判断一个命令是内部还是外部
type 命令
示例
cp --help
help cd
type cp
- man详细帮助
# 帮助章节
1 Executable programs or shell commands(用户命令帮助)
2 System calls (系统调用帮助)
3 Library calls (库函数调用帮助)
4 Special files (usually found in /dev) (设备与特殊文件)
5 File formats and conventions eg /etc/passwd(配置文件帮助、文档格式)
6 Games (游戏)
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) (杂项)
8 System administration commands (usually only for root) (系统管理员与程序用户相关)
9 Kernel routines [Non standard]
示例
# 列出该章节ls命令 第一章节默认是1 可不写
一般情况是不需要使用章节号,例如:
# man 1 ls
# man ls
# man useradd
# man setfacl (/EXAMPLES)
# man -f passwd 列出所有章节中的passwd手册
# man 1 passwd passwd命令的帮助
# man 5 passwd 用户配置文件的帮助
# man -a passwd 在所有章节中查找
# man -k passwd 以关键字导出man page
程序猿手册 man 23467
管理员手册 man 158
man中常用的按键
按键 | 用途 |
---|---|
空格键 | 向下翻一页 |
PaGe down | 向下翻一页 |
PaGe up | 向上翻一页 |
home | 直接前往首页 |
end | 直接前往尾页 |
/ | 从上至下搜索某个关键词,如“/linux” |
? | 从下至上搜索某个关键词,如“?linux” |
n | 定位到下一个搜索到的关键词 |
N | 定位到上一个搜索到的关键词 |
q | 退出帮助文档 |
man命令帮助信息的结构以及意义
结构名称 | 代表意义 |
---|---|
NAME | 命令的名称 |
SYNOPSIS | 参数的大致使用方法 |
DESCRIPTION | 介绍说明 |
EXAMPLES | 演示(附带简单说明) |
OVERVIEW | 概述 |
DEFAULTS | 默认的功能 |
OPTIONS | 具体的可用选项(带介绍) |
ENVIRONMENT | 环境变量 |
FILES | 用到的文件 |
SEE ALSO | 相关的资料 |
HISTORY | 维护历史与联系方式 |
相关官方文档
http://httpd.apache.org/docs/2.4/
http://nginx.org/
http://tengine.taobao.org/nginx_docs/cn/docs/
https://www.zabbix.com/documentation/3.4/zh/manual
https://puppet.com/docs
其他社区
https://www.linuxidc.com/
- Bash标准输入输出
-
标准输入(stdin):键盘上的输入 文件描述符—— >0
-
标准输出(stdout):屏幕上正确的输出 文件描述符—— >1
-
标准错误(stderr):屏幕上错误的输出 文件描述符—— >2
相关符号
:标准输出重定向,覆盖重定向,1>或>标准输出重定向,2>标准错误重定向
:重定向追加,1>>标准输出追加,2>>标准错误追加
<:标准输入
&>:标准输出标准错误重定向
编写简单脚本(先直接复制用,后面说):
[root@localhost ~]# echo -e 'date\nuuu' > 1.sh 创建1.sh脚本文件
[root@localhost ~]# cat 1.sh
date
uuu
执行1.sh脚本,屏幕上有输出结果,如下:
[root@localhost ~]# bash 1.sh
Thu Feb 28 21:22:27 CST 2019 正确的结果叫标准输出
1.sh: line 2: uuu: command not found 错误的结果叫标准错误
将标准输出(屏幕上的正确结果)重定向到/tmp/1.log文件中
[root@localhost ~]# bash 1.sh > /tmp/1.log
1.sh: line 2: uuu: command not found 标准错误(错误结果)依然在屏幕,正确结果到文件中了
[root@localhost ~]# cat /tmp/1.log 文件里是标准输出的结果
Thu Feb 28 21:24:12 CST 2019
将标准错误(屏幕上的错误结果)重定向到/tmp/2.log文件中
[root@localhost ~]# bash 1.sh 2> /tmp/2.log
Thu Feb 28 21:26:15 CST 2019 标准输出依然在屏幕,标准错误重定向到了文件中
[root@localhost ~]# cat /tmp/2.log
1.sh: line 2: uuu: command not found 文件里是标准错误的结果
注意:>或者2>都表示覆盖重定向
查看/etc/hosts文件内容,并将标准输出重定向到/tmp/1.log
[root@localhost ~]# cat /etc/hosts > /tmp/1.log
[root@localhost ~]# cat /tmp/1.log 查看该文件,发现原来内容被覆盖
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
总结:>或者1>表示标准输出重定向;2>表示标准错误重定向
将标准输出和标准错误一起重定向到/tmp/3.log里
[root@localhost ~]# bash 1.sh &>/tmp/3.log
[root@localhost ~]# cat /tmp/3.log
Thu Feb 28 21:33:36 CST 2019
1.sh: line 2: uuu: command not found
说明:
&>表示标准输出和标准错误一起重定向
- echo命令
echo 会将输入的字符串送往标准输出,并在最后加上换行符,可以理解为打印字符串
常见选项
-n:不输出最后的换行符"\n"
-e:解析转移字符
# 示例
# 打印hello world
[root@localhost ~]# echo hello world
hello world
# 打印aaaa
[root@localhost ~]# echo aaaa
aaaa
# 将hello重定向到file1文件中
[root@localhost ~]# echo hello > file1
[root@localhost ~]# cat file1
hello
总结:
1. echo表示打印字符串,默认将字符串送往标准输出;默认会打印一个换行符
2. echo可以结合>或者>>符号来使用,进行文件的创建或内容追加。
常见控制字符:
\t 表示制表符
\n 表示换行符
[root@localhost ~]# echo -e 'date\nuuu' > 1.sh //-e表示将\n解释为换行符
[root@localhost ~]# cat 1.sh
date
uuu
- 命令查找
which:找出命令的绝对路径
whereis:找出命令的路径以及文档手册信息
[root@heima ~]# which mkdir
/usr/bin/mkdir
[root@heima ~]# whereis mkdir
mkdir: /usr/bin/mkdir /usr/share/man/man1/mkdir.1.gz /usr/share/man/man1p/mkdir.1p.gz
/usr/share/man/man2/mkdir.2.gz /usr/share/man/man3p/mkdir.3p.gz
- 文件查找
find命令:精确查找,磁盘搜索,IO读写,cpu开销大
16.1 查找出来后输出到屏幕
根据需求查找出来直接输出到屏幕
find 查找路径 选项 关键字
常见选项
-name: 按照文件名称查找
-iname: 按照文件名忽略大小写查找
-size: 按照文件大小查找 +1M 大于1M -1M 小于1M 1M 等于1M
-type: 按照文件类型查找
-mtime: 按文件修改时间来查找文件 -n指n天以内,+n指n天以前
-atime: 按文件访问时间来查
-ctime: 按文件创建时间来查找文件
-perm: 按照文件权限来查找文件
示例
0)环境准备
# mkdir /test
# touch /test/file1
# touch /test/FILE1
# cp -a /home/heima/* /test/
1)根据文件名查找
[root@heima ~]# find /test -name "file1"
[root@heima ~]# find /test -iname "file1"
[root@heima ~]# find /etc -name "*.conf"
2)根据文件类型查找
[root@heima ~]# find /usr/bin/ -type l
[root@heima ~]# find /dev -type b
[root@heima ~]# cd /test
[root@heima test]# find . -type d
[root@heima test]# find . -type f
3)根据文件大小查找
[root@heima test]# find . -type f -size +1M
[root@heima test]# find . -type f -size -1M
[root@heima test]# find . -type f -size -1024k
[root@heima test]# find . -type f -size 9M
4)根据文件属性(权限,创建者和所属组)
[root@heima test]# find . -user heima -group heima -type f
[root@heima test]# find . -type f -perm 644
-mtime选项举例:
[root@heima test]# find ./ -type f -mtime +2 2天前
[root@heima test]# find ./ -type f -mtime -2 2天以内
[root@heima test]# find ./ -type f -mtime 2
16.2 找出来执行命令
根据需求查找出来后执行某个动作(命令)
find 路径 选项 关键字 动作
-exec: 对查找到的文件直接执行该参数后的shell命令
-ok: 对查找到的文件询问式执行该参数后的shell命令
-delete: 删除查找到的文件
-ls: 列出查找到的文件,详细信息
-print: 打印出查找到的文件(默认选项)
语法结构:
注意:
1. -exec或者-ok后面写完命令必须以空格反斜杠\;结尾( \;)
2. {}表示find命令所找出来的内容
- Linux下文件压缩工具
17.1 常见的压缩与解压缩工具
压缩工具 | 说明 | 解压缩工具 |
---|---|---|
zip | 兼容类unix与windows,可以压缩多个文件或目录 | unzip |
gzip | 压缩单个文件,压缩率相对低,cpu开销相对低 | gunzip |
bzip2 | 压缩单个文件,压缩率相对高,cpu开销相对高 | bunzip2 |
xz | 压缩单个文件,压缩率高,压缩时间相对长,解压速度快,cpu开销高 | unxz |
17.2 zip工具
压缩:
zip 压缩后的文件 需要压缩的文件
选项:
-r 递归压缩,压缩目录
注意:zip压缩默认压缩后的格式就是.zip;当然也可以加后缀.zip,一般都加上
解压缩:
-d 指定解压缩路径
17.3 gzip工具
压缩:
gzip 需要压缩的单个文件
选项:
-d 解压缩
-r 递归压缩(目录)
解压缩:
gunzip 需要解压的文件
或者
gzip -d 需要解压的文件
gunzip file* 一次解压多个文件,*代表通配符;file*表示以file开头所有文件
17.4 bzip2工具
压缩:
bzip2 需要压缩的文件
选项:
-d 解压缩
17.5 xz工具
选项:
-z 压缩,默认
-d 解压缩 或者 unxz
压缩:
xz 文件名
解压缩:
unxz 文件名
或者
xz -d 文件名
- Linux下文件打包工具
tar 命令:可以将多个文件打包成一个并且压缩,不会改变文件的属性,很常用
用法:
tar 选项 打包后的文件 需要打包的文件
常用选项 | 说明 |
---|---|
-c | 创建tar包(打包) |
-z | 调用gzip工具压缩 |
-j | 调用bzip2工具压缩 |
-J | 调用xz工具压缩 |
-v | 显示详细信息 |
-f | 指定包名 |
-x | 解压 |
-C | 指定解压路径 |
-t | 列出或查看tar包内容 |
-r | 往tar包里追加文件 |
注意说明:
1. 以上选项前面的横杠"-"可以省略
2. 如果已经将文件压缩打包,那么就不能追加;如果只是打包就可以追加。
3. 参数顺序需要注意,最好把-f参数放到所有参数后面。
4. 当出现以下提示时,加一个大P参数解决。
tar: Removing leading `/' from member names
示例
1. 将/tmp目录里的dir1目录和/etc/hosts文件打包到/tmp/dir4里叫dabao.tar
[root@localhost tmp]# tar -cvf /tmp/dir4/dabao.tar ./dir1 /etc/hosts
./dir1/
./dir1/test1.gz.bz2
./dir1/aaa/
./dir1/aaa/file2.gz
./dir1/file1.gz.bz2
tar: Removing leading `/' from member names
/etc/hosts
注意:以上错误提示可以忽略
查看打包后的文件内容:
[root@localhost tmp]# tar -tf dir4/dabao.tar
./dir1/
./dir1/test1.gz.bz2
./dir1/aaa/
./dir1/aaa/file2.gz
./dir1/file1.gz.bz2
etc/hosts
2. 将/boot目录和/root/install.log文件打包并压缩到/tmp目录下叫backup_boot.tar.gz
[root@localhost ~]# tar -cvzf /tmp/backup_boot.tar.gz /boot install.log
3. 解压tar包
[root@localhost tmp]# tar -xf backup_boot.tar.gz
解压到当前路径
[root@localhost tmp]# tar -xf backup_boot.tar.gz -C dir1/
解压到指定路径
- 日期相关指令
19.1 date命令
date :打印或者设置当前系统日期和时间
date --help 自己先求帮助
打印日期或时间
打印系统当前日期或时间
[root@heima ~]# date
[root@heima ~]# date +%D
[root@heima ~]# date +%F
[root@heima ~]# date +%Y-%m-%d
[root@heima ~]# date +%T
[root@heima ~]# date +%X
[root@heima ~]# date +'%F %X'
[root@heima ~]# date +%c
打印系统非当前日期或时间
[root@heima ~]# date -d '+3days' +%F
[root@heima ~]# date -d '-3days' +%F
[root@heima ~]# date -d '3days' +%F
[root@heima ~]# date -d '3days ago' +%F
[root@heima ~]# date --date='30days' +%F
设置系统日期或时间
选项:-s 设置当前系统时间,只有root权限才能设置,其他只能查看。
# 设置成20100523,这样会把具体时间设置成空00:00:00
date -s 20200523
# 这样可以设置全部时间
date -s "01:01:01 2020-05-2"
# 这样可以设置全部时间
date -s "01:01:01 20200523"
# 这样可以设置全部时间
date -s "2020-05-23 01:01:01"
# 这样可以设置全部时间
date -s "20200523 01:01:01"
系统时间同步硬件时间
hwclock :查看并且设置硬件时间
选项:
-s, --hctosys set the system time from the RTC
-w, --systohc set the RTC from the system time
-l, --localtime the RTC timescale is Local
举例说明:
[root@heima ~]# hwclock --hctosys
[root@heima ~]# hwclock
2019-06-23 18:44:10.377920+08:00
[root@heima ~]# date
2019年 06月 23日 星期日 18:44:21 CST
[root@heima ~]# date -s "20221010 12:12:12"
2022年 10月 10日 星期一 12:12:12 CST
[root@heima ~]# date
2022年 10月 10日 星期一 12:12:14 CST
[root@heima ~]# hwclock
2019-06-23 18:45:01.368135+08:00
[root@heima ~]# hwclock --systohc
[root@heima ~]# hwclock
2022-10-10 12:12:43.179274+08:00
timedatectl -h
设置和查看系统的时间和日期(设置时区以及开启或关闭ntp服务)
应用案例
有时候我们需要用到当前的系统时间,如何调用?比如以当前系统日期命名创建目录或文件
2020-10-10.log.tar.gz
2020-10-11.log.tar.gz
$():括号里面的命令优先执行
date +%F
2019-06-23
创建目录和文件,以当前系统日期命名
[root@heima ~]# mkdir $(date +%F)
[root@heima ~]# touch $(date -d '+3days' +%Y%m%d).log
19.2 cal命令
cal :查看日历
cal 或者 cal -1
表示直接输出当前月份的日历
cal -3
表示输出上一个月+本月+下个月的日历
cal -y 年份
表示输出某一个年份的日历