linux中经典命令有哪些


这篇文章给大家分享的是有关linux中经典命令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.删除0字节文件

find -type f -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里的URL

grep -r -a jpg /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.1.如何杀掉mysql进程:

ps aux|grep mysql|grep -v grep|awk ‘{print $2}’|xargs kill -9 (从中了解到awk的用途)

pgrep mysql |xargs kill -9 [网友:&FROST]killall -TERM mysqldkill -9 `cat /usr/local/apache2/logs/httpd.pid` 试试查杀进程PID
8.显示运行3级别开启的服务:

ls /etc/rc3.d/S* |cut -c 15- (从中了解到cut的用途,截取数据)9.如何在编写SHELL显示多个信息,用EOF

cat +————————————————————–+

| === 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 “inet addr:” |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 %sn”,$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倍。18 CPU负载 #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 1022 磁盘I/O负载 # iostat -x 1 2

检查I/O使用率(%util)是否超过100%23 网络负载 # sar -n DEV

检查网络流量(rxbyt/s, txbyt/s)是否过高24 网络错误 # netstat -i

检查是否有网络错误(drop fifo colls carrier) 也可以用命令:# cat /proc/net/dev25 网络连接数目 # netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n26 进程总数 # ps aux | wc -l

检查进程个数是否正常 (比如超过250)27 可运行进程数目 # vmwtat 1 5

列给出的是可运行进程的数目,检查其是否超过系统逻辑CPU的4倍
28 进程 # top -id 1

观察是否有异常进程出现29 网络状态 检查DNS, 网关等是否可以正常连通30 用户 # who | wc -l

检查登录用户是否过多 (比如超过50个) 也可以用命令:# uptime31 系统日志 # cat /var/log/rflogview/*errors

检查是否有异常错误记录 也可以搜寻一些异常关键字,例如:

# grep -i error /var/log/messages

# grep -i fail /var/log/messages

# egrep -i ‘error|warn’ /var/log/messages 查看系统异常

32 核心日志 # dmesg

检查是否有异常错误记录33 系统时间 # date

检查系统时间是否正确34 打开文件数目 # lsof | wc -l

检查打开文件总数是否过多35 日志 # logwatch –print 配置/etc/log.d/logwatch.conf,将 Mailto 设置为自己的email 地址,启动mail服务 (sendmail或者postfix),这样就可以每天收到日志报告了。

缺省logwatch只报告昨天的日志,可以用# logwatch –print –range all 获得所有的日志分析结果。

可以用# logwatch –print –detail high 获得更具体的日志分析结果(而不仅仅是出错日志)。36.杀掉80端口相关的进程

lsof -i :80|grep -v “PID”|awk ‘{print “kill -9”,$2}’|sh37.清除僵死进程。

ps -eal | awk ‘{ if ($2 == “Z”) {print $4}}’ | kill -938.tcpdump 抓包 ,用来防止80端口被人***时可以分析数据

# tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts39.然后检查IP的重复数 并从小到大排序 注意 “-t +0” 中间是两个空格

# less pkts | awk {‘printf $3″n”‘} | cut -d. -f 1-4 | sort | uniq -c | awk {‘printf $1″ “$2″n”‘} | sort -n -t +040.查看有多少个活动的
php-cgi进程

netstat -anp | grep
php-cgi | grep ^tcp | wc -l41.利用iptables对应简单***

