Linux常用命令

1、磁盘管理

df -h查看整体磁盘使用情况

df -h /home 查看/home目录的使用情况

du -sh *: 查看当前目录下每个文件或文件夹的大小

du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量

truncate -s 0  将某个文件清零,或修改为某个大小

2、文本处理

# 每行按空格或TAB分割,输出文本中的1、4项
 $ awk '{print $1,$4}' log.txt
 $ awk '{print $1,$4}' log.txt

3、压缩/解压

tar -zcvf xxx.tar.gz  path/  压缩打包

tar -zxvf xxx.tar.gz  解压

4、sleep

sleep 1 睡眠1秒
sleep 1s 睡眠1秒
sleep 1m 睡眠1分

sleep 1h 睡眠1小时

5、tee命令

echo "some thing" | tee -a xxx.log

文字既可以在屏幕上输出,也可以写入到文件中。

6、test命令

[ -f "xxx.file" ] 该文件名是否存在并且为文件

7、grep 命令

-w : 精确匹配

-i : 忽略大小写

-v : 反选

命令
id Linux id命令用于显示用户的ID,以及所属群组的ID。
  • -u或--user  显示用户ID。
declare   声明变量            -a 声明数组
echo      输出-n不换行输出

8 查看 重启情况

# last reboot

--------------------------------------------------------------------------------------------------------------------------------------------

reboot   system boot  2.6.18-92.el5    Mon Dec  6 12:50          (05:11)                   
reboot   system boot  2.6.18-92.el5    Mon Dec  6 10:49          (07:12)
reboot   system boot  2.6.18-92.el5    Sun Dec  5 18:56          (23:05)
reboot   system boot  2.6.18-92.el5    Mon Nov 29 09:55         (7+08:06)

9、top命令

可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

 

介绍top中一些字段的含义:

VIRT:virtual memory usage 虚拟内存
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

SHR:shared memory 共享内存
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来

DATA
1、数据占用的内存。如果top没有显示,按f键可以显示出来。
2、真正的该程序要求的数据空间,是真正在运行中要使用的。

10、ps 命令

ps -ef | grep java 检查java 进程是否存在

11、kill命令

参数

HUP     1    终端断线
INT     2    中断(同 Ctrl + C)
QUIT    3    退出(同 Ctrl + \)
TERM   15    终止
KILL    9    强制终止
CONT   18    继续(与STOP相反, fg/bg命令)
STOP   19    暂停(同 Ctrl + Z)

12、压缩解压

压缩

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg 

tar -czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

 tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2   //解压 tar.bz2

tar -xZvf file.tar.Z   //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

13、linux抓包工具

 

1. http数据包抓取 (直接在终端输出package data)

tcpdump tcp port 80 -i hccvswitch -n -X -s 0  对网卡hccvswitch的请求指定80端口进行输出

2. 抓取http包数据指定文件进行输出package

tcpdump tcp port 80 -n -s 0 -w /tmp/tcp.cap

对应的/tmp/tcp.cap基本靠肉眼已经能看一下信息,比如http Header , content信息等

3. 结合管道流

tcpdump tcp port 80 -n -s 0 -X -l | grep xxxx

这样可以实时对数据包进行字符串匹配过滤。

抓DHCP包

/usr/sbin/tcpdump -i eth0 -s 1500 -w dhcp.pcap 'udp and port 67 and port 68'
-i 指定抓包网卡
-s 指定抓包长度,默认只抓包头
-w 将抓包内容保存下来,然后用wireshark之类的软件看更方便。如果想要在屏幕滚动查看,忽略这个选项
udp and port 67 and port 68:dhcp报文的过滤条件,udp协议,端口67和68

14、traceroute命令

用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。

15、查看服务器cpu核数

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

16、source命令用法

source FileName
  • source命令作用

在当前bash环境下读取并执行FileName中的命令。

18、linux利用grep查看打印匹配的下几行或前后几行的命令

转自:http://www.itokit.com/2013/0308/74883.html

linux系统中,利用grep打印匹配的上下几行

如果在只是想匹配模式的上下几行,grep可以实现。

$grep -5 'parttern' inputfile //打印匹配行的前后5行

$grep -C 5 'parttern' inputfile //打印匹配行的前后5行

$grep -A 5 'parttern' inputfile //打印匹配行的后5行

$grep -B 5 'parttern' inputfile //打印匹配行的前5行

查看mysql慢日志中ip地址为192.168.0.10发送过来的SQL语句的后面三行

  1. tail -50 /usr/local/mysql/data/sql-slow.log |grep -3 '192.168.0.10'  

匹配php错误日志中某一个字段

  2,tail -100 /data/logs/php/php_error_5.3.log  | grep  "Memcache::get()";

查看某一个文件第5行和第10行

 sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。


19、修改TOP命令排序列

1,快捷键:

  大写M:根据内存排序,默认从大到小,大写R更改为从小到大排序

  大写P:根据CPU使用排序,默认从大到小,大写R更改为从小到大排序

  大写T:根据使用时间排序,默认从大到小,大写R更改为从小到大排序

2,使用<>:

  >:向右移动一列排序,比如现在是以CPU排序,那么输入>后就按照内存排序,输入R更改排序顺序,向右移动不了了,就表示以最右边的列排序。

  <:向左移动一列排序

20、查看文件开头或结尾几行

可以使用head(查看前几行)、tail(查看末尾几行)两个命令。
例如:
查看/etc/profile的前10行内容,应该是:
# head -n 10 /etc/profile
查看/etc/profile的最后5行内容,应该是:
# tail  -n 5 /etc/profile

21、在文件中匹配字符串

grep [-acinv] [--color=auto]  '搜寻字符串'  filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!

21、查找文件中是否存在某字符串、插入字符串、删除字符串

# restart when startup
if [ `grep -c "/opt/athena/restart.sh" /etc/rc.local` -eq '0' ]; then
    sed -i '$i\/opt/athena/restart.sh' /etc/rc.local
fi

模糊匹配,删除文件中包含该字符串的行

sed -i '/athena/d' /etc/rc.local

删除最后一行:

sed -i '$d' file  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值