长期更新,记录实用的linux命令。
文章目录
- 1.清理缓存
- 2.查看CPU核数
- 3.当前目录下每个文件大小
- 4.查看内存
- 5.替换
- 6.批量kill进程
- 7.查看单词在文件出现次数
- 8.删除用户
- 9.关闭防火墙,指定ip端口访问
- 10.查看服务器重启记录
- 11.查看当前使用的端口
- 12.查看是否开启大页内存
- 13.linux脚本打印执行时间
- 14.按监听端口1234来查询连接数据库的客户端IP
- 15.centos6、7关闭防火墙
- 16.文件按修改时间排序
- 17.定期删除备份
- 18.文件分割
- 19.定时任务
- 20.history显示命令执行时间
- 21.计算脚本执行时间
- 22.查看centos版本
- 23.修改主机名
- 24.查找文件
- 25.swap交换空间
- 26.查看当前SELinux的应用模式
- 27.查看文件有多少行
- 28.删除文件每行前后的内容
- 29.删除不包含有某字符的行
- 100.iostat
- 101.添加登陆信息
1.清理缓存
echo 3 > /proc/sys/vm/drop_caches
2.查看CPU核数
mpstat -P ALL
lscpu
3.当前目录下每个文件大小
du -sh *|sort
4.查看内存
cat /proc/meminfo
free -g
5.替换
:%s/a/b/g
6.批量kill进程
ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9
7.查看单词在文件出现次数
cat list.log | grep -o test | wc -l
8.删除用户
userdel -r haha
9.关闭防火墙,指定ip端口访问
iptables -I INPUT -s 172.50.XX.XXX -p tcp --dport 5000 -j ACCEPT
10.查看服务器重启记录
last | grep reboot/shutdown
11.查看当前使用的端口
netstat -tunlp
12.查看是否开启大页内存
sysctl -a |grep huge
13.linux脚本打印执行时间
#!/bin/bash
start=$(date +%s)
sleep 5;
end=$(date +%s)
take=$(( end - start ))
echo Time taken to execute commands is ${take} seconds.
14.按监听端口1234来查询连接数据库的客户端IP
netstat -anpT | grep 1234 | awk '{print $5}' | grep -o -E '1.*:' | awk -F ':' '{print $1}' | sort
15.centos6、7关闭防火墙
##6
临时关闭防火墙命令 #service iptables stop
永久关闭防火墙命令 #chkconfig iptables off
查看防火墙关闭状态 #service iptables status
##7
临时关闭防火墙命令 #systemctl stop firewalld
永久关闭防火墙命令 #systemctl disable firewalld
查看防火墙关闭状态 #systemctl status firewalld
16.文件按修改时间排序
ls -lrt
17.定期删除备份
删除某个路径下,7天前的文件
find /opt/postgres/pg_log/*.csv -type f -mtime +7 -exec rm -rf {} \;
18.文件分割
##把log.out分割成1M
[root@localhost dump]# split -b 1m log.out LF_
[root@localhost dump]# ll
总用量 4840
-rw-r--r-- 1 root root 1048576 10月 29 08:37 LF_aa
-rw-r--r-- 1 root root 1048576 10月 29 08:37 LF_ab
-rw-r--r-- 1 root root 380610 10月 29 08:37 LF_ac
##合并
[root@localhost dump]# cat LF_* > bb.out
19.定时任务
##没周一、二执行
30 00 * * 1,2 /root/***.sh
##每分钟执行一次
*/1 * * * * sh /home/***.sh
##1点半到23点半,每隔一小时执行一次
30 1-23/1 * * * /home/***.sh
20.history显示命令执行时间
vim ~/.bash_profile
export HISTTIMEFORMAT="%F %T "
21.计算脚本执行时间
startTime=`date +"%s"`
sleep 10
endTime=`date +"%s"`
echo 用时`expr $endTime - $startTime`秒
22.查看centos版本
cat /etc/redhat-release
23.修改主机名
24.查找文件
#模糊查询
find /opt -name '*aaaaaaa*'
25.swap交换空间
cat /proc/swaps
26.查看当前SELinux的应用模式
getenforce
27.查看文件有多少行
wc -l
wc --help #其他选项
28.删除文件每行前后的内容
# 如果文件很大,建议后台运行,否则它会输出文件内容,根本停不下来。。。
# 删除每行前两个字符,并保存到201907.csv
[root@hhb]# sed 's/..//' 201907 > 201907.csv &
29.删除不包含有某字符的行
:v/||/d
# vim删除不包含有'||'的行
100.iostat
[root@localhost ~]$ iostat -d -x -m 3
Linux 2.6.32-696.30.1.el6.x86_64 (localhost.localdomain) 2020年10月28日 _x86_64_ (2 CPU)
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.74 0.02 0.52 0.00 0.00 19.82 0.02 33.14 7.88 34.28 10.06 0.54
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 0.67 0.00 0.00 0.00 8.00 0.00 7.00 7.00 0.00 4.00 0.27
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.67 0.00 0.67 0.00 0.01 16.00 0.01 18.50 0.00 18.50 18.50 1.23
rrqm/s: 每秒进行 merge 的读操作数目。即 rmerge/s
wrqm/s: 每秒进行 merge 的写操作数目。即 wmerge/s
r/s: 每秒完成的读 I/O 设备次数。即 rio/s
w/s: 每秒完成的写 I/O 设备次数。即 wio/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。
wkB/s: 每秒写K字节数。是 wsect/s 的一半。
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。
avgqu-sz: 平均I/O队列长度。
rsec/s: 每秒读扇区数。即 rsect/s
wsec/s: 每秒写扇区数。即 wsect/s
r_await:每个读操作平均所需的时间
不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间。
w_await:每个写操作平均所需的时间
不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间。
await: 平均每次设备I/O操作的等待时间 (毫秒)。
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。
%util: 一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;
如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。
如果avgqu-sz比较大,也表示有当量io在等待。
101.添加登陆信息
[root@localhost ~]# cat /etc/motd
#######################################################
##Welcome to Sybase!!!登陆前请务必查看以下信息!!! ##
#######################################################
## Sybase 安装路径/home/sybase ##
## Sybase启动方式: ##
## 1.su - sybase ##
## 2.cd /home/sybase/ASE-15_0/install0 ##
## 3. ./startserver -f RUN_NP ##
## 4. ./startserver -f RUN_NP_BS ##
## 验证是否启动: ##
## netstat -tunlp|grep 6004 ##
#######################################################