工作中常用的linux命令总结(1)

这是我的第一篇博文,鉴于互联互通、技术分享的精神,想想就激动!

来点日常工作的干货吧:)

1、复制文本时候  cat和vi复制的文件格式不一样  vi会有多出空行来;


2、gdb rc core.10006  rc是程序目录bin下面的程序文件 core.10006是core文件;


3、SHOW MASTER LOGS;查看目前的master binlog日志

PURGE MASTER LOGS TO ‘mysql-bin.010‘;删除日志从最久的到mysql-bin.010

PURGE MASTER LOGS BEFORE ‘2008-06-22 13:00:00‘;删除某个时间点前的日志

PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);删除到今天间隔3天的日志

SHOW MASTER STATUS;查看正在使用的二进制日志和日志的位置


4、show grants  for root@‘10.1.1.60‘;  查看root用户 ip为10.1.1.60的用户权限

select host,user,password from mysql.user;查看各个host和用户的权限

revoke all privileges on *.* from ‘root‘@‘%‘ identified by ‘sd-9898w‘;回收所有的root权限

grant select privileges on *.* to ‘root‘@‘119.147.41.101‘ identified by ‘sd-9898w‘;      授予select权限给ip为119.147.41.101的root用户


5、updatedb;更新文件目录库

locate master_ip_failover;定位文件名为master_ip_failover的文件


6、cat file.txt |xargs rm -rf  把file.txt文件列表里面的文件删除 包括目录!!!!


7、ip addr ls;各个网卡接口详细ip和mac地址列表,包括虚拟网卡和环回口lo


8、dos2unix unix2dos;unix和window文件之间的转换


9、cat file.txt|awk -F: ‘{print $1}‘|uniq|sed ‘s/.\///g‘;


10、sed -i ‘s/www.huiyewang.com/172.20.101.54/g‘ index.html 直接修改;

sed -i ‘s/www.huiyewang.com/172.20.101.54/g‘ *.php  匹配php后缀的文件 都改!!


11、Linux Shell 环境中的输入输出重定向,用符号<和>来表示。0、1和2分别表示标准输入、标准输出和标准错误。

1).重定向标准输出到文件:

cat foo > foo.txt

2).重定向标准错误到文件

cat foo 2> foo.txt

3).重定向标准输出到标准错误

cat foo 1>&2

4).重定向标准错误到标准输出

cat foo 2>&1

5).重定向标准输出,标准错误到同一个文件

cat foo > foo.txt 2>&1或cat foo &> foo.txt

这里第个顺序很重要,先把标准输出重定向到文件,再把标准错误输出到标准输出,因为标准输出已经重定向到文件,所以标准错误与重定向到文件。

>&与&>效果相同


12、chmod o+r / -R   172.20.101.54

chattr +i /usr/local/nginx/conf/*

chown 754 /usr/local/php/var/log  -R


13、添加一条规则到尾部:

iptables -A INPUT -s 192.168.1.5 -j DROP

再插入一条规则到第三行,将行数直接写到规则链的后面:

iptables -I INPUT 3 -s 192.168.1.3 -j DROP

删除之前添加的规则(iptables -A INPUT -s 192.168.1.5 -j DROP):

iptables -D INPUT -s 192.168.1.5 -j DROP

iptables-save 保存刚才的操作


14、mysql数据库的操作命令:

show variables;

show processlist;

show full processlist;

show status;

status;

FLUSH TABLE WITH READ LOCK;

unlock tables;


15、cp -rp dir1/*  dir2/

cat /usr/local/nginx/conf/vhosts.conf|egrep -w "root|server_name" 精确匹配


16、ln -s /upload/uploadfile /data/vhost/www.huiyewang.com/  写绝对路径 防止层数过多的错误提示!!!!


17、alias 显示命令别名!!!!unalias 取消命令别名!!! alias ll=‘ls -l‘设置别名!!!


18、umount -l /dev/sdc1 强制卸载;


19、strace -p `cat /usr/local/php/var/php-fpm.pid`;追踪某个进程


20、set global log_queries_not_using_indexes=ON;  不用重启配置生效的方法!


21、show variables like ‘max_heap_table_size‘;  查看某个变量的值

show variables like ‘%log%‘;  show global status like ‘%slow%‘; 


22、locate net-snmp|xargs rm -rf {}\;  慎用!!!!


23、ipvsadm -lcn  查看lvs的连接状态!!!


24、awk ‘NR==FNR{a[$1]=$0;next}NR>FNR{if($1 in a)print $0"\n"a[$1]}‘ company1.txt qianyue.txt >> qianyue1.txt; 合并相同的行!!!!


25、sed版:

sed ‘1~2‘ file #删除奇数行,和sed ‘1~2P‘ file效果相同

sed ‘1~2!d‘ file #删除偶数行

awk版:

awk ‘NR%2==0‘ filename #删除奇数行

awk ‘NR%2==1‘ filename #删除偶数行


26、ip=$(cat /data/list/backlist.txt|awk ‘{print $1}‘|uniq) 把命令赋值给变量!!!


27、zip -r yasuo.zip abc.txt dir1 压缩文件和文件夹;


28、tar zcf www.huiyewang.com.tar.gz --exclude=uploadfile www.huiyewang.com 把uploadfile目录排除在外,不压缩


29、ping -c 20 -i 0.3 172.20.101.51; ping 20次,时间间隔为0.3秒


30、

#!/bin/bash

ip=$(cat /data/list/backlist.txt|awk ‘{print $1}‘|uniq)

for a in $ip

do

iptables -A INPUT -p tcp -s $a -j DROP

service iptables save

done

service iptables restart

自动加入iptables黑名单!!!


31、grep -e twin0176 -e twin0133 -e twin0136 -e twin0172 -e twin0174 -e twin0178 -e twin0168 -e twin0169 *; 查询多个匹配字符


32、grep -R cdnmanager . 递归匹配出该目录下所有包含cdnmanager的结果


33、swapon/swapoff  交换分区开关


34、netstat -ano >c:/port.txt  在windows下面 


35、mstsc /admin /v:twin0101.sandai.net 


36、vnstat -i eth0 -tr 5秒内网卡的传输速率


37、dmesg eth0 eth1 查看网卡系统日志


38、mtr -c 5 -r t2201.sandai.net 


39、nc -z -v twin0804.sandai.net 12520


40、top -bn 1  按照内存的使用率查看各进程


41、./ldm_data_panel |grep dn |sort -k15 排序前15的


42、ps -A -o stat,ppid,pid,cmd | grep -e ‘^[Zz]‘ | awk ‘{print $2}‘ 过滤出僵尸进程


43、cat /proc/interrupts 查看各个cpu的中断请求 cat /proc/stat


44、for i in `seq 1 200`; do mysql -u root  -pb5fdb71d --socket=/tmp/mysql.sock -e "set global sql_slave_Skip_Counter=1;slave start;"; sleep 0.1; done 

在命令行里面执行for循环命令


45、OPTIMIZE LOCAL 

建议myisam的尽量使用这个尝试修表,少用repair或myisamchk

mysql> OPTIMIZE LOCAL table port;

+--------------+----------+----------+----------+

| Table        | Op       | Msg_type | Msg_text |

+--------------+----------+----------+----------+

| opennac.port | optimize | status   | OK       |

+--------------+----------+----------+----------+

repairt和check table会很慢,锁表时间很长

optimize 是先尝试优化,如果发现表坏再尝试修复


本文出自 “湘江吹疯” 博客,请务必保留此出处http://xjcf00.blog.51cto.com/10170403/1640349

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。