shell脚本中常用的基础命令

2023-05-16

Shell(Shell Script)脚本又称Shell命令稿、程序化脚本,是一种计算机程序使用的文本文件,其内容由一连串的shell命令组成,经由Unix Shell直译内容后运作

Shell被当成是一种脚本语言来设计,其运作方式与解释型语言相当;由Unix Shell扮演命令行解释

器的角色,在读取shell脚本后,依序运行其中的shell命令,之后输出结果;利用shell脚本可以进

行系统管理、文件操作的等

一、diff命令

用法:diff  '参数'   file1  file2

常用参数:

-B                ##忽略空行

-b                ##忽略空格

-c                ##显示文件所有内容并标示不同

-i                ##对比时忽略大小写

-r                ##对比目录

-u                ##合并输出(生成补丁文件)

输出信息格式:[file1的行]a/c/d[file2的行]

a                ##添加

c                ##更改

d                ##删除

<                ##file1中的内容

>                ##file2中的内容

二、patch命令

给文件打补丁时用到的工具:patch  ——>> dnf install patch

用法:patch  -b  原文件  补丁文件(加-b参数时会为原文件作备份)

三、cut命令

用法:cut  ‘参数’  文件

常用参数:

-d                ##指定分隔符号

-f                ##指定显示的列(3=第三列;1,3=一和三列;1-3=一至三列;-3=从开始至第三列;3-=从第三列至最后)

-c                ##指定截取的字符(用法及数字含义同-f参数)

四、sort命令

用法:sort  ‘参数’  文件

常用参数:

-n                ##纯数字排序

-r                ##倒序

-o                ##输出至指定文件

-u                ##去掉重复

-t                ##指定分隔符号

-k                ##指定排序的列

五、uniq命令

用法:uniq  ‘参数’  文件

常用参数:

-c                ##合并重复元素并统计重复个数

-d                ##显示不唯一的行

-u                ##显示唯一的行

六、tr命令

tr命令可以转换字符的大写小,也可转换单个字符

七、&&+||

&&:符合条件;后接后续处理动作

||:不符合条件;后接后续处理动作 

八、test命令

用法:test  "$a" = "$b"  <<——>> [ "$a" = "$b" ]

由此可见,[ ] 这个符号就相当于test命令;需要注意的时在使用[]时两边必须要有空格且其中元素需要用引号引起

test命令的数字对比参数(四则运算判定):

=                ##等于

!=                ##不等于

-eq                ##等于

-ne                ##不等于

-le                ##小于等于

-lt                ##小于

-ge                ##大于等于

-gt                ##大于

test的条件关系:

-a                ##并且

-o                ##或者

test判定是否为空:

-n                ##判定内容不为空(nozero)

-z                 ##判定内容为空(zero)

test对于文件的判定:

-ef                ##文件节点号是否一致(硬链接)

-nt                ##参数前文件是否比参数后文件新

-ot                ##参数前文件是否比参数后文件老

-d                ##目录

-S                ##套接字(socket)

-L                ##软链接

-e                ##判定是否存在

-f                ##普通文件

-b                ##块设备

