百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux操作系统之shell应用程序详解

ahcoder 2025-02-16 19:42 14 浏览

首先我们知道目前主流操作系统分为Windows系统和Linux系统,当然Windows系统的内核依然是Linux,只不过是在内核之上开发了图形化界面的应用程序。

当人们使用电脑或操作服务器的时候就需要进行与其进行交互,windows操作系统微软公司提供的图形化交互界面程序称为GUI(Graphic User Interface)。其实Linux也有自己图形化的交互式界面GUI,如GNOME,KDE,轻量级的XFCE。但是图形化的交互界面并不被企业广泛使用,应用图形化的界面操作比较消耗硬件资源(其实图形化操作也是应用在Linux操作系统内核之上的应用程序,且该应用程序包含很多图片、视频等),因此人们常常使用Linux系统的另一种交互是界面CLI(Command Line Interface)--shell。

shell也叫壳,shell提供了用于与Linux操作系统内核进行交互操作的一种接口。它接受用户输入的命令(程序)并把他送入到内核去执行。

shell也被称为Linux的命令解释器,shell本身也是一种程序,将用户输入的命令拆解为“命令名”与“参数”,接着根据命令名找到对应要执行的命令程序,对被执行的程序进行初始化,然后将刚才拆解的参数传递给该程序并执行。

注:shell也是一种高级程序设计语言,提供了函数、变量、条件判断、循环等开发语言的功能。关于shell编程详解我会在下一章进行阐述。

由于shell也是一个应用程序,因此也用很多其他人开发了其他类型的shell。linux系统最初使用的是sh的程序,后面就开始出现了各种的shell。目前使用最多的就GUN组织发布的bash,也是目前Linux系统的标准shell,与sh兼容。下面就是shell程序的发展历程。

话不多说,开始介绍bash应用程序的基础命令使用。

Linux系统中内置的SELL的环境变量,通过该变量决定当前的交互界面使用的哪种shell,使用 echo $SHELL 命令可以进行查看,如下可以看出当前系统使用的是bash应用程序。


通过查看 /etc/shells文件可以查看当前系统使用的所有shell类型。如下图可以看出当前使用了sh 和 bash两种shell。


如果想开启某个shell进程执行命令,可以在当前shell界面下输入对应shell程序的绝对路径进入。如下图


我们知道,在Linux操作系统中我们是通过执行命令来运行相关程序,执行的命令是分内部命令和外部命令的。内部命令是shell应用程序自身所带的,外部命令是某些人或组织开发进行编译安装到Linux操作系统的给用户使用的。内部命令由于是在shell应用程序中使用,因此不需要再通过环境变量或绝对路径来找到相关程序的位置去执行,执行输入命令就行。外部命令需要通过绝对路径或者配置环境变量来让shell程序找到对应的外部命令程序执行。

通过使用enable命令可以查看shell程序自带了哪些内部命令。如下图可以看出enable命令也是内部命令,所以执行输入执行就行,不需要配置环境变量或者通过绝对路径来执行。

可以通过 type COMMAND 命令来查看指定命令是内部命令还是外部命令,如下图,type -a COMMAND ,有些命令是使用的别名,type加 -a 选项可以列出该命令的所有命令信息

bash的常用快捷键有以下这些,可以点击收藏。

Ctrl + l 清屏,相当于clear命令

ctrl + o 执行当前命令并重新显示本命令

ctrl + s 阻止屏幕输出,锁定

ctrl + p 允许屏幕输出,解锁

ctrl + c 终止命令

ctrl + a 光标移到行首

ctrl + e 光标移到行尾

ctrl + f 光标向右移动一个字符

ctrl + b 光标向左移动一个字符

ctrl + xx 光标在光标和行首之间来回移动

ctrl + > 光标向右移动一个单词

ctrl + < 光标向左移动一个单词

ctrl + u 从光标处删除至行首命令

ctrl + k 从光标处删除至行尾命令

