1.5-bash基础特性及基础命令

bash的基础特性:

(1)命令历史:history

环境变量:

HISTSIZE:命令历史记录的条数

HISTFILE:~/.bash_history

HISTFILESIZE:命令历史文件记录历史的条数

控制命令历史的记录方式

环境变量:HISTCONTROL

ignoredups:忽略重复的命令:连续且相同方为“重复”

ignorespace:忽略所有以空白开头的命令

ignoreboth:ignoredups+ignorespace

修改环境变量值的方式:export 变量名="值"

变量赋值:把赋值符号后的数据存储于变量名指向的内存空间


(2)命令补全

bash执行命令:

内部命令:

外部命令:bash根据$PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到即为要执行的命令

直接补全:Tab:用户给定的字符串只有一条唯一对应的命令

用户给定的字符串为开头对应的命令不唯一,则再次Tab会给出列表


(3)路径补全

用户给出的字符串当作路径开头,并在其指定上级目录搜索以指定的字符串开头的文件

如果唯一,则直接补全

否则,再次Tab,给出列表



目录操作类命令:

cd,pwd,ls

mkdir,rmdir,tree


mkdir:创建目录

mkdir [options] /PATH/TO/SOMEWHERE

-p:存在并不报错,且可自动创建所需的各目录

-v:显示详细的信息

-m MODE:创建目录时直接指定权限


tree:显示目录层级结构

-d:只显示目录

-L level:指定显示的层级数目

-P pattern:只显示由指定pattern匹配到的路径


rmdir:删除空目录

rmdir [OPTION]... DIRECTORY...

-v:显示过程


(4)命令行展开

~:展开为用户的主目录

~USERNAME:展开为指定用户的主目录

{}:可承载一个以逗号分隔的列表,并将其展开为多个路径

/tmp/{a,b,c} == /tmp/a,/tmp/b,/tmp/c


(5)命令的执行结果状态

bash使用特殊变量$?保存最近一条命令的执行状态结果

成功:0

失败:1-255

程序执行有两类结果:

程序的返回值

程序的执行状态结果


练习:

(1)如何创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b,/tmp/x/y2/a,/tmp/x/y2/b

mkdir -p /tmp/x/y{1,2}/{a,b}

(2)如何创建x_m,y_m,x_n,y_n

mkdir {x,y}_{m,n}

(3)如何创建/tmp/bin,/tmp/sbin,/tmp/usr,/tmp/usr/bin,/tmp/usr/sbin

mkdir -p /tmp/{bin,sbin,usr/{bin,sbin}}


文本文件查看类命令:

cat,tac

more,less,tail,head


more

-d:显示翻页退出提示

less


head

head[OPTION]... [FILE]...

-c #:指定获取前#字节

-n #:指定获取前#行

-#:指定获取前#行

tail

tail [OPTION]... [FILE]...

-c #:指定获取后#字节

-n #:指定获取后#行

-#:指定获取后#行

-f:跟踪显示文件新追加的内容


文件的时间戳管理工具

touch

文件Metadata,data

查看文件状态:stat

三个时间戳:

access time:访问时间,atime,读取文件内容

modify time:修改时间,mtime,修改文件里的内容(数据)

change time:改变时间,ctime,修改元数据


touch [OPTION]... FILE...

-a:only atime

-m:only mtime

-t STAMP:

[[CC]YY]MMDDhhmm[.ss]

-c:如果文件不存在,则不予创建

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...