首页 > 代码库 > 08-bash基础特性及基础命令

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

bash的基础特性


    (1)命令历史

history

HISTSIZE : 命令历史记录的条数:

HISTSIZE : ~ /.bash_history

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

history -d OFFSET

   -c

history #: 显示历史最近的#条命令:

-a :手动追加当前会话缓冲区的命令历史 至历史文件中:

调用历史中的命令:

   !#:重复执行第#条指令:

!!:

!l:

调用上一条命令最后一个参数:

!$

ESC .

Alt+.

控制命令历史的记录方式:

环境变量 :HISTCONTRO

ignredups: 忽略重复的命令: 连续其相同方为"重复":

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

ignoreboth: ignredups, ignorespace

修改环境变量值的方式: export 变量名“值”

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


(2)命令补全

bash执行命令:

内部命令:

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

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

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

(3)路径补全

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

如果唯一 : 则直接补全:

否则:在次Tab ,给出列表:

(4)命令行展开

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

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

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

/tmp/{a,b} ~ /tmp/a , /tmp/b

/tmp/{tom,jerry}/hi ~ /tmp/tom/hi ,/tmp/jerry/hi

(5)命令执行结果状态

成功

失败

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

0:成功

1-255:失败

程序执行有两类结果

程序的返回值:

程序的执行状态结果:



  目录管理命令:

   cd,pwd。ls,

   

   mkdir ,rmdir ,tree

mkdir /etc/a/b/c/d


mkdir [options] /path/to/somewhere

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

-v:显示详细信息

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

tree:

-d :显示目录

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

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

rmdir: 删除空目录

rmdir [OPTION]... DIRECTORY...

-v显示过程

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

mkdir /tmp/x/{y1,y2}/{a,b}


 (2) 如何创建x_m y_m x_n y_n

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


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

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


 

文本文件查看类命令:

cat,tac

more , less, tail,head

 more


  more [OPTION]  FILE....

  -d:显示翻页及退出提示:

  

  less

     less [OPTIONS...] FILE ....

 

 

  head

head [OPTIONS...] FILE ....

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

-n#:指定获取前#行


     -#

tail 

tail [OPTIONS...] FILE ....

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

   -n#:指定获取前#行


         -#

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

文件的时间搓管理工具

touch

文件metadata date

查看文件状态:stat

三个时间

Access: 2016-09-19 17:07:14.338002716 -0400 访问时间 简写atime  读取文件内容

Modify: 2016-09-02 07:27:35.328278508 -0400  修改时间 mtime 改变文件内容 (数据)

Change: 2016-09-02 07:27:35.330278499 -0400  访问时间 ctime 元数据发生改变


touch命令:

touch [OPTION]  FILE....

-a:only atime

-m :only mtime

-t STAMP:

[CC]YY]MMDDhhmm[.ss

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


本文出自 “linux自动化运维” 博客,转载请与作者联系!

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