-c                ##字符设备

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell脚本中常用的基础命令 的相关文章

  • 如何从 C 文件更改终端中的目录

    如何从 C 程序更改将在终端上生效的目录 实际上不要告诉 system 函数或 chdir 函数 这些仅适用于 C 中的进程或子 shell 假设我正在从 bash shell 执行一个 C 程序 其进程 ID 为 10223 那么 我可以
  • 寻找下一个开放端口

    有没有什么办法 使用基本的 Unix 命令 找到下一个未使用的端口号 从端口 4444 开始向上 我通过 ssh 通过 openssh 进入 Windows XP 计算机 运行 Cygwin 工具并使用 bash shell 谢谢 戴夫 尝
  • 如何获取与文件类型关联的图标路径和索引?

    给定一个文件类型 例如 txt 我怎样才能得到 path index 文件类型的关联图标路径和索引 例如 我想转换 txt into Path SystemRoot system32 imageres dll Index 102 有了这些信
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • 如何仅将整个嵌套目录中的头文件复制到另一个目录,在复制到新文件夹后保持相同的层次结构

    我有一个目录 其中有很多头文件 h 和其他 o 和 c 文件以及其他文件 这个目录里面有很多嵌套的目录 我只想将头文件复制到一个单独的目录 并在新目录中保留相同的结构 cp rf oldDirectory newDirectory将复制所有
  • 使用 Jenkins 运行 ios-sim

    我正在尝试使用以下命令从命令行启动我的应用程序ios sim https github com downloads pegli ios sim ios sim xcode4 3 tar gz但这就是我得到的 Started by user
  • shell脚本“x$VARIABLE”中x的用途[重复]

    这个问题在这里已经有答案了 我正在查看一些 shell 脚本 comarison shcu 中 x 的用途是什么 if x USER x RUN AS USER then su RUN AS USER c CATALINA HOME bin
  • 列出破折号中当前定义的函数?

    我想列出当前定义的函数dash 有什么办法可以做到这一点吗 我能想到的最接近的是type它可以用来测试一个函数是否存在 但除此之外我很困惑 附 我说的是dash在这里 不是bash or zsh 看看 exec c 似乎没有 没有 表是静态
  • 在 shell 脚本中连接命令字符串

    我正在维护一个现有的 shell 脚本 它将命令分配给 shell 脚本中的变量 例如 MY COMMAND bin command dosomething 然后接下来 它通过执行以下操作将 参数 传递给 MY COMMAND MY ARG
  • 如何剪切(1) 个驼峰字?

    Bash 中有没有一种简单的方法可以将驼峰式单词拆分为其组成词 例如 我想将 aCertainCamelCasedWord 拆分为 a certain Camel Cased Word 并能够选择我感兴趣的那些字段 当单词分隔符是下划线时
  • 如何将命令作为参数传递给 ssh [重复]

    这个问题在这里已经有答案了 我的需要是让这个命令起作用 sshpass p XXXX ssh oStrictHostKeyChecking no email protected cdn cgi l email protection sudo
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • bash 变量中的 Linux 鞭尾/对话框参数错误

    有人可以解释为什么下面的代码不起作用吗 我要疯狂地想找出答案 bin bash TEST M1 1 wire Interface ON echo TEST RESULT dialog title Config Modules State c
  • shell_exec 的输出被截断为 100 个字符

    当在 shell 中运行以下命令时 curl F file filename http 192 168 0 1 产生以下输出 Accuracy 0 0 1 classification Accuracy 0 0 1 classificati
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u
  • 在 bash 中使用单个命令为 shell 变量分配默认值

    我对 bash 3 00 shell 脚本中的变量进行了大量测试 如果未设置变量 则它会分配默认值 例如 if z VARIABLE then FOO default else FOO VARIABLE fi 我似乎记得有一些语法可以在一行
  • shell脚本中关联数组的时间复杂度

    我想知道在 shell 脚本中使用关联数组时如何构造 实现 另外 我想知道基于 shell 脚本的关联数组的时间复杂度是否是最佳的 因为我们可以使用字母和数字作为它们各自的键 编辑 他们使用什么哈希函数 如果您使用关联数组 则不能通过 使用
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • C程序调用shell脚本

    我有一个小型 C 程序 调用 shell 脚本 myScript sh 我得到的 ret 值为 256 请帮助我了解系统调用出了什么问题 int main int ret ret system myScript sh ret gt gt r
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100

