Shell的含义与命令的格式
2020-07-18 05:35
701 查看
1.Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并
把它送入内核去执行
shell也被称为LINUX的命令解释器(command interpreter)
shell是一种高级程序设计语言
sh:Steve Bourne
bash:Bourne-Again Shell,GPL,CentOS 和 Ubuntu 默认使用
csh:c shell , C 语言风格
tcsh
ksh :Korn Shell, AIX 默认 shell
zsh: MacOS默认shell
GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是 Linux标准的shell,与
sh兼容
显示当前使用的shell #echo ${SHELL}
显示当前系统使用的所有shell cat /etc/shells
设置主机名 #hostname NAME 范例:[root@centos8 ~]#hostname bj-yz-k8s-node1-100-10.magedu.com
注意:主机名不要使用下划线
2.命令提示符:prompt 范例:[root@localhost ~]#
# 管理员
$ 普通用户
显示提示符格式:
[root@centos8 ~]#echo $PS1
\[\e[1;35m\][\u@\h \W]\$\[\e[0m\]
修改提示符格式范例 :
PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\
[\e[0m\]\\$"
提示符格式说明:
\e 控制符\033
\u 当前用户
\h 主机名简称
\H 主机名
\w 当前工作目录
\W 当前工作目录基名
\t 24小时时间格式
\T 12小时时间格式
! 命令历史数
# 开机后命令历史数
范例:持久保存提示符格式相关变量 PS1
[root@centos8 ~]# echo 'PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\
[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"' > /etc/profile.d/env.sh
[root@centos8 ~]#cat /etc/profile.d/env.sh
PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\
[\e[0m\]\\$"
[root@centos8 ~]# exit
logout
Connection closed by foreign host.
Disconnected from remote host(centos8) at 15:28:38.
Type `help' to learn how to use Xshell prompt.
[c:\~]$
Reconnecting in 1 seconds. Press any key to exit local shell.
.
Connecting to 10.0.0.100:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Wed Dec 11 15:28:34 2019 from 10.0.0.1
[15:28:40 root@centos8 ~]#
3.
执行命令
执行命令过程
输入命令后回车,提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分
配资源将其运行起来
shell中可执行的两类命令
内部命令:由shell自带的,而且通过某命令形式提供
外部命令:在文件系统路径下有对应的可执行程序文件
shell中可执行的两类命令
内部命令:由shell自带的,而且通过某命令形式提供
外部命令:在文件系统路径下有对应的可执行程序文件
执行外部命令
查看外部命令路径:
Hash缓存表
系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的
路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不
存在,将会去PATH路径下寻找,利用hash缓存表可大大提高命令的调用速率
hash 命令常见用法
hash 显示hash缓存
hash -l 显示hash缓存,可作为输入使用
hash -p path name 将命令全路径path起别名为name
hash -t name 打印缓存中name的路径
hash -d name 清除name缓存
执行外部命令
查看外部命令路径:
Hash缓存表
系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的
路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不
存在,将会去PATH路径下寻找,利用hash缓存表可大大提高命令的调用速率
hash 命令常见用法
hash 显示hash缓存
hash -l 显示hash缓存,可作为输入使用
hash -p path name 将命令全路径path起别名为name
hash -t name 打印缓存中name的路径
hash -d name 清除name缓存
4.命令别名
对于经常执行的较长的命令,可以将其定义成较短的别名,以方便执行
显示当前shell进程所有可用的命令别名
定义别名NAME,其相当于执行命令VALUE
范例:
撤消别名:unalias
注意:在命令行中定义的别名,仅对当前shell进程有效
如果想永久有效,要定义在配置文件中
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
编辑配置给出的新配置不会立即生效,bash进程重新读取配置文件 :source /path/to/config_file
. /path/to/config_file
如果别名同原命令同名,如果要执行原命令,可使用
\ALIASNAME
“ALIASNAME”
‘ALIASNAME’
command ALIASNAME
/path/commmand #只适用于外部命令
5.命令格式
COMMAND [OPTIONS...] [ARGUMENTS...]
选项:用于启用或关闭命令的某个或某些功能
短选项:UNIX 风格选项,-c 例如:-l, -h
长选项:GNU风格选项,--word 例如:--all, --human
BSD风格选项: 一个字母,例如:a,使用相对较少
参数:命令的作用对象,比如:文件名,用户名等
范例:
[root@centos8 ~]#id -u wang
1000
[root@centos8 ~]#ls -a
[root@centos8 ~]#ls --all
[root@centos8 ~]#free -h
[root@centos8 ~]#free --human
[root@centos8 ~]#ps a
注意:
多个选项以及多参数和命令之间使用空白字符分隔
取消和结束命令执行:Ctrl+c,Ctrl+d
多个命令可以用 ";" 符号分开
一个命令可以用\分成多行
相关文章推荐
- 举例说明shell命令的三种特殊格式
- Linux 操作基础(一) -- Shell 命令格式和元字符
- Hart 常用命令 命令格式+命令含义 <中文翻译>
- javascript 的Date 格式化, 模仿shell中date命令的格式
- shell 命令产生的各个字段的含义
- #include命令的格式和功能各是什么?使用尖括号和双引号在含义上有什么区别?
- Linux常见压缩格式的Shell压缩解压命令
- 在shell下命令格式之基本式、反斜线、单引号、双引号、反引号
- javascript 的Date 格式化, 模仿shell中date命令的格式
- shell中的PS命令的含义
- Shell的命令格式
- shell中常用I/O重定向命令格式说明
- shell重要命令及易忘格式
- HBase 常用Shell命令
- shell脚本命令test详解
- Shell脚本中$0, $?, $! 等含义
- linux学习之shell命令:
- shell命令-dd
- shell脚本使用ssh命令连接主机,自动创建目录,分发程序,执行命令
- (9)shell printf命令:格式化输出