bash基本特性及基础命令
文章目录
一、bash特性
1.命令历史
- history命令
环境变量:
- HISTSIZE:命令历史记录的条数
- HISTFILE:~/.bash_history
- HISTFILESIZE:命令历史文件记录历史的条数
调用历史中的命令:
!#:重复执行第#条指令
!!:上一条命令
!string:调用历史中最近一条字符串指令
调用上一条命令的最后一个参数:
- !$(建议使用)
- ESC,.(先按esc再按点号) (建议使用)
- alt+.
控制命令历史的记录方式:
环境变量:HISTCONTROL
- ignoredups:忽略重复的命令;连续且相同方为“重复”
- ignorespace:忽略所有以空白开头的命令
- ignoreboth:相当于上边两条的综合使用
修改环境变量值的方式:export 变量名=“值”
变量赋值:把赋值符号后边的数据存储于变量名指向的内存空间
2.命令补全
2.1 bash执行命令方式
- 内部命令:自带命令
- 外部命令:bash根据PATH环境变量定义的路径,自作而右在每个路径搜寻以用户给定命令名命名的文件,第一次找到即为要执行的命令
2.2 补全命令的方式
- 直接补全:tab键;用户给定的字符串只有一条唯一对应的命令
- 以用户给定的字符串为开头对应的命令不唯一。则再次tab会给出列表啊(按两次tab键)
3.路径补全
3.1 路径补全的原理
把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名,如果唯一,则直接补全;否则按两次tab键给出所有符合条件的列表(操作跟命令补全类似)。
4.命令行展开
- ~:展开为用户的主目录
- ~USERNAME:展开为指定用户的主目录
- {}:可承载一个以逗号分割的列表,并将其展开为多个路径(注意展开列表的生效范围)
比如:/tmp/{a,b}就相当于/tmp/a加/tmp/b
练习:
- 创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b,/tmp/x/
y2/a,/tmp/x/y2/b
答:mkdir /tmp/x/{y1,y2}/{a,b}- 创建x_m,y_m,x_n,y_n
答:mkdir {x,y}_{m,n}- 创建/tmp/bin,/tmp/sbin,/tmp/usr,/tmp/usr/bin,
/tmp/usr/sbin
答:mkdir -p /tmp/{bin,sbin,usr/{bin,sbin}}
5.命令的执行状态(结果)
- 成功
- 失败
bash使用特殊变量$?保存最近一条命令的执行状态结果:
0:成功
1-255:失败
在命令行模式中输入:echo $?就可以查看特殊变量 $?的值
二、目录管理类命令
- cd:进入目录
- pwd:显示当前目录
- ls:显示目录内容
- mkdir:创建目录
使用语法:mkdir [OPTION] 路径
注意点:
- 若是不加-p,创建的目标目录若是没有父目录则会报错
- 使用mkdir可以一次性创建多个目录:mkdir 目录1 目录2 目录3…
OPTION:
- -p 若是目标文件夹没有父目录,则创建
- -v 显示详细信息
- -m MODE:创建目录时直接指定权限
- rmdir:删除目录
使用语法: rmdir [OPTION] 路径
注意点:只能用来删除空目录
OPTION:
- -p 若是目标文件夹没有子目录,则删除(递归删除)
- -v:显示过程
- tree:显示当前目录的树形结构
显示目录的层级目录
语法:tree [OPTION] 目录
OPTION:
- -d:只显示目录
- -L level:指定显示的层级数目
- -P pattern:只显示由指定pattern匹配到的路径
三、文本文件查看类命令
- cat:查看文本文件(内容比较少的时候适用)
- tac:反序查看文本文件(刚好和cat命令的拼写也相反)
- more:查看文本文件
语法:more [OPTION] FILE…
注意:不支持后退,但几乎不需要加参数,空格键是向下翻页,Enter键是向下翻一行,在不需要后退的情况下比较方便。
-d:显示翻页及退出提示
- less:查看文本文件
语法:less [OPTION] FILE…
注意:支持前后翻滚,既可以向上翻页(pageup按键),也可以向下翻页(pagedown按键)
- tail:查看文本文件的结尾
语法:tail [OPTION] FILE…
-c #:指定获取后#个字节
-n #:指定获取后#行
-f:跟踪显示文件新追加的内容(一般用来查看日志文件,随日志文件内容的增加而跟踪读取)
默认获取前十行(tail FILE)
- head:查看文本文件的开头
语法:head [OPTION] FILE…
-c #:指定获取前#个字节
-n #:指定获取前#行
默认获取前十行(head FILE)
四、文件的时间戳管理工具
文件一般由两种数据组成:metadata(元数据)和data(数据)组成。查看文件状态用stat命令来查看。
每一个文件都有三个时间戳:
- access time:访问时间,简写atime,读取文件内容
- modify time:修改时间,简写mtime,改变文件内容(数据)
- change time:改变时间,简写ctime,元数据发生改变
- touch命令
语法:touch [OPTION] FILE
作用:修改atime和mtime
OPTION:
- -a:only atime
- -m:only mtime
- -t:将时间戳修改为指定时间戳
- -c:如果文件不存在,则不会创建文件(若是不加-c则会创建文件)
- 2017-10-27Linux基础知识(9)bash基础特性及基础命令
- linux入门基础——命令行bash的基本操作
- Linux上的文件管理类命令和bash 的基础特性及正则表达式
- Linux入门基础 #1:命令行bash基本操作
- Shell基础-Bash基本功能-历史命令与补全
- Shell基础-Bash基本功能-多命令顺序执行与管道符
- Linux入门基础 #3 命令行BASH的基本操作
- Linux入门基础 #1:命令行bash基本操作
- 1.5-bash基础特性及基础命令
- bash基础特性及基础命令
- bash基础特性及基础命令
- bash 基础特性命令引用
- Linux学习日记 —— 10.3.4 Shell基础-Bash基本功能-多命令顺序执行与管道符
- Shell基础-Bash基本功能-多命令顺序执行与管道符
- 第二周 Linux文件管理类命令及bash基本特性
- shell基础-bash基本功能-多命令顺序执行与管道符
- Linux入门基础 #1:命令行bash基本操作
- bash基础特性及常用命令
- Linux基础--Bash的基本特性
- shell基础-bash基本功能-历史命令与补全