您当前的位置:首页 > 学海无涯 > 心得笔记网站首页心得笔记
Linux常用命令
发布时间:2019-10-14作者:♂逸風★淩軒
一、清理内存
#!/bin/bash used=`free -m | awk 'NR==2' | awk '{print $3}'` free=`free -m | awk 'NR==2' | awk '{print $4}'` echo "===========================" >> /var/log/mem.log date >> /var/log/mem.log echo "Memory usage | [Use:${used}MB][Free:${free}MB]" >> /var/log/mem.log if [ $free -le 1000 ] ; then sync && echo 1 > /proc/sys/vm/drop_caches sync && echo 2 > /proc/sys/vm/drop_caches sync && echo 3 > /proc/sys/vm/drop_caches echo "OK" >> /var/log/mem.log else echo "Not required" >> /var/log/mem.log fi
二、生成网站证书
#!/bin/sh # create self-signed server certificate: read -p "Enter your domain [www.example.com]: " DOMAIN echo "Create server key..." openssl genrsa -des3 -out $DOMAIN.key 1024 echo "Create server certificate signing request..." SUBJECT="/C=US/ST=Mars/L=iTranswarp/O=iTranswarp/OU=iTranswarp/CN=$DOMAIN" openssl req -new -subj $SUBJECT -key $DOMAIN.key -out $DOMAIN.csr echo "Remove password..." mv $DOMAIN.key $DOMAIN.origin.key openssl rsa -in $DOMAIN.origin.key -out $DOMAIN.key echo "Sign SSL certificate..." openssl x509 -req -days 3650 -in $DOMAIN.csr -signkey $DOMAIN.key -out $DOMAIN.crt echo "TODO:" echo "Copy $DOMAIN.crt to /usr/local/nginx/ssl/$DOMAIN.crt" echo "Copy $DOMAIN.key to /usr/local/nginx/ssl/$DOMAIN.key" echo "Add configuration in nginx:" echo "server {" echo " ..." echo " listen 443 ssl;" echo " ssl_certificate /usr/local/nginx/ssl/$DOMAIN.crt;" echo " ssl_certificate_key /usr/local/nginx/ssl/$DOMAIN.key;" echo "}"
三、Nginx日志统计
1.根据访问IP统计UV awk '{print $1}' access.log|sort | uniq -c |wc -l 2.统计访问URL统计PV awk '{print $7}' access.log|wc -l 3.查询访问最频繁的URL awk '{print $7}' access.log|sort | uniq -c |sort -n -k 1 -r|more 4.查询访问最频繁的IP awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|more 5.根据时间段统计查看日志 cat access.log| sed -n '/14\/Mar\/2015:21/,/14\/Mar\/2015:22/p'|more
四、性能统计
查看进程,按内存从大到小 ps -e -o "%C : %p : %z : %a"|sort -k5 -nr 查看进程,按CPU利用率从大到小排序 ps -e -o "%C : %p : %z : %a"|sort -nr 查看进程,按CPU利用率从大到小排序 ps -e -o "%C : %p : %z : %a"|sort -nr
五、sudo免密码
echo 'yourpassword'|sudo -S ./manager-linux-x64.run
六、免交互生成ssh key
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub es@HOST_B
七、查看swap占用
for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr
for i in $( cd /proc;ls |grep "^[0-9]"|awk ' $0 >100') ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps 2>/dev/null ; done | sort -k2nr | head -10
八、保留内核只存多少
1、查看已经安装的内核
命令:rpm -q kernel
显示结果: kernel-2.6.32-279.14.1.el6.i686
kernel-2.6.32-279.el6.x86_64
kernel-2.6.32-358.6.1.el6.x86_64
2、删除旧的内核 方法一:
安装yum-utls:
yum install -y yum-utils
设置你想要保留多少旧的内核,比如我想保留两个:
sudo package-cleanup --oldkernels --count=2
再次用rpm -q kernel查看内核信息,只剩最新的两个:
kernel-2.6.32-279.el6.x86_64
kernel-2.6.32-358.6.1.el6.x86_64
3、 设置永久的内核安装数量 ,我设置的是两个
sudo vi /etc/yum.conf
设置installonly_limit=2
4、重启,就只会看见两个内核启动项了。
九、批量替换文件内容
find ./ -name "jdbc*" -print | xargs -i sed -i 's/192.168.1/10.10.1/' {}
删除N天前文件
find . -mtime +N -type f -name "*.log.*" -exec rm -f {} \;
指定文件替换
find /web/life/* -name "*.js" -print | egrep -v '\.svn'| xargs -i sed -i 's#https://life.com#https://tylife.com#' {}
十、提升某文件权限
chattr +i .user.ini
十一、统计文件数
find ./ -maxdepth 1 -type f|wc -l 统计当前目录 find ./ -type f|wc -l 统计当前目录并包含子目录
十二、网络连接查看
ss -l 显示本地打开的所有端口 ss -pl 显示每个进程具体打开的socket ss -t -a 显示所有tcp socket ss -u -a 显示所有的UDP Socekt ss -o state established '( dport = :smtp or sport = :smtp )' 显示所有已建立的SMTP连接 ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接 ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程 ss -s 列出当前socket详细信息:ss
十三、限制Root登录
增加普通账户,需要用时再su root取得权限 限制Root登录 adduser itadmin passwd itadmin 添加文件的写权限。也就是输入命令"chmod u+w /etc/sudoers"。 编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",进入编辑模式,找到这一 行:"root ALL=(ALL) ALL "在起下面添加"itadmin ALL=(ALL) ALL",然后保存退出。 撤销文件的写权限。也就是输入命令"chmod u-w /etc/sudoers"。 vi /etc/ssh/sshd_config 修改 PermitRootLogin no 重启SSHD /etc/init.d/sshd restart
十四、字符串截取
假设有变量 var=http://www.aaa.com/123.htm.
1. # 号截取,删除左边字符,保留右边字符。
echo ${var#*//}
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.aaa.com/123.htm
2. ## 号截取,删除左边字符,保留右边字符。
echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.aaa.com/
结果是 123.htm
3. %号截取,删除右边字符,保留左边字符
echo ${var%/*}
%/* 表示从右边开始,删除第一个 / 号及右边的字符
结果是:http://www.aaa.com
4. %% 号截取,删除右边字符,保留左边字符
echo ${var%%/*}
%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:
5. 从左边第几个字符开始,及字符的个数
echo ${var:0:5}
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:http:
6. 从左边第几个字符开始,一直到结束。
echo ${var:7}
其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :www.aaa.com/123.htm
7. 从右边第几个字符开始,及字符的个数
echo ${var:0-7:3}
其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
结果是:123
8. 从右边第几个字符开始,一直到结束。
echo ${var:0-7}
表示从右边第七个字符开始,一直到结束。
结果是:123.htm
注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
十五:零散需要安装命令
1、测试UDP端口
yum install nc
2、查看IO
yum install iotop
3、上传下载功能(rz上传、sz下载)
yum install -y lrzsz
4、后台窗口命令
yum install screen
创建temp会话:screen -S temp 再次进入名为temp的会话:screen -r temp 恢复上次会话:screen -x 检查正在运行的会话: screen -ls 关闭当前窗口:ctrl+a+k 临时退出这个会话:ctrl+a+d
5、查询删除rpm包
rpm -qa|grep jdk rpm -e --nodeps jdk-1.6.0_22-fcs
关键字词:Linux常用命令

下一篇:返回列表
相关文章
-
无相关信息