1. 递归修改子目录下文件名的大写字母为小写
Unix 上的 Web 服务器文件名最好用小写字母,可是如果是Windows 上的程序移植到Unix 后,可能导致文件名都是大写。下面是修改文件名大写为小写的一个命令:
for i in $*
do
mv $i ’echo $i | tr A-Z a-z’
done
2. 修改具有不可打印字符的目录名
Unix/Linux 上的文件名可以用控制字符。但是也带来了不能修改名字的烦恼。
例如 用 ls -ail 可以看到一个没有名字显示的目录:
208978 drwxr-xr-x 1 2430 Aug 3 13:08
209299 drwxr-xr-x 24 3287 Oct 25 1993 .
208946 drwxr-xr-x 49 447 Jun 22 1993 ..
可以看到有一个 inode 号为 208978 的文件不能显示名字。
我们用 find 命令来修改成普通名字:
find . -inum 208978 -exec mv {} new.dir ;
以上方法对于普通文件和目录都合适。
3. 转换 man page 为普通文本
Simple:
nroff -man foo.man > foo.txt
4. 添加行号
awk ’{no=no+1; printf"%d : %s", no, $0}’ filename > filename.out
另外一个不优雅的写法:
grep -n . filename > filename.out
5. 备份配置文件的好方法
先把需要备份的文件放到一个文本中。
vi configlist
/etc/passwd
/etc/inetd.conf
/etc/hosts/allow
/etc/hosts.deny
然后用 tar 压缩:
tar cvfzT /tmp/backup.tar.gz configlist
tar: Removing leading ’/’from absolute path names in the archive
etc/passwd
etc/inetd.conf

