FreeBSD常用命令(四)
tcsm | 11 十月, 2006 22:44
连接文件
【指令名称】:ln
【执行格式】:ln [来源文件] [目地文件]
【说明】:如果在不同目录下,希望拥有相同的文件,你不需在每一个目录下复制相同文件。此功能可以使不同文件名经连接设置,指向同一文件。而当你修改这一个文件内容时,所有连接文件都有相同的更改。另外,如果一个文件位于多层目录下,每次执行此文件,可能要做许多变换目录的工作,这时你可以在根目录下设一连接文件,可以达到windows系统下的快捷方式的效果
【举例】:1. ln file1 file2
2. ln d1/d2/file1 file2
3. ln -s file1 file2
【作用】:1. 不加参数情况下,为强制连接,file1和file2使用同样的数据,file2的文件内容和file1相同。因强制连接是把两个文件设成同一个inode,以及对应于同一数据区块
2. 当你执行file2就等于在执行d1/d2目录下的file1文件
3. 加上参数s制造象征连接,象征连接是一个文件系统的指向文件,file2并不和file1共用同一个inode,而另有一个inode,而此inode所对应的数据区块内容参考到file1的路径,因此file2是以间接方式连接取得file1的数据区块内容显示或连接数个ASCII文本文件
【指令名称】:cat
【执行格式】:cat 文件
【说明】:cat是concatenate的简写,和dos下的type指令类似,主要用来显示文件内容或是连接文本文件。但cat不具有分页功能,所以在文件内容超过一页的长度时,改用more指令和less指令会比较方便,因more指令可使超过一页的文章暂时停留在屏幕等你按任何键后,才继续显示。而less指令,还可以用方向键往上或往下滚动文章
【举例】:1. more file1
2. cat file1 file2
3. cat file1 file2 > file3
4. cat file1 >> file2
【作用】:1. 以分页方式显示file1的文件内容
2. 可以一次显示多个文件内容
3. 连接两个文件内容,并将结果输出到file3文件,但是如果file3有内容,会被覆盖
4. 利用转向符号可将file1的文件内容拷贝增加到file2,所以file2除了原来的内容外,还会有file1的文件内容
寻找文件
【指令名称】:whereis
【执行格式】:whereis [文件名]
【举例】:whereis ln
【指令名称】:locate
【执行格式】:locate [文件名或目录的关键字符串]
【说明】:locate会将所有文件名及目录名中含有“搜索字符串”的列出
【举例】:locate ln
【指令名称】:find
【执行格式】:find [开始搜索的目录] -name [文件字符串] { -参数 }
【使用者】:虽然系统上的每位user都可以使用,但是有些目录有权限的限制,会出现“Permission denied”的信息,所以只有root才能做地毯式的搜索,其他的user则会遗漏一些
【说明】:find指令让你以文件名称或是文件的其他特征,如:文件的尺寸、文件的属性等,来搜索文件,找到文件后,您可以印出文件路径、文件内容或予以删除。find指令的搜索工作是以你所指定的目录开始寻找,并采用递归的方式,一层层的子目录往下搜索
参数“-print” 显示文件路径
参数“-ls” 显示文件的详细数据
参数“-exec cmd” 对搜索到的文件执行指令
【举例】:1. find /home/mmk -name 'word*' -ls | less
2. find / -name 'test' -print | xargs rm -f
【作用】:1. 在/home/mmk目录下寻找以word开头的所有文件,并分页列出详细数据
2. 从根目录下开始寻找test文件并删除