高性能linux服务器运维实战 linux基础命令

shell

常用通配符

*表示匹配任意一个或多个字符

? 表示匹配任意一个字符

[] 匹配括号内任何单字符

重定向

包含输入,输出,错误重定向

输入重定向

< 和 <<可用来输入重定向

<

<<

输出重定向

> 和 >> 可用来输出重定向

错误重定向

用2> 和 2>>实现

管道

管道可以把一个命令的输出当作下一个命令的输入

引用字符

有转义字符,单引号和双引号

转义字符 将单个字符当作普通字符

单引号 单引号之间所有特殊字符含义将被忽略

双引号 和单引号功能类似 区别是保留了部分特殊字符的含义

基础运维命令

打包 压缩 解压缩

tar

命令选项

-c 创建新的压缩文件

-f 该选项后紧跟压缩文件的文件名(自己给压缩文件起的名字)

-r 将文件追加到已压缩文件的末尾(可以和-f连用)

-x 解压压缩文件,后跟压缩文件名

-u 更新压缩文件中被压缩的某个文件

-z 用gzip命令压缩或解压缩

-w 还原文件时,将文件修改时间改为当前时间

-j 调用bzip2命令压缩或解压缩

-Z 调用compress命令过滤压缩文件

-v 压缩或解压过程,显示各个文件名

-p 压缩或解压缩过程,保持文件属性不变

--exclude filename 压缩过程不将指定的文件压缩

-t 查看压缩包内容 和-f连用

例子

-c -x -r -f的用法

-u的用法

注意-v和-f,如果放在一块写,-v要放在f前面,否则报错

-t的用法

仅解压压缩包内某个文件

gzip

gzip是gunzip的硬链接,gzip只能压缩文件,不能压缩目录,即使指定目录,也只能压缩目录下所有文件,而不是目录,gzip的压缩文件默认后缀为.gz

选项

-d 解压

-r 递归压缩

-t 检查压缩文件完整性

-v 显示每个压缩文件的文件名和压缩比

-l 显示压缩文件信息

-num 指定压缩级别 -1或-fast表示最低压缩级别 -9或-best表示最高压缩级别 默认压缩级别为6

例子

bzip2

类似gzip,但bunzip2是bzip2的软链接,生成压缩文件默认后缀为.bz2,

选项

-d 同gzip 解压

-t 同gzip 校验完整性

-v 同tar gzip 压缩过程中显示压缩的文件信息

-k gzip bzip压缩文件默认会删除原始文件 -k可保留原始文件

-f 当目标压缩文件已存在时 压缩默认不会覆盖 如果要覆盖可用-f强制覆盖

-num 压缩级别 同gzip

查找 搜索文件

find

选项

-name 表示搜索的目标文件名 支持正则搜索

-lname 查找名字匹配的链接文件 可正则

-empty 查找空文件或空目录

-path 查找路径名匹配的文件 可正则

-user/-group 查找某用户/用户组所属的文件

-type 查找的文件类型

-exec 对查找的文件执行命令 文件名用{}表示

-ok 对找到的目标文件执行命令 提示用户是否执行 而不是直接执行

-/+mtime +n表示n天以前改动的文件 -n表示n天前到今天改动的文件

-o 相当于逻辑运算or

-a 相当于逻辑运算and

例子

prune用法

xargs

linux命令可以从两个地方读取要处理的内容:命令行参数或标准输入

cat a表示cat从文件传入内容,文件a不存在时会报错,而不会转而从标准输入读取内容,只能cat a -同时cat标准输入和文件a的内容,-表示从标准输入读取数据。

有的命令不支持从标准输入读取,而只支持从命令行读取输入,比如rm kill。对于kill 有几种方式实现:

1 kill ps -ef|grep 'abc'

2 for proc_id in $(ps -aux|grep 'abc'|awk '{print$2}'); do kill -9 $proc_id; done

3 ps -aux|grep 'abc'|xargs kill

其中xargs功能是将管道读取到的(即从标准输入读取到的)内容按空格(默认空格)分割成多个参数并,作为标准输入命令行参数提供给xargs后面跟的命令,这和管道不同,管道只是标准输出变成标准输入,和命令行参数没有关系,看个例子

xargs -i -t

xargs会将所有分割的参数作为一个整体传给命令多个参数的最后一个参数,如果用mv等需要多个参数的命令则不行。

-i 将xargs分割的每个参数作为一个单独参数 然后对每个参数循环执行命令

