pk 发表于 2003-1-24 16:22:03

一些小技巧(ZZ)

(From http://net.zbilc.com.cn/linux/index.html)


1.取消^M字符


当你FTP一些DOS文件到unix下时,你经常会看见每行文件后面有
个讨
厌的^M 字符,有两个简单的方法可以取消它。
用"vi"打开此文件,在Command mode下敲入:
:%s/^V^M//g
或者,在UNIX SHELL下敲入:
sed 's/^V^M//g' foo > foo.new

如果很多文件,使用
zip -l    convert LF to CR LF
zip    -ll    convert CR LF to LF
后再用 unzip 还原即可


2.使用nohup命令

如果你想进程在你退出系统后还能执行,可以使用NOHUP命令
如: % nohup tar -cf /dev/tape /home &
你退出后再重新登录的话,使用'ps'命令可以看到进程还在执行

3.查看文件的方法

如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd
如果你想查看文件的后10行,可以使用tail命令,如:
tail -10 /etc/passwd
你知道怎么查看文件中间一段吗?你可以使用sed命令 如:
sed -n '5,10p' /etc/passwd
这样你就可以只查看文件的第5行到第10行。

4.计算文件数和目录数

下面的语句可以帮你计算有多少个文件和多少个目录..
# ls -l * |grep "^-"|wc -l ---- to count files
# ls -l * |grep "^d"|wc -l ----- to count dir
还可以将以上的语句变成script或做个alias

5.只列子目录的方法:

ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)

6.利用Find命令改变所有权

想要改变当前目录下所有文件的所有权,可以这样:
find . -exec chown OWNER. {} \; (Solaris)
find . -exec chown -R OWNER. {} \; (Linux)

7.列出除了某些类型文件的当前目录所有文件

使用Ksh,用ls !(*.Z)可以显示所有文件,除了*.Z文件。
这个命令在一个目录里有许多种类型的文件的时候很有用。

liuspider 发表于 2003-1-24 22:34:01

6.利用Find命令改变所有权

想要改变当前目录下所有文件的所有权,可以这样:
find . -exec chown OWNER. {} \; (Solaris)
find . -exec chown -R OWNER. {} \; (Linux)


一个更简单的方法是使用 chown 的 -R 参数,他将递归的将所有文件以及所有子目录下的东东全部修改

chmod 也有 -R 参数

pk 发表于 2003-1-25 02:28:57

这个是的。呵呵,像mandrake90,都可以用到递归删除。。。。

liuspider 发表于 2003-1-25 18:15:32

不仅限于 mandrake 9吧, rm 的 -r 选项都有的吧

pk 发表于 2003-1-25 20:18:38

当然啦。但我说的是Mandrake90下的rm(不带-r参数)。 :cry::roll:

liuspider 发表于 2003-1-25 21:42:14

但是 ,使用 如果不加 -r 的话, rm 是不可以删除目录的吧

pk 发表于 2003-1-25 22:43:56

你说呢?在Mandrake90下:
[root@huang tmp]# ls hehe
ls: hehe: No such file or directory
[root@huang tmp]# mkdir hehe
[root@huang tmp]# cd hehe
[root@huang hehe]# touch haha
[root@huang hehe]# cd ..
[root@huang tmp]# rm hehe
rm:是否删除目录‘hehe’? y
rm:是否删除一般空文件‘hehe/haha’? y
rm:是否删除目录‘hehe’? y
[root@huang tmp]# ls hehe
ls: hehe: No such file or directory
[root@huang tmp]#

liuspider 发表于 2003-1-25 23:59:51

呵呵,果然啊,这个patch 不错,打算把我的 LFS 的rm也打上这个补丁

而且好像 mandrake 9 的 rm 还打了别的一些补丁,在删除文件时,确认信息中会有删除的文件的类型的名子的,我觉得这个特性太必要了 :)

liuspider 发表于 2003-1-26 00:18:30

刚刚到 gnu 上瞅了瞅,发现最新的 fileutils 是 4.1.11 (4.1 上面加 N 个补丁的产物),安装了这个后,我的 LFS 的 rm 就和 mandrake 下的一样了 :)

pk 发表于 2003-1-26 01:09:10

呵呵,Mandrake是不用打补钉的吧。你的LFS是从Mandrake90上搞的吧?感觉怎么样?

liuspider 发表于 2003-1-26 15:17:55

我也下载了 mandrake 最新的那个 4.1.11 的 fileutils 的 SRC rpm 包,发现其中除了 4.1.11外,还有 10 个左右的 其他的 patch 呢,不过具体干什么用的不晓得,但是我和我直接用 4.1.11 编译的出的版本用起来,感觉不到什么差别 :) 应该是加的那些功能我 不会用

是的,基于 Mandrake 9 的,我的 LFS。 编译一些东东是有些问题,不过都解决了,现在刚刚装完 X,下一个目标是 KDE 了

不过论速度的话,我这个经过我优化的mandrake 9相比,没有什么明显的优势(现在主要指启动),不知道 KDE 如何

mandraker 发表于 2003-1-26 15:27:08

我昨天MandrakeUpdate一下,发现 fileutils 的确已经有了新包了,但没有update到。呵呵,我原来也想打算做个基于Mandrake 的LFS,但看到你说的情况,我现在还是打住先,呵呵。我的机器很烂,连gnome都不装,kde也基本上不用,随便开一个其它的X都已经可以了。呵呵,Mandrake启动慢的原因可能是开的东西过多吧,而且也和安全级别有关吧。我的感觉是启动还可以吧。

liuspider 发表于 2003-1-26 16:03:06

我昨天MandrakeUpdate一下,发现 fileutils 的确已经有了新包了,但没有update到。呵呵,我原来也想打算做个基于Mandrake 的LFS,但看到你说的情况,我现在还是打住先,呵呵。我的机器很烂,连gnome都不装,kde也基本上不用,随便开一个其它的X都已经可以了。呵呵,Mandrake启动慢的原因可能是开的东西过多吧,而且也和安全级别有关吧。我的感觉是启动还可以吧。我是在平时使用时,顺便编译 LFS 的,没用多少时间的,不过开始的那些小小的包,一个一个解压,一个一个编译着实需要一番耐心的

如果你觉得 装了 LFS ,速度不会有明显改善的话,那可是误解我了,我可没那个意思啊。

我现在的 LFS 仅仅装了X,还没有在上面运行 KDE的,不过我相信 LFS 会快过 mandrake 的 :)。 另一方面,我 自己修改过了 mandrake 9 的启动脚本,把我不需要的东东都去掉了,所以启动速度才和 LFS 差不多的

如果你有时间,有耐心,并且想深入了解 linux 的话(当然,还为了充分发挥你机器的潜力),那么 LFS 应该会适合你的 :)

我好像在做广告 :)

mandraker 发表于 2003-1-27 00:55:34

哈哈,你在宣传Mandrake Linux嘛。 :roll::roll::roll::roll::roll:

liuspider 发表于 2003-1-27 01:14:01

同时还宣传 LFS 啊 :)
页: [1] 2
查看完整版本: 一些小技巧(ZZ)