您的位置:首页 > 运维架构 > Shell

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 多个命令可以用 ";" 符号分开 一个命令可以用\分成多行    

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: