1. 什么是shell

Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。
  

2. shell分类

shell分为 CLI 命令行界面 (command line interface) 和 GUI 图像化用户界面 (Graphical user interface) 两大类。

当今主流系统,windows,macos所有的shell都是GUI,都是通过鼠标的点击,托拉等操作,将用户的指令传递给操作系统内核,这时候操作系统才能按照我们希望的结果,满足我们的需求。

但对于linux而言,图形界面仅仅是它的一个上层应用软件,对于我们绝大多数linux的操作系统而言,都是通过命令行界面完成的。也就是说在linux中图形界面能完成的命令行界面都能完成,而命令行界面能完成的图形界面都完成不了。

按语言来分类,常见的有:

Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)

3. 内部命令和外部命令

内部命令:
就是shell内建的命令,和shell一起编译

localhost:~ dong$ type echo
echo is a shell builtin

外部命令:
不是shell的一部分,

localhost:~ dong$ type ps
ps is /bin/ps

help命令可以用来查看内建命令
Bash Shell 内建命令

命令 说明
扩展参数列表,执行重定向操作
. 读取并执行指定文件中的命令(在当前 shell 环境中)
alias 为指定命令定义一个别名
bg 将作业以后台模式运行
bind 将键盘序列绑定到一个 readline 函数或宏
break 退出 for、while、select 或 until 循环
builtin 执行指定的 shell 内建命令
caller 返回活动子函数调用的上下文
cd 将当前目录切换为指定的目录
command 执行指定的命令,无需进行通常的 shell 查找
compgen 为指定单词生成可能的补全匹配
complete 显示指定的单词是如何补全的
compopt 修改指定单词的补全选项
continue 继续执行 for、while、select 或 until 循环的下一次迭代
declare 声明一个变量或变量类型。
dirs 显示当前存储目录的列表
disown 从进程作业表中刪除指定的作业
echo 将指定字符串输出到 STDOUT
enable 启用或禁用指定的内建shell命令
eval 将指定的参数拼接成一个命令,然后执行该命令
exec 用指定命令替换 shell 进程
exit 强制 shell 以指定的退出状态码退出
export 设置子 shell 进程可用的变量
fc 从历史记录中选择命令列表
fg 将作业以前台模式运行
getopts 分析指定的位置参数
hash 查找并记住指定命令的全路径名
help 显示帮助文件
history 显示命令历史记录
jobs 列出活动作业
kill 向指定的进程 ID(PID) 发送一个系统信号
let 计算一个数学表达式中的每个参数
local 在函数中创建一个作用域受限的变量
logout 退出登录 shell
mapfile 从 STDIN 读取数据行,并将其加入索引数组
popd 从目录栈中删除记录
printf 使用格式化字符串显示文本
pushd 向目录栈添加一个目录
pwd 显示当前工作目录的路径名
read 从 STDIN 读取一行数据并将其赋给一个变量
readarray 从 STDIN 读取数据行并将其放入索引数组
readonly 从 STDIN 读取一行数据并将其赋给一个不可修改的变量
return 强制函数以某个值退出,这个值可以被调用脚本提取
set 设置并显示环境变量的值和 shell 属性
shift 将位置参数依次向下降一个位置
shopt 打开/关闭控制 shell 可选行为的变量值
source 读取并执行指定文件中的命令(在当前 shell 环境中)
suspend 暂停 Shell 的执行,直到收到一个 SIGCONT 信号
test 基于指定条件返回退出状态码 0 或 1
times 显示累计的用户和系统时间
trap 如果收到了指定的系统信号,执行指定的命令
type 显示指定的单词如果作为命令将会如何被解释
typeset 声明一个变量或变量类型。
ulimit 为系统用户设置指定的资源的上限
umask 为新建的文件和目录设置默认权限
unalias 刪除指定的别名
unset 刪除指定的环境变量或 shell 属性
wait 等待指定的进程完成,并返回退出状态码

