Bash基础特性 -- 卷一

 Linux Bash的基础特性

一、history(命令历史记录)

1、语法与常用参数

history

列出当前shell的所有history

history [-c]

将当前shell的所有 history 清除

history [n]

n为数字,列出最近的n条记录

history [-raw] histfiles

-a [HISTFILES]
:手动追加当前会话缓冲区的命令历史至文件中,如果histfiles事先不存在,则创建, 如果不指定histfiles文件,则默认写入~/.bash_history中

-r HISTFILES : 将histfiles中的内容读取到当前shell的history中

-w HISTFILES : 将当前shell 的history写入之histfiles文件中

2、环境变量

HISTSIZE:命令历史记录的条数,默认为1000条

HISTFILE:~/.bash_history

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

[[email protected] ~]# echo $HISTFILE
/root/.bash_history
[[email protected] ~]# echo $HISTSIZE
1000
[[email protected] ~]# echo $HISTFILESIZE
1000

3、history的调用

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

!!:执行上一条命令

!string:执行最近一条包含指定字符串的命令

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

[[email protected] ~]# history 10
 1019  history -a 11.txt
 1020  cat 11.txt 
 1021  echo $HISTSIZE
 1022  ls
 1023  echo $HISTFILESIZE
 1024  history
 1025  ping baidu.com
 1026  alias
 1027  ls
 1028  history 10
#####!#
[[email protected] ~]# !1026
alias
alias cdnet=‘cd /etc/sysconfig/network-scripts‘
alias cp=‘cp -i‘
alias l.=‘ls -d .* --color=auto‘
alias ll=‘ls -l --color=auto‘
alias ls=‘ls --color=auto‘
alias mv=‘mv -i‘
alias rm=‘rm -i‘
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘
#####!!
[[email protected] ~]# !!
alias
alias cdnet=‘cd /etc/sysconfig/network-scripts‘
alias cp=‘cp -i‘
alias l.=‘ls -d .* --color=auto‘
alias ll=‘ls -l --color=auto‘
alias ls=‘ls --color=auto‘
alias mv=‘mv -i‘
alias rm=‘rm -i‘
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘
#####!string
[[email protected] ~]# !ping
ping baidu.com
PING baidu.com (111.13.101.208) 56(84) bytes of data.
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=66.8 ms
64 bytes from 111.13.101.208: icmp_seq=2 ttl=128 time=66.9 ms
64 bytes from 111.13.101.208: icmp_seq=3 ttl=128 time=66.9 ms
64 bytes from 111.13.101.208: icmp_seq=4 ttl=128 time=67.4 ms
^C
--- baidu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7408ms
rtt min/avg/max/mdev = 66.844/67.046/67.480/0.253 ms
#####!$
[[email protected] ~]# ping -c 1 !$
ping -c 1 baidu.com
PING baidu.com (111.13.101.208) 56(84) bytes of data.
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=67.4 ms

--- baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 4071ms
rtt min/avg/max/mdev = 67.433/67.433/67.433/0.000 ms

4、控制命令历史的记录方式

环境变量:HISTCONTROL

ignoredups:忽略重复的命令,连续且相同的命令

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

ignoreboth: 以上两条均生效

修改环境变量:

[[email protected] ~]# export HISTCONTROL=ignoreboth
[[email protected] ~]# echo $HISTCONTROL
ignoreboth

二、命令与路径补全

1、命令补全

bash执行命令,在用户给定的字符串只有唯一对应的命令时,直接Tab补全;如果不唯一,则再次Tab会给出匹配到的命令列表。bash根据PATH变量中定义的路径自左向右寻找唯一匹配字符串的命令,第一次找到的即为要执行的命令

2、路径补全

把用户给出的字符串当作路径开头,并在其指定的上级目录下搜索以指定的字符串开头的文件名,如果唯一,直接补全;否则再次Tab,给出列表


三、命令行展开

~:展开为用户的主目录

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

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

[[email protected] ~]# mkdir -pv /tmp/{1{1.1,1.2},2}/{a,b}
mkdir: 已创建目录 "/tmp/11.1"
mkdir: 已创建目录 "/tmp/11.1/a"
mkdir: 已创建目录 "/tmp/11.1/b"
mkdir: 已创建目录 "/tmp/11.2"
mkdir: 已创建目录 "/tmp/11.2/a"
mkdir: 已创建目录 "/tmp/11.2/b"
mkdir: 已创建目录 "/tmp/2"
mkdir: 已创建目录 "/tmp/2/a"
mkdir: 已创建目录 "/tmp/2/b"

四、命令的执行状态结果

程序执行有两类结果;一类是返回值,一类是执行状态结果

bash的特色标量$?,保存最近一条命令的执行状态结果

0:成功

1-255:失败

[[email protected] ~]# date
2017年 07月 09日 星期日 17:39:35 CST
[[email protected] ~]# echo $?
0
[[email protected] ~]# data
-bash: data: command not found
[[email protected] ~]# echo $?
127

五、alias(命令别名)

1、语法与常用参数

alias[-p] [name[=value] ... ]
    -p:打印已设置的命令别名

alias:显示当前shell进程所有可用的命令别名

alias NAME=‘VALUE‘:定义别名NAME,相当于执行VALUE。

注意:VALUE中有空格等要带引号

2、alias配置

(1)在命令行中定义的别名,仅对当前shell有用

