-
rmdir 删除空目录
-
tree
-l 指定显示的层级目录 -d 只显示目录 -
mkdir 连续创建同一层级目录
mkdir /data/{a,b} = /data/a,/data/b -
$? 保存上一条命令执行结果
0 成功 1~255 失败
文件查看类
cat tac more less tail head
文件时间戳管理工具
- touch
查看文件状态 使用 stat
e.g. stat a.log
每个文件都有三个时间戳
* acccess time:访问时间 简写为 atime 读取文件内容
* modify time:修改时间 mtime 改变文件内容
* change time:改变时间 ctime 元数据发生改变
touch 可以修改 atime 与 mtime ctime随着atime与mtime 改变而改变
* e.g. touch a.log (修改时间戳到目前的时间)
-a 修改atime
-m 修改mtime
-t 指定时间修改 年月日时分.秒
-c 如果文件不存在 则不予创建
文件管理类
cp mv rm
-
复制命令 cp
cp 源a 目标b
-
源为文件
目标不存在 则新建目标并将内容填充 如目标存在: 为文件的话,则直接覆盖原文件,因此建议使用-i选项,会有提示是否覆盖。 为目录的话,则在目录下新建同名文件,并填充。 -
源为多个文件
目标必须存在,且为目录,无其他情况 -
源是目录
此时使用选项-r 可递归复制 如果目标不存在,则创建指定目录。复制所有文件至目标中 如果目标存在: 是文件 则报错 是目录 在目标目录下创建同名目录并复制所有文件至目标中
选项
-i:交互式 -r -R:递归 -a:归档 相当于-dr --preserv=all -d 不追踪符号链接 --preserv 保留某些文件属性 默认保留 mode:权限 ownership:属组属主 timestamp:时间戳 其余为links:链接属性 xattr:拓展属性 context 安全上下文 只有在加 = 指明时才会保留其他属性 -p:保留权限 属组属主 时间戳 相当于 --preserv=mode,ownership,timestamp -v:显示详细过程 -f:强制 非交互式 -
-
移动命令 mv
-
删除命令 rm
文本编辑器
nano 全屏幕文本编辑器
nano a.log
bash的基础特性
命令别名 撤销别名 glob 快捷键 IO重定向及管道
-
alias 命令别名
(1)alias
alias不带任何参数 则会显示当前shell进程中所有命令别名
(2)alias a='b'
定义别名a,其相当于执行命令b
永久有效
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
注意: 编辑配置文件,当前进程不会立即生效,新进程才会读取。若要当前进程生效,需要 source 配置文件 或 . 配置文件
-
unalias 撤销别名
unalias 别名
如果别名与原命令相同,如果要执行原命令,可使用 \命令
-
glob 通配符机制
通配符包括:* ? []
(1) *
表示 任何长度的任何字符
(2) ?
表示 任意单个字符
(3) []
匹配指定范围内的任意单个字符
[a-z]:不区分大小写
[A-Z]:只区分大写
[^]:取反 匹配指定范围外的任意单个字符
- 快捷键
Ctrl+l:清屏
Ctrl+a:跳转命令开始处
Ctrl+e:跳转命令结尾处
Ctrl+u:删除首部至光标处所有内容
Ctrl+k:删除光标至尾部
*I/O重定向
改变标准位置
(1)输出:
输出重定向: > 覆盖 >> 追加
set -C:禁止将内容覆盖输出至已有文件中:
强制覆盖:>|
set +C:取消禁止内容覆盖
set -C 与 set +C 都是只对当前shell有效
2>:覆盖重定向错误输出数据流:将错误的提示输出到指定目标去
2>>:追加重定向错误输出数据流:
合并标准输出和错误输出为同一个数据流进行重定向:
&>:覆盖重定向
&>>:追加重定向
可合并写作 command > /path/to/file.out 2>&1 即 重定向输出到file.out 2> 错误输出也输出至 &1 也就是file.out
(2)输入:
输入重定向:<
创建文档:<< 键盘上键入的数据可保存在定向目标文件中
cat >> /a/b/c.log << EOF 即打出EOF 键入即结束
tr命令:转换或删除字符
e.g. tr abc ABC 即可同位替代 后面的替换前面的
tr -d abc 删除指定字符
管道 | : 第一个命令的输出送给第二个命令当输入 可以无限制往下。最后一个命令在当前进程的子shell下执行
tee命令:一路输入 产生两路输出(标准输出屏幕 和 指定的目标文件)