什么是shell?linux常用的shell有哪些相关推荐

  1. linux 常用的shell脚本

    1.脚本之间传递参数 "1.sh"的脚本,接受参数.如下,如果有一个参数则赋值个sourceFile这个变量,否则用默认值. Shell代码 #!/bin/bash LANG=en ...

  2. linux系统用户默认的shell,linux默认的shell是什么

    Linux中的shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息:Linux下默认的shell是Bourne Again shell(bash). ...

  3. Linux常用的Shell命令

    本文介绍Linux系统下常用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令.说明,所有命令是在Centos 6.4 64位的虚拟机系统进行测试的.本文介绍的命令都会 ...

  4. [转载][shell]linux常用入门命令

    http://www.jb51.net/LINUXjishu/17262_2.html linux挂载详解 1.挂载点必须是一个目录.  2.一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂 ...

  5. Linux常用的shell命令汇总

    今天我们一起来看看Linux系统下常用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令. 说明:所有命令是在Centos 6.4 64位的虚拟机系统进行测试的.这些命 ...

  6. 哪一个不是linux常用的shell,Linux下查看使用的是哪种shell的方法汇总

    查看当前发行版可以使用的shell 复制代码 代码如下: [root@localhost ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin 查看当 ...

  7. linux常用操作符,Shell常用操作符总结

    一.算术操作 +  -  *    /    % 二.关系操作 >=      <=    ==    !=    &&  || 三.测试操作 测试命令 :  test   ...

  8. linux shell 生产脚本汇总,【汇总】Linux常用脚本shell

    [crontab] #每天6:00 执行a.sh 00 6 * * * /bin/sh /home/work/rxShell/a.sh #每天3:20 执行a1.sh 20 3 * * * /bin/ ...

  9. linux更改用户的shell,Linux下通过shell更改用户密码

    echo "root:admin" | chpasswd root的密码改为admin pwconv 同步到shadow文件 newusers和chpasswd的用法 日期:200 ...

最新文章

  1. linux 自动化交互套件 expect 介绍 shell非交互
  2. mssql sqlserver 对不同群组对象进行聚合计算的方法分享
  3. 计算机英语翻译的典故,中国成语典故英语翻译大全
  4. 【转】C 从函数返回数组
  5. wxWidgets:wxMessageOutput类用法
  6. webstorm使用前的准备——Node.js安装及配置
  7. python 导入csv文件到oracle_python将文件夹下的所有csv文件存入mysql和oracle数据库
  8. windows10中屏幕键盘 vs 触摸键盘
  9. navigator属性
  10. 4.15_strategy_行为型模式:策略模式
  11. django模板-通过a标签生成链接并跳转
  12. Android程序基础开发步骤,以简单的App开发为例
  13. 【ArcGIS教程01】前言
  14. 三维全景虚拟现实:现在的VR全景行业怎么样?|时空克隆 三维视频融合 投影融合 点卯 魔镜系列
  15. c语言date用法,c语言getdate()和gettime()的用法
  16. 会计凭证、成本中心、成本要素、总账、物料标准成本核算
  17. 微信商户号企业付款到零钱开通地址
  18. 高性能服务器架构(High-performace Server Architecture)
  19. 5G承载网络技术发展趋势
  20. HTML进行表单验证

热门文章

  1. 基于微金字塔结构的压阻传感器的优化设计
  2. 手机+文件共享服务器软件,文件共享服务器软件
  3. MySql数据库的下载安装及使用(2020最新版)
  4. “有电才‘型’2013主流智能手机耐力挑战赛” 挑战者七:联想P780
  5. 基于TCP协议的网络聊天室
  6. 使用腾讯云服务器的windows系统搭建CSGO服务器
  7. cpu内存占用率都不高,电脑卡的问题
  8. “长沙银行杯”腾讯云启创新大赛——科技创新,原来还能这样玩?
  9. imx8qxp(c0) bring up
  10. 金税三期很可怕?好会计对症下药!