(2)定义在~/.bashrc中对当前用户有效

(3)定义在/etc/bashrc中对所有用户有效

(4)配置完成后,重读配置文件可立即生效

source /etc/bashrc

3、unalias(撤销别名)

unalias[-a] name [name ...]
    -a:撤销所有别名
注意:如果别名同原命令的名称,则如果要执行原命令,可使用"\COMMAND":
时间: 2024-10-02 10:26:21

Bash基础特性 -- 卷一的相关文章

谢烟客---------Linux之Bash基础特性条件测试&&自定义退出状态码(6)

条件测试 判断某需求是否满足,需要由测试机制来实现. 根据命令的执行状态结果,表达不同的测试条件 1.根据id命令的执行状态结果,判断用户是否存在 [[email protected] ~]# id root uid=0(root) gid=0(root) groups=0(root) [[email protected] ~]# echo $? 0 [[email protected] ~]# id help id: help: no such user [[email protected] 

0823第三课-2 Linux的文件系统 bash基础特性

1.linux文件系统 绝对路径:/ LSB: FHS(文件系统层级结构标准) FHS: /boot: 引导文件存放目录,例如kernel(vmlinuz).bootloader(grub, grub2): 包含开机菜单以及开机所需要的配置文件等等 [[email protected] boot]# lsconfig-2.6.32-504.el6.x86_64         lost+foundefi                                  symvers-2.6.3

2017-11-5Linux基础知识(10)bash基础特性

在上一章中我们讲述了bash基础特性之命令补全和路径补全以及它的命令引用,以及讲了文件管理命令,例如:复制.移动和删除,然后我们也讲述了变量,主要围绕着存储格式.数据范围和参与运算.那么这次我们继续讲述bash的基础特性,这一次我们讲述的是文件的通配符和IO重定向等. 一.globbing:文件名通配 我们在查询某些文件的时候,通常是在该目录下进行查找,有的时候文件繁多,想找一些特定的文件就得从该目录下逐个匹配进行查找进行通配,如果没找到则显示为空,找到的话就在下面显示该匹配结果的文件或目录,那

linux文件系统及bash基础特性

linux文件系统 一.根文件系统 linux被识别的第一个被称为根之间关联的文件系统叫做根文件系统(rootfs),其他分区要想被读到,需要挂载到根目录的某个挂载点(根的子目录)上.根文件系统至关重要,整个文件系统统一访问入口. Linux引导启动时,默认使用的文件系统是根文件系统.其中一般都包括这样一些子目录: /boot 系统引导文件存放目录 /bin 供所有用户使用的命令(不能关联到独立分支)不能关联到独立分区,os启动即会用到的程序. /sbin 管理员使用特权命令.root-only

bash基础特性(1)

所有的环境变量可以通过 ehco $# 查看 #为环境变量 bash的基础特性: (1)命令历史 history 环境变量: HISTSIZE:命令历史记录的条数 HISTFILE:~/.bash_history HISTFILESIZE:命令历史文件记录历史的条数 history -d offset 删除某条历史命令 history -c 清空历史命令 history #:显示历史中最近的#条命令 history -a:手动追加当前回话缓冲区的命令历史至历史文件中 调用历史中的命令: !#:重

Linux的文件系统、系统管理类命令、bash基础特性

Linux的文件系统根文件系统(rootfs) root fileysystem LSB,FHS(Filesystem Heirache Standard)文件系统层级结构标准,如:/etc./usr./var./root./home./dev /boot:引导文件存放目录,内核文件(vmlinuz).引导加载器(bootloader,grub)都存放于此目录: /bin:供所有用户使用的基本命令:不能关联至独立分区,OS启动即会用到的程序: /sbin:管理类的基本命令:不能关联至独立分区,O

Linux自学笔记(7):bash基础特性及基础命令

bash的基础特性(1)命令历史history调用上一条命令的最后一个参数!$ESC,.atl+.控制命令历史的记录方式环境变量:HISTCONTROLignoreedups:忽略重复的命令:连续且相同为"重复"ignorespace:忽略所有以空白开头的命令ignoreboth:ignoreedups,ignorespace 修改环境变量的方式:export 变量名为"值"变量赋值:把赋值符号后面的数据存储于变量名指向内存空间:(2)命令补全bash执行命令:内部

谢烟客---------Linux之Bash基础特性算术运算(5)

算术运算 算术:数学中最古老,最基础和最初等的部分.它研究数的性质及其运算.把数和数的性质,数和数之间的四则运算在应用过程中的经验积累起来,并加以整理,就形成了最古老的一门数学--算术 算术运算:数的加.减.乘.除以及乘方开方等数学运算,区别于几何运算. 算术运算的符号 完成基本的算术运算 (arithmetic operators) 符号,就是用来处理四则运算的符号 1)加法:同类事物的重复或累计,是数字运算的开始,不同类比如一个苹果+一个橘子其结果只能等于二个水果就存在分类与归类的关系 公式

BASH基础特性

对BASH做一下总结 一.命令历史特性: history shell进程会其会话中保存此前用户提交执行过的命令 history是shell的内置命令 1. 命令语法格式: history [-c] [-d OFFSET] [n] history -anrw [FILENAME] history -ps VALUE [VALUE...] -c: 清空命令历史: -d offset(偏移量):删除指定命令历史,offset为history显示出来的命令数字 -r: 从文件读取命令历史至历史列表中: