tftp 命令用于传输文件。ftp 让用户得以下载存放于远端主机的文件,也能将文件上传到远端主机放置。
tftp 是简单的文字模式 ftp 程序,它所使用的指令和 ftp 类似。
语法格式:
参考实例:
- curl 命令是一个利用 URL 规则在 shell 终端命令行下工作的文件传输工具;
它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称 curl 为下载工具。
- 作为一款强力工具,curl 支持包括 HTTP、HTTPS、ftp 等众多协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征;做网页处理流程和数据检索自动化。
语法格式:
参考实例:
rsync 命令是一个功能非常强大的远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件。
rsync 使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
语法:
使用示例:
参数选项:
ssh 命令是 openssh 套件中的客户端连接工具,可以给予 ssh 加密协议实现安全的远程登录服务器,实现对服务器的远程管理。
语法格式:
参考实例:
- ping 命令主要用来测试主机之间网络的连通性,也可以用于执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息
若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
不过值得注意的是:Linux 系统下的 ping 命令与 Windows 系统下的 ping 命令稍有不同。
- Windows 下运行 ping 命令一般会发出 4 个请求就结束运行该命令;
- Linux 下运行 ping 命令不会自动终止,需要按 终止或者使用 参数为ping命令指定发送的请求数目。
语法格式:
参考实例:
ifconfig 命令的英文全称是“network interfaces configuring”,即用于配置和显示 Linux 内核中网络接口的网络参数。
ifconfig 命令可以配置的网卡信息,但在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
语法格式:
参考实例:
rpm 命令是 Red-Hat Package Manager(RPM软件包管理器)的缩写, 该命令用于管理 Linux 下软件包的软件。在 Linux 操作系统下,几乎所有的软件均可以通过RPM 进行安装、卸载及管理等操作。
概括的说,rpm 命令包含了五种基本功能:安装、卸载、升级、查询和验证。
语法格式:
参考示例:
yum 命令是在 Fedora 和 RedHat 以及 SUSE 中基于 rpm 的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理 RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
语法格式:
参考实例:
参考:centos7离线安装rpm包自动解决依赖
当生产环境由于安全原因处于断网状态时,要安装 linux 软件只能通过本地源的方式:
- 外网主机通过 downloadonly 或 yumdownloade 插件获取该软件及其依赖包,供本地源使用。
- 使用 yum localinstall 自动安装软件,并且自动处理好依赖关系。
参考:wget命令详解
支持 HTTP、HTTPS及FTP协议下载文件,而且wget还提供了很多选项,例如下载多个文件、后台下载,使用代理等等
语法格式:wget [options] [url]
常用参数选项 [options] :
echo命令用于在终端设备上输出字符串或变量提取后的值,这是在 Linux 系统中最常用的几个命令之一。
- 一般使用在变量前加上 的方式提取出变量的值,例如:,然后再用 echo 命令予以输出。
- 或者直接使用 echo 命令输出一段字符串到屏幕上,起到给用户提示的作用。
语法格式:
注意:
- echo 后面使用双引号的话,双引号里面的内容会翻译,输出value
单引号的话,双引号里面的内容不会翻译,输出$key
参考示例:
参考:Linux:“awk”命令的妙用
awk 是一个强大的文本分析工具,简单来说 awk 就是把 管道 或文件逐行读入,(空格,制表符)为默认分隔符将每行切片,切开的部分再进行各种分析处理
语法格式:
awk 取行,匹配文件内容
awk 中的替换
awk 内置变量
awk 内置函数
awk 条件操作符
awk 正则表达式匹配
支持 BEGIN 和 END 模块
awk 读取文件之后执行,先计算,最后END{}显示结果
awk 流程控制语句(类C语言,java语言)
参考:https://www.cnblogs.com/minseo/p/13684207.html
条件判断语句
循环控制语句
break 用以结束循环
Continue 用于在循环体内部结束本次循环,从而直接进入下一次循环迭代
Exit 用于结束脚本程序的执行
xargs(英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。
xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。
xargs 一般是和管道一起使用。
命令格式:
参考实例:
read 命令接收标准输入(键盘)的输入,或者其他文件描述符的输入。得到输入后,read 命令将数据放入一个标准变量中。
格式:
注意:
- 变量名可以自定义。如果不指定变量名,则会把输入保存到默认变量 REPLY 中;
- 如果只提供了一个变量名,则将整个输入行赋予该变量;
如果提供了一个以上的变量名,则输入行以空格分隔的若干字段会一个接一个地赋值各个变量,
- 若输入的字段数大于变量数,则命令行上的最后一个变量被赋值剩余的所有字段
- 若输入的字段数少于变量数,则未被赋值的变量值为空
使用示例
tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件
语法:
大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回到您的终端。一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其输出写入到标准输出,默认情况下,这也是你的终端。
重定向命令列表如下:
注意:文件描述符: 0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。
(1)输出重定向
重定向一般通过在命令间插入特定的符号来实现。特别的,这些符号的语法如下所示:
上面这个命令执行command1然后将输出的内容存入file1。
注意:任何file1内的已经存在的内容将被新内容替代。如果要将新内容添加在文件末尾,请使用 >> 操作符。
实例:
(2)输入重定向
和输出重定向一样,Unix 命令也可以从文件获取输入,语法为:
这样,本来需要从键盘获取输入的命令会转移到文件读取内容。
注意:输出重定向是大于号(>),输入重定向是小于号(<)。
实例:
(3)重定向深入讲解
一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:
- 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
- 标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
- 标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。
默认情况下,command > file 将 stdout 重定向到 file,command < file 将stdin 重定向到 file。
如果希望 stderr 重定向到 file,可以这样写:
(4)Here Document
Here Document 是 Shell 中的一种特殊的重定向方式,用来将输入重定向到一个交互式 Shell 脚本或程序。
它的基本的形式如下:
它的作用是将两个 delimiter 之间的内容(document) 作为输入传递给 command。
注意:
- 结尾的delimiter 一定要顶格写,前面不能有任何字符,后面也不能有任何字符,包括空格和 tab 缩进。
- 开始的delimiter前后的空格会被忽略掉。
实例
可以将 Here Document 用在脚本中,例如:
执行以上脚本,输出结果:
(5)dev/null 文件
如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null:
/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果。
如果希望屏蔽 stdout 和 stderr,可以这样写:
注意:0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。这里的 2 和 > 之间不可以有空格,2> 是一体的时候才表示错误输出。
参考:https://blog.csdn.net/zhaominpro/article/details/82630528
(1)在Linux系统中 0 1 2 是一个文件描述符
如上表所示,以下两条命令其实是等价的:
(2)关于 2>&1 的含义:
- 含义:将标准错误输出重定向到标准输出
- 符号 >& 是一个整体,不可分开,分开后就不是上述含义了。
2>1 的写法其实是将标准错误输出重定向到名为"1"的文件里去了。
- 2 和 > 之间不可以有空格,2> 是一体的时候才表示错误输出。写成 2&>1也是不可以的
(3)为什么 2>&1 一定要写到 >log 后面,才表示标准错误输出和标准输出都定向到log中?
一条shell命令如下:
另一条shell命令如下:
简单测试如下:
(4)>log 2>&1 的简写
有以下两种简写方式:
上面两种简写方式都和 >log 2>&1 一个语义,没有任何区别,但是第一种方式是最佳选择,一般使用第一种。
seq: squeue 是一个序列的缩写,主要用来输出序列化的东西
示例
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/63556.html