第二周作业之:文件管理类命令常用使用方法及其相关示例

ls mkdir rmdir cp mv rm

备注:有道云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

(0)
cyzcyz
上一篇 2018-04-14 17:06
下一篇 2018-04-14

相关推荐

  • Homework_week5

    1、简述rpm与yum命令的常见选项,并举例 RPM rpm是一个功能十分强大的软件包管理系统,它使得在Linux下安装、升级和删除软件包的工作变的容易、并且具有查询、验证软件包的功能 安装 rpm {-i|–install} [install-options] PACKAGE_FILE … 选项: -h:-hash,显示安装进度 -…

    Linux笔记 2018-07-23
  • liunx 笔记

    服务器硬件—CPU      服务器CPU公司   :Inter    xeon  至 强  ltanium   安腾      AMD A lthlon  MP   IBM  power 这几种。 服务器CPU分主频、外頻、倍频三个频率。CPU类型 :x86   x64 (clsc)  ARM  m6l8000 ,m68k power  pow…

    Linux笔记 2018-04-01
  • RAID和逻辑卷

    1、RAID技术
    2、RAID实验
    3、逻辑卷管理
    4、逻辑卷快照

    Linux笔记 2018-06-10
  • linux系统修复报错的方法 . 4

    如果/boot目录下所有的文件都丢了怎么办

    2018-05-12
  • Linux的文件管理和Bash的基础特性

    Linux文件管理,Bash的基础特性及练习

    2018-07-02
  • 初识Nginx——晓以大意 明以细理

    什么是nginx?nginx is a free,open-source,high-performance http server and reverse proxy,as well as an IMAP/POP3 proxy.通俗的说Nginx提供web服务,反向代理,以及IMAP/POP3代理,那么什么是web服务?反向代理?IMAP/POP3代理? w…

    2017-09-10