bash特性
history:管理命令历史
登录shell会读取命令历史记录文件,~/.bash_history
登录进shell新执行命令会记录在内存缓存中,用户退出时会追加到历史文件中
$HISTSIZE:命令历史记录的条数
$HISTFILE:~/.bash_history
$HISTFILESIZE:命令历史文件记录历史的条数
$HISTCONTROL:变量默认值ignoredups,可用export HISTCONTROL=值,更改值
ignoredups:忽略记录连续重复的命令
ignorespace:忽略记录以空白开头的命令
ignoreboth:忽略重复和空白开头
history -a:追加缓存命令到历史文件中
history -d N:删除指定编号历史命令
history -c:清空命令历史
history 数字:显示最近多少条
快捷操作:
!N:调用命令历史中第N条命令
!ls:调用命令历史中最近一次以ls开头的命令
!!:运行上一条命令
!$:调用上一条命令的参数(按下esc再按.也是调用上一条参数)
命令补全
路径补全
命令行展开
~:展开为用户家目录
~用户名:展开用户名为用户的家目录
{}:可乘载一个以逗号分隔的列表,并将其展开为多个路径
{a,b}{c,d}=ac ad bc bd,}{中间可加字符
{{}}:可套用
命令执行结果状态:使用特殊变量$?保存最近一次状态结果
0:成功
1-255:失败
目录管理类命令
mkdir(创建目录时当前已存在也不可创建)
-p:存在时不报错,且可自动创建多层目录
-v:显示过程
-m 777:创建时指定权限
rmdir:只可删除空目录
-v:显示过程
tree:显示文件树
-d:只显示目录
-L 数:最多显示几级
-P pattern:只显示匹配到pattern的路径
文本文件查看命令
more
-d:显示翻页及退出提示
less
head:默认显示前10行
-数:指定显示多少行
-c 数:指定显示前多少字符
tail:默认显示后10行
-数:指定显示后多少行
-c 数:指定显示后多少字符
-f:显示后10行,并跟踪显示新追加内容
文件时间戳管理
stat:查看文件状态信息(时间戳)
三个时间戳
access time(atime):最近访问时间
modify time(mtime):最近修改时间
change time(ctime):最近改变时间(文件属性改变)
touch 文件名:更改atime和mtime时间为当前时间(ctime会自动更改)
-a 文件:只改atime(ctime会自动改变)
-m 文件:只改mtime(ctime会自动改变)
-t [[CC]YY]MMDDhhmm[.ss] 文件:更改为指定时间,201712302460.60
-c 文件:如果文件不存在则不创建
history:管理命令历史
登录shell会读取命令历史记录文件,~/.bash_history
登录进shell新执行命令会记录在内存缓存中,用户退出时会追加到历史文件中
$HISTSIZE:命令历史记录的条数
$HISTFILE:~/.bash_history
$HISTFILESIZE:命令历史文件记录历史的条数
$HISTCONTROL:变量默认值ignoredups,可用export HISTCONTROL=值,更改值
ignoredups:忽略记录连续重复的命令
ignorespace:忽略记录以空白开头的命令
ignoreboth:忽略重复和空白开头
history -a:追加缓存命令到历史文件中
history -d N:删除指定编号历史命令
history -c:清空命令历史
history 数字:显示最近多少条
快捷操作:
!N:调用命令历史中第N条命令
!ls:调用命令历史中最近一次以ls开头的命令
!!:运行上一条命令
!$:调用上一条命令的参数(按下esc再按.也是调用上一条参数)
命令补全
路径补全
命令行展开
~:展开为用户家目录
~用户名:展开用户名为用户的家目录
{}:可乘载一个以逗号分隔的列表,并将其展开为多个路径
{a,b}{c,d}=ac ad bc bd,}{中间可加字符
{{}}:可套用
命令执行结果状态:使用特殊变量$?保存最近一次状态结果
0:成功
1-255:失败
目录管理类命令
mkdir(创建目录时当前已存在也不可创建)
-p:存在时不报错,且可自动创建多层目录
-v:显示过程
-m 777:创建时指定权限
rmdir:只可删除空目录
-v:显示过程
tree:显示文件树
-d:只显示目录
-L 数:最多显示几级
-P pattern:只显示匹配到pattern的路径
文本文件查看命令
more
-d:显示翻页及退出提示
less
head:默认显示前10行
-数:指定显示多少行
-c 数:指定显示前多少字符
tail:默认显示后10行
-数:指定显示后多少行
-c 数:指定显示后多少字符
-f:显示后10行,并跟踪显示新追加内容
文件时间戳管理
stat:查看文件状态信息(时间戳)
三个时间戳
access time(atime):最近访问时间
modify time(mtime):最近修改时间
change time(ctime):最近改变时间(文件属性改变)
touch 文件名:更改atime和mtime时间为当前时间(ctime会自动更改)
-a 文件:只改atime(ctime会自动改变)
-m 文件:只改mtime(ctime会自动改变)
-t [[CC]YY]MMDDhhmm[.ss] 文件:更改为指定时间,201712302460.60
-c 文件:如果文件不存在则不创建