Linux初级命令行-复制、移动、删除目录的命令
文件操作(file manipulation)
我们都熟悉在图形界面(GUI)下的文件操作。能够在命令行界面下复制、移动、删除目录是Linux用户需要学习的一个重要技能,特别在当你在操作Linux服务器的时候。大多数Linux服务器是没有图形界面的。今天我们将讨论三个命令行工具:cp 命令、 mv 命令和rm命令。
cp命令
cp是copy的缩写,用来复制文件或目录。下面是cp命令的例子。
类unix系统的许多命令都是英文单词的缩写,如 ls 命令用来列出(list)目录下的内容,ps 命令用来查看进程的状态(process status)。这是因为早期的键盘非常不好用,缩写可以减少敲键盘的次数。
复制文件
将home目录下的music.mp3到Desktop目录下
cp music.mp3 Desktop/
然后用ls命令查看Desktop目录下的内容:
user@linuxhost:~$ ls Desktop/ music.mp3
复制目录
将home目录下的Downloads目录复制到Desktop目录下
cp -r Downloads/ Desktop/
全文中的-r是cp命令的一个选项。r是recusive的缩写,意思是递归。当一个目录下面有文件或子目录时,需要使用-r这个选项,将这个目录以及目录下的所有内容复制到另一个目录下。
然后使用ls命令查看Desktop目录下的内容:
user@linuxhost:~$ ls Desktop/ Downloads music.mp3
cp命令的另外一个有用的选项是-a,a是archive的缩写。-a选项使用cp命令在复制的时候,将文件或目录的所有属性如所有者、权限等予以保留。
mv命令
mv是move缩写。它除了可以移动文件和目录外,还可以用来重命名文件和目录。mv命令的重命名功能对新手来说可能不是那么容易直观地理解。但只要你理解了移动的本质后,就会豁然开朗。当mv命令在移动一个文件或目录时,并不会移动实际的数据,mv命令只是在文件表(file table)中将文件或目录的位置做一些修改。这一特点使mv命令不仅可以移动,还能重命名,只需要在文件表中做一点修改。
mv命令的语法与cp类似,请读者自己尝试,下面来讲mv的重命名功能。
用mv来重命名文件
将Desktop目录下的music.mp3重命为melody.mp3
mv Desktop/music.mp3 Desktop/melody.mp3
然后使用ls命令查看Desktop目录下的内容:
user@linuxhost:~$ ls Desktop/ Downloads melody.mp3
用mv重命名目录
将Desktop目录重命名为desktop,所以今后不用再切换大小写了。
mv Desktop desktop
ubuntu有一个很奇怪的地方:当你重命名或删除Downloads和Desktop目录后,ubuntu会自动为你生成新的Downloads和Desktop目录。查看当前目录下面的子目录:
user@linuxhost:~$ ls -d */ desktop/ Desktop/ Downloads/
你可以发现,我将原来Desktop重命名为desktop了,但又有一个新的Desktop目录出现了。
rm命令
rm是remove是缩写,用来删除文件或目录。
删除Desktop目录下的melody.mp3文件
rm Desktop/melody.mp3
rm 不能直接删除目录,而要加上-r选项
rm -r Desktop
另外一个删除目录的命令是rmdir,它只能删除空目录。