您的位置:首页 > 运维架构 > Linux

linux运维常用命令一句话

2013-08-21 23:54 363 查看
整理收集一些linux运维管理、系统管理的常用命令,太多了记不住,只能记录下来方便日后查看。也可以和大家分享。如果你有好的一句话命令也贴出来吧。本文持续更新中。
1、linux启动过程
  开启电源 --> BIOS开机自检 --> 引导程序lilo或grub --> 内核的引导(kernel boot)--> 执行init(rc.sysinit、rc)--> mingetty(建立终端) --> shell
2、网卡绑定多IP
# ifconfig eth0:1 192.168.1.99 netmask 255.255.255.0
3、设置DNS、网关
# echo "nameserver 202.16.53.68" 》/etc/resolv.conf
# route add default gw 192.168.1.1
4、弹出、收回光驱
# eject
# eject -t
5、用date查询昨天的日期
# date --date=yesterday
6、查询file1里面空行的所在行号
# grep ^$ file
7、查询file1以abc结尾的行
# grep abc$ file1
8、打印出file1文件第1到第三行
# sed -n '1,3p' file1
# head -3 file1
9、清空文件
# true > 1.txt
# echo "" > 1.txt
# > 1.txt
# cat /dev/null > 1.txt
10、删除所有空目录
# find /data -type d -empty -exec rm -rf {} \;
11、linux下批量删除空文件(大小等于0的文件)的方法
# find /data -type f -size 0c -exec rm -rf {} \;
# find /data -type f -size 0c|xargs rm –f
12、删除五天前的文件
# find /data -mtime +5 -type f -exec rm -rf {} \;
13、删除两个文件重复的部份,打印其它
# cat 1.txt 3.txt |sort |uniq
14、攻取远程服务器主机名
# echo `ssh $IP cat /etc/sysconfig/network|awk -F = '/HOSTNAME/ {print$2}'`
15、实时监控网卡流量(安装iftop)
# /usr/local/iftop/sbin/iftop -i eth1 -n
16、查看系统版本
# lsb_release -a
17、强制踢出登陆用户
# pkill -KILL -t pts/1
18、tar增理备份、还原
# tar -g king -zcvf kerry_full.tar.gz kerry
# tar -g king -zcvf kerry_diff_1.tar.gz kerry
# tar -g king -zcvf kerry_diff_2.tar.gz kerry
# tar -zxvf kerry_full.tar.gz
# tar -zxvf kerry_diff_1.tar.gz
# tar -zxvf kerry_diff_2.tar.gz
19、将本地80端口的请求转发到8080端口,当前主机外网IP为202.96.85.46
-A PREROUTING -d 202.96.85.46 -p tcp -m tcp --dport 80 -j DNAT--to-destination 192.168.9.10:8080
20、在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh
# crontab -e
0 6-12/2 * 11 * /usr/bin/httpd.sh
21、查看占用端口8080的进程
# netstat -tnlp | grep 8080
lsof -i:8080
22、在Shell环境下,如何查看远程Linux系统运行了多少时间?
# ssh user@被监控主机ip "uptime"
23、查看CPU使用情况的命令
""每5秒刷新一次,最右侧有CPU的占用率的数据
# vmstat 5
""top 然后按Shift+P,按照进程处理器占用率排序
# top
24、查看内存使用情况的命令
""用free命令查看内存使用情况
# free -m
""top 然后按Shift+M, 按照进程内存占用率排序
# top
25、查看磁盘i/o
""用iostat查看磁盘/dev/sdc3的磁盘i/o情况,每两秒刷新一次
# iostat -d -x /dev/sdc3 2
26、修复文件系统
# fsck –yt ext3 /
-t 指定文件系统
-y 对发现的问题自动回答yes
27、read 命令5秒后自动退出
# read -t 5
28、grep -E -P 是什么意思
-E, --extended-regexp 采用扩展正规表达式。
-P,--perl-regexp 采用perl正规表达式
29、vi编辑器(涉及到修改,添加,查找)
  插入(insert)模式
i    光标前插入
I    光标行首插入
a    光标后插入
A    光标行尾插入
o    光标所在行下插入一行,行首插入
O    光标所在行上插入一行,行首插入
G    移至最后一行行首
nG    移至第n行行首
n+    下移n行,行首
n-    上移n行,行首
:/str/          从当前往右移动到有str的地方
str?          从当前往左移动到有str的地方
:s/str1/str2/      将找到的第一个str1替换为str2
:s/str2/str2/g      将当前行找到的所有str1替换为str2
:n1,n2s/str1/str2/g    将从n1行至n2行找到的所有的str1替换为str2
:1,.s/str1/str2/g      将从第1行至当前行的所有str1替换为str2
:.,$s/str1/str2/g      将从当前行至最后一行的所有str1替换为str2
30、linux服务器之间相互复制文件
copy 本地文件1.sh到远程192.168.9.10服务器的/data/目录下
# scp /etc/1.shking@192.168.9.10:/data/
copy远程192.168.9.10服务器/data/2.sh文件到本地/data/目录
# scpking@192.168.9.10:/data/2.sh/data/
31、使用sed命令把test.txt文件的第23行的TEST换成TSET.
# sed -i '23s/TEST/TSET/' test.txt
# sed -i '23 s/TEST/TSET/' test.txt
32、使history命令能显示时间
# export HISTTIMEFORMAT="%F %T "
33、如何查看目标主机192.168.0.1开放那些端口
# nmap -PS 192.168.0.1
34、如何查看网络连接
# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
35、如何查看当前系统使用了那些库文件
# ldconfig -v
36、如何查看网卡的驱动版本
# ethtool -i eth0
37、使用tcpdump来监视主机192.168.0.1的tcp的80端口
# tcpdump tcp port 80 host 192.168.0.1
38、如何看其它用户的邮件列表
# mial -u king
39、对大文件进行切割
  按每个文件1000行来分割
