目录
一、shell-命令解释器
shell------壳,命令解释器,负责解析用户输入的命令
------内置命令(shell内置)
------外置命令,在文件系统的某个目录下,有个与命令名称相同的文件
type命令用来查看命令是file、alias还是builtin
type -a 列出当前命令可以如何执行
type -t 仅列出命令按照哪种方式执行
alias命令可以创造属于个人的命令 (命令别名)
格式:alias 新命令 = '命令组合' (每个命令之间用";"隔开)
XML
#查看设置的别名
[root@node13 ~]# 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'
......
#删除别名:
[root@node13 ~]#unalias 别名
当我们alias进行自定制命令时,在命令行定义的命令是一次性的,当关闭了命令行,该命令就被删除了
如果需使用永久性的自定义命令,则需要将命令定义在 .bashrc 或 .bash_profile 中
XML
#打开配置文件
[root@RHEL ~]# vim .bashrc
#在文件中 添加自定义命令
...
alias myls='ls -Al'
...
#重新加载配置文件
[root@RHEL ~]# source .bashrc
每一个用户的家目录都有两个关于用户的配置文件
.bashrc(su可以加载到)
.bash_profile(su -才能加载到)
二、Linux中的特殊符号
|-----------------|---------------------------------------------|--------------------------------------------------------------------------------|
| 特殊符号 | 功能 | 说明 |
| ; | 可使用分号分隔多条命令 | 在一行上输入和执行多条较短的命令,可使用分号来分隔命令 |
| * | 匹配任意零个或多个字符 | 不能用于创建文件 |
| ? | 匹配任意单个字符 | 不能用于创建文件 |
| [] | 匹配方括号中的任意一个字符,表示范围可以用"-" | 不能用于创建文件 |
| [^] [!] | 匹配方括号中的任意一个字符或数字后进行取反 | 用于查找和删除文件,不用于创建文件 |
| {string,string} | 匹配括号中的任意一个字符串,表示一个范围时,字符串之间加上".." | 可用于创建、查看、删除文件 |
| \ | 使\后面的特殊字符失效 | 例:在命令行后加"\",再按回车键并不表示执行该命令,而是表示换行,通过此方式将一个较长的命令分成多行表达,增强命令的可读性。换行后系统自动显示提示符> |
| ` | 反引号,一般用于引用命令,执行的时候反引号里面的命令会被执行,与()作用相同** | |
| **'** | **单引号,将单引号内的所有内容都原样输出** | **所有特殊字符在单引号中都会失去特殊含义** |
| **"** | **双引号,除了几个特殊字符外,将双引号内的几乎所有内容都原样输出** | **"" 、"\"、 "`"在双引号里仍然保留自己的特殊含义 |
三、命令历史--history
history------可以用来查阅命令历史记录,也可在命令行利用向上或向下光标键来进行查询
语法:history [选项] [参数]
选项:
number 显示最近number条的命令历史
-c 清空当前历史命令
-a [file] 后面没跟文件时,默认将缓冲区中历史命令写入~/.bash_history中(可指定文件,将当前shell缓存命令保存到该文件中)
-r [file] 将历史命令文件中的命令读入当前历史命令缓冲区中(将指定文件的命令读取到shell缓冲区中,如果缺省文件则默认从.bash_history)
-w 将当前历史命令缓冲区命令写入历史命令文件中
XML
[root@localhost ~]# history 5
80 type ls
81 type cd
82 cd ..
83 ll
84 history 5
!84 将第84条命令再执行一遍
[root@localhost Documents]# !84
history 5
92 history -10a new_ history.txt
93 history -10 -a new_ history.txt
94 cat history.txt
95 ll
96 history 5
!!执行上一条命令
[root@localhost Documents]# !!
history 5
92 history -10a new_ history.txt
93 history -10 -a new_ history.txt
94 cat history.txt
95 ll
96 history 5
命令行中的其他快捷键:
ctrl+d 输入已结束;也可当做exit
ctrl+c 键盘中断请求,终止当前的命令
Ctrl+a 移动到当前行的开头
Ctrl+e 移动到当前行的结尾
Ctrl+l 清屏==clear
Ctrl+u 剪切命令行中光标所在处之前的所有字符(不包括自身)
Ctrl+k 剪切命令行中光标所在处之后的所有字符(包括自身)
ctrl+←/→ 光标在命令行中按照单词跳转
引用上一条命令的最后一个参数
方法1:!$
方法2:先按Alt再输入.
方法3:先按Esc在输入.