shell中不常见的命令

**

iconv

功能:将文件内容字符集转成其他字符集
常用选项:
-l 列出所有已知的字符集
-f 原始文本编码
-t 输出编码
-o 输出到文件
-s 关闭警告

将文件内容转换 UTF8:

# iconv -f gbk -t utf8 old.txt -o new.txt
将 csv 文件转换 GBK:
# iconv -f utf8 -t gbk old.txt -o new.txt
解决邮件乱码:
echo $(echo "content" | iconv -f utf8 -t gbk) | mail -s "$(echo "title" | iconv -f 
utf8 -t gbk)" example@mail.com

sshpass

功能:非交互 SSH 登录(需要安装)
常用选项
功能:非交互 SSH 登录(需要安装)
-f 从文件中获取密码
-d 用文件描述符数字获取密码
-p 指定 SSH 密码
-e 密码作为环境变量传递,变量名是 SSHPASS

免交互 SSH 登录:

# sshpass -p 123456 ssh root@192.168.1.10
免交互传输文件:
# sshpass -p 123456 scp a.txt 192.168.1.10:/root
密码传入系统变量:
# SSHPASS=123456 rsync -avz /etc/hosts -e "sshpass -e ssh" root@192.168.1.221:/opt

logger

功能:系统日志的 shell 命令行接口
常用选项:
-i 每行记录进程 ID
-f 指定输出日志到文件
-p 设置记录的优先级
-t 添加标签
示例:

logger -i -t “my_test” -p local3.notice “test_info”

ss

