linux cmd

1. grep去除注释行和空行

grep -v   ^# /etc/vsftpd/vsftpd.conf |grep -v ^$  > /tmp/1.txt

grep -a(--text)将二进制文件视为文本搜索

grep -n "osd_stat_t" $(find . -name "*.h")  //搜索文件内容

2. 查看服务器当前网络流量

ethstatus  -i  eth0 | eth1

3. 添加路由

route  add  -net  172.20.0.0  netmask 255.255.0.0 gateway  192.168.15.250 dev eth0

route  add  -net  172.20.6.0  netmask 255.255.255.0 gateway  172.20.1.253 dev eth1  

route  add  -net  10.0.0.0  netmask 255.0.0.0 gateway  10.33.6.1  dev em2

route del -net 10.0.0.0 netmask 255.0.0.0 

route add default gw 59.60.4.198

4. vi/vim技巧篇

(1) 删除所有含有 abc.com的行

:1,$g/abc\.com/d

(2)统计查找出的字符串个数

:%s/ORA//gn

(3)将换行符替换成空格

:%s/\n/ /g

(4)删除\r

:%s/^M//g

 (5)查看和转换dox格式文件

:set ff=unix

set ff

set binary

 (6)多行批量注释

:98,117 s/^/##/g

:28,96s/^/#/g
:27,30s#^#//#g

 (7)关键字搜索

:match ErrorMsg /error/

:2match MoreMsg /info/

:3match WarningMsg /warning/

(8) vim a.txt进入后临时切回终端操作, ctrl+z, 再切回vim界面, fg(重新将程序唤到前台)

(9)取消高亮   :nohl

6. sendmail显示待寄邮件的清单

mailq

7. 查看最常用的30条命令

 cat /root/.bash_history |grep -v ^# |awk '{print $1}' |sort |uniq -c |sort -nr |head -30

salt 'nds-wx-?' cmd.run "cat /var/log/ceph/radosgw.INFO | grep 59bf75dd-3aa4-42fa-bfa8-2ce651d57db7| awk '{if(\$8>100)print}' >/tmp/slatest.log"

8. ldd

查看程序运行所需的共享库,常用来解决程序因缺少某个库文件而不能运行的一些问题

http://linux.chinaunix.net/techdoc/system/2008/10/13/1037839.shtml

9. 多个文件中查找指定字符串

