Linux操作系统实用技巧精彩汇集

文章作者 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命令行模式高效地进行文本编辑
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