Linux 命令解释器-shell
概念
shell :壳,命令解释器,负责解析用户输入的命令
分类:
内置命令 (shell 内置 ) , shell 为了完成自我管理和基本的管理,不同的 shell 内置不同的命令,但是大
部分都差不多
外置命令,在文件系统的某个目录下,有个与命令名称相同的文件
type 命令
作用
查看命令是内置命令、外置命名、 alias 命令
格式
type - 参数 命令名
参数
type -a 列出当前命令可以如何执行type -t 仅列出命令按照哪种方式执行
[root@server ~]# type -a cd
cd 是 shell 内建
cd 是 /usr/bin/cd
[root@server ~]# type cd
cd 是 shell 内建
[root@server ~]# type -t cd
builtin # 内置命令
[root@server ~]# type tree
tree 是 /usr/bin/tree
[root@server ~]# type -t tree
file
[root@server ~]# type wget
wget 是 /usr/bin/wget
[root@server ~]# type ls
ls 是“ls --color=auto”的别名
[root@server ~]# type ping
ping 是 /usr/sbin/ping
[root@server ~]# alias ping='ping -c 5'
[root@server ~]# type ping
ping 是“ping -c 5”的别名
[root@server ~]# ping www.qq.com
PING ins-r23tsuuf.ias.tencent-cloud.net (101.91.22.57) 56(84) 比特的数据。
64 比特,来自 101.91.22.57 (101.91.22.57): icmp_seq=1 ttl=128 时间=31.0 毫秒
64 比特,来自 101.91.22.57 (101.91.22.57): icmp_seq=2 ttl=128 时间=29.2 毫秒
Linux 中的特殊符号
命令别名
作用
别名:命令的快捷方式,对于需要经常执行,且要很长时间输入的长命令很有用。
格式
alias 别名='原命令 - 参数
[root@server ~]# 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 ping='ping -c 5' # 上例新建的
alias rm='rm -i'
alias xzegrep='xzegrep --color=auto'
alias xzfgrep='xzfgrep --color=auto'
alias xzgrep='xzgrep --color=auto'
alias zegrep='zegrep --color=auto'
alias zfgrep='zfgrep --color=auto'
alias zgrep='zgrep --color=auto'
常用的别名
untar
由于 tar 命令的参数太多不好记忆,所以将解压缩设为如下:
alias untar='tar -zxvf'
wget
下载大文件时的断点续连,防止网络异常中断:
alias wget='wget -c '
getpass
生成 20 个字符的随机数密码,使用 openssl 命令,但命令又很长不方便,可以设置别名
alias getpass="openssl rand -base64 20"
ping
ping url 时会无限次输出,但其实没多大意义,可以使用 -c 命令将其限制为 5 次输出
alias ping='ping -c 5'
speed
测试网速命令 speedtest-cli ,为了方便使用可以设置别名:
安装 : speedtest-cli 是基于 python 编写的需要使用 pip 工具下载
[root@server ~]# pip install speedtest-cli
bash: pip: command not found...
Install package 'python3-pip' to provide command 'pip'? [N/y] y
* Waiting in queue...
* Loading list of packages....
The following packages have to be installed:
python3-pip-21.2.3-6.el9.noarch A tool for installing and managing Python3
packages
Proceed with changes? [N/y] y
ipe
公网 IP 别名设置:
alias ipe='curl ipinfo.io/ip'
[root@server ~]# alias ipe='curl ipinfo.io/ip'
[root@server ~]# ipe
113.132.176.202[root@server ~]#
c
清屏,一般使用 ctrl + l 快捷键,也可以将 clear 命令定义得更短,这样使用起来更直接,更粗暴。
alias c='clear'
删除别名
格式
unalias 别名
[root@server ~]# alias
[root@server ~]# unalias ping
注意:
在命令行中使用 alias 命令设置的别名仅在该次登入有效,如果重新开启一个 Shell ,或者重新登录系
统,则这些 alias 将无法使用。
在 linux 中提供 alias 永久化的方法:
将别名命令写入到 ~/.bashrc 和 /etc/bashrc 文件中
执行 source ~/.bashrc 和 source ~/etc/bashrc 生效