Linux命令之bash的基础特性(命令历史命令补全路径补全命令行展开。)
Posted 刘小创
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令之bash的基础特性(命令历史命令补全路径补全命令行展开。)相关的知识,希望对你有一定的参考价值。
- 命令历史
history:
环境变量:
HISTSIZE:命令历史记录的条数
HISTFILE:~/.bash_history
HISTFILESIZE:命令历史文件记录历史的条数
history -d OFFSET : 删除某条历史记录
history + 数字:显示最近n条历史记录命令
调用历史命令:
!+数字:例如!3:重复第三条历史命令
!!:重复上一条命令
!string:最近一次以指定字符串开头的命令
调用上一条命令最后一个参数:
!$
ESC 然后再按 .
Alt + .
控制命令历史的记录方式:
环境变量:HISTCONTROL
ignoredups:忽略重复的命令(命令必须连续并且一样才算重复)
ignorespace:忽略空白开头的命令
ignoreboth:上两条都忽略
修改环境变量值:export 变量名=“值”
2.命令补全
bash执行命令:
内部命令:
外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到即为要执行的命令
直接补全:Tab,用户给定的字符串只有一条唯一对应的命令
间接补全:用户给定的字符串为开头对应的命令不唯一,按两下Tab给出所有满足条件的列表
3.路径补全
把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定字符串开头的文件名:
如果唯一:则直接补全
如果不唯一:再按一下Tab,显示所有满足条件列表
4.命令行展开
~:展开为用户的主目录
~USERNAME:展开为指定用户的主目录
{}:可承载一个以逗号分隔的列表,并展开为多个路径
例如: /tmp/{a,b} = /tmp/a 和 /tmp/b
/tmp/{a,b}/c = tmp/a/c 和 /tmp/b/c
5.目录管理类命令
mkdir [options] /path/to/somewhere
-p:如果中间目录不存在,不报错,逐级创建个各目录
-v:显示详细信息
-m:创建目录时指定权限
tree
-d:只显示目录
-L:指定显示的层级数目
-P:只显示由指定P匹配到的路径
rmdir:删除空目录
-v:显示过程
以上是关于Linux命令之bash的基础特性(命令历史命令补全路径补全命令行展开。)的主要内容,如果未能解决你的问题,请参考以下文章