ctrl + d 删除光标所在的字符

Linux中关于shell程序就先介绍到这里啦!

相关推荐

Linux ntp时钟同步问题(linux ntp同步命令)

有时候,操作系统会报linux的ntp时钟错误。从时钟源同步时间超时。我查看了一下ntp的时钟源,发现执行ntpq-p显示超时。执行nslookup时钟服务器域名,发现可以正常解析。执行了n...

linux服务器同步利器Rsync全介绍(付脚本)

1、认识Rsync(remotesynchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件...

如何使用Rsync同步两个网站服务器的内容

本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。如需学习视频,请复制以下信息到手机浏览器或电脑浏览器上:zc...

Linux TB级小文件同步备份解决方案

在某些电子档案存储的业务系统下,按照业务场景要求,需要将产生的所有电子影像资料永久存储,并支持备份;因为“钞能力”等原因,一般备份存储只有一个节点(即:一个备份存储服务器);这样就要求研发工程师,不...

CentOS7下使用Lsyncd实现文件实时同步

Lsyncd简单介绍Lsyncd使用文件系统事件接口(inotify或fsevents)来监视本地文件和目录的更改。Lsyncd在几秒钟内将这些文件事件整理核对后,然后生成一个或多个进程以将更...

如何手动同步Linux系统时间并与互联网时间保持同步?

在Linux系统中,正确的时间同步对于许多任务都是至关重要的。一些关键应用程序可能需要准确的时间戳才能正常工作,而一些安全功能也需要确保所有服务器的时间都是准确的。NTP服务可以自动同步系统时间和互...

Linux服务器Rsync定时同步一键化配置指南

1、主从服务器同时安装rsyncopenssh-clientaptupdate&&aptinstall-yrsyncopenssh-client2、主服务器安装好后输入以下命令生成密钥...

Linux系统如何使用NTPDATE命令设置时间同步

简介:咱们在使用Linux系统的时候,常常能发现用了一阵子之后,Linux系统的时间就对不上了。已经知道的情况是,安装Linux的时候选的时区是Asia/Shanghai,可这系统运行了一...

开源的Linux文件同步工具有哪些?(linux 文件夹 同步)

Linux系统之间经常需要文件同步,一个好的文件同步工具省时省力,这里介绍几款开源的Linux文件同步工具1.rsync:rsync是Linux上一个功能强大的命令行工具,可以在不同的服务器之间同...

Linux 系统使用 rsync + inotify 实现文件实时同步

Linux系统使用rsync+inotify实现文件实时同步简介inotify监控文件的变化后通知rsync进行文件的同步#配置免密登录ssh-keygen-trsaca...

Linux 远程数据同步工具详解(linux远程同步命令)

一、简介1认识Rsync(remotesynchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之...

构建基于 Linux 的 NTP 时间同步集群与时间安全防护实战指南

一、为什么时间同步对系统如此重要?在分布式系统、数据库复制、消息队列、审计日志、安全认证(如Kerberos)、容器编排等场景中,系统时间一致性是保障正确性与安全性的基础。一旦服务器间时间漂移,可能...

每日Linux学习:同步备份工具 rsync

rsync是一个用于高效同步文件和目录的工具。它通过仅传输变化的部分(增量传输)来节省时间和带宽,支持本地同步、远程同步(通过SSH),还能保留文件原有权限、时间戳等属性。本文通过几个常用的实例来...

Chromixium OS 1.0发布 基于Ubuntu发行版

Chromixium项目宣布chromixiumOS1发布,一款基于Ubuntu的Linux分支,chromixiumOS试图重新打造一款外观和感觉与ChromeOS相似的完...

iOS8.0.X~iOS8.1完美越狱!盘古团队出品

【巴士速递·移动情报站】最新消息,iOS8.1越狱了!!此次越狱依旧是iOS7时代我国的大神盘古团队带来的,而该次越狱支持最新的iPhone6、iPhone6Plus、iPadAir2和iPad...