# split -l 1000 httperr8007.log httperr
  按照每个文件5m来分割
# split -b 5m httperr8007.log httperr
40、合并文件
  取出两个文件的并集(重复的行只保留一份)
# cat file1 file2 | sort | uniq
  取出两个文件的交集(只留下同时存在于两个文件中的文件)
# cat file1 file2 | sort | uniq -d
  删除交集,留下其他的行
# cat file1 file2 | sort | uniq –u
41、打印文本模式下运行的服务
# chkconfig --list|awk '$5~/on/{print $1,$5}'
42、删除0字节文件
# find -type f -size 0 -exec rm -rf {} \;
43、查看进程,按内存从大到小排列
# ps -e -o "%C : %p : %z : %a"|sort -k5 -nr
44、查看http的并发请求数及其TCP连接状态
# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
45、获取IP地址
# ifconfig eth0|sed -n '2p'|awk '{print $2}'|cut -c 6-30
perl实现获取IP地址:
# ifconfig -a | perl -ne 'if ( m/^\s*inet (?:addr:)?([\d.]+).*?cast/ ) { print qq($1 ); exit 0; }'
46、获取内存大小
# free -m |grep "Mem" | awk '{print $2}'
47、查看CPU核心数
# cat /proc/cpuinfo |grep -c processor
48、查看磁盘使用情况
# df -h
49、查看有多少个活动的php-cgi进程
# netstat -anp | grep php-cgi | grep ^tcp | wc -l
50、查看硬件制造商
# dmidecode -s system-product-name

查询TCP连接情况: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) printa, S[a]}'

1.删除0字节文件find -typef -size 0 -exec rm -rf {} \;2.查看进程按内存从大到小排列ps -e -o"%C : %p : %z : %a"|sort -k5 -nr3.按cpu利用率从大到小排列ps -e -o"%C : %p : %z : %a"|sort -nr4.打印说cache里的URLgrep -r -ajpg /data/cache/* | strings | grep "http:" | awk -F'http:' '{print"http:"$2;}'5.查看http的并发请求数及其TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'6. sed -i'/Root/s/no/yes/' /etc/ssh/sshd_config sed在这个文里Root的一行,匹配Root一行,将no替换成yes.7.如何杀掉mysql进程: ps aux|grep mysql|grep-v grep|awk '{print $2}'|xargs kill -9 (从中了解到awk的用途) killall -TERM mysqld kill -9 `cat/usr/local/apache2/logs/httpd.pid` 试试查杀进程PID8.显示运行3级别开启的服务: ls /etc/rc3.d/S* |cut-c 15- (从中了解到cut的用途,截取数据)9.如何在编写SHELL显示多个信息,用EOF cat <<EOF +---------+ | === Welcome to Tunoff services === | +-------+ EOF10. for 的巧用(如给mysql建软链接)cd/usr/local/mysql/bin for i in * do ln /usr/local/mysql/bin/$i /usr/bin/$i done11. 取IP地址: ifconfig eth0 |grep "inetaddr:" |awk '{print $2}'|cut -c 6- 或者 ifconfig |grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'12.内存的大小: free -m |grep "Mem" | awk '{print $2}'13.netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf"%s %s\n",$5,$6}' | sort14.查看Apache的并发请求数及其TCP连接状态:netstat -n| awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'15.因为同事要统计一下服务器下面所有的jpg的文件的大小,写了个shell给他来统计.原来用xargs实现,但他一次处理一部分,搞的有多个总和....,下面的命令就能解决啦. find / -name *.jpg -exec wc -c {} \;|awk '{print$1}'|awk '{a+=$1}END{print a}' CPU的数量(多核算多个CPU,cat /proc/cpuinfo |grep -c processor)越多,系统负载越低,每秒能处理的请求数也越多。16 CPU负载# cat/proc/loadavg 检查前三个输出值是否超过了系统逻辑CPU的4倍。18CPU负载 #mpstat 1 1 检查%idle是否过低(比如小于5%)19 内存空间# free 检查free值是否过低 也可以用 # cat /proc/meminfo20 swap空间# free 检查swap used值是否过高 如果swap used值过高,进一步检查swap动作是否频繁: # vmstat 1 5 观察si和so值是否较大21 磁盘空间# df -h 检查是否有分区使用率(Use%)过高(比如超过90%)如发现某个分区空间接近用尽,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录: # du-cks * | sort -rn | head -n 10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: