linux常见命令汇总!

1. ls
         ls -l -R /home/peidachang   列出/home/peidachang文件夹下的所有文件和目录的详细资料
         ls -l t*   列出当前目录中所有以“t”开头的目录的详细内容
         ls -l * |grep "^-"|wc -l ---文件个数 
         ls -sSh 列文件大小大圩排列
 
2. cd 切换目录
 
3. pwd 查看当前目录
 
4. mkdir 创建目录
         mkdir -p test2/test22  递归创建多个目录
         mkdir -m 777 test3  创建权限777的目录
        
5. rm 删除
         rm 文件:询问是否删除
         rm -f 文件 :强行删除不询问
         rm -fr 文件 : 强行删除,并递归删除子目录
        
6. rmdir 删除目录
 
7. mv 移动备份改名文件
         mv test.log test1.txt   改名
         mv -i log1.txt log2.txt    改名,询问重复时是否覆盖
         mv -f log3.txt log2.txt    改名直接覆盖
         mv test1.txt test3    test1.txt移动到test3目录,多个时:mv log1.txt log2.txt log3.txt test3
         mv * ../   移动当前目录所有文件到上一级目录
        
8. cp 复制
         cp log.log test5   复制log.log到test5目录
         cp -a test3 test5  复制整个目录
        
9. touch 修改文件时间戳   新建文件
         touch log2012.log log2013.log  创建两个文件
         touch -r log.log log2012.log  更新log.log的时间和log2012.log时间戳相同
         touch -t 201211142234.50 log.log   设定文件的时间戳
        
10. cat 链接文件
         cat log2012.log  一次显示整个文件    tac log2012.log 从后往前显示
         cat -n log2012.log log2013.log   把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里
         cat -b log2012.log log2013.log log.log  把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里
 
11. nl 显示行号
         nl log2012.log  用 nl 列出 log2012.log 的内容和行号,忽略空白行
         nl -b a log2012.log   用 nl 列出 log2012.log 的内容,空本行也加上行号
        
12. more 分页显示文件
         more +3 log2012.log   显示文件中从第3行起的内容
         more +/day3 log2012.log   从文件中查找第一个出现"day3"字符串的行,并从该处前两行开始显示输出
         more -5 log2012.log  设定每屏显示行数5
         ls -l  | more -5    每行5个显示
         Ctrl+F   向下滚动一屏
         空格键  向下滚动一屏
         Ctrl+B  返回上一屏
        
13. less  比more更强大的分页显示
 
14. head 显示文件的开头部分
         head -n 5 log.log  显示开头的5行
         head -n -5 log.log  显示除了最后5行意外的部分
         head -c 20 log.log  显示开头的20个字节
         head -c -32 log.log 显示除最后32个字节意外的部分
 
15. tail 显示文件末尾部分,与head类似
         tail -f log.log  循环刷新显示末尾
         tail -n 5 log.log  显示结尾的5行
         tail -n +5 log.log  从第五行开始显示
        
16. which 查找可执行文件位置
         which java  搜索java位置
        
17. whereis 程序名搜索,只搜 二进制、man说明文件、源代码文件。搜索数据库,因此很快,一周更新一次数据库,滞后。find是实时搜索磁盘
         whereis svn
         whereis -b svn  值查找二进制文件
        
18. locate 快速搜索档案库,每天跑一次档案库
         locate pwd 查找pwd的相关所有文件
        
19. find 磁盘搜索
         find 路径 -参数 [命令]
         find . -name "*.log"   当前目录查找.log结尾的文件
         find . -type f -name "*.log"   当前目录查找类型问f文件的,名称为*.log的文件
         find . -type d | sort 当前目录查找目录类型并排序
         find /opt/soft/test/ -perm 777  查找权限777的文件
                   -mtime -n +n  按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。
                   -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
         find test -path "test/test3" -prune -o -print  test目录下查找文件,但不希望在test/test3目录下查找
         find . -type f -exec ls -l {} \;   find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls -l命令将它们列出
         find . -type f -mtime +14 -exec rm {} \;     在目录中查找更改时间在n日以前的文件并删除它们
         find . -name "*.log" -mtime +5 -ok rm {} \;  在目录中查找更改时间在n日以前的文件并删除它们,在删除之前先给出提示
         find . -name "*.log" -exec mv {} .. \;   查找文件移动到指定目录 
         find . -name "*.log" -exec cp {} test3 \;
         xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
         find . -perm -7 -print | xargs chmod o-w   在当前目录下查找所有用户具有读、写和执行权限的文件,并收回相应的写权限
         find / -name "core" -print | xargs echo "" >/tmp/core.log   在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到/tmp/core.log 文件中
         find . -type f -print | xargs grep "hostname"    用grep命令在所有的普通文件中搜索hostname这个词
        
20. chmod 改变权限
         chmod a+x log.log  给所有用户(a) 增加(+) 执行(x) 权限
         chmod ug+w,o-x log.log 文件属主(u) 增加写权限;与文件属主同组用户(g) 增加写权限;其他用户(o) 删除执行权限
         chmod a-x log.log 所有用户删除执行权限
         chmod u=x log.log 撤销原有所有权限,使拥有者有可执行权限
         chmod -R u+x log.log 递归赋权限,所有者增加执行权限
         chmod 751 file 给属主分配读写执行,所在组读执行,其他用户执行
         chmod u=rwx,g=rx,o=x file
         chmod =r file  所有用户分配读权限
         chmod 444 file 同上
         chmod a-wr,a+r 同上
        
21. tar 打包(不压缩)
         tar xvf fileName.tar  x解包提取v显示操作过程f指定打包文件名
         tar cvf fileName.tar DirName c建立新的打包文件,v显示操作过程f指定打包文件名
         tar zxvf fileName.tar.gz  zx支持gzip压缩文件
         tar zcvf fileName.tar.gz DirName zc支持gzip解压文件
         tar jxvf fileName.tar.gz  jx支持bzip2压缩文件
         tar jcvf fileName.tar.gz DirName jc支持bzip2解压文件
         unzip fileName.zip
         zip fileName.zip DirName
         rar x fileName.rar
         rar a fileName.rar DirName
 
22. chgrp 改变文件组
         chgrp -v bin log.log  文件由root群组改为bin群组
         chgrp -R bin logDir 文件夹及内部所有子文件递归由root群组改为bin群组
         chgrp --reference=log2.log log1.log  改变log1.log群组属性,使得和log2.log相同
        
23. chown 改变文件所有者
         系统管理员拷贝文件到另一个用户目录后改变文件所有者为那个用户
         chown user:group log.log
         chown user: log.log
         chown :group log.log
         chown -R -v root:mail dirName
        
24. gzip 压缩解压缩
         gzip * 把当期目录所有文件分别压缩
         gzip -dv * 把当前目录所有的压缩文件解压缩,-d解压缩v显示过程信息
         gzip -rv dirName 递归分别压缩目录里的所有文件,不打包
         gzip -dr dirName 上面的解压缩
        
25. df查询磁盘信息
         df 显示磁盘使用情况
         df -t ext3 显示指定类似ext3磁盘
         df -T 列出文件系统类似
         df -h 更易读的方式显示磁盘信息
        
