四、Linux中的文件和目录操作命令
1、查看当前所在的目录
pwd
2、查看指定目录下所有的子目录和文件列表:
①ls [选项] [指定目录] 平铺展示
选项:
-l 以列表形式展示,l是list的缩写,ls -l 相当于ll
-a 展示所有的文件和目录(包括虚拟的目录),a是all的缩写
-al 以列表形式展示所有的文件和目录(包括虚拟的目录),a是all的缩写,l是list的缩写
指定目录:包括绝对目录和相对目录
若没有指定目录,则是显示当前目录下的文件和子目录
如:
ls -l /home 相当于ll
ls -a /opt
ls -al /home
②ll [选项] [指定目录] 以列表展示
选项:
-a 展示所有的文件和目录(包括虚拟的目录),a是all的缩写
指定目录:包括绝对目录和相对目录
若没有指定目录,则是显示当前目录下的文件和子目录
如:ll -a /home
3、切换目录
cd 目录名
目录包括绝对目录和相对目录;
绝对目录:以盘符开始的目录叫绝对目录,从盘符开始查找目标目录;如:cd /home/zpl
相对目录:以目录名开始的目录叫相对目录,从当前目录开始查找目标目录; 如:cd zpl
~:当前用户的根目录。在任何目录下执行:cd ~,进入当前用户的根目录。
.. 表示当前目录的上一级目录,从的当前目录开始查找它的上一级目录;如:cd ..
. 表示当前目录;如:cd .
4、创建目录
mkdir [选项] 目录名
选项:
-p 可递归创建多级目录
若命令中没有-p,直接是mkdir 目录名,那么此时只能创建一个目录,不能创建多级目录,如test1/test2,test1和test2都是要新创建的目录,如果直接写mkdir test1/test2会报错,需要增加-p,即mkdir -p test1/test2,这样才能创建成功
目录包括绝对目录和相对目录;
mkdir /opt/testDir/test1 //在/opt/testDir目录下创建一个目录test1(使用绝对目录)
mkdir test2 //在/opt/testDir目录下创建一个目录test2(使用相对目录)
mkdir -p /opt/testDir/test3/test4 //在/opt/testDir目录下创建目录test3,并且在test3下创建test4(一次创建多级目录)
mkdir -p test5/test6
5、删除一个空目录,该test1下没有文件或子目录
rmdir 目录名 该目录下没有文件或子目录
如:rmdir test1 //test1目录下没有文件或子目录
6、创建一个或者多个空文件
touch 文件名列表(文件名之间用空格隔开)
如:
touch t1.txt
touch t2.txt t3.txt t4.txt
7、复制文件或者目录
cp [选项] source(源) dest(目标)
选项
-r 递归复制目录
cp t1.txt test2 //把t1.txt文件复制到test2目录中
cp -r test2 test5 //把test2目录复制到test5目录中(递归地复制目录)
若将一个文件复制到一个不存在的目标文件,则是新建一个目标文件,并将源文件的内容复制到目标文件中,如下:
若将一个非空文件复制到另一个已存在的空文件或非空文件,则是将源文件的内容覆盖到目标文件,有提示信息,即选择是否覆盖,若要覆盖,输入y,如下:
如上附图中a2.txt是源文件,z2.txt是新创建的空文件
如上附图中z3.txt是一个已有的非空文件
8、删除文件或者目录
rm [选项] 文件名或者目录名
选项
-f 强制删除,f是force的缩写
-r 递归删除,删除目录时要加上-r使用递归删除,因新建了一个目录后,目录下默认有虚拟的两个目录(..和.),所以要使用递归删除;
递归删除是要对目录下的每一个文件或目前进行删除提示确认,如下:
由此,不想多次多次进行删除提示确认,则使用强制删除
-rf 强制递归删除,r代表递归,f是force的缩写
删除类似Windows的删除一样,包括提示删除和强制删除,提示删除需要用户确认下是否删除,输入y代表确认,输入n代表取消;强制删除不需要用户确认,直接删除;
rm t1.txt 提示删除文件
rm -f t2.txt 强制删除文件
rm -r test2 提示递归删除目录
rm -rf test5 强制递归删除目录
如上,tt1是一个非空文件夹,使用 rm -rf tt1,对其进行强制递归删除
9、移动目录或者文件
mv source(源) dest(目标)
如:
mv test.txt test1 将文件移动到文件夹中
mv test1 test2 将文件夹移动到文件夹中
mv t3.txt t3_new.txt 将文件移动到文件,存在以下两种情况:目标文件存在;目标文件不存在;
①当目标文件不存在,则相当于将源文件重命名为目标文件,移动后源文件消失,如下:
上图中移动前t3.txt文件存在,t5.txt文件不存在,移动后相当于t3.txt重命名成t5.txt,文件内容不变
②当目标文件存在,则是将源文件的内容覆盖目标文件,提示是否覆盖,输入y或n即可,移动后源文件消失,如下
上图中移动前t5.txt和z1.txt文件都存在,文件内容不同,移动后,将t5.txt内容覆盖了z1.txt,源文件t5.txt删除