Linux的文件类型
因为Linux的文件没有扩展名,所以Linux下的文件名称和它的种类没有任何关系。Linux中常用的文件类型有5种:普通文件、目录文件、链接文件、设备文件和管道文件。
普通文件:以字节为单位的数据流型文件,它是最常用的一类文件,其特点时不包含文件系统的结构信息。
目录文件:目录文件不存放常规数据,它是用来组织、访问其他文件的。
链接文件:链接文件时一种特殊的文件,实际上是指向一个真实存在的文件链接,类似于Windows下的快捷方式。
设备文件:方便Linux系统访问外部设备。
管道文件:用于不同进程的信息传递。当两个进程间需要传递数据和信息时,可以使用管道文件。一个进程将需传递的数据或信息写入管道的一端,另一进程则从管道的另一端取得所需的数据或信息。
目录的基本操作
切换工作目录:cd [directory]
该命令将当前目录改变为directory指定的目录。如果没有指定directory,则回到用户主目录。
输出当前目录下的所有子目录与文件:ls [option] [names]
创建目录:mkdir [option] [dirname]
其中option(-m 设置权限;-p创建完整目录结构)选项可以省略,dirname时要创建的目录名称。
删除空目录:rmdir [option] [dirname]
rmdir命令只能删除空目录,若目录中存在文件,就要使用rm命令删除文件后再删除目录。
文件的创建、复制、移动和删除命令:
创建新的空文件:touch [option] filename
option的选项可以省略,其中touch还可以用于把已存在文件的时间标签更新为系统当前的时间,它们的数据将原封不动地保留下来。
将给出的文件或目录复制到另一文件或目录中:cp [option] source dest
source表示需要复制的文件,dest表示需要复制到的目录。
将文件或目录改名或者将文件由一个目录移动到另一个目录中:mv [option] source dest
将无用的文件删除:rm [option] filename
该命令的功能是删除一个目录中一个或者多个文件,也可以将某个目录及其下所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
显示文件的内容:cat [option] filename
如果文件中含有特殊字符,使用cat - A text将特殊符号一起显示出来。
将两个文件合并起来放入第三个文件中:cat text1 text2 > text3
文件内容查找命令:其中有 grep、egrep、fgrep三种命令
grep命令:grep [option] [search pattern] [file1,file2,...]
最早的文本匹配程序,一次只能搜索一个指定模式。
egrep命令:grep [option] [search pattern] [file1,file2,...]
扩展式grep,使用扩展表达式匹配文本。
fgrep命令:grep [option] [search pattern] [file1,file2,...]
快速grep,这个版本匹配固定字符串而非正则表达式。
在目录结构中搜索文件:find [option] filename
locate命令也能查找文件,比find命令的搜索速度快,原因在于它搜索的是Linux系统自动创建的数据库,并且每天更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令手动更新数据库。
whereis命令用于查找文件,该指令会在特定目录中查找符合条件的文件。whereis [option] filename该命令会返回filename所在位置的路径。
归档与压缩:
归档程序:tar [option] filename
tar命令可以将许多文件打包成为一个归档文件或者把它们写入备份设备。所以通常Linux下,保存文件都是先用tar命令将目录或者文件打成tar归档文件(也称tar包),然后进行压缩。
解压缩文件:zip [option] filename
zip命令可以用来解压缩文件,或者对文件进行打包操作。
例如将/home/Blinux/html/目录下的所有文件和文件打包为当前目录下的html.zip
zip -q -r html.zip /home/Blinux/html
其中-q选项表示不显示指令执行过程,-r是递归处理,将指定目录下的所有文件和子目录一并处理。