grep IP ./*.ini

find /test -type f -name "*.ini" -exec grep -l "IP" {} \

10. 查看cpu个数

(1)grep -c 'model name' /proc/cpuinfo

(2)top进入后按数字1

11. ipcs  [ -m] [ -q] [ -s]

报告进程间通信设施状态

12. ipcrm [-M|m] [-Q|q] [-S|s]

删除共享内存、消息队列,信号

13. iptables 

用来设置、维护和检查Linux内核的IP包过滤规则的软件防火墙。

iptables -F 关闭防火墙 

#http端口转发

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

#ssh端口转发

iptables -t nat -A PREROUTING -d 172.24.133.39/32 -p tcp -m tcp --dport 10122 -j DNAT --to-destination 54.x.x.x:22

14. nohup (不挂断的运行命令)

nohup command > myout.file 2>&1 &

15. tcpdump  (linux下抓包分析)

http://www.51testing.com/?uid-22578-action-viewspace-itemid-142353

16. 查看性能/负载情况

w,uptime,top,mpstat,iostat,sar,vmstat,netstat

netstat -s 显示所有连接的统计信息

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

18. make函数详解

http://wenku.baidu.com/view/ea9913235901020207409c5e.html

19. hostname

查看 uname -a; hostname;

修改 hostname new  永久修改 vi /etc/sysconfig/network

20. 查看系统errno说明

find /usr/include -name "errno.h"|xargs grep 2

21. 查看开机重启时间 (人为误操作,确认机子被重启过)

who -b 最近一次系统启动的时间
last boot
uptime/top 查看在线时间

22.  程序转入前后台执行

&用在一个命令最后,放入后台执行
ctrl+z ,可能一个正在前台执行的命令放在后台,并且暂停
jobs 查看当前有多少在后台运行的命令
fg 将后台中的命令调至前台继续运行
bg 将一个在后台暂停的命令,变成继续执行。

23. 读取文件指定行范围的数据

(1) sed -n '5,10p' filename

(2) grep -n -A2 -B2 'main'   main.c

其中 -n   显示行号     -A2  显示匹配行的行后两行  -B2  显示匹配行的行前两行

(3) cat filename | head -n 3000 | tail -n +1000 //显示1000行到3000行
cat filename | tail -n +3000 | head -n 1000 //显示3000~3999行
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行

24. 分割读取大文件

split -b 500m filename

25. linux用shell实现重要数据定期备份

http://www.iteye.com/topic/259742

26. gw_log 取distinct IP
cat log/*.20120329 |grep 'connect ok'|cut -d '|' -f 4|cut -d ' ' -f 3|cut -d',' -f 1|sort -u

cat dx.txt |grep -v loss| grep -v CST | cut -d "/" -f 5

27. od
用户通常使用od命令查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。

28. xxd
将一个文件以十六进制的形式显示出

29. 实时监测命令的运行结果
watch -d -n 3 w

30. dd if of
dd命令把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。(io基准测试)

--dd bs=1M count=2048 if=/dev/zero of=test_2G conv=fdatasync;  ##NULL字符填充

dd bs=1M count=65 if=/dev/urandom of=test_65M conv=fdatasync   ##随机字符

dd if=/dev/zero of=test.img bs=4k count=2000

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k conv=fdatasync; rm -rf /tmp/output.img

(测试磁盘写入速度)

31. Linux下多线程查看(pstree、ps、pstack)

http://blog.csdn.net/yfkiss/article/details/6729364

pstack pid  + strace -o server.strace -Ttt -p pid


1、ps H -eo tid,cmd | grep 程序名 

2、pstack 进程号 | grep Thread

3、pstree -p 进程号

32. 端口查看

 

lsof详解(显示系统打开的文件)

http://blog.csdn.net/guoguo1980/archive/2008/04/24/2324454.aspx

lsof |grep delete  查看已删除但是被进程打开占用的文件

lsof -i :端口  显示占用该端口的进程情况 
lsof -i :22 //知道22端口现在运行什么程序
lsof -c abc //显示abc进程现在打开的文件
lsof -p $pid //看进程号为$pid的进程打开了哪些文件

lsof | awk '{ print $2; }' | sort -rn | uniq -c | sort -rn | head //占用情况排序

lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|grep 14522
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

33. ulimit 详解 http://www.ibm.com/developerworks/cn/linux/l-cn-ulimit/

34. 统计文件夹大小 du -h --max-depth=1

35. cp --reply=yes 1/a.txt ./ ??

36. tar排除
--exclude=/proc:排除/proc目录,不打包这个目录,后面也同理,记得排除自身打包的文件名

37. uname -a 内核信息

38. cat /proc/interrupts 显示中断信息


39. 将几个文件合并为一个文件
$cat   file1   file2  > file

cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
参数:
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting
 

40. tee
功能说明:读取标准输入的数据,并将其内容输出成文件。
语  法:tee [-ai][--help][--version][文件...]
补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。
参  数:
 -a或--append  附加到既有文件的后面,而非覆盖它.
 -i-i或--ignore-interrupts  忽略中断信号。
 --help  在线帮助。
 --version  显示版本信息。
tail -f /var/log/ceph/ceph-osd.<id>.log | tee osd.<id>.log

41. find . -type d -maxdepth 

find ./ -type d -exec chmod 755 {} \;  ——文件夹权限  
find ./ -type f -exec chmod 644 {} \;    ——文件权限 
 

42. man cmd|col -b>cmd.man  过滤乱码

43. top | tee -a >/mnt/hgfs/code/top.log

44. curl -s http://whatismyip.org

curl -H host: xxx.aw.xxx.com 127.0.0.1:8080

45. wget http://whatismyip.org 然后再  cat index.html 也可以看到

46. wall -- send a message to everybody's terminal.

47. write 命令的功能是向系统中某一个用户发送信息。 该命令的一般格式为:write 用户帐号 [终端名称] 

49. pidof daytools = ps aux|grep daytools //找出正在运行的程序的进程PID

50. ipcs 报告进程间通信设施状态, 用来限制共享内存(m)、消息队列(q)、信号(s)
a参数表示显示全部队列消息

51. awk  处理文本的编程语言工具。样式扫描和处理语言

52. linux下挂载wins的共享文件夹
mount -t smbfs -o username=admin,passwd=123456 //10.10.10.10/data /mnt/data1
mount -t cifs -o username=admin,passwd=123456,directio //10.10.10.10/data /mnt/data2

 fuser -km /mnt/data_dbf  (umount device is busy)

53. 查看用户组信息

groups 查看当前登录用户的组内成员
groups gliethttp 查看gliethttp用户所在的组,以及组内成员
whoami 查看当前登录用户名
/etc/group文件包含所有组
/etc/shadow和/etc/passwd系统存在的所有用户名

 54. reset 将终端机设回原始的状态

例如不小心把二进位档用 cat 指令进到终端机,导致终端乱码。

【linux系统信息查看命令】:

查看cpu信息: lscpu

查看主板的序列号: dmidecode | grep -i ’serial number’

用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)

查看CPU信息:cat /proc/cpuinfo [dmesg | grep -i 'cpu'][dmidecode -t processor]

查看内存信息:cat /proc/meminfo [free -m][vmstat]

查看板卡信息:cat /proc/pci

查看显卡/声卡信息:lspci |grep -i ‘VGA’[dmesg | grep -i 'VGA']

查看网卡信息:dmesg|grep eth

lspci |grep Network

lspci -vvv

查看PCI信息:lspci (相比cat /proc/pci更直观)

查看USB设备:cat /proc/bus/usb/devices

查看键盘和鼠标:cat /proc/bus/input/devices

查看系统硬盘信息和使用情况:fdisk & disk – l & df -Th

查看各设备的中断请求(IRQ):cat /proc/interrupts

查看系统体系结构:uname -a

查看及启动系统的32位或64位内核模式:isalist –v [isainfo –v][isainfo –b]

dmidecode查看硬件信息,包括bios、cpu、内存等信息

测定当前的显示器刷新频率:/usr/sbin/ffbconfig –rev /?

查看系统配置:/usr/platform/sun4u/sbin/prtdiag –v

查看当前系统中已经应用的补丁:showrev –p

显示当前的运行级别:who –rH

查看当前的bind版本信息:nslookup –class=chaos –q=txt version.bind

dmesg | more 查看硬件信息
lspci 显示外设信息, 如usb,网卡等信息
lsnod 查看已加载的驱动
lshw
psrinfo -v 查看当前处理器的类型和速度(主频)
prtconf -v 打印当前的OBP版本号
iostat –E 查看硬盘物理信息(vendor, RPM, Capacity)

rpm -ql ansible | head  //list files in package
prtvtoc /dev/rdsk/c0t0d0s 查看磁盘的几何参数和分区信息
df –F ufs –o i 显示已经使用和未使用的i-node数目
isalist –v

对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:
Cpuinfo 主机CPU信息
Dma 主机DMA通道信息
Filesystems 文件系统信息
Interrupts 主机中断信息
Ioprots 主机I/O端口号信息
Meninfo 主机内存信息
Version Linux内存版本信息

查看网口速率 mii-tool

清除操作记录  history -c

批量文件中的字符串查找替换:sed -i "s/aaa/bbb/g" `grep aaa -rl *.*`  (当前目录下*.*文件中的aaa替换为bbb)

sed -i "/ONBOOT/a PEERDNS=no" /etc/sysconfig/network-scripts/ifcfg-em*

sed -i "/DNS/"d /etc/sysconfig/network-scripts/ifcfg-em*
sed -i "/NM_CONTROLLED/s/yes$/no/g" /etc/sysconfig/network-scripts/ifcfg-em*
sed -i 's/SELINUX=enforcing.*$/SELINUX=disabled/g' /etc/selinux/config

指定位置后新增一行

查看系统glibc支持的版本:strings /lib64/libc.so.6 | grep GLIBC_

查找同一硬连接的所有文件:ls -il src | awk '{print $1}' | xargs find / -inum

查看gcc/g++的默认include路径: `g++ -print-prog-name=cc1plus` -v 

自动循环执行命令,查看结果变化:watch -n 1 -d "netstat -anp|grep tcp|wc -l"

ng服务启动:   /etc/init.d/aiya-nginx start

php启动:   /opt/aiya/nginx/fastcgi/sbin/php-fpm start

logrotate: http://blog.csdn.net/cjwid/article/details/1690101

 

1.1 实现ssh免密码登录

# ssh-keygen -t rsa //生成无密码认证(一路回车)

# cd /root/.ssh/

# cat /root/.ssh/id_rsa.pub >>/root/.ssh/authorized_keys

# ssh localhost  

ssh-keygen -y -f ch_200808.pem >ch_200808.pem.pub  //通过密钥生成公钥,添加到auth..

(集群时,将id_rsa.pub  scp至其他台,append to authorized_key)

# ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 22 root@172.24.133.117"

##linux和xshell可直接用.pem登录

##secureCRT登录:使用.pem产生的公钥.pub,且原.pem文件去后缀后和.pub放同一目录下

Q: Ssh自动将hostkey添加到knowhosts

A: vim /etc/ssh/ssh_config; StrictHostKeyChecking no; Host *打开

--ssh+nohup &,远程执行耗时任务不关闭

--nc: linux下强大的网络工具NetCat, 瑞士军刀

--useradd: 创建root权限用户xie

useradd -u 0 -o -g root -G root -d /home/xie xie

usermod -u 0 -o -g root -G root xie

--ab: linux下压测工具命令

--for: for pkg in $(cat yum.list); do echo $pkg; yum install $pkg -y; done

--lsmod; modinfo ext4

sysctl -a

 

sysctl fs.inotify.max_user_watches

 

sysctl fs.inotify.max_user_instances=512

 

 

 

 

--查看磁盘UUID: lsblk;     blkid /dev/sda5

查看内存插槽数:dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range

echo $PATH | tr ":" "\n"

 

 

101: at命令

(1)使用: at [参数] [时间], ctrl+d保存退出

(2)查询: atq

(3)查看详情: at -c 8

(4)删除: atrm 8

(5)服务: /usr/sbin/atd

(6)权限控制: /etc/at.deny

102: 磁盘分区

 

sfdisk
partprobe

lspci| grep Ethernet //查看机器网卡

按过期时间和大小批量删除目录日志:

find . -mtime +5 -exec /bin/rm -rf {} \

find . -size +2000000k -exec /bin/rm -rf {} \;

//dell自带soft,查看系统硬件状况

omreport storage adisk controller=0|grep ^Name  #查看硬盘插槽

omreport storage vdisk    #Layout:可以查看raid情况,无返回就是没有

omreport storage pdisk controller=0

omreport chassis info 可以查看已安装组件版本的摘要,机器型号

omreport storage adisk controller=0 查看磁盘陈列中的硬盘状态
omreport storage vdisk controller=0     查看虚拟硬盘的状态
omreport storage controller 查看控制器的属性
omreport storage channel controller=0 查看通道的属性
omreport storage enclosure controller=0 查看enclosure的属性

omreport storage battery 查看电池属性
omconfig storage controller action=setrebuildrate controller=0 rate=100 调整rebuild的速度

 

//从输入中选择随机输出

ls | shuf

ls | shuf -n 1

--ss

“ss”表示socket统计。这个命令调查socket,显示类似netstat命令的信息。它可以比其他工具显示更多的TCP和状态信息。

--显示本机的出口IP

curl ifconfig.me

--一个通过HTTP显示文件夹结构树的简单网页,可以通过浏览器在端口8000访问,直到发出中断信号。

python -m SimpleHTTPServer

-- mtr baidu.com   (ping+traceroute)

yum  provides  */nslookup

