Linux 操作基础——shell_linux的shell_山川绿水的博客-程序员秘密

技术标签: linux  Linux学习  操作系统  信息安全  bash  unix  

Linux 操作基础——shell

1.什么是shell

shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器),shell 接收用户输入的命令并把它送入内核执行,在用户与操作系统之间进行交互。shellLinux系统中具有极其重要的地位。

在这里插入图片描述

2.shell的功能

命令解释器是shell最重要的功能。Linux系统中的所有可执行文件都可以作为shell命令来执行。Linux系统上可执行文件的分类如下:

类 别 说明
Linux命令 存放在/bin、/sbin目录下的命令
内置命令 出于效率的考虑,将一些常用命令的解释程序构造shell内部
实用程序 存放在/user/bin、/user/sbin、/userlocal/bin、/usr/local/sbin等目录下的实用程序
用户程序 用户程序经过编译生成可执行文件后可作为shell命令运行
shell脚本 由shell语言编写的批处理文件

shell完成命令解释流程图

在这里插入图片描述

shell还具有如下功能能

  • 通配符、命令补全、别名机制、历史命令。
  • 重定向、管道、命令替代、shell编程等。

3.shell的主要版本

版 本 说 明
Bourne Again Shell(bash、bsh的扩展) bash是大多数Linux系统的默认shell。bash和bsh完全向后兼容,并且在bsh的基础上增加和增强了很多的特性。bash也包含了很多C shell 和korn shell中的优点。bash 有很灵活和强大的编程接口,同时又有很友好的用户界面
korn shell(ksh) Korn Shell(ksh)由Dava Korn所写,是Unix系统上的标准shell。另外,在Linux环境下有一个专门为Linux系统编写korn shell的扩展版本,即Public Domain Korn Shell(pdksh)
tcsh(csh扩展) tcsh是C shell的扩展。tcsh与csh完全向后兼容,但它包含了更多的用户感觉方便的新特性,其最大的提高是在命令行编辑和历史浏览方面

4.shell的元字符

在shell中有一些具有特殊意义,称为shell元字符(shell Metacharacters)。若不以特殊方式指明,shell并不会把他们当作普通字节符使用。
常用的shell元字符及含义

