文章作者 100test 发表时间 2007:09:06 12:08:09
来源 100Test.Com百考试题网
因为用Linux的时间越来越长,所需要做的事也越来越多,效率成了我必需突破的瓶颈。在此总结一下这段时间用过的一些好的Linux技巧。以后时常补充这样自己要用的时候就很方便了。
[文本处理]
1、查看某文件的一部分
如果你只想看文件的前 5 行,可以使用 head 命令,
如:head -5 /etc/passwd
如果你想查看文件的后 10 行,可以使用 tail 命令,
如:tail -10 /etc/passwd
查看文件中间一段,可以使用 sed 命令
如:sed –n 5,10p /etc/passwd 这样你就可以只查看文件的第 5 行到第 10 行
2、将 file.txt 里的123改为 456
方法 1
sed s/123/456/g file.txt > file.txt.new 修改的保存到其它文件
sed -i s/123/456/g file.txt 直接修改原文件
方法 2
vi file.txt
输入命令:
:%s/123/456/g
注意:如果替换的文件有特殊符号如/就要用\来取消。
例:sed -i s/\/usr\/local\/apache2\/htdocs/\/var\/www\/html/g /usr/local/apache2/conf/httpd.conf
如果只是下原有的行后添加就用&.
例:sed -i s/DirectoryIndex index.html index.html.var/&. index.htm index.php /g /usr/local/apache2/conf/httpd.conf
3、echo 典型应用
echo "abcdefg" | perl -lne {$a = reverse($_). print $a.} 把一个字符串翻转
echo bottle|rev 把一个字符串翻转
4、过滤掉#号打头的行,和所有的空行(对于查看配置文档很有用)
awk /^[^#]/&.&./^[^$]/ filename > new.file
[文件目录管理]
1、删除几天以前的所有东西(包括目录名和目录中的文件)
1) find . -ctime 3 -exec rm -rf {} \.
2) find ./ -mtime 3 -print|xargs rm -f –r
2、在多级目录中查找某个文件的方法
1) find /dir -name filename.ext
2) du -a | grep filename.ext
3) locate filename.ext
3、删除软硬连接注意点
删除软件连接的时候一定要记得不要在删除的文件夹后加一斜杠,
rm -f filename/
会说这是一个文件夹不能删除
rm filename
会提示说是否要删除这个连接。
如果用的第一种可能会把其它文件都删除
4、删除目录中含输入关键字的文件
find /mnt/ebook/ -type f -exec grep "在此输入关键字" {} \. -print -exec rm {} \.
5、在当前目录下解压 rpm 文件
cat kernel-ntfs-2.4.20-8.i686.rpm | rpm2cpio | pax –r
6、用命令清空 Root 回收站中的文件
cd /var/.Trash-root
rm -rf *
7、删除文件大小为零的文件
rm -i `find ./ -size 0`
find ./ -size 0 -exec rm {} \.
find ./ -size |xargs rm -f &. 非常有效
for file in * . do #自己定义需要删除的文件类型
if [ ! -s ${file} ] . then
rm ${file}
echo "rm $file Success!"
fi
done
8、利用现存两个文件,生成一个新的文件
1) 取出两个文件的并集(重复的行只保留一份)
2) 取出两个文件的交集(只留下同时存在于两个文件中的文件)
3) 删除交集,留下其他的行
A cat file1 file2 | sort | uniq
B cat file1 file2 | sort | uniq -d
C cat file1 file2 | sort | uniq -u
9、使用shell命令修改多个文件
注: 下面所有命令已在bash shell环境中测试
相关文章
Linux环境进程间通信:管道及有名管道
Windows下与Linux下编写socket程序的区别
Linux2.6内核启动传递命令行的过程分析
GCC编译器选项及优化提示
Linux操作系统实用技巧精彩汇集
Linux内存管理--高端内存的映射方式
在UbuntuLinux7.04系统下配置Ruby环境
Ubuntu编译时找不到Makefile的解决办法
使用Unix命令行模式高效地进行文本编辑
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