1. 查看进程的开始时间
ps -eo pid,lstart,etime | grep 5176
2. 查看那目录的大小
du -h -d 1
du -h --max-depth=0
du -h [dir] // 查看直接子目录的大小
3. 压缩文件zip
zip -r [].zip [dir]
4. 杀死指定端口的进程
kill -9 `netstat -nlp|grep :8000|awk '{print $7}'|awk -F "/" '{ print $1 }'`
5. 远程文件同步工具(scp总出漏洞,干脆用这个吧)
rsync -avq
6. RPM包卸载
首先通过 rpm -q <关键字> 可以查询到rpm包的名字 然后 调用 rpm -e <包的名字> 删除特定rpm包 如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包 如果恰好有多个包叫同样的名字,使用 rpm -e --allmatches --nodeps <包的名字> 删除所有相同名字的包, 并忽略依赖
7. nmap端口测试
nmap -p 7077 master_ip
8. 查看内存,cpu
vmstat
9. ftp远程下载文件
wget ftp://192.168.1.1/11111111.zip --ftp-user=123 --ftp-password=123
10.修改文件连接数
cat <<EOF >>/etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 EOF
11. 硬盘速度测试
time dd bs=1M count=20000 if=/dev/zero of=/data/test.dd conv=direct
12.删除大小为0 的文件
find . -name "*" -type f -size 0c | xargs -n 1 rm -f
13.添加用户(软件运行用户)
useradd -d /usr/local/mongodb -s /sbin/nologin mongo
14.ssh-copy-id 【三步实现SSH无密码登录和ssh常用命令】
ssh-keygen 产生公钥与私钥对. ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利
第一步:在本地机器上使用ssh-keygen产生公钥私钥对 $ ssh-keygen
第二步:用ssh-copy-id将公钥复制到远程机器中 $ ssh-copy-id -i .ssh/id_rsa.pub 用户名字@192.168.x.xxx 注意: ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key.文件中
15.修改主机的hostname, 调整 hosts文件
# 使用hostnamectl 修改了hostname之后,修改hosts文件是个好习惯(否则可能会导致一些springboot 或java 项目启动缓慢)
hostnamectl set-hostname test-001
vi /etc/hosts 127.0.0.1 test-001 ::1 test-001
16. 修改系统服务文件打开数
在Centos7系统中,使用Systemd替代了之前的SysV。/etc/security/limits.conf文件的配置作用域缩小了。/etc/security/limits.conf的配置,只适用于通过PAM认证登录用户的资源限制,它对systemd的service的资源限制不生效。因此登录用户的限制,通过/etc/security/limits.conf与/etc/security/limits.d下的文件设置即可。
对于systemd service的资源设置,则需修改全局配置,全局配置文件放在/etc/systemd/system.conf和/etc/systemd/user.conf,同时也会加载两个对应目录中的所有.conf文件/etc/systemd/system.conf.d/.conf和/etc/systemd/user.conf.d/.conf。system.conf是系统实例使用的,user.conf是用户实例使用的。
vim /etc/systemd/system.conf
vim /etc/systemd/user.conf
DefaultLimitNOFILE=100000 DefaultLimitNPROC=65535
执行systemctl daemon-reexec ,systemctl start nginx启动,然后根号进程号查看资源限制
17. 查看系统进程文件数等【查看当前进程的最大可以打开的文件数】
cat /proc/进程ID/limits
2)查看当前进程实时打开的文件数
lsof -p PID |wc -l
3)查看系统总限制打开文件的最大数量
cat /proc/sys/fs/file-max
18. 查看系统网络通信
tcpdump -ni tunl0 host 10.2.0.1 and port 3000 // To view the current tunnel size, use the following command: ip link show
19. Redis 批量删除
redis-cli -h 192.168.1.1 -p 1234 -c -a password KEYS "key*"| xargs -i redis-cli -h 192.168.1.1 -p 1234 -a password del {}
20. 主机中访问记录数最多的IP
cat /proc/net/nf_conntrack | awk '{print $7}' | cut -d "=" -f 2 | sort | uniq -c | sort -nr | head -n 10
21. 直接将jar包推送到指定仓库【 这个方法不能在本地仓库内执行提交】
mvn deploy:deploy-file -DgroupId=net.sf.json-lib -DartifactId=json-lib -Dversion=2.2.1-jdk15 -Dpackaging=jar -Dfile=json-lib-2.2.1-jdk15.jar -Durl=【仓库地址】-DrepositoryId=central
22. 解锁linux用户, Account lock
sudo pam_tally2 -u root --reset // 超过了输入次数
23. 从Nginx日中中截取指定时间段的日志
sed -n '/13\/Jan\/2022:00:00:00/','/13\/Jan\/2022:10:02:16/p' /data/logs/nginx/access.log > 10_access.log
24. 从大文件搜索指定字符串并显示行号
grep -n [要搜索的词] [文件路径]
25. 从大文件中截取指定行的文件
sed -n '3363470,3733038p' 文件名 > 目标文件名