随机推荐

  • 51 汇编语言编程:8个按键控制8个LED

    89C51汇编语言写8个按键控制8个LED 按键接P2口 xff0c LED接P1口 有6按键 xff0c 按下对应LED长亮 xff0c 重复按下 xff0c LED灭 xff1b 有两个特殊按键 xff0c 按下 xff0c 对应LED
  • 常见的排序算法

    今天来学习一下数据结构课程中非常重要的排序算法 我们学习一下一些常见的排序算法 xff0c 如冒泡排序 选择排序 快速排序等 1 冒泡排序 实现思路 xff1a 对未排序的各元素从头到尾依次比较相邻的两个元素大小关系 如果左边的队员大 则两
  • Vue的仓库vuex

    Vue js是一个渐进式的框架 xff0c 是一个分层的设计模式 一共分为五层 xff0c 核心库为基础 xff0c 在这基础上添加组件系统 客户端路由 大规模状态管理和开发环境 其中大数据状态管理对应的技术就是vuex xff0c 它是由
  • vue3.0的setup函数以及解决其内的数据不是响应式数据的问题

    相比于2 0 xff0c vue3 0在新增了一个setup函数 xff0c 我们在setup中可以写数据也可以写方法 xff0c 就像我们以前最开始学习js一样 xff0c 在js文件中写代码 如 xff1a setup let name
  • setup中使用watch

    watch属性监听器的作用在vue3 0中没有改变 xff0c 还是监听值得变化 在vue3 0中 xff0c 仍然支持watch配置项 但是我们要在setup中使用watch得话 xff0c 我们要导入watch的API xff0c 然后
  • 缓存相关知识点

    缓存的优点 1 减少不必要的数据传输 xff0c 节省带宽 2 减轻服务器负担 xff0c 提升网站性能 3 加快客户端网页加载速度 4 用户体验更好 缺点 如果资源发生更改 xff0c 客户端不及时更新会导致用户获取信息滞后 缓存类型 分
  • hook之useMemo

    useMemo 这个hook的作用有点像我们以前学习的计算属性一样 xff0c 它会缓存我们上次的结果 xff0c 只有当特定的属性改变时才从新计算 并且他能 记住 任何类型的值 标准写法 useMemo 61 gt return 34 我
  • hook之useContext

    useContext这个hook xff0c 我们通过翻译就可以大致知道它的用途 xff0c 译为使用上下文 context上下文我们在前面就已经使用过了 xff0c 它是一种用于跨组件之间的传值的技术 我们学过Context xff0c
  • hook之useRoducer

    useReducer用最简单的话来说 xff0c 就是允许我们在函数组件里面像使用redux一样通过reducer和action来管理我们组件状态的变换 我们可以通过useContext配合实现一个函数组件中的redux useReduce
  • linux安装jenkins 【详细教程】

    1 确保jdk已经安装 xff0c 至少是java8以上 xff0c 如果没有安装 xff0c 可以参考https blog csdn net m0 59347746 article details 125681582 csdn share
  • 【笔记】SQL 2

    1 比较运算符 比较运算符用于比较运算 xff0c 判断逻辑是否成立 A operator B 常用的比较运算符有 61 xff08 等于 xff09 61 xff08 不等于 xff09 lt gt xff08 不等于 xff09 lt
  • Qt Creator 3.0.1 部署远程调试

    QT Creator3 0 1 部署远程调试 远程目标板连接配置 从菜单栏选择options gt devices gt add gt generic linux device gt 开始向导 输入目标板的IP与登录用户信息 完成后会自动测
  • 代码源oj--数据结构初级:105 字符串处理1

    给定一个长度为n的字符串s xff0c 字符串由小写字母a z组成 小明来对这个字符串进行操作 xff0c 他会从头到尾检查这个字符串 xff0c 如果发现有两个相同的字母并排在一起 xff0c 就会把这两个字符都删掉 小明会重复这个操作
  • Python 视频转字符画 - 进阶

    昨晚我在网上看到了别人做的视频转字符动画 xff0c 觉得很厉害 xff0c 我于是也打算玩玩 今天中午花时间实现了这样一个小玩意 顺便把过程记录在这里 1 源视频 xff1a https docs qq com doc DU3pabWFh
  • Python教程 - Tkinter布局

    之前的Tkinter教程中 xff0c 我们创建的控件默认都是从上到下依次排列的 实际上 xff0c 我们可以完全控制每个控件的位置 Tkinter主要提供pack grid place三种布局方法 pack布局 pack布局 xff0c
  • java实现字符串中的字母排序

    String str 61 34 chenughonghuiaikuangwantong1314 34 System out println 34 原字符串 xff1a 34 43 str char chars 61 str toCharA
  • 这个 Python 游戏库,打开就能玩一天

    会 Python 的小伙伴 xff0c 选择用 Python 让 大风车 吱呦呦地转 xff01 还有的小伙伴 xff0c 选择用 Turtle 库绘制童年的卡通人物 我们其实还可以选择用 Python 开发小游戏 xff0c 回忆童年的美
  • k8s集群中部署rancher v2.7高可用集群

    一 xff0c 什么是 Rancher xff1f 官网地址 xff1a 什么是 Rancher xff1f Rancher Manager Rancher 是一个 Kubernetes 管理工具 xff0c 让你能在任何地方和任何提供商上
  • [Ubuntu] 虚拟机忘记登录密码的解决方案

    前言 xff1a 此文章仅作为本人在学习过程中的学习笔记 xff0c 同时也为记录此解决方案亲测有效 特别注明 xff1a 解决方案也是借鉴前人的成就 Ubuntu 虚拟机太久没登录 xff0c 忘记密码了 多次尝试无果后 xff0c 只好
  • shell脚本中常用的基础命令

    Shell xff08 Shell Script xff09 脚本又称Shell命令稿 程序化脚本 xff0c 是一种计算机程序使用的文本文件 xff0c 其内容由一连串的shell命令组成 xff0c 经由Unix Shell直译内容后运