netstat -an | grep -v LISTEN | awk ‘{print $5}’ |grep -v 127.0.0.1|grep -v 本机ip|sed “s/::ffff://g”|awk ‘BEGIN { FS=”:” } { Num[$1]++ } END { for(i in Num) if(Num>8) { print i} }’ |grep ‘[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’| xargs -i[] iptables -I INPUT -s [] -j DROPNum>8部分设定值为阀值,这条句子会自动将netstat -an 中查到的来自同一IP的超过一定量的连接的列入禁止范围。本机ip改成你的服务器的ip地址
查看软件xxx安装内容dpkg -L xxx
查找软件apt-cache search 正则表达式查找文件属于哪个包
dpkg -S filename查询软件xxx依赖哪些包
apt-cache depends xxx查询软件xxx被哪些包依赖
apt-cache rdepends xxx增加一个光盘源
sudo apt-cdrom add系统升级
sudo apt-get updatesudo apt-get dist-upgrade清除所以删除包的残余配置文件
dpkg -l |grep ^rc|awk ‘{print $2}’ |tr [“n”] [” “]|sudo xargs dpkg -P -系统查看内核
uname -a查看Ubuntu版本
cat /etc/issue查看内核加载的模块
lsmod查看PCI设备
lspci查看USB设备
lsusb查看网卡状态
sudo ethtool eth0查看CPU信息
cat /proc/cpuinfo显示当前硬件信息
lshw硬盘查看硬盘的分区
sudo fdisk -l查看硬盘剩余空间
df -h df -H查看目录占用空间
du -hs 目录名优盘没法卸载
syncfuser -km /media/usbdisk内存查看当前的内存使用情况
free -l进程查看当前有哪些进程
ps -A杀死一个进程
kill 进程号(就是ps -A中的第一列的数字)或者 killall 进程名强制杀死一个进程(在上面的杀死进程不成功的时候使用)
kill -9 进程号或者 killall -9 进程名查看当前进程的实时状况
top查看进程打开的文件
lsof -pADSL配置 ADSL
sudo pppoeconfADSL手工拨号
sudo pon dsl-provider激活 ADSL
sudo /etc/ppp/pppoe_on_boot断开 ADSL
sudo poff查看拨号日志
sudo plog网络根据IP查网卡地址
arping IP地址查看当前IP地址
sudo ifconfig eth0 |awk ‘/inet addr/ {split($2,x,”:”);print x[2]}’查看当前外网的IP地址
w3m -no-cookie -dump ip.loveroot.com |grep -o ‘[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’查看当前监听80端口的程序
lsof -i :80查看当前网卡的物理地址
sudo arp -a | awk ‘{print $4}’sudo ifconfig eth0 | head -1 | awk ‘{print $5}’立即让网络支持nat
sudo echo 1 > /proc/sys/net/ipv4/ip_forwardsudo iptables -t nat -I POSTROUTING -j MASQUERADE查看路由信息
netstat -rnsudo route -n手工增加删除一条路由
sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1修改网卡MAC地址的方法
sudo ifconfig eth0 down #关闭网卡sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址sudo ifconfig eth0 up #然后启动网卡服务添加一个服务
sudo update-rc.d 服务名 defaults 99删除一个服务
sudo update-rc.d 服务名 remove临时重启一个服务
/etc/init.d/服务名 restart临时关闭一个服务
/etc/init.d/服务名 stop临时启动一个服务
/etc/init.d/服务名 start设置配置默认Java使用哪个
sudo update-alternatives –config java修改用户资料
sudo chfn userid给apt设置代理
export http_proxy=http://xx.xx.xx.xx:xxx修改系统登录信息
sudo vim /etc/motd中文转换文件名由GBK为UTF8
sudo apt-get install convmv convmv -r -f cp936 -t utf8 –notest –nosmart *转换文件内容由GBK为UTF8
iconv -f gbk -t utf8 $i > newfile文件快速查找某个文件
whereis filenamefind 目录 -name 文件名查看文件类型
file filename显示xxx文件倒数6行的内容
tail -n 6 xxx查找包含xxx字符串的文件
grep -l -r xxx .查找关于xxx的命令
apropos xxxman -k xxx通过ssh传输文件
scp -rp /path/filename
username@remoteIP:/path #将本地文件拷贝到服务器上scp -rp
username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地查看某个文件被哪些应用程序读写
lsof 文件名压缩解压缩 xxx.tar.gz
tar -zxvf xxx.tar.gz解压缩 xxx.tar.bz2
tar -jxvf xxx.tar.bz2压缩aaa bbb目录为xxx.tar.gz
tar -zcvf xxx.tar.gz aaa bbb压缩开发云主机域名aaa bbb目录为xxx.tar.bz2
tar -jcvf xxx.tar.bz2 aaa bbbNautilus显示隐藏文件
Ctrl+h显示地址栏
Ctrl+l特殊 URI 地址
* computer:/// – 全部挂载的设备和网络* network:/// – 浏览可用的网络* burn:/// – 一个刻录 CDs/DVDs 的数据虚拟目录* smb:/// – 可用的 windows/samba 网络资源* x-nautilus-desktop:/// – 桌面项目和图标*
file:/// – 本地文件* trash:/// – 本地回收站目录* ftp:// – FTP 文件夹* ssh:// – SSH 文件夹查看已安装字体
在nautilus的地址栏里输入”fonts:///“,就可以查看本机所有的fonts程序详细显示程序的运行信息
strace -f -F -o outfile 日期和时间设置日期
#date -s mm/dd/yy设置时间
#date -s HH:MM将时间写入CMOS
hwclock –systohc读取CMOS时间
hwclock –hctosys控制台不同控制台间切换
Ctrl + ALT + ←Ctrl + ALT + →指定控制台切换
Ctrl + ALT + Fn(n:1~7)控制台下滚屏
SHIFT + pageUp/pageDown控制台抓图
setterm -dump n(n:1~7)数据库mysql的数据库存放在地方
/var/lib/mysql从mysql中导出和导入数据
mysqldump 数据库名 > 文件名 #导出数据库mysqladmin create 数据库名 #建立数据库mysql 数据库名
忘了mysql的root口令怎么办
sudo /etc/init.d/mysql stopsudo mysqld_safe –skip-grant-tables &sudo mysqladmin -u user password ‘newpassword”sudo mysqladmin flush-privileges修改mysql的root口令
sudo mysqladmin -uroot -p password ‘你的新密码’其它下载网站文档
wget -r -p -np -k
http://www.21cn.com -r:在本机建立服务器端目录结构; -p: 下载显示HTML文件的所有图片; -np:只下载目标站点指定目录及其子目录的内容; -k: 转换非相对链接为相对链接。

感谢各位的阅读!关于“linux中经典命令有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

相关推荐: 用虚拟主机哪个好

本篇文章为大家展示了用虚拟主机哪个好,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。对于建站者来说,虚拟主机是网站运营发展的基础,因此用哪个服务商,如何选择主机就显得尤为重要。虚拟主机数量不能“超载”众所周知,虚拟主机的…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/16 22:32
Next 05/16 22:33

相关推荐