Linux常用命令

上一篇 / 下一篇  2014-10-21 11:42:31 / 个人分类:linux

1. 压缩 解压
tar zcvf html.tar.gz html   #把html目录下所有内容压缩成html.tar.gz
tar zxvf html.tar.gz     #把html.tar.gz解压成html
tar zcvf html.tar.gz html --exclude svn #除了包含文件名包含svn的 其他文件打包
tar zcvf html.tar.gz html --include svn #打包包含文件名包含svn的文件
zip –q –r html.zip html   #把html目录下所有内容压缩成html.zip
zip –o html.zip -d html   #把html.zip包解压并强制覆盖至html目录下

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 amavisd
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——文件大小
du              #列出本目录下,目录的大小(默认的计数单位是k)
du -h 文件名      #以更易读的方式显示所查文件的大小

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. date时间戳与标准时间转换
 date  -d "2010-12-31 12:45:20" +%s 
# 1293770720
# date -d @1293770720
# Fri Dec 31 12:45:20 CST 2010
11.mount和umount:
mount -t nfs 192.168.146.186:/yz/outFile /var/www/html/onlineview1
umount /var/www/html/onlineview1

12.at
查看at队列中某个定时任务的具体信息:
at -c queue_id
删除at队列中某个定时任务:
at -d queue_id

13.rpm命令
查询已经安装的并且文件名包含“apr”的所有rpm包
如:
[root@6 ~]# rpm -qa | grep apr
apr-1.2.7-11.el5_3.1
apr-util-1.2.7-7.el5_3.2

查询一个包是否被安装 
# rpm -q < rpm package name>

使用以下命令把rpm包的源内容解到当前目录
rpm2cpio web-6.6-1.i386.rpm | cpio -idv

使用以下命令查看rpm包中的文件清单
rpm -qpl web-6.6-1.i386.rpm 

安装rpm包:rpm -ivh rmp包名
卸载rpm包:rpm -e rmp包名(不带.rpm)
强制卸载rpm包:rpm -e rmp包名(不带.rpm) --nodeps

平时要查rpm包相关安装、卸载脚本,可以使用命令:
rpm -q --scripts postfix

14.mysql导出表及表数据的命令
导出表结构及表中数据的插入语句(均为sql语句--create/insert)
mysqldump --tables postfix day_visit_sum >tang.sql

只导出表中的数据
mysqldump --tables postfix day_visit_sum | grep -i insert |awk -FVALUES '{print $2}' >tangb.txt

15.十进制转成二进制:
echo "obase=2;4611686018427387904" | bc
其中:4611686018427387904为十进制数据

16.iotop -o命令可以查看哪个进程占用了IO

17.time 执行命令
这样可以得到命令执行的时间

18.touch `date +%Y%m%d%k%M%S`.txt
先执行``中的命令date +%Y%m%d%k%M%S,再执行touch

19.
将mds_ip = 127.0.0.1修改为mds_ip = 192.168.146.201
sed -i "s/mds_ip = 127.0.0.1.*/mds_ip = 192.168.146.201/g" /etc/postfix/main.cf
查看以mds_ip开始的行信息
sed -n '/^mds_ip/p' /etc/postfix/main.cf

TAG:

 

评分:0

我来说两句

Open Toolbar