功能:比 netstat 更强大的 socket 查看工具
格式:ss [options] [ FILTER ]
常用选项:
-n 不解析名字
-a 显示所有 socket
-l 显示所有监听的 socket
-o 显示计时器
-e 显示 socket 详细信息
-m 显示 socket 内存使用
-p 显示进程使用的 socket
-i 显示内部 TCP 信息
-s 显示 socket 使用汇总
-4 只显示 IPV4 的 socket
-0 显示包 socket
-t 只显示 TCP socket
-u 只显示 UDP socket
-d 只显示 DCCP socket
-w 只显示 RAW socket
-x 只显示 Unix 域 socket
-f FAMILY 只显示 socket 族类型( unix, inet, inet6, link, netlink)
-A 查询 socket {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
-D 将原始的 TCP socket 转储到文件
-F 从文件中读取过滤信息
过滤:
-o state 显示 TCP 连接状态信息
示例:
显示所有 TCP 连接:

# ss -t -a
显示所有 UDP 连接:
# ss -u –a
显示 socket 使用汇总:
# ss -s
显示所有建立的连接:
# ss -o state established
显示所有的 TIME-WAIT 状态:
# ss -o state TIME-WAIT
搜索所有本地进程连接到 X Server:
# ss -x src /tmp/.X11-unix/*

lsof

功能:列出打开的文件
常用选项:
-i [i] 监听的网络地址,如果没有指定,默认列出所有。
[i]来自[46][protocol][@hostname|hostaddr][:service|port]
-U 列出 Unix 域 socket 文件
-p 指定 PID
-u 指定用户名或 UID 所有打开的文件
+D 递归搜索

列出所有打开的文件:

# lsof
查看哪个进程占用文件:
# lsof /etc/passwd
列出所有打开的监听地址和 unix 域 socket 文件:
# lsof -i -U
列出 80 端口监听的进程:
# lsof -i:80
列出端口 1-1024 之间的所有进程:# lsof -i:1-1024
列出所有 TCP 网络连接:
# lsof -i tcp
列出所有 UDP 网络连接:
# lsof -i udp
根据文件描述符列出打开的文件:
# lsof -d 1
列出某个目录被打开的文件:
# lsof +D /var/log
列出进程 ID 打开的文件:
# lsof -p 5373
打开所有登录用户名 abc 或 user id 1234,或 PID 123 或 PID 456# lsof -p 123,456 -u 123,abc
列出 COMMAND 列中包含字符串 sshd:
# lsof -c sshd

vmstat

功能:报告虚拟内存、swap、io、上下文和 CPU 统计信息。
分析了这些文件:
/proc/meminfo
/proc/stat
/proc//stat
常用选项:
-a 打印活跃和不活跃的内存页
-d 打印硬盘统计信息
-D 打印硬盘表
-p 打印硬盘分区统计信息
-s 打印虚拟内存表
-m 打印内存分配(slab)信息
-t 添加时间戳到输出
-S 显示单位,默认 k、KB、m、M,大写是
1024
示例:

每秒刷新一次,统计五次:
#vmstat -t 1 5
r:CPU 正在运行的进程数
b:在等待 I/O 的进程数
swpd:已经使用的交换内存(kb)
free:空闲的物理内存(kb)
buff:已经使用的缓冲区内存(kb);一般对设备数据缓存,写入到磁盘的数据
cache:已经使用的缓冲区内存(kb);一般对文件数据缓存,从磁盘读取的数据。
si:从磁盘交换到内存的交换页数量(kb/s)
so:从内存交换到磁盘的交换页数据(kb/s)
bi:块设备接收的块数量(kb/s)
bo:块设备发送的块数量(kb/s)
in:每秒 CPU 中断次数
cs:每秒 CPU 上下文切换次数
us:用户进程使用 CPU 时间(%)
sy:系统进程使用 CPU 时间(%)
id:CPU 空闲时间(%)
wa:等待 I/O 响应所消耗的 CPU 时间(%)
st:从虚拟设备中获得的时间(%)

sar

功能:查看系统资源综合方面利用率
常用选项:
-u, CPU
-r, memory
-b, disk
-n DEV, NIC traffic
-q, systemload
-b, TPS(Transaction Per Second,每秒事务处理量)
-o, output to file
示例:

# sar -u 2 3 #每两秒执行一次,采集三次
# sar -u 2 3 -o cpu.out
# sar -f cpu.out #读取文件

dstat

功能:查看系统资源综合方面利用率(需要安装)
常用选项:
-c cpu 统计
-d 磁盘统计
-m 内存统计
-n 网络统计
-s swap 统计
-l 负载统计
–tcp tcp 状态统计
–udp udp 状态统计
–socket socket 数量统计
-t 输出时间
–output 写入 csv 文件
插件:
–list 支持的插件
–top-bio-adv 详细显示 I/O 进程写入 block 量,包括 pid、r、w 和 cpu
–top-io-adv 进程写入磁盘总量
–top-cpu 占用 CPU 进程
–top-cpu-adv 查看最高 CPU 进程
–top-mem 内存进程
查看 CPU 利用率:

# dstat -c
查看 TCP 连接状态:
# dstat --tcp

nc

功能:TCP 和 UDP 连接和监听
常用选项:
-i interval 指定间隔时间发送和接受行文本
-l 监听模式,管理传入的连接
-n 不解析域名
-p 指定本地源端口
-s 指定本地源 IP 地址
-u 使用 udp 协议,默认是 tcp
-v 执行过程输出
-w timeout 连接超时时间
-x proxy_address[:port] 请求连接主机使用代理地址和端口
-z 指定扫描监听端口,不发送任何数据
端口扫描:

# nc -z 192.168.1.10 1-65535
TCP 协议连接到目标端口:
# nc -p 31337 -w 5 192.168.1.10 22
UDP 协议连接到目的端口:
# nc -u 192.168.1.10 53
指定本地 IP 连接:
# nc -s 192.168.1.9 192.168.1.10 22
探测端口是否开启:
# nc -z -w 2 192.168.1.10 22
创建监听 Unix 域 Socket:
# nc -lU /var/tmp/ncsocket
通过 HTTP 代理连接主机:
# nc -x10.2.3.4:8080 -Xconnect 10.0.0.10 22
监听端口捕获输出到文件:
# nc -l 1234 > filename.out
从文件读入到指定端口:
# nc host.example.com 1234 < filename.in
收发信息:
# nc -l 1234
# nc 127.0.0.1 1234
执行 memcahced 命令:printf "stats\n" |nc 127.0.0.1 11211
发送邮件:
# nc [-C] localhost 25 << EOF
HELO host.example.com
MAIL FROM: <user@host.example.com>
RCPT TO: <user2@host.example.com>
DATA
Body of email.
.
QUIT
EOF
# echo -n "GET / HTTP/1.0\r\n\r\n" | nc host.example.com 80

eval

功能:执行参数作为 shell 命令
示例:
for i in $@; do
eval $i
done
echo —
echo $a
echo $b

# bash test.sh a=1 b=2
---
1
2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/867298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

直播电商如何实现分账?

随着直播电商的兴起&#xff0c;越来越多的企业开始选择通过直播平台来推广自己的产品。而在直播电商中&#xff0c;主播是非常重要的一环&#xff0c;他们的表现直接影响到产品的销售情况。因此&#xff0c;如何与主播合作&#xff0c;让他们更加积极地推广产品&#xff0c;成…

UE4_材质_材质节点_Fresnel

学习笔记&#xff0c;不喜勿喷&#xff0c;侵权立删&#xff0c;祝愿生活越来越好&#xff01; 一、问题导入 在创建电影或过场动画时&#xff0c;你常常需要想办法更好地突显角色或场景的轮廓。这时你需要用到一种光照技术&#xff0c;称为边沿光照或边缘光照&#xff0c;它的…

Android动态设置系统音量最大值

产品需求 通过设定最大音量限制大屏声音输出&#xff0c;设置完后需要立即生效且需要记忆&#xff1b;以10%为递增状态&#xff0c;设置最大音量后&#xff0c;无论最大音量调节至多少百分比&#xff0c;音量条始终显示为100%&#xff08;比如最大音量设置为80%&#xff0c;即…

Threejs环境、透视相机、坐标系、光源

文章目录 如何引入threejsnpm方式script方式script module方式 基本流程与坐标摄像机Geometry(几何体)和Material(材质)光源 如何引入threejs 对于很多刚刚上手threejs的朋友&#xff0c;可能第一步引入threejs就出问题了&#xff0c; 明明已经导入了&#xff0c;就是这样问题…

【搭建Nacos服务】centos7 docker从0搭建Nacos服务

前言 本次搭建基于阿里云服务器系统为&#xff08;CentOS7 Linux&#xff09;、Nacos&#xff08;2.0.3&#xff09;、Docker version 26.1.4 本次搭建基于一个新的云服务器 安装java yum install -y java-1.8.0-openjdk.x86_64安装驱动以及gcc等前置需要的命令 yum install …

【nvm管理nodejs版本,切换node指定版本】

nvm管理nodejs版本 nvm管理nodejs版本主要功能使用 nvm nvm管理nodejs版本 nvm&#xff08;Node Version Manager&#xff09;顾名思义node版本管理器&#xff0c;无须去node管网下载很多node安装程序;用于管理多个 Node.js 版本的工具。它允许你在同一台机器上同时安装和管理…

Appium启动APP时报错Security exception: Permission Denial

报错内容Security exception: Permission Denial: starting Intent 直接通过am命令尝试也是同样的报错 查阅资料了解到&#xff1a;android:exported | App quality | Android Developers exported属性默认false&#xff0c;所以android:exported"false"修改为t…

Eureka服务降级策略配置指南:确保微服务架构的弹性

在微服务架构中&#xff0c;服务之间的依赖关系非常普遍。当一个服务不可用时&#xff0c;可能会导致整个系统的故障。服务降级是一种提高系统可用性的策略&#xff0c;它允许服务在某些条件不满足时提供降级的响应。Eureka作为Netflix开源的服务发现框架&#xff0c;可以与Hys…

c与c++ 常用的字符与字符串处理的接口介绍:

在 C 和 C 中&#xff0c;字符与字符串处理是非常基础和常见的操作。以下是一些常用的接口和函数&#xff1a; C 字符串处理接口 字符处理&#xff1a; char 类型&#xff1a;C 中用于表示单个字符。 字符串是以 null 结尾的字符数组&#xff0c;通常使用 char[] 或 char* 表…

基于java+springboot+vue实现的图书商城管理系统(文末源码+Lw)283

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本图书商城管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信…

rpm包下载

内网无法下载、选择外网的一台机器下载rpm包 下载后上传rpm包 1、创建下载目录 mkdir /data/asap/test 2、下载能留存包的工具 sudo yum install yum-utils -y 报错就是环境问题没下载成功&#xff0c;我换了个环境正常的机器就可以了 3、下载rpm包到指定目录/data/asa…

测试人员如何管理项目与风险预警

在平时工作过程中&#xff0c;你有没有因项目延时&#xff0c;需求频繁变更&#xff0c;开发提测质量不高&#xff0c;以及漏测的情况下&#xff0c;背了不少锅的情况呢&#xff1f; 作为测试人员&#xff0c;我们应该如何发挥积极主动性&#xff0c;进行项目管理&#xff0c;有…

PHP框架中环境变量的管理和最佳实践

在现代Web开发中&#xff0c;环境变量的使用是确保应用程序在不同环境&#xff08;如开发、测试、生产&#xff09;中安全、灵活运行的关键。PHP框架提供了多种方式来管理和使用环境变量&#xff0c;本文将详细探讨这些方法&#xff0c;并提供一些最佳实践。 环境变量的重要性…

理解async和await

async 和 await 是 JavaScript 中用于编写异步代码的两个关键字。它们让异步代码的编写更加简洁、易于理解和维护&#xff0c;类似于同步代码的写法。 async async 用于声明一个函数是异步的。这意味着这个函数在执行时不会阻塞 JavaScript 的主线程&#xff0c;允许其他代码…

【学术会议征稿】2024年第十届机械制造技术与工程材料国际学术会议(ICMTEM 2024)

2024年第十届机械制造技术与工程材料国际学术会议&#xff08;ICMTEM 2024&#xff09; 2024 10th International Forum on Manufacturing Technology and Engineering Materials 第十届机械制造技术与工程材料国际学术会议&#xff08;ICMTEM 2024&#xff09;将于2024年10月…

影刀_扩展屏幕运行总结

首先&#xff0c;先看一个例子“&#xff1a; 滑块拼图验证免费版 1、影刀在扩展屏幕&#xff0c;谷歌在主屏幕。成功 2、影刀主屏幕&#xff0c;谷歌在扩展屏幕&#xff0c;失败。 3、都在扩展屏幕&#xff0c;失败。 4、都在主屏幕上&#xff0c;成功。从上面的例子可以看出…

本地事务、全局事务、分布式事务

事务处理 事务处理几乎在每一个信息系统中都会涉及&#xff0c;它存在的意义是为了保证系统中所有数据都是符合期望的&#xff0c;且相互关联的数据之间不会产生矛盾&#xff0c;即数据状态的一致性&#xff08;Consistency&#xff09;。 按照数据库的经典理论&#xff0c;要…

(七)[重制]C++命名空间与标准模板库(STL)

​ 引言 在专栏C教程的第六篇C中的结构体与联合体中&#xff0c;介绍了C中的结构体和联合体&#xff0c;包括它们的定义、初始化、内存布局和对齐&#xff0c;以及作为函数参数和返回值的应用。在专栏C教程的第七篇中&#xff0c;我们将深入了解C中的命名空间&#xff08;nam…

linux 基础命令、gcc的基础用法

1、ls——>列出目录下的内容 语法&#xff1a;ls [-a -l -h] [Linux路径] &#xff08;1&#xff09;-a -l -h 是可选的选项 &#xff08;2&#xff09;Linux路径是此命令的可选参数 ①当不使用选项和参数&#xff0c;直接使用 ls 命令本体&#xff0c;表示&#xff1a;…

滑动窗口练习4-将x减到0的最小操作数

题目链接&#xff1a;**. - 力扣&#xff08;LeetCode&#xff09;**&#xff08;字节跳动&#xff09; 题目描述&#xff1a; 给你一个整数数组 nums 和一个整数 x 。每一次操作时&#xff0c;你应当移除数组 nums 最左边或最右边的元素&#xff0c;然后从 x 中减去该元素的…