linux下的目录操作和文件操作

在介绍文件操作之前,我们先了解一下文件的类型。目录树包括以下文件类型: 
a、普通文件:包括文档文件、数据文件、程序、shell脚本等我们常接触到的文件。 
b、目录文件:目录文件包含着一个该目录下的文件和本身以及上一级的链表。这是由操作系统维护的文件。它至少包括两个记录,一个是它自身(“.”),一个是它的上一级目录(“..”)。注意,根目录的上一级目录还是它自身。 
c、设备文件:和所有UNIX一样,linux把所有设备都作为一个文件来处理,包括IO设备。 
d、进程通信文件:即所谓的先进先出文件,主要是为进程间通信用的。 
我们一般登入系统后,当前的工作目录都是自己的主目录,想看看主目录里有什么东东?你可以使用ls命令试试。输出就如同dir /w一样^_^。要查看隐含文件使用命令行: 
ls -a 
可以看见多了不少以点(“.”)开头的隐藏文件。如果还想进一步查看文件的详细信息,那就查看长格式的输出吧,使用 
ls -l 
当然,我们完全可以组合使用多参数,有两种方法: 
ls -a -l 或者 ls -al 
都可以得到该目录下所有文件的详细列表,比dos下dir的输出还详细——只不过文件的名却在右边。如果文件太多,一屏显示不下怎么办呢?ls命令并没有提供dir的/p开关的功能,不过按照UNIX系统设计的积木原则,我们可以用命令的组合获得我们需要的任何功能。象这次我们可以使用输出重定向,使用通道,对于下面这个命令,你应该不会觉得别扭吧? 
la -l | more 
这和dos下的管道一模一样嘛:),还不只这个,连改变当前目录的cd命令,也是和dos中的用法一样,看来dos还是没有完全抛弃UNIX的影响。 
cd命令的用法和dos中相似,不同的是cd和后边的目录(包括代表上一级目录的..)之间必须有空格隔开。多出几次错误信息你就会记得这一点了,呵呵。记住: 
cd.. ------wrong 
cd .. or cd / ------right 
查看当前的路径的命令是pwd,如前所说的,它是bash的内部命令,cd也是。它存在价值在于你不用时刻面对着一个可能非常长的路径,当然你觉得有必要,也可以通过对bash的适当配置使得它的提示符类似于dos模式。 
建立和删除的目录命令也很容易从字面上理解,建立目录使用mkdir,删除空目录用rmdir。注意,你建立目录、删除目录的操作,都需要相应的权限。 
要想做到dos下的deltree的功能,需要使用文件的删除命令rm的递归删除参数-r或-R。这个命令的基本格式是 
rm [-option] filename 
例如要删除/tmp/newtemp所有文件和子目录,可以使用如下命令: 
rm -r /tmp/newtemp 
这样的话,系统会一个一个文件问你是否需要删除,如果你可以确信这个目录下的所有东西都没有保留的价值的话,你可以加上一个-f的参数,表示强制删除,不再询问,如: 
rm -rf /tmp/newtemp (还记得我们使用多个参数的两种方法么?) 
注意,在linux中没有类似undelete的命令,不要随意使用带-f、-r、-R参数的rm命令哦:) 
文件的拷贝使用cp命令,使用的格式如下: 
cp [-option] soursefile targetfile 
注意,和dos中的copy不同的是: 
· soursefile和targetfile不能相同; 
· cp需要使用递归选项-r来完成带文件的目录的拷贝; 
· cp可以使用-u开关来保留文档的最新版本。当使用-u选项时,如果目标文件存在且最后修改时间比源文件晚,则不覆盖。 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/5e5d5b6f68e2a86456e3d7deb4d1965b.html