文章目录
一. 网络
1.通过端口查看进程
lsof 是“list open files”的缩写,在linux系统中,一切可是为文件,网络连接也可视为文件,因此,我们可以通过lsof命令查看占用某个端口号的进程。
查看被打开的与网络相关的文件
-i 选项用来查看被打开的和网络相关的文件,其参数的格式如下:
[46][protocol][@hostname|hostaddr][:service|port]
46 表示 IP 协议的版本
protocol 表示网络协议的名称,比如 TCP 或 UDP
hostname 或 hostaddr 表示主机地址
service 指 /etc/services 中的名称,比如 smtp 或多个服务的列表
port 表示端口号,可以指定一个或多个
-i 选项默认会同时输出 IPv4 和 IPv6 打开的文件:
-i<条件>:列出符合条件的进程(协议、:端口、 @ip )
可以使用:
lsof -i:$port
lsof -i|grep $port
2. 通过进程名查看进程状态
ps命令是Process Status的缩写,用来列出系统中当前运行的进程。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。ps命令所列出的进行是当前进程的快照,也就是并不是动态的,而是执行该命令时那一时刻进行的状态。
常用参数
ps -a 显示所有终端下执行的进程,包含其他用户的进程
ps -e 显示所有进程
ps -H 显示树状结构,表示程序间的相互关系
ps -f 全格式显示进程
可以这样使用来查看进程的状态
ps -ef|grep processname
ing参考
https://blog.csdn.net/qq_45689245/article/details/127423917
3. 查看cpu核心数
nproc
64
cat /proc/cpuinfo | grep "processor" | wc -l
64
4. CPU占用进行排序
ps aux|sort -nr -k3 |head -n 5
root 1747854 0.9 0.4 17814208 642368 ? Sl 8月27 58:18 /opt/starrocks/output/be/lib/starrocks_be
taiyi 1821522 0.1 0.8 16769984 1062464 ? Sl 8月28 4:59 java -Xmx512M -XX:+UseG1GC -Xloggc:/home/taiyi/linkis/qnote/linkis/linkis-publicservice/logs/linkis-gc.log -cp /home/taiyi/linkis/qnote/linkis/linkis-publicservice/conf:/home/taiyi/linkis/qnote/linkis/linkis-publicservice/lib/* com.webank.wedatasphere.linkis.DataWorkCloudApplication
-n:默认使用字符串排序,n代表使用数值进行排序
-r:反向排序
-k3: 以第3列进行排序
5. 查看端口是否被占用
netstat -tln
#“t”表示TCP协议,“l”表示监听状态,“n”表示端口号使用数字表示。
# 查看80端口是否开放
netstat -tln | grep 80
二. 文件操作
1. 压缩解压
压缩
tar -czvf 压缩文件名.tar.gz 被压缩文件夹
解压
tar -zvxf 压缩文件名.tar.gz -C 目标文件夹
-c 压缩
-x 解压
-z 支持gzip解压文件
-v 显示操作过程
-f 使用档名,请留意,在f之后要立即接档名!不要再加参数!
2. vim 基本查找和替换
在Vim中,可以使用:s
命令来查找和替换文本,如下语法
:[range]s/{pattern}/{string}/[flags] [count]
- [range]代表搜索的范围,其中搜索{pattern},并将其替换为{string}。
- 如果未给出[range]和[count],则仅替换当前行中找到的pattern。当前行是光标所在的行。
常用的命令:
:s/foo/bar/ #仅替换光标所在行的第一个匹配项
:s/foo/bar/g #替换光标所在行的所有匹配项
:%s/foo/bar/g #替换所有行
指定搜索范围:
将从第3行到第10行的所有行中所有出现的 foo替换为 bar,你可以使用:
:3,10s/foo/bar/g
{pattern}的正则语法:
将所有以 foo开头的行替换为 Vim is the best:
:%s/^foo.*/Vim is the best/gc
%s:所有行
^foo.*: ^(脱字符)符号与行的开头匹配
c:每次替换时都要进行确认
3. 软链接创建
语法
ln -s [源文件或目录] [目标文件或目录]
为 test 创建软链
ln –s /var/www/test test
注意:
删除和删除普通的文件是一样的,删除都是使用rm来进行操作。
4. 按照时间顺序查看文件排序
时间升序
命令:ls -lrt
详细解释:
-l use a long listing format 以长列表方式显示(详细信息方式)
-t sort by modification time 按修改时间排序(最新的在最前面)
-r reverse order while sorting (反序)
时间降序
命令:ls -lt
详细解释:
-l use a long listing format 以长列表方式显示(详细信息方式)
-t sort by modification time 按修改时间排序(最新的在最前面)
三. 用户与组
1. 用户A访问用户B的目录
将A加入到B的组当中,为了A能访问B的资源,还需要将test1的目录访问权限分配到组中。
usermod -G B A
chmod -R 774 /home/B/
四. 文本处理
1. 搜索文档匹配结尾
ll |grep -E ".*master.jar$"
2. 搜索文件夹下的文件是否包含某字符串
grep -C3 aimString -r /dir
-C3:展示此字符所在行的附近3行
五. 磁盘管理
1.查看空间
1.1. 查看某个目录所在磁盘分区
df -h /tmp/
文件系统 容量 已用 可用 已用% 挂载点
tmpfs 64G 302M 63G 1% /tmp
2. 查看空间使用
2.1. 查看当前目录磁盘空间使用情况
du -h ./
40K ./chunjun-master-dev/bin
56K ./chunjun-master-dev/flink-1.16.1/conf
5.3M ./chunjun-master-dev/flink-1.16.1/examples/streaming
...
455M ./linkis
3.0G .
2.2. 只展示当前目录的二级子目录使用情况
du -h --max-depth=1 ./
944M ./chunjun-master-dev
5.2M ./hadoop_repo
455M ./linkis
3.0G ./
2.3. 当前目录下空间使用排序
du -s * | sort -nr
965996 chunjun-master-dev
870732 chunjun-master-dev.tar.gz
465052 qnote
454672 qnote.tar.gz
316020 hadoop.tar.gz
5268 hadoop_repo
0 hadoop
3. 磁盘清理
- 查看机器各挂载点,找出使用率最高的几个挂载点
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol03 50G 32G 19G 63% /
devtmpfs 95G 0 95G 0% /dev
...
- 选择磁盘最高挂载点,查看各目录磁盘消耗,分析清理
sudo du -h --max-depth=1 / | sort -h
1.2G /data00
1.4G /run
5.5G /home
6.0G /usr
11G /data01
25G /
进到此目录下/data01,发现是安装的linkis会每天产生执行文件导致磁盘占用高。
sudo du -h --max-depth=1 /data01/linkis | sort -h
注:可以逐层查看每层各目录磁盘消耗情况,进行针对性的删除。