Linux之目录基本操作命令
目录基本操作命令
1、tree命令
tree命令以树状图列出目录的内容。
语法
tree(选项)(参数) 选项
1、-a显示所有文件和目录
2、-A使用ASNI绘图字符显示树状图而非以ASCII字符组合;
3、-C在文件和目录清单加上色彩,便于区分各种类型;
4、-d先是显示目录名称而非内容;
5、-D列出文件或者目录的更改时间;
6、-f在每个文件或者目录之前显示完整的相对路径名称;
…… 参数
目录:执行tree命令,它会列出指定目录下的所有文件,包括子目录下的文件。 2、cp命令
cp命令用来将一个或多个源文件或者目录复制到指定的目地文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。
cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。 语法
cp(选项)(参数) 选项
1、-a此参数的效果和同时指定 -dpR参数相同;
2、-d当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
3、-f强行复制文件或目录,无论目标文件或目录是否已经存在;
4、-i覆盖既有文件之前先询问用户;
5、-l对源文件创建硬连接而非复制文件;
6、-p保留源文件或目录的属性;
7、-R/r递归处理,将指定目录下的所有文件与子目录一并处理;
8、-s对源文件建立符号连接,而非复制文件;
……
参数
源文件:制定源文件列表 默认情况下,cp命令不能复制目录,如果要复制目录,则必须加-R选项;
目标文件:指定目标文件。 当“源文件为多个文件时”,要求“目标文件为指定的目录”。 实例
1、将绝对路径下的文件复制到当前目录下
cp /home/tomcat/mp.log .
2、将文件复制并改名
cp 1 2
3、将目录下所有的目录及子文件复制到其他目录下
cp -r /home /gllong
4、将以m打头的所有.c的文件都复制到一个目录下
cp -i /usr/men m*.c /usr/zh
5、复制aaa目录下的所有到bbb目录下
cp aaa/* /bbb 这是如果如果aaa和bbb下面同名的文件,需要按y来确认并且会掠过aaa目录下的子目录。
cp -r aaa/* bbb 需要按y来确认,但是没有忽略子目录
cp -r -a aaa/* bbb 需要按y来确认,并且把aaa目录以及子目录和文件属性也传递到了/bbb.
\cp -r -a aaa/* bbb 成功,没有提示按Y、传递了目录属性、没有略过目录。 3、mkdir命令
mkdir命令用来创建目录,该命令创建有dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;
如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 注意:在创建文件时,不要把所有的文件都放在主目录中,可以创建子目录,通过它们来,更有效地组织文件。最好采用前后一致的命名方式来
区分文件和目录。例如,目录名可以大写字母开头,这样列表中的目录名就出现在前面。 在一个目录中应包含类型相似或用途相近的文件。 语法
mkdir(选项)(参数)
选项
1、-Z设置安全上下文,当使用SELinux时有效
2、-m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
3、-p或--parents,若想要建立的目录的上层目录尚未建立,则会一并建立上层的目录;
4、--version显示版本信息。
参数
目录:指定要创建的目录列表,多个目录之间用空格隔开。
实例
在usr/meng目录下建立子目录test,并且只有文件主有文件读写、执行权限,其他人无权访问
mkdir -m 700 /usr/meng/test
在当前目录中建立bin和bin下的os_1目录,权限为文件主可读写、执行、同组用户可执行,其他用户无权访问
mkdir -p -m 750 bin/os_1 4、rmdir命令
rmdir命令用来删除空目录,当目录不再使用时,或者磁盘空间已经打到使用限定值时,就需要删除失去使用价值的目录。利用rmdir命令从一个目录中删除
一个或者多个空的子目录。该命令从一个目录中删除一个或者多个子目录,日中dirname表示目录名。如果dirname没有指定路径,则删除当前目录下由dirname
指定的目录;如dirname中包含路径,则删除指定的目录。删除目录时必须对父目录具有读写权限。 注意:子目录被删除前应该是空目录。就是说,该目录的所有文件必须用rm命令全部。另外,当前工作目录必须在被删除的目录之上,不能是删除目录本身,也不
能是被删除目录的子目录。
语法
rmdir(选项)(参数)
选项
-p或--parents,指定删除目录后,若该目录的上层目录已变成空目录,则将其一起删除;
--help
--version
-v,显示命令的详细执行过程;
参数
目录列表:要删除的空目录列表。当删除多个空目录时,目录名之间用空格隔开。 实例
删除子目录oo及其父目录foo
rmdir -p foo/oo 5、cd命令
cd命令用来切换工作目录值dirname。其中dirname可以为相对路径也可以为绝对路径。若路径名省略,则变换至使用者所在的目录,另外~也表示为home directory
的意思, .表示目录所在的目录,..表示当前目录所在的上一层目录。
语法
cd(选项)(参数)
选项
-p 如果要切换的目录是一个符号连接,直接切换至符号连接指向的目标目录。
-L 与-p相反,如果要切换的目录是一个符号连接,直接切换至字符连接名锁代表的目录,而非符号连接所指向的目标目录。
实例
cd 进入用户主目录
cd ~进入用户主目录
cd -进入目录之前所在的目录
cd ..返回上级目录
cd ../..返回上两级目录
cd !$把上一个命令作为cd参数使用 6、pwd命令
pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径标准输出。 7、mv命令
mv命令用来对文件或者命令重新命名,或者从一个目录转移到另一个目录中。source表示源文件或目录,target表示目标文件或目录,如果将一个文件移动到一个
已经存在的目标文件中,则目标文件的内容将被覆盖。 mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标文件中,源文件被移至目标文件有两种不同的结果;
1、如果目标文件是到某一目标文件的路径,源文件会被移至此目录下,且文件名不变。
2、如果目标文件不是目录文件,则源文件名会变为目标文件名,并覆盖已经存在的同名的文件。如果源文件和目标文件在一个目录下,mv的作用就是改文件名。当
目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中,所有移动到该目录下的文件都将保留以前的文件名。 注意:mv和cp的结果不同,mv好像文件搬家,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
语法
mv(选项)(参数) 选项
-b当文件存在时,覆盖前,为其创建一个备份
-f若目标文件和现有的文件或者目录重复,则直接覆盖现有的文件或目录;
-i交互式操作,覆盖前先询问用户
-u当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
参数
源文件:原文件列表
目标文件:如果目标文件是文件名则在移动文件的同时,将其名改为“目标文件”;如果“目标文件”是目录名则将源文件移动到目标文件下。 实例
mv ex3 newbie 将目录/usr/men中的所有文件移动到当前目录(用.表示)中:
mv /usr/men/* .
8、ls命令
ls命令用来显示目录列表,在Linux中是使用较高的命令。ls命令的输出信息可以进行色彩加亮显示,以区分不同类型的文件。
语法
ls(选项)(参数)
选项
1、-a显示所有档案及目录
2、-A显示隐藏文件“.”和“..”以外的所有文件列表。
3、-R递归显示
4、-l长列表显示
5、-r区块显示 实例
显示文件夹信息
ls -ld /etc 递归显示
ls -R /etc 9、rm命令
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除。对于链接文件,只是删除
整个链接文件,而源文件保持不变。 注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法恢复它,所以,在删除文件之前最好再看一下文件的内容,确定是否要真的
删除。rm命令可以用-i选项,这个选项,在使用文件扩展名字符删除多个文件是特别有用。使用这个选项,系统会要求你逐一确认是否要删除。
这时,必须输入y并按Enter,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
语法
rm(选项)(参数)
选项
-d:直接把欲删除的目录的硬连接数据删除为0,删除该目录。
-f:强制删除文件或目录;
-i:删除已有文件之前先询问用户;
-r/-R:递归处理,将指定目录下的所有文件与子目录一并处理;
参数
文件:指定要删除的文件列表,如果参数中含有目录,则,必须加上-r或者-R选项。
实例
交互式删除目录下的文件
rm -i test example
删除当前目录下的所有文件和子目录。
rm -r *