从零开始学习Bash基础特性

5 篇文章 0 订阅

1.命令历史


①修改环境变量
shell> export 变量名='值'
  
  永久需修改环境变量
shell> vi .bash_profile 将绝对路径加入其中

②先按Esc,再按.可实现调用上一次的变量
  !$ 也可实现调用上一次变量

2.命令补全

Tab补全

3.路径补全

Tab补全

4.命令行展开

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

5.命令的执行结果状态

bash使用特殊变量$?保存最近一条命令的执行结果状态
echo $? 查看命令执行的结果状态
     0     成功
     1-255 失败
程序执行两类结果
    程序的返回值
    程序的执行状态结果

6.命令别名(alias)

(1)alias
   显示当前shell进程所有可用的命令别名
(2)alias NAME='VALUE'
   定义别名NAME,其中相当于执行命令VALUE
   
   注意:命令行定义的别名仅对当前shell有效,如需永久生效需修改配置文件
   仅当前用户:~/.bashrc
   对所有用户有效:/etc/bashrc
   
   配置文件修改后不会直接生效,需重新读取配置文件
   bash进程重新读取配置文件
   ①source /path/to/config_file
   ②. /path/to/config_file
(3)unalias
   unalias NAME 撤销别名
           -a   撤销所有别名
(4)如果别名与原命令相同名称,可使用"\COMMAND"

7.glob(globbing)

bash中用于实现文件名“通配”
通配符:*,?,[]
(1)*:任意长度的任意字符
(2)?:任意单个字符
(3)[]:匹配指定范围内的任意单个字符
   [0-9]
   [a-z]:不区分大小写
   [A-Z]:大写字母
(4)^:匹配指定范围外的任意单个字符
   [^0-9a-z]
(5)专用字符集合
   [:digit:]:任意数字,相当于0-9
   [:lower:]:任意小写字母
   [:upper:]:任意大写字母
   [:alpha:]:任意大小写字母
   [:alnum:]:任意数字或字母
   [:space:]:空格字符
   [:punct:]:标点符号

8.bash快捷键

Ctrl+l:清屏,相当于clear

Ctrl+a:跳转至命令开始处
Ctrl+e:跳转至命令结尾处

Ctrl+c:取消命令的执行

Ctrl+u:删除命令行首至光标所在处的所有内容
Ctrl+k:删除光标所在处至命令行尾部的所有内容
Ctrl+d:重新登陆

9.bash的I/O重定向及管道

程序:指令+数据
    读入数据:Input
    输出数据:Output
    
打开的文件都有一个fd:file descriptor(文件描述符)
    标准输入:keyboard,0
    标准输出:monitor,1
    标准错误输出:monitor,2
    
I/O重定向:改变标准位置
①输出重定向:COMMAND > NEW_POS,COMMAND >> NEW_POS
  >:覆盖重定向,目标文件种的原有内容会被清除
  >>:追加重定向,新内容会追加至目标文件尾部
  # set -C:禁止将内容覆盖输出至已有文件种
  强制覆盖:>
  # set +C:恢复
    
  2>:覆盖重定向错误输出数据流
  2>>:追加重定向错误输出数据流
    
  标准输出和错误输出各自定向至不同位置
  COMMAND > /path/to/file.out 2> /path/to/error.out
    
  合并标准输出和错误输出为同一个数据流进行重定向
  &>:覆盖重定向
  &>>:追加重定向
    
  COMMAND > /path/to/file.out 2> &1
  COMMAND >> /path/to/file.out 2>> &1
 ②输出重定向:<
   tr命令:转换或删除字符
   tr SET1 [SET2] 将SET2字符转换为SET1字符
   tr -d SET1 删除SET1字符
   
   HERE Documentation: <<
   # cat << EOF
   # cat > /path/to/somfile << EOF
 ③管道
   COMMAND1 | COMMAND2 | COMMAND3 | ...
   NOTE:最后一个命令会在当前shell进程的子shell进程中执行
   
   tee命令:将输入的内容输出到文件
   tee FILE 将输入的内容输出到FILE
   tee -a FILE 将输入的内容追加输出FILE
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值