元字符 含 义
* 代表任意字符串
代表任意字符
/ 代表根目录或作为路径间隔符使用
| 转义字符。当命令的参数要用到到保留字时,要在保留字前面加上转义字符
\<Enter> 续行符。可以使用续行符将一个命令行分写在多行上
$ 变量值置换,如$PATH表示环境变量PATH的值
在‘…'中间的字符均被当作文字处理,指令、文件名、保留字等都不具有原来的意义
" 在"…"中间的字符会被当作文字处理并允许变量值置换
` 命令替换,置换`…`中命令的执行结果
< 输入重定向字符
> 输出重定向字符
| 管道字符
& 后台执行字符。在一个命令之后加上字符’&',该命令就会以后台方式执行
分隔顺序执行的多个命令
() 在子shell中执行的一组命令
{} 在当前shell中执行一组命令
执行命令历史记录中的命令
~ 代表登录用户的宿主目录(自家目录)

5.通配符的使用

通配符 说 明
* 匹配任何字符和任何数目的字符
匹配任何单字符
[…] 匹配任何包含在括号里的单字符
[!..] 匹配任何不包含在括号里的单字符

注意:
*能匹配文件或目录名中的.,但不能匹配首字符是.的文件或目录名。要匹配隐含文件应该使用.*

ps

刚开始接触Linux的时候,可能会比较枯燥,确实选择学习是一件令人非常枯燥无味的事情。不过没关系,后续学了命令之后,Linux还是比较有趣的,学到后面,你肯定会感觉Linux的效率比Windows的效率更高,坚持下去,你一定可以看到别人看不到的风景,写的有错误或不恰当的地方还请各位小伙伴批评指正!!!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m_de_g/article/details/126579397

智能推荐

如何在前端HTML中使用海康相机rtsp流(vlc)_前端调用vlc_codernavcom的博客-程序员秘密

据网上查证,好像没有一个浏览器不安装插件可以直接播放rtsp流媒体。经站长测试,即使安装了插件,有些浏览器也未必支持,比如QQ浏览器,谷歌浏览器等。这里我们选用的是360安全浏览器。第一步:下载插件:vlc-3.0.10-win32.exe下载地址:https://www.videolan.org/vlc/ 第二步:安装双击一直下一步。打开vlc软件,依次点击菜单栏中的...

知识图谱研究进展-论文_知识图谱的发展 论文_sinat_15355869的博客-程序员秘密

先挖个坑,综述【其他资料】https://blog.csdn.net/c9Yv2cf9I06K2A9E/article/details/89089698 - paperweekly

hdfs查看目录大小文件大小_Ronney-Hua的博客-程序员秘密

1、hadoop fs -du /test 查看test子目录大小 2、hadoop fs -count -q /test

[敏捷开发实践] 敏捷团队如何应对Product Owner不断变化的需求_梅森上校的博客-程序员秘密

敏捷团队如何应对Product Owner不断变化的需求敏捷项目推进中,经常会遇到 Product Owner 提出新的需求事项,或者在原来的Product Backlog上扩充范围的情况。...

基于全志D1-H DOCK PRO YoC RTOS 实战:HaaS helloJS桌面显示_d1-h jtag_DOT小文哥的博客-程序员秘密

1. 准备工作建议在操作前先阅读以下技术文章:Lichee D1 dock 开发板用户指南Lichee D1 dock 开发板快速上手教程2. 示例介绍本示例是最简小程序例程。小程序相关代码在GITEE,下载的时候选择hellojs分支。小程序相关的开发指南可以参考官方指南。data/resources目录下预置了小程序编译打包好的相关资源文件。3. 示例演示3.1 剑池CDK(以下简称CDK)演示3.1.1 示例获取双击打开CDK,点击工具栏最右侧的平头哥图标。点击新建工程按钮。在搜索栏里输

shell中的函数_shell 内部函数__nigar的博客-程序员秘密

shell中的函数文章目录shell中的函数1.shell函数格式2.函数的调用3.函数的参数1.shell函数格式shell函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好,放在指定位置,使用时直接调用即可。shell中的函数和C++、JAVA、Python等其他编程语言中的函数类似,只是在语法中有所差别。shell函数定义的语法格式:function name() {...

随便推点

cp不能把文件复制到目录etc下_etc下复制不了文件提示没权限_zhangyobdd的博客-程序员秘密

cp 一个文件进etc目录提示权限不够:故障原因:etc是系统目录,需要有root权限才可以创建目录。解决办法:切换到root权限(如果忘记密码可以百度:Linux忘记 root密码的解决办法_百度经验  来重置)

neutron-l3-agent之关键信息_neutron l3agent fixed_ips_haojie_hero的博客-程序员秘密

Juno版本l3-agent之关键信息一、无外部网关1. router的 第一个关键信息> /usr/lib/python2.7/dist-packages/neutron/agent/l3_agent.py(1767)_process_routers()-> pool = eventlet.GreenPool()(Pdb) pp route

rocketmq出现org.apache.rocketmq.client.exception.MQClientException: No route info of this topic: Topic_robotNO.1的博客-程序员秘密

本来项目好好的,突然出现rocketmq消息队列出现故障,查看项目日志出现以下错误:org.apache.rocketmq.client.exception.MQClientException: send message Exception For more information, please visit the url, http://rocketmq.apache.org/docs/faq/ at org.apache.rocketmq.client.impl.producer.DefaultMQ

Springboot连接微信公众号服务器, 以及给前端签名, 前端捕获分享到朋友圈事件(会抄就够了)_微信分享到朋友圈事件接管_476106017的博客-程序员秘密

最近做了微信分享转发的需求, 说起来也是头疼, 平常都是刷推特微博的, 还特意为了做这个需求下了个微信.1. 注册一个测试公众号https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login接口配置和js安全域名填自己线上测试环境地址Token随便填2. github上面搜个demo项目https://github....

ORB-SLAM: A Versatile and Accurate Monocular SLAM Syetem 讲解 1_Snail_Walker的博客-程序员秘密

摘要介绍相关工作地点识别地图初始化单目的SLAM系统概述特征选择三线程结构点云关键帧的选取covisibility graph和essential graphDBoW2对该论文进行讲解,同时看看自己有什么不懂的地方。摘要ORB-SLAM是一种基于特征的稀疏法的视觉SLAM,它不仅仅可以用于单目,还可以用于双目、RGBD(其实能够用于单目的一般都能够用于双目,单目的做法就是把连续

上传MacOS APP到AppStore_夜空中最亮的小星星~的博客-程序员秘密

1、可以使用 application Loader或transporter上传,2、iosAPP是上传.ipa文件,MacOS APP是上传pkg包如何打pkg包,可以参考:qt 开发的 macos app 上线 appstore_活到老、学到老-程序员秘密

推荐文章

热门文章

相关标签