1.命令行展开
~ USERNAME:展开用户的主目录
[root@CentOS-7-43 ~]# ls ~roo
公共 模板 视频 图片 文档 下载 音乐 桌面
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
例如:/tmp/{a,b} == /tmp/a,/tmp/b
[root@CentOS-7-43 ~]# ls /home/{Rom,roo}
/home/Rom:
/home/roo:
公共 模板 视频 图片 文档 下载 音乐 桌面
$?:bash使用特殊变量保存最近一条命令的执行状态
0:表示成功
1-255:表示失败
[root@CentOS-7-43 ~]# echo $?
0
2.mkdir : 创建目录
用法:mkdir [选项] 目录...
常用参数:
-m mode, --mode=mode :为新建立的目录设定模式,就象应用命令chmod一样,以后仍 然使用缺省模式建立新目录。
-p, --parents:目录存在不报错,且自动创建所需的各级目录
-v:显示过程
rmdir:删除空目录
-p:递归删除父空目录
-v:显示过程
3.tree :list contents of directories in a tree-like format
常用参数:
-d:只显示目录
-L level:指定显示的层级数目
-P pattern:显示由指定pattern匹配到的路径
[root@CentOS-7-43 ~]# tree -P "*.cfg" -L 1 /root
/root
├── anaconda-ks.cfg
├── initial-setup-ks.cfg
├── redis-5.0.3
└── \344\270\213\350\275\275
2 directories, 2 files
4.touch:文件的时间戳管理
touch [-acm][-r ref_file(参照文件)|-t time(时间值)] file(文件名)...
常用参数:
-a :仅改变atime和ctime
-m:仅改变mtime和ctime
-t:指定atime和ttime的时间戳 [[CC]YY]MMDDhhmm[.ss]
-c:如果文件不存在,则不创建
注:atime :access time 访问时间 mtime: modify time 修改时间 ctime :change time 修改时间
[root@CentOS-7-43 ~]# ll /data/1.txt
-rw-r--r--. 1 root root 615 4月 3 2019 /data/1.txt
[root@CentOS-7-43 ~]# touch /data/1.txt
[root@CentOS-7-43 ~]# ll /data/1.txt
-rw-r--r--. 1 root root 615 11月 22 13:48 /data/1.txt
stat 命令(display file or file system status) : 显示文件或文件系统状态 显示内容包括:文件路径、文件大小、文件占用block、每个IO block大小 文件类型、文件所在设备的主/次设备号 文件的inode、文件被硬链接次数 文件权限、文件的属主UID、文件的属组GID 环境(SELinux)
stat [OPTION]... FILE...
5.文件文件查看
more 分页查看文件
格式: more [option...] FILE...
-d:显示翻页及退出提示
less 一页一页地查看文件或STDIN输出
格式:less [option...] FILE...
cat 连接文件并在标准输出上输出
-E, --show-ends:在每行结束显示 $
-b, --number-nonblank:给非空输出行编号
-n, --number:给所有输出行编号
-T 显示制表符
tac tac - 反转显示文件
head 输出文件的开始部分
格式:head [OPTION]... [FILE]...
-c, --bytes=SIZE:打印起始的SIZE字节
-n, --lines=NUMBER:显示起始的NUMBER行,而非默认的起始10行
-#:指定获取前#行
tail 输出文件的末尾部分
格式:tail [OPTION]... [FILE]...
-c, --bytes=N:输出最后N个字节
-n, --lines=N :输出最后N行,而非默认的最后10行
6.pwd 显示当前工作路径
[root@CentOS-7-43 ~]# pwd
/root
7.shell
显示当前使用的shell:echo $shell
查看当前的终端设备:tty
显示当前系统使用的所有shell:cat /etc/shells
区别内部或者外部命令:type + 命令
内建命令:由Shell自带的,而且通过某命令形式提供
外建命令:在当前系统的某文件系统路径下有对应的可执行程序文件
[root@CentOS-7-43 ~]# type who
who 是 /usr/bin/who
[root@CentOS-7-43 ~]# type cd
cd 是 shell 内嵌
[root@CentOS-7-43 ~]# type cat
cat 已被哈希 (/usr/bin/cat)
8.date命令 打印或设置系统日期和时间
格式:date [选项]... [+格式]
date [选项] [MMDDhhmm[[CC]YY][.ss]]
%% 一个文字的 %
%a 当前locale 的星期名缩写(例如: 日,代表星期日)
%A 当前locale 的星期名全称 (如:星期日)
%b 当前locale 的月名缩写 (如:一,代表一月)
%B 当前locale 的月名全称 (如:一月)
%c 当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
%C 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
%d 按月计的日期(例如:01)
%D 按月计的日期;等于%m/%d/%y
%e 按月计的日期,添加空格,等于%_d
%F 完整日期格式,等价于 %Y-%m-%d
%g ISO-8601 格式年份的最后两位 (参见%G)
%G ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用
%h 等于%b
%H 小时(00-23)
%I 小时(00-12)
%j 按年计的日期(001-366)
%k hour, space padded ( 0..23); same as %_H
%l hour, space padded ( 1..12); same as %_I
%m month (01..12)
%M minute (00..59)
%n 换行
%N 纳秒(000000000-999999999)
%p 当前locale 下的"上午"或者"下午",未知时输出为空
%P 与%p 类似,但是输出小写字母
%r 当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)
%R 24 小时时间的时和分,等价于 %H:%M
%s 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数
%S 秒(00-60)
%t 输出制表符 Tab
%T 时间,等于%H:%M:%S
%u 星期,1 代表星期一
%U 一年中的第几周,以周日为每星期第一天(00-53)
%V ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
%w 一星期中的第几日(0-6),0 代表周一
%W 一年中的第几周,以周一为每星期第一天(00-53)
%x 当前locale 下的日期描述 (如:12/31/99)
%X 当前locale 下的时间描述 (如:23:13:48)
%y 年份最后两位数位 (00-99)
%Y 年份
%z +hhmm 数字时区(例如,-0400)
%:z +hh:mm 数字时区(例如,-04:00)
%::z +hh:mm:ss 数字时区(例如,-04:00:00)
%:::z 数字时区带有必要的精度 (例如,-04,+05:30)
%Z 按字母表排序的时区缩写 (例如,EDT)
上述格式不必全都记住,只需要掌握几个常用的即可。例如%Y表示年,%m表示月,%d表示日,%H表示小时,%M表示分钟,%S表示秒,%s表示从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数,相当于time函数,%w表示一周中的第几天。
实例:
[root@CentOS-7-43 ~]# date "+现在时间是:%Y-%m-%d %H:%m:%S" 现在时间是:2019-11-22 14:11:46
如果要显示的时间不是当前时间,而是经过运算的时间,可以用-d选项。例如一年前的时间:
[root@CentOS-7-43 ~]# date "+回到1年前:%Y-%m-%d %H:%m:%S" -d "-1 year"
回到1年前:2018-11-22 14:11:12
显示十天后的时间:
[root@CentOS-7-43 ~]# date "+%Y-%m-%d %H:%m:%S" -d "+10 day"
2019-12-02 14:12:09
有时候需要获取当前时间距离1970年0时0分0秒所经历的秒数,保存在变量中:
[root@CentOS-7-43 ~]# ttime=`date "+%s"`
[root@CentOS-7-43 ~]# echo $ttime
1574405251
用 -s选项可以设置系统时间:date -s "20191122 14:53:53"
hwclock 同步系统时间和硬件时钟
-s 以硬件时间为准
-w 以系统时间为准
cal 显示当前月日历