备注:有道云markdown编辑,不能完全兼容到178linux博客
cd命令
cd命令用来切换工作目录至dirname。 其中dirName表示法可为绝对路径或相对路径。
常用格式:
cd #进入用户家目录
cd~ #进入用户家目录
cd- #返回进入此目录之前的目录
cd.. #返回上级目录
cd../.. #返回上两级目录
ls命令
ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
语法
ls(选项)(参数)
-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
-A:显示除影藏文件“.”和“..”以外的所有文件列表;
-C:多列显示输出结果。这是默认选项;
-l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
-F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
-b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出;
-c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间;
-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
-f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;
-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
--file-type:与“-F”选项的功能相同,但是不显示“*”;
-k:以KB(千字节)为单位显示文件大小;
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-m:用“,”号区隔每个文件和目录的名称;
-n:以用户识别码和群组识别码替代其名称;
-r:以文件名反序排列并输出目录内容列表;
-s:显示文件和目录的大小,以区块为单位;
-t:用文件和目录的更改时间排序;
-L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
-R:递归处理,将指定目录下的所有文件及子目录一并处理;
--full-time:列出完整的日期与时间;
--color[=WHEN]:使用不同的颜色高亮显示不同类型的。
参数
目录:指定要显示列表的目录,也可以是具体的文件。
实例
显示当前目录下非影藏文件与目录
1 2 |
[root@ho1 ~]# ls
2017-11-23-19-48-17 fstab.now |
显示当前目录下包括影藏文件在内的所有文件列表
1 2 |
[root@ho1 ~]# ls -a
. Downloads .mozilla .rnd .. .esd_auth |
输出长格式列表
1 2 3 | [root@ho1 ~]# ll [root@ho1 ~]# ls -l total 41860 -rw-r–r–. 1 root root 0 Nov 23 19:48 2017-11-23-19-48-17 |
显示文件的inode信息
索引节点(index inode简称为“inode”)是Linux中一个特殊的概念,具有相同的索引节点号的两个文本本质上是同一个文件(除文件名不同外)。
[root@ho1 ~]# ls -i -l
total 41860
69508308 -rw-r–r–. 1 root root 0 Nov 23 19:48 2017-11-23-19-48-17
水平输出文件列表
[root@ho1 ~]# ls -m
2017-11-23-19-48-17, alien_invasion
修改最后一次编辑的文件
最近修改的文件显示在最上面。
[root@ho1 ~]# ls -t
learning_log dead.letter 2017-11-23-19-48-17
ll_env
显示递归文件
[root@ho1 ~]# ls -R
打印文件的UID和GID
[root@ho1 ~]# ls -n total 41860 -rw-r--r--. 1 0 0 0 Nov 23 19:48 2017-11-23-19-48-17
列出可读文件和文件夹详细信息
[root@ho1 ~]# ls -lh
total 41M
-rw-r–r–. 1 root root 0 Nov 23 19:48 2017-11-23-19-48-17
drwxr-xr-x. 5 root root 4.0K Apr 1 22:50 alien_invasion
显示文件夹信息
[root@ho1 ~]# ls -ld drwxr-xr-x. 33 root root 4096 Apr 15 06:45 .
按时间列出文件和文件夹详细信息
[root@ho1 ~]# ls -lt total 41860 drwxr-xr-x. 5 root root 115 Apr 8 20:01 learning_log drwxr-xr-x. 5 root root 100 Apr 7 15:06 ll_env
mkdir命令
mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。
语法
mkdir (选项)(参数)
选项
-Z:设置安全上下文,当使用SELinux时有效;
-m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
-p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
--version 显示版本信息
参数
目录:指定要创建的目录列表,多个目录之间用空格隔开。
实例
在目录/usr/tmp下建立子目录test,并且只有文件主有读、写和执行权限,其他人无权访问
[root@ho1 ~]# mkdir -m 700 /usr/tmp/test
在当前目录中建立bin和bin下的os_1目录,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问
[root@ho1 ~]# mkdir -p-m 750 bin/os_1
rmdir命令
rmdir命令用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录。利用rmdir命令可以从一个目录中删除一个或多个空的子目录。该命令从一个目录中删除一个或多个子目录,其中dirname佬表示目录名。如果dirname中没有指定路径,则删除当前目录下由dirname指定的目录;如dirname中包含路径,则删除指定位置的目录。删除目录时,必须具有对其父目录的写权限。
语法
rmdir(选项)(参数)
选项
-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
--ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息;
-v或-verboes:显示命令的详细执行过程;
--help:显示命令的帮助信息;
--version:显示命令的版本信息。
参数
目录列表:要删除的空目录列表。当删除多个空目录时,目录名之间使用空格隔开。
实例
删除子目录os_1和其父目录bin
[root@ho1 ~]# rmdir -p bin/os_1
cp命令
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
语法
cp(选项)(参数)
选项
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。。
参数
- 源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;
- 目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。
实例
如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么,该目标文件的内容将被破坏。此命令中所有参数既可以是绝对路径名,也可以是相对路径名。通常会用到点.或点点..的形式。例如,下面的命令将指定文件复制到当前目录下:
[root@ho1 ~]# cp ../mary/homework/assigh
所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。如果没有文件复制的权限,则系统会显示出错信息。
将文件file复制到目录/usr/men/tmp下,并改名为file1
[root@ho1 ~]# cp file /usr/men/tmp/file1
将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中
[root@ho1 ~]# cp file /usr/men/tmp/file1
交互式地将目录/usr/men中的以m打头的所有.c文件复制到目录/usr/zh中
[root@ho1 ~]# cp -i /usr/men m*.c /usr/zh
我们在Linux下使用cp命令复制文件时候,有时候会需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按Y来确定执行覆盖。文件数量不多还好,但是要是几百个估计按Y都要吐血了,于是折腾来半天总结了一个方法:
[root@ho1 ~]# cp aaa/* bbb 复制目录aaa下所有到/bbb目录下,这是如果/bbb目录下有和aaa同名的文件,需要按Y来确认并且会忽略过aaa目录下的子目录 [root@ho1 ~]# cp -r aaa/* bbb 这次依然需要按Y来确认,但没有忽略子目录 [root@ho1 ~]# cp -r -a aaa/* bbb 依然需要按Y来确认,并且把aaa目录以及子目录和文件属性也传递到了/bbb。 [root@ho1 ~]# /cp -r -a aaa/* bbb 成功,不提前按Y确认
mv命令
mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
语法
mv(选项)(参数)
选项
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
参数
- 源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;
- 目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。
实例
将文件ex3改名为new1
[root@ho1 ~]# mv ex3 new1
将目录/usr/men中的所有文件移到当前目录(用.表示)中:
[root@ho1 ~]# mv ex3 new1
rm命令
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
语法
rm (选项)(参数)
选项
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
参数
文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。
实例
交互式删除当前目录下的文件test和example
[root@ho1 ~]# rm -i test example rm: remove regular empty file ‘test’? y rm: remove regular empty file ‘example’? y
删除当前目录下除隐含文件外的所有文件和子目录
[root@ho1 ~]# rm -r *
世界清净了!!!
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95940