操作文件和目录
touch:创建文件
在linux中每一个文件都关联一个时间戳,并且每个文件都会存储最近一个访问的时间、最近一次修改的时间和最近一次变更的时间等信息。所以无论创建一个新文件,访问或修改一个已经存在的文件,文件的时间戳都会自动地更新。
touch命令用于创建、变更和修改文件的时间戳,是linux的标准程序:
-a:只改变访问时间
-c:不创建任何文件
-m:只改变修改时间
-r:使用指定文件的时间替代当前时间
-t:使用[[CC]YY]MMDDhhmm[.ss]替代当前时间
创建文件:
$ touch filename
创建多个文件:
$ touch filename1 filename2 …
mkdir:创建目录
mkdir用于穿件一个新目录:
$ mkdir [dirname]
-p选项,自动创建所有还不存在的父目录;如果是已经存在的情况,将阻止错误的发生;-m选项,可以设置目录的权限。
cp:复制文件或目录
cp命令用于将文件从一个位置复制到另一个位置,源文件保持不变,新文件保持原名或用一个不同的名字。:
$ cp [OPTION] SOURCE DEST #复制原文件到目标文件 $ cp [OPTION] SOURCE… DIRECTORY #复制一个或多个源文件到一个目录 $ cp [OPTION] -t DIRECTORY SOURCE… #同上
-a:存档模式。相当于-dpR
-d:保留软链接
-p:保留权限、所有权和时间戳等信息
-R:递归地复制目录
例如:归档模式备份home目录下所有文件:
$ cp -a * /home/mexn/backup
ln:链接文件或目录
ln命令用于创建软连接或硬链接,ls -l命令列出每一条目的第一个字符指示文件类型,当一个字符是“l”时,即表示它是一个软链接。
软链接又称符号链接,是一类特殊文件,这个文件包含了一个文件或目录的路径名(绝对路径或相对路径)。在对符号文件进程读或写操作时,系统会自动把该操作转换为对源文件或目录的操作,但输出链接文件时,系统仅仅删除链接文件,而不删除源文件或目录本身。软连接可以链接不同文件系统的文件。
硬链接可以理解为一个文件的一个或多个文件名。它引用的是文件在文件系统中的物理索引(也称为inode)。当你移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置,这样有助于文件的安全。如果你删除的文件有相应的硬链接,那么这个文件依然会被保留,直到所有对它的引用都被删除,即硬链接数为0。硬链接只能链接同一文件系统中的文件。
使用-s选项可以创建一个软连接:
$ ln -s [原文件] [链接文件]
ln命令不使用任何选项,默认将创建一个硬链接:
$ ln [原文件] [链接文件]
Linux不允许给目录创建硬链接。当你创建一个软链接时,如果已经存在一个与此软链接同名的文件,那么你可以使用--backup选项,让ln命令在创建这个新链接之前,先备份已经存在的同名文件。如果不想备份而是覆盖已经存在的文件,则使用-f选项。
mv:重命名文件或目录
mv命令用于将文件和目录从一个位置移到另外一个位置。除了移动文件mv命令还可以修改文件或目录的名字。
$ mv SOURCE... DIRECRORY
例如:将目录dir1 dir2移动到dir下
$ mv dir1 dir2 dir
重命名:
$ mv old.txt new.txt $ mv oldDir newDir
默认情况下,如果目标文件或目录已经存在,mv命令并不会提示你任何信息,而是直接将其重写覆盖。为了避免这个问题,你可以使用-i选项,让mv命令在重写覆盖目标文件或目录之前给出提示信息。这样你可以通过输入字符“y”和“n”来接受或拒绝此操作。 如果你想只从源目录中移动那些目标目录中不存在的文件到目标目录,可以使用-u选项。
rm:删除文件或目录
用于删除指定的文件或目录:
$ rm [OPTIONS] ... FILE...
-i:可以让rm命令在删除每个文件或目录前提示用户确认
-f:删除前不提示用户确认,并忽略不存在的文件
-r(R):递归地删除目录及其下的内容