-t 对每个执行的命令会在执行前打印到stderr再执行

-p 和-t类似 执行命令前询问你

-d 执行xargs分隔符,默认是空格作为分隔符

xargs后如果不加命令默认会执行echo 也可以理解为默认到stdout 用-t验证是加了echo的

分批执行 即将xargs分割的所有参数 几个作为一批 循环传给后面的命令 可以用-n

-n 3或-n3表示所有参数以三个为一批传给后面的命令

需注意xargs默认不会对空白处理。

一种处理方法是指定分隔符,不用默认的空格分割,ls的每个文件名前后应该有个换行,可以-d指定用换行符作为xargs的分隔符

另一种处理方法是用xargs的-i将find或ls的结果作为一个整体,忽略其中的空格,注意-i和{}用,括号外要有引号

xargs和find命令都属于一个包findutils find和xargs连用也可以

文件连接 合并 排序 去重

join

将两个文件中指定列中内容相同的行连接

paste

直接将多个文件行左右连接起来 和join不同 不是只对指定列相同的行合并

sort

-n 使用纯数字排序,默认用字母顺序排序

-t 指定分隔符

-k -k3表示以分隔符分隔结果的第三个元素排序

-r 反向排序

uniq

删除重复行

-c 显示重复行出现次数

-d 显示重复行有哪些

注意 uniq只能删除相邻的相同行 如果不相邻的相同行无法去重 可以和sort连用

系统运维监控类命令

查询进程的线程数

 

检测僵尸进程

僵尸进程是已死掉的进程,kill的进程变成孤儿进程,孤儿进程会被1号进程(init或systemd)处理,1号进程周期调用wait清理僵尸进程

看占cpu或内存最多的几个进程

看cpu最高前10进程

注意没有用ps的按cpu排序,排序用了sort的-k3,-r表示倒序排列,-n表示排序按数字大小而非字母表顺序排序

看内存最高前10进程

和cpu的类似,以第四列排序,sort -k3改成sort -k4即可

网络故障排查类命令

wget

wget是一个文件下载工具

下载单个文件

wget http://some_domain/url/xxx.tar.gz

限速下载

wget默认可能占用大量甚至全部带宽,可限速下载,用--limit-rate=xxx(MB/KB/...)进行限速

wget -c断点下载

下载文件很大但网速很慢,可用断点下载,假选项-c即可自动断点下载。当网断了,不用手动,-c可以自动继续下载

断点续传是在http请求头加入range头告诉服务器 客户端已经下载了多少字节 等文件所有碎片下载完成后再拼接起来

一般apache nginx服务器默认开启断点传输 具体应该可配置 没细看

wget -S可打印服务器http响应头,若响应头包含"Accept-Ranges"则说明服务器支持断点传输

指定下载文件的文件名

wget下载的文件默认名称为以/作为分隔符分割结果的最后一个元素,这有时候不是文件名,若希望指定下载文件名,可用-O选项

curl

显示服务器的header信息

curl可用显示服务器的请求头 加选项-I即可仅显示header 而不显示请求返回内容

获取请求的返回码

curl -s -o /dev/null -w %{http_code}"\n" http://www.baidu.com

-s 表示安静模式 不输出错误 不显示进度条

-o 指定输出结果目的地

-w 表示输出一些定义的元数据 格式是%{variable_name} 可供使用的变量有很多比如http_code http_connect time_total time_appconnect time_redirect等

curl实现地址重定向

当请求的页面从原本站点移动到其他站点,可使用-L选项,源请求会自动重定向到移动到的其他站点,比如某些http请求会自动重定向到https

抓取网页并保存到本地

curl也能向wget那样保存请求相应内容为文件

-o后跟文件名

-O后不用跟东西 默认文件名为远端服务器的文件名

curl断点传输

加配置项-C -即可实现自动断点传输

限制传输速度

和wget类似 也可以限速 配置项也一样 --limit-rate

scp

可双向传输

-r 传输目录下所有文件

-P 指定连接端口 默认端口22

-l 5 限速 单位是Kbit/s

mtr

一般检查网络连通性 可用ping 不通再用traceroute 或者用nslookup看dns解析。多个命令组合用较麻烦 可以尝试使用mtr命令

左边一列是跳的ip地址 右边好几列 从左往右依次如下

Loss 丢包率百分比

snt 发送的包数量

Last 最后一个包延时

Avg 平均延时

Best 最佳延时

Wrst 最差延时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值