linux bash基本特性
一.bash 基础特性
(1)命令历史的功能
history:
环境变量
HISTSIZE:命令历史记录的条数
HISTFILE: ~/.bash_history 每个用户都有自己独立的命令历史文件
HSTFILESIZE:命令历史文件记录历史的条数
history -d OFFSET:删除命令历史第几条
history -c:清空命令历史
history #:显示最近#条命令历史
history -a:手动增加当前会话缓冲区的命令至命令历史文件中
调用历史中的命令:
!#:重复执行命令历史中第#条指令
!!:上一条
!string:最近一个以指定string开头的命令
调用上一条命令的最后一个参数:
!$:
先ESC在按.
控制命令历史的记录方式:
环境变量:HISTCONTROL
ignoredups:忽略重复命令,连续且相同方为重复
ignorespace:忽略所有以空白字符开头的命令
ignoreboth:表示以上两种都生效
修改环境变量的方式:
export 变量名 ="值"
如:export HISTCONTROL="ignorespace"
变量赋值:把符号后面的数据存储于变量名指向的内存空间
(2)命令补全带提示功能
tab 直接补全:用户给定的字符串,只有唯一对应的一个命令
先输入开头字符,然后连续两次tab键
tab也可以进行路径补全
(3)命令行展开:
~:展开为用户的主目录
~USERNAME:展开为指定用户的主目录
{} :可承载一个以逗号分隔的列表,并将其展开为多个路径 例:/tap/{a,b} 相当于 /tap/a ,/tap/b
(4)命令执行状态
成功 0
失败 1-255
bash使用特殊变量保存最近一条命令的执行状态的结果保存在$?变量中,查看命令执成功与否的命令: echo $?
(5)程序执行有两类结果
程序返回值:用 ls /var 查看
程序执行的状态结果 echo $?
二.目录管理命令:
cd,pwd,ls,mkdir,rmdir
1.mkdir :创建文件夹,不可重名
mkdir [options] /path/to/somewhere
-p:文件夹存在时,不报错,且可自动创建所有的各级目录
-v:显示详细信息,显示过程
-m :创建目录是直接指定权限
mkdir -p :例子 mkdir -p /etc/a/test1 存在时,不报错,可以递归创建个个目录
2.rmdir :删除空目录
3.tree:显示文件夹下的层级目录
-d 只显示目录
-l
三.文本类文件查看类命令:
1.cat
2.tac
3.more
more [options...] FILE...
-d :显示翻页及退出选项
4.less
less [options...] FILE...
5.tall 尾部,获取文件的后多少行
tall [OPTION]... [FILE]...
6.head 头部,获取文件的前多少行
head [OPTION]... [FILE]...
-c:指定获取前多少个字节
-n:指定获取前多少行 head -n 100 /FILENAME
-f :跟踪显示文件新追加的内容,需要用ctrl+c退出
四.文件的时间戳管理工具
touch
查看文件状态:stat FILENAME
三个时间戳:
access time :访问时间 ,简写actime 读取文件内容
modify time :文件最近一次修改时间,改变文件内容(数据)
change time:文件改变时间,元数据发生改变(元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode...)等等)
1.touch
touch FILENAME :如果该文件不存在,就创建文件
touch -a 只改访问时间戳
touch -m 只改修改时间
touch -t :例 touch -a -t 201901061621.59 FLIENAME 将访问时间改为20190106162159
touch -c:文件不存在时,不创建
打开一个文件:nano FILENAME ,保存ctrl+o ,ctrl+i退出
有疑问可以加wx:18179641802,进行探讨