转自: http://pda158.iteye.com/blog/2126925
0. 基本命令
linux 基本命令整理
1. 压缩 解压
tar -zcvf a.tar.gz a #把a压缩成a.tar.gz
tar -zxvf a.tar.gz #把a.tar.gz解压成a
2. vim小结
2.1 vim替换
:m,ns/word_1/word_2/gc #把word_1用word_2替换,g表示替换所有的, c表示替换每一个时需要确认
2.2 vim统计某一个字符串的个数
:m,ns/word_1/&/gn #统计从m行到n行之间word_1的个数, n表示只是统计个数不替换
:1,$s/word_1/&/gn #搜索整个文档中word_1的个数,和下面等价
:%s/word_1/&/gn
2.3 vim中删除某一字符串
:m,ng/word_1/d #从第m行到第n行删除所有的word_1
3. 文件搜索
3.1 locate——通过文件名查找
locate /bin/zip
3.2 find——通过文件的各种属性在既定的目录下查找
find /usr -type f -name "*.png" -size +1M #查找的目录范围是/usr,名字以.png结尾,大小大于1M(+1M,1M,-1M)
find /usr -type f -name "*.png" -size +1M | wc -l #统计符合条件的行数
find /usr -type f -name "*.png" -size +1M -delete #删除符合条件的
3.3 找出目录dirs下含有字符串“hello”的所有文件的名字(个数)
find .|xargs grep -ri "
IBM" #xargs是一条Unix和类Unix操作系统的常用命令。它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题。
find .|xargs grep -ri "IBM" -l #只打印出文件名
4. 排序
cat file_name | sort -k2 -r #按第二列(从一开始技术)排序,-r表示reverse,从大到小输出
cat file_name | sort -k1 -n #按第一列排序, -n按数字排序,默认为按字符串排序
cat file_name | sort -k1 -nr | wc -l #统计满足条件的个数
5. 系统开销
5.1 df——磁盘占用情况
df #列出各文件系统的磁盘空间占用情况(已用 未用)共五列:Size Used Avail Use% Mounted on
df -h #以更易读的方式显示 (按K\M\G适当转换)
5.2 du——文件大小
df #列出本目录下,目录的大小(默认的计数单位是k)
df -h 文件名 #以更易读的方式显示所查文件的大小
5.3 w——CPU负载度量(简单的说是进程队列的长度,最近一段时间1min,5min,15min的load度量)
w
6. awk命令
cat file_name | awk '{print $1}' #输出第一列(默认以空格切分)
cat file_name | awk -F ':' '{print $1"\t"$3}' #-F指定切割符号,输出第3列
cat file_name | awk -F ':' 'BEGIN {print "name,id"} {print $1","$3} END {print "end_name,end_id"}' #BEGIN指定开头输出,END指出结尾输出
cat file_name | awk -F ':' '/keyWord/{print $1}' # 输出一行中含有关键字keyWord的制定列
cat file_name | awk -F ':' '{print "filename:" FILENAME ",linenumber:" NR ",columns:" NF}' #内置变量FILENAME文件名,NR已读记录数,NF列数
cat file_name | awk '{count++} END {print "Count:" count}' #编程,最后输出总行数
7. 编码转换
iconv -f gbk -t utf-8 -c text.txt -o text.out #-f:from -t:to -c从输出中忽略无效的输出 -o输出文件名字
8. 文件属性
chmod 属性 文件名 #更改文件属性r:1 w:2 x:4
chown 拥有者 文件名
chgrp 组名 文件名
9. 管道 | 重定向 >
ls -l |grep "^-" | wc -l #grep 正则匹配以'-'开头的, wc -l:统计满足条件的总的行数
ls -l |grep "^-" >file_name1 #把满足结果的定位到file_name1,注:先清空再定位
ls -l |grep "^-" >>file_name2 #把满足结果的输出到file_name2的后面,注:不清空,在原来基础上继续存储
10. 文件传输下载
curl http://www.cnblogs.com/kaituorensheng/ #下载网页,默认只下载HTML文档; -l只显示头部; -i 显示全部
curl http://e.hiphotos.baidu.com/image/pic/item/50da81cb39dbb6fd1e165c260a24ab18972b3764.jpg #下载图片
curl "www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK" #获取表单,参数birthyear=1905,press=OK"