26. du 显示目录和文件占用空间
         du -h * | sort -n
         du -s ./* | sort -rn r倒序排列
         du log.log 显示文件占用空间
         du log2.log log3.log log4.log  显示多个文件大小
         du dirName 目录空间占用
         du -s dirName 显示总和大小
         du -h 方便阅读显示
         du -ah dirName 文件目录都显示
         du -c log1.log log2.log 分别显示大小,并统计显示总大小,-s的增强
         du|sort -nr|more 按空间大小排序
        
27. ln 软硬连接,软是文件或者目录的快捷方式,硬是文件拷贝,都可同步
         ln -s log.log link1   建立log.log的快捷方式link1
         ln log.log ln1 建立硬连接
         rm -fr 删除:硬连接任然存在,软链接会闪烁提示源不存在
         ln -sv /opt/soft/test/test3 /opt/soft/test/test5 必须绝对路径
        
28. diff 比较文件差异
         diff log1.log log2.log 比较两个文件差异,输入差异的地方
         diff log1.log log2.log -y -W 50 并行左右输出-y,宽度50字符,比较
         diff log1.log log2.log -c 上下文输出格式
         diff dir1 dir2 比较文件夹不同
        
29. date 命令
         date 显示当前时间
        
30. cal 显示日历
         cal 9 2014 显示 2014年 9月日历
         cal -y 2014 显示整年日历
         cal -m 显示日历,星期一显示在第一列
        
31. grep
         ps -ef|grep svn -c 指定进程个数
         cat test.txt | grep -f test2.txt  从test中过滤,按照test2.txt中的规则过滤
         cat test.txt | grep -nf test2.txt 外加现实行号
         grep 'linux' test.txt test2.txt  文件中搜索linux
         grep aux | grep ssh | grep -v "grep"  过滤含有ssh但不含有grep 的进程
         cat test.txt | grep ^u   找出u开头的所有行
         cat test.txt | grep ^[^u]  找出非u开头的所有行
         cat test.txt | grep hat$  以hat结尾的行
         cat test.txt | grep -E "ed|at"  含有ed或者at字符的内容行
         grep '[a-z]\{7\}' *.txt  目录下.txt结尾的文件中,搜索含有连续7个字符的行
        
32. wc word count 统计字数、字节数、行数
         wc test.txt  行数 单词数 字节数
         -c 统计字节数    -l 统计行数  -m 统计字符串数  -w 统计字数
        
33. ps Process Status
         ps -A 所有进程
         ps -u root root用户的进程
         ps -ef 显示所有进程  e显示环境变量   f显示程序之间的关系
         ps -au 显示详细信息
         ps aux 列举所有内存中的程序
        
34 kill 按pid杀进程
         kill -9 pid
        
35 killall 按名称啥进程
         killall vi
         killall -9 bash 把所有登陆后的bash杀掉
        
36 top 进程资源占用,类似windows任务管理器   http://www.jb51.net/LINUXjishu/34604.html
         top -Hp pid  查询指定进行的线程资源占用情况
         shift + h 切换线程
         1 切换查看多处理器每个内核情况
         P:按%CPU使用率排行
  T:按MITE+排行
  M:按%MEM排行
         内容:
                   当前时间   系统运行时间   当前登陆用户数   1/5/15分钟load负载
                   进程总数   ***  zombie:僵尸进程数
                   处理器: us:用户空间占用CPU百分比     sy:内核空间占用CPU百分比    ni:用户进程空间内改变过优先级的进程占用CPU百分比  id:空闲CPU百分比
                                      wa:等待输入输出的CPU时间百分比  hi 硬中断   si  软中断
                   内存: buffers:用作内核缓存的内存量   cached:缓冲的交换区总量
                   进程: PR:优先级     NI:nice值。负值表示高优先级,正值表示低优先级     VIRT: 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
                               SWAP:进程使用的虚拟内存中,被换出的大小,单位kb。       RES:进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
                               SHR: 共享内存大小,单位kb     S:D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
                               TIME+: 进程使用的CPU时间总计,单位1/100秒
        
37 free 查询内存命令
         free -g 按G为单位显示内存情况   -m按M显示
         free -s 10 10秒显示一次
         输出: http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html
                   第一行的输出时从操作系统(OS)来看的。也就是说,从OS的角度来看:
                            shared 表示被几个进程共享的内存
                            buffer和cache可以被快速回收的
                            A buffer is something that has yet to be "written" to disk.
                            A cache is something that has been "read" from the disk and stored for later use.
                   free输出的第二行是从一个应用程序的角度看系统内存的使用情况。 
                            一个应用程序认为系统被用掉多少内存(= 一行的used - buffer - cache)
                            一个应用程序认为系统还有多少内存(= 一行的free + buffer + cache )
          
38 vmstat 虚拟内存使用    http://blog.csdn.net/chinalinuxzend/article/details/1761998
         vmstat 5 1000 5s采样一次,采样1000次
         vmstat -a 5 1000 显示活跃和非活跃内存大小
         vmstat -f 查看fork多少次
         vmstat -s 内存使用详细信息
         vmstat -d 统计所有磁盘读写
         vmstat -p /dev/sda1  统计指定磁盘读写
         vmstat -m 查看slab小对象创建销毁缓存区
         r 表示运行队列(就是说多少个进程真的分配到CPU),当这个值超过了CPU数目,就会出现CPU瓶颈了。一般负载超过了3就比较高,超过了5就高,超过了10就不正常了
         b 表示阻塞的进程,这个不多说,进程阻塞,大家懂的。
         swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了
         free   空闲的物理内存的大小,我的机器内存总共8G,剩余3415M。
         buff   Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存,我本机大概占用300多M
         cache cache直接用来记忆我们打开的文件,给文件做缓冲,Linux/Unix把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高 程序执行的性能
         si  每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。我的机器内存充裕,一切正常。
         so  每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。
         bi  块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte,我本机上没什么IO操作,所以一直是0,但是我曾在处理拷贝大量数据(2-3T)的机器上看过可以达到140000/s,磁盘写入速度差不多140M每秒
                   This shows the number of blocks read from the disk in the previous interval
         bo 块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。
                   This indicates the number of total blocks written to disk in the previous interval
         in 每秒CPU的中断次数,包括时间中断
         cs 每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目,例如在apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。系统调用也是,每次调用系统函数,我们的代码就会进入内核空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的。
         us 用户CPU时间,我曾经在一个做加密解密很频繁的服务器上,可以看到us接近100,r运行队列达到80(机器在做压力测试,性能表现不佳)。
         sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。
         id  空闲 CPU时间,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率。
         wt 等待IO CPU时间。 This indicates the amount of CPU time spent waiting for I/O to complete
         -s:
                   cpu ticks  时钟频率
                   nice user cpu ticks  nice加权的进程 的 用户态CPU频率
                   IRQ cpu ticks  中断请求的 cpu频率
                   softirq cpu ticks  软中断 cpu频率
                   CPU context switches  处理器上线文切换次数
                   pages paged in   IN分页的 总VM页面数
                   pages paged out  OUT分页的 总VM页面数
                   pages swapped in   IN交换的 总VM页面数
                   pages swapped out    OUT交换的 总VM页面数
                   forks  fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。
         -D/-d:
                   partitions  总分区数
                   total reads 请求读总数
                   merged reads 不同的读请求归并到一起读的次数(优化读性能)
                   read sectors  读磁盘扇面总数
                   milli reading  读磁盘耗费时间
                   inprogress IO (IO: cur):  The total number of I/O that are currently in progress
                   milli spent IO(IO: s):  This is the number of milliseconds spent waiting for I/O to complete
        
39 iostat 输入输出统计,磁盘   http://blog.csdn.net/chinalinuxzend/article/details/1761998
         iostat 2 100 2秒一次,采集100次,显示cpu和io
         iostat -c 只显示cpu信息
         iostat -d sda1 显示指定磁盘(d)信息
         iostat -m 以m为单位显示
         iostat -d -k 显示磁盘信息,k为单位,包括tps和吞吐量
         iostat -d -x -k 2 1000 显示使用率和响应时间,-x显示详细信息
         iostat -x :  This shows extended-performance I/O statistics.
                   tps: Transfers per second. This is the number of reads and writes to the drive/partition per second.
                   Blk_read/s :  The rate of disk blocks read per second.
                   Blk_read :  The total number of blocks read during the interval.
                   rrqm/s : The number of reads merged before they were issued to the disk
                   wrqm/s : The number of writes merged before they were issued to the disk.
                   r/s : The number of reads issued to the disk per second.
                   w/s : The number of writes issued to the disk per second.
                   rsec/s : Disk sectors read per second.
                   wsec/s : Disk sectors written per second.
                   rkB/s :  Kilobytes read from disk per second.  每秒读磁盘多少K
                   wkB/s : Kilobytes written to disk per second.
                   avgrq-sz :  The average size (in sectors) of disk requests.
                   avgqu-sz : The average size of the disk request queue.
                   await :  The average time (in ms) for a request to be completely serviced. This average includes the time that the request was waiting in the disk's queue plus the amount of time it was serviced by the disk.
                   svctm :  The average service time (in ms) for requests submitted to the disk. This indicates how long on average the disk took to complete a request. Unlike await, it does not include the amount of time spent waiting in the queue.
        
        
40 watch 周期执行命令、定时执行命令 时显示结果,因为有的命令没有定时刷新显示参数
         watch -n 1 -d netstat -ant  没一秒   执行一次 netstat -ant命令,-d高亮显示差异
         Ctrl + g 取消
         watch -n 1 -d 'pstre|grep http'  每隔一秒高亮显示http连接数的变化
         watch -n 10 'cat /proc/loadavg' 每10秒输出一次系统负载
        
41 at 预订时间执行一次任务
         at 5pm+3 days  3天后 下午5点执行后面输入的任务
         at 17:20 tomorrow
         atq  查询所有预订任务
         atrm 编号      删除预订任务
        
42 crontab定时执行任务,多次执行
         minute hour day month week command
         yum install crontabs
         /sbin/service crond start
         /sbin/service crond stop
         /sbin/service crond restart
         /sbin/service crond reload
         service crond status
         ntsysv 查看系统开机启动
         chkconfig -level 35 crond on  开机启动crond
         创建crontab 文件 mytest
         crontab mytest
         crontab -l 列出
         crontab -e 编辑
         crontab -r 删除
         * * * * * cmd 每一份钟执行一次
        
43 lsof 查看进程打开的文件,打开文件的进程,进程打开的端口
         lsof
         lsof /bin/bash  查看谁在使用/bin/bash文件
         lsof -D test/test3 递归查看某个目录的文件信息
         lsof | grep 'test/test3' 同上
         lsof -u liufei.cxd 用户打开的文件
         lsof -c mysql -c apache 某个进程打开的文件
         lsof -p 1,2,3    1,2,3进程打开的文件
         lsof -i  列出所有网络连接信息
         lsof -i tcp
         lsof -i udp
         lsof -i :3306
         lsof -i udp:55
         lsof -i tcp:80
        
44 ifconfig 查看ip,网卡管理
         ifconfig  查看ip
         ifconfig eth0 up   打开eth0网卡
         ifconfig eth0 down  关闭eth0网卡
        
45 route 显示和操作IP路由表
 
46 ping 加ip测试联通性
         ping 192.168.1.201
         ping -c 10 192.168.1.23  ping 10 次
         ping -c 10 -i 0.5 ip    -i 间隔0.5秒就发一个包
        
47 traceroute 一台机器到另一台机器的路由经过
         traceroute www.baidu.com
         traceroute -m 10 www.baidu.com  最多10跳
         tracetoute -n www.baidu.com 显示ip不显示主机名
        
48 netstat IP\TCP\UDP\ICMP协议数据统计
         netstat -a 列出所有端口  -a显示所有连线中的socket
         netstat -nu 显示当前UDP链接情况    -n显示IP,不通过域名服务器  u:udp  t:tcp
         netstat -apu 显示uDP端口和使用情况     -p正在使用
         netstat -s 显示网络统计信息
         netstat -l 显示监听的套接口
         netstat -n 显示所有已建立的链接
         netstat -e 显示以太网的统计数据
         netstat -r 显示路由表信息
         netstat -at 列出所有tcp端口
         netstat -ap | grep ssh  显示程序运行的端口
         netstat -anpt | grep ':8080' 显示运行在指定端口的进程
        
         netstat -st  tcp统计信息
         netstat -ie 显示网卡列表并统计以太网信息
        
49 ss 显示socket信息,比netstat更快更详细
         ss -t -a    -t显示tcp连接,-a显示所有socket
         ss -s   -s统计显示套接字使用概况
         ss -l   -l列举所有打开的网络连接端口
         ss -pl  -p查看进程使用的socket
         ss -pl |grep 3306
         ss -u -a   -u UDP的socket
         ss dest 192.1.1.1:443  匹配目的地址和端口号
         ss src 192.1.1.1:80  匹配本地地址和端口
        
50 wget 下载文件 从网络下载资源
         wget http://....*.zip
         wget http://127.0.0.1:7001/status.1688
        
51 sort
         sort -u seq.txt   去除重复行
         sort -r number.txt  降序
         sort -n number.txt  要以数值来排序
         sort -n -k 2 -t : facebook.txt   -t 设定间隔符    -k 指定列数,按哪列排序
         -b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。
         -f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写
        
52 uniq
         uniq -c   一般用于排序后,统计相邻行的重复出现次数,输出为: 重复次数 重复内容
         uniq -d   只输出重复行
         uniq -d   只显示文件中不重复的各行
        
53 python发布web服务:
         python -m SimpleHTTPServer 7777
        
54 nicstat   网络流量统计实用工具  http://www.linuxidc.com/Linux/2013-07/86941.htm
         ./nicstat.sh -l   查看网卡速度
         ./nicstat 3 2   间隔3秒,查看2次结果
         ./nicstat 3 2 -x   查看扩展信息
         ./nicstat.sh -t   查看tcp相关信息
         ./nicstat.sh -u   查看udp相关信息
         ./nicstat.sh -M   默认以KB为单位,现在以M单位查看
                   参数:
                            lo and eth0 : 网卡名称.
                            rKB/s : 每秒接收到千字节数.
                            wKB/s : 每秒写的千字节数.
                            rPk/s : 每秒接收到的数据包数目.
                            wPk/s : 每秒写的数据包数目.
                            rAvs : 接收到的数据包平均大小.
                            wAvs : 传输的数据包平均大小.
                            %Util : 网卡利用率(百分比).
                            Sat : 网卡每秒的错误数.网卡是否接近饱满的一个指标.尝试去诊断网络问题的时候,推荐使用-x选项去查看更多的统计信息.
                            -t
                            InKB : 表示每秒接收到的千字节.
                            OutKB : 表示每秒传输的千字节.
                            InSeg : 表示每秒接收到的TCP数据段(TCP Segments).
                            OutSeg : 表示每秒传输的TCP数据段(TCP Segments).
                            Reset : 表示TCP连接从ESTABLISHED或CLOSE-WAIT状态直接转变为CLOSED状态的次数.
                            AttF : 表示TCP连接从SYN-SENT或SYN-RCVD状态直接转变为CLOSED状态的次数,再加上TCP连接从SYN-RCVD状态直接转变为LISTEN状态的次数
                            %ReTX : 表示TCP数据段(TCP Segments)重传的百分比.即传输的TCP数据段包含有一个或多个之前传输的八位字节.
                            InConn : 表示TCP连接从LISTEN状态直接转变为SYN-RCVD状态的次数.
                            OutCon : 表示TCP连接从CLOSED状态直接转变为SYN-SENT状态的次数.
                            Drops : 表示从完成连接(completed connection)的队列和未完成连接(incomplete connection)的队列中丢弃的连接次数.
                            -u
                            InDG : 每秒接收到的UDP数据报(UDP Datagrams)
                            OutDG : 每秒传输的UDP数据报(UDP Datagrams)
                            InErr : 接收到的因包含错误而不能被处理的数据包
                            OutErr :因错误而不能成功传输的数据包.
55 proc
         /proc/cpuinfo - CPU 的信息(型号, 家族, 缓存大小等)
         /proc/meminfo - 物理内存、交换空间等的信息
         /proc/mounts - 已加载的文件系统的列表
         /proc/devices - 可用设备的列表
         /proc/filesystems - 被支持的文件系统
         /proc/modules - 已加载的模块
         /proc/version - 内核版本
         /proc/cmdline - 系统启动时输入的内核命令行参数
        
56 pstack
         pstack pid > pstack.txt
        
57 history  查看历史命令
         history 10 历史10条命令
        
58 last 显示历史登陆用户
 
59 查看linux操作系统日志 /var/log/
         sudo  -u root grep 'java' /var/log/messages   查看指定进程的操作系统日志
                    messages 日志是核心系统日志文件。它包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO 错误、网络错误和其他系统错误都会记录到这个文件中。
                    其他信息,比如某个人的身份切换为 root,也在这里列出。如果服务正在运行,比如 DHCP 服务器,您可以在 messages 文件中观察它的活动。
                    通常,/var/log/messages 是您在做故障诊断时首先要查看的文件。
         dmesg 用来显示内核环缓冲区(kernel-ring buffer)内容,内核将各种消息存放在这里
                   硬盘性能低下 : dmesg | grep DMA
                   以太网连接出现问题  dmesg | grep eth
                   sudo dmesg|grep -i kill|less
60 tree  树状列文件及目录
         tree -s 列出文件及目录大小
                  
61 文件分割:
         split -b 2000m filename    copy /B file + file2 newFile
        
62 echo 输出并换行
         -n 取消末尾的换行输出
         -e 开启反斜杠控制字符串转义   -E关闭
 
63 ''  和  "" 区别:
         ' ' (單引號),凡在 hard quote 中的所有 meta 均被关闭。
         " " (雙引號),在 soft quoe 中大部份 meta 都会被关闭,但某些則保留(如 $ )
 
64 命令群组:()  {}
         ( ) 將 command group 置於 sub-shell 去執行,也稱 nested sub-shell。
         { } 則是在同一個 shell 內完成,也稱為 non-named command group。
         若,你對上一章的 fork 與 source 的概念還記得了的話,那就不難理解兩者的差異了。
         要是在 command group 中扯上變量及其他環境的修改,我們可以根據不同的需求來使用 ( ) 或 { } 。
         通常而言,若所作的修改是臨時的,且不想影響原有或以後的設定,那我們就 nested sub-shell ,
         反之,則用 non-named command group 。
        
65 tsar /  sar 查看最近一天的处理器及内存占用情况:
         tsar -d 20150404     查看2015年4月4日的情况
         sar -u -o saveFile.txt 10 5  查询cpu信息,保存为文件saveFile.txt  10秒采集一次,采集5次
         sar -A  输出所有报告的综合
         sar -u 统计处理器情况
         sar -r 统计内存    -R统计内存页面
         sar -b 统计IO和传输率
         sar -c 统计进行创建数信息
         sar -w 文件系统交换情况
         怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看
         怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看
         怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看
        
66 显示进程的内存映像信息:  pmap
         pmap [ -x | -d ] [ -q ] pids
            -x   extended       Show the extended format. 显示扩展格式
       -d   device         Show the device format.   显示设备格式
       -q   quiet          Do not display some header/footer lines. 不显示头尾行
       -V   show version   Displays version of program. 显示版本
         pmap -x 8092 | grep tddl

未经允许不得转载:爱游吧 » linux常见命令汇总!

赞 (1)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址