1. 命令别名
- 查看当前用户别名定义:alias
示例:
[root@guox ~]# alias
alias cp=’cp -i’
alias egrep=’egrep –color=auto’
alias fgrep=’fgrep –color=auto’
alias grep=’grep –color=auto’
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’
- 定义别名:alias NAME=’COMMAND’
示例:
[root@guox mnt]# alias ls=’ls -l’
[root@guox mnt]# ls
总用量 828
dr-xr-xr-x. 4 root root 2048 2月 20 2015 addons
dr-xr-xr-x. 3 root root 2048 2月 20 2015 EFI
-r–r–r–. 1 root root 8266 4月 4 2014 EULA
-r–r–r–. 1 root root 18092 3月 6 2012 GPL
dr-xr-xr-x. 3 root root 2048 2月 20 2015 images
dr-xr-xr-x. 2 root root 2048 2月 20 2015 isolinux
dr-xr-xr-x. 2 root root 2048 2月 20 2015 LiveOS
-r–r–r–. 1 root root 114 2月 19 2015 media.repo
dr-xr-xr-x. 2 root root 790528 2月 20 2015 Packages
- 撤销别名:unalias NAME
示例:
[root@guox mnt]# unalias ls
[root@guox mnt]# ls
addons images Packages RPM-GPG-KEY-redhat-release
EFI isolinux release-notes TRANS.TBL
EULA LiveOS repodata
GPL media.repo RPM-GPG-KEY-redhat-beta
2.命令历史
- 查看命令历史列表:history(文件默认存放在~/.bash_history)
示例:
[root@guox mnt]# history
1 alias ls=’ls -l’
2 ls
3 unalias ls
4 ls
5 history
调用历史列表中的命令:
!#:再一次执行历史列表中的第#条命令;
!!:再一次执行上一条命令,也可以用向上箭头;
!STRING:再一次执行命令历史列表最近一个以STRING开头的命令;
示例:
[root@guox mnt]# !162
cd /home/
[root@guox home]# !!
cd /home/
[root@guox home]# !l
ls
a b c guox ln02 ln03 test
其他常用参数:
-c:清空命令历史;-d offset:删除指定命令历史;
-r : 从文件读取命令历史追加至历史文件中;
-w:把历史列表中的命令追加至历史文件中;
histroy #:显示最近的#条命令;
3.快捷键
Ctrl+a:跳转至命令行行首
Ctrl+e:跳转至命令行行尾
Ctrl+u:删除行首至光标所在处之间的所有字符;
Ctrl+k:删除光标所在处至行尾的所有字符;
Ctrl+l:清屏,相当于clear
4.命令补全和路径补全
命令查找和补全机制:
(1) 查找内部命令;
(2) 根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名;
(3) 给定开头的部分字符串如果能惟一标识某命令程序文件,则直接补全;
不能惟一标识某命令程序文件,再按tab键一次,会给出列表;路径补全:
在给定的起始路径的上级目录下,以对应路径下的打头字符串来逐一匹配上级目标下的每个文件:
(1) 惟一标识:tab补全;
(2) 不能惟一标识:两次tab给出列表;
(3) 错误路径:没有响应;
示例:
[root@guox ~]# user
useradd userformat userinfo usermount userpasswd
userdel userhelper usermod usernetctl users
[root@guox ~]# cd /home/
a/ b/ c/ guox/
5.命令行展开
把命令行的给定的特殊符号自动替换为相应字符串的机制;
~: 自动替换为用户家目录;
~USERNAME:自动替换为指定用户的家目录;
{}:可承载一个以逗号分隔的路径列表,能够将其展开为多个独立路径;
示例:
[root@guox home]# cd ~
[root@guox ~]# pwd
/root
[root@guox ~]# cd ~guox
[root@guox guox]# pwd
/home/guox
[root@guox guox]# mkdir -p {a,b,c}
[root@guox guox]# ll
总用量 0
drwxr-xr-x. 2 root root 6 9月 25 10:16 a
drwxr-xr-x. 2 root root 6 9月 25 10:16 b
drwxr-xr-x. 2 root root 6 9月 25 10:16 c
6.命令的执行状态结果
命令的执行状态结果:
成功:0
失败:1-255
一个特殊变量来保存最一次执行的命令的状态结果:$?
示例:
[root@guox guox]# echo $HOSTNAME
guox.top
[root@guox guox]# echo $?
0
[root@guox guox]# echoabc $HOSTNAME
bash: echoabc: 未找到命令…
[root@guox guox]# echo $?
127
7.glob
- 文件名通配;快速引用多个文件;文件名整体匹配度检测;
- 元字符:基于元字符可编写匹配模式(pattern):
元字符 | 作用 |
---|---|
* | 匹配任意长度的任意字符 |
? | 匹配任意单个字符 |
[ ] | 匹配指定集合内的任意单个字符 |
[^ ] | 匹配指定集合外的任意单个字符 |
^ | 匹配一行的开头位置 |
$ | 匹配一行的结束位置 |
^$ | 匹配空行 |
示例:
[root@guox bin]# ls w?
wc
[root@guox bin]# ls y*
yelp ypdomainname yum-builddep yum-debug-dump yumdownloader
yes yum yum-config-manager yum-debug-restore yum-groups-manager