--查找提供nslookup命令的安装包

##linux下测试网速

1) wget 一个大文件

2) cd /opt;
wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
chmod a+rx speedtest_cli.py
mv speedtest_cli.py /usr/local/bin/speedtest-cli
chown root:root /usr/local/bin/speedtest-cli

#踢出某个tty终端用户

pkill -kill -t pts/0

#linux下载ftp文件

wget -c ftp://172.25.74.165:21/edu.tar.gz --ftp-user=200512 --ftp-password=200512

#查看进程线程数

cat /proc/75182/status|grep Threads 

#时区查看和修改

date -R

TZ='Asia/Shanghai'; export TZ

#cat file | nl | less

Usage: nl [OPTION]... [FILE]...
Write each FILE to standard output, with line numbers added.

#将两个文件合并并用tab键分开

paste a b

paste -d'+' a b    //用+分开

paste -s a  //将多行数据合并到一行用tab键隔开

 

linux查看内存的插槽数以及每条内存有多大

dmidecode|grep -P -A5 "Memory\s+Device"| grep Size | grep -v Range

linux查看内存增援的最大内存容量

dmidecode | grep -P 'Maximum\s+Capacity'

linux查看内存条的频率

dmidecode | grep 'Speed'

#日志文件清空

truncate -s 0 $file

#在Linux和UNIX中找出并删除显示着但已经被删除的大文件:

  1. lsof -nP | grep '(deleted)'

# 查看目录下的文件数量和更新情况
ls -lR|grep "^-"|wc -l //当前目录含子目录的文件数
ls -lR|grep "^d"|wc -l //当前目录含子目录的文件夹数

find . -mtime -11 -type f

ls -lR|egrep -v '2013|2014|2015' | egrep 'Nov|Dec|Jan'|head

ls -lR|egrep -v '2013|2014|2015' | grep Dec|head

#快速删除某目录下的大量文件

rsync --delete-before -a -H -v /tmp/rsync_blank/ /data/osd.2

time find ./ -type f -delete

time rsync -a --delete /tmp/blank/ /home/test/

rsync --delete-before -a -H -v --progress --stats /tmp/blank/ /home/test/

##进程流量查询

iftop -i eth0 -n -P

echo | g++ -v -x c++ -E - ## 查看编译器的默认include路径

ctrl + l  #终端clear

mount | column -t ##按列对齐输出

 

转载于:https://my.oschina.net/guyson/blog/117654

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值