zoukankan      html  css  js  c++  java
  • Linux目录和文件——管理目录和文件的命令

    Linux目录和文件——管理目录和文件的命令

    摘要:本文主要学习了Linux系统中关于目录和文件的操作。

    cd命令

    cd命令用来切换工作目录,是Change Directory的缩写。

    基本语法

    1 cd 相对路径或绝对路径

    特殊符号

    1 ~:代表当前登录用户的主目录。
    2 ~用户名:表示切换至指定用户的主目录。
    3 -:代表上次所在目录。
    4 .:代表当前目录。
    5 ..:代表上级目录。

    使用举例

    1 [root@localhost ~]# cd /
    2 [root@localhost /]# cd /usr/local
    3 [root@localhost local]# cd ..
    4 [root@localhost usr]# cd /home
    5 [root@localhost home]# cd ~
    6 [root@localhost ~]# 

    pwd命令

    pwd命令的功能是显示用户当前所处的工作目录,是Print Working Directory的缩写。

    基本语法

    1 pwd [选项]

    选项说明

    1 -P:显示链接的真实路径。

    使用举例

    1 [root@localhost ~]# pwd
    2 /root
    3 [root@localhost ~]#

    ls命令

    ls命令的主要功能是显示当前目录下的内容,是最常见的目录操作命令,是List的缩写。

    基本语法

    1 ls [选项] 文件或目录

    选项说明

     1 -a:显示全部的文件,包括隐藏文件(开头为.的文件)也一起罗列出来,这是最常用的选项之一。
     2 -A:显示全部的文件,连同隐藏文件,但不包括.与..这两个目录。
     3 -d:仅列出目录本身,而不是列出目录内的文件数据。
     4 -f:直接列出结果,而不进行排序,ls默认会以文件名排序。
     5 -F:在文件或目录名后加上文件类型的指示符号:
     6     *代表可运行文件,/代表目录,=代表socket文件,|代表FIFO文件。
     7 -h:以人们易读的方式显示文件或目录大小,如1KB、234MB、2GB等。
     8 -i:显示inode节点信息。
     9 -l:使用长格式列出文件和目录信息,包括属性和权限等等。
    10 -n:以UID和GID分别代替文件用户名和群组名显示出来。
    11 -r:将排序结果反向输出,比如,若原本文件名由小到大,反向则为由大到小。
    12 -R:连同子目录内容一起列出来,等于将该目录下的所有文件都显示出来。
    13 -S:按文件容量大小排序,而不是按文件名排序。
    14 -t:按时间排序,而不是按文件名排序。
    15 --color=never:不依据文件特性给予颜色显示。
    16 --color=always:根据文件特性给予颜色显示,默认。
    17 --color=auto:让系统自行依据配置来判断是否给予颜色。
    18 --full-time:以完整时间模式(包含年、月、日、时、分)输出。
    19 --time={atime,ctime}:输出access时间或改变权限属性时间(ctime),而不是内容变更时间(modification time)。

    使用举例

     1 [root@localhost /]# ls
     2 bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
     3 [root@localhost /]# ls -a
     4 .  ..  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
     5 [root@localhost /]# ls -l
     6 总用量 32
     7 lrwxrwxrwx.   1 root root    7 7月   3 16:09 bin -> usr/bin
     8 dr-xr-xr-x.   4 root root 4096 7月   3 16:17 boot
     9 ...
    10 drwxr-xr-x.  13 root root 4096 7月   3 16:09 usr
    11 drwxr-xr-x.  19 root root 4096 7月   3 16:20 var
    12 [root@localhost /]# ls -lh
    13 总用量 32K
    14 lrwxrwxrwx.   1 root root    7 7月   3 16:09 bin -> usr/bin
    15 dr-xr-xr-x.   4 root root 4.0K 7月   3 16:17 boot
    16 ...
    17 drwxr-xr-x.  13 root root 4.0K 7月   3 16:09 usr
    18 drwxr-xr-x.  19 root root 4.0K 7月   3 16:20 var
    19 [root@localhost /]# ls -lha
    20 总用量 40K
    21 dr-xr-xr-x.  17 root root 4.0K 7月   3 16:12 .
    22 dr-xr-xr-x.  17 root root 4.0K 7月   3 16:12 ..
    23 lrwxrwxrwx.   1 root root    7 7月   3 16:09 bin -> usr/bin
    24 dr-xr-xr-x.   4 root root 4.0K 7月   3 16:17 boot
    25 ...
    26 drwxr-xr-x.  13 root root 4.0K 7月   3 16:09 usr
    27 drwxr-xr-x.  19 root root 4.0K 7月   3 16:20 var
    28 [root@localhost /]# ls -lha -S
    29 总用量 40K
    30 drwxr-xr-x.  76 root root 8.0K 7月   6 09:03 etc
    31 dr-xr-xr-x.  17 root root 4.0K 7月   3 16:12 .
    32 dr-xr-xr-x.  17 root root 4.0K 7月   3 16:12 ..
    33 dr-xr-xr-x.   4 root root 4.0K 7月   3 16:17 boot
    34 ...
    35 dr-xr-xr-x. 365 root root    0 7月   3 16:20 proc
    36 dr-xr-xr-x.  13 root root    0 7月   3 16:20 sys
    37 [root@localhost /]# ls -lha -t
    38 总用量 40K
    39 drwxr-xr-x.  21 root root  640 7月   6 09:03 run
    40 drwxr-xr-x.  76 root root 8.0K 7月   6 09:03 etc
    41 ...
    42 drwxr-xr-x.   2 root root    6 8月  12 2015 opt
    43 drwxr-xr-x.   2 root root    6 8月  12 2015 srv
    44 [root@localhost /]#

    mkdir命令

    mkdir命令用于创建新目录,此命令所有用户都可以使用,是Make Directories的缩写。

    基本语法

    1 mkdir [选项] 目录名

    选项说明

    1 -m:手动配置所创建目录的权限,而不再使用默认权限。
    2 -p:递归创建所有目录。

    使用举例

     1 [root@localhost home]# ls -l
     2 总用量 0
     3 [root@localhost home]# mkdir /home/test
     4 [root@localhost home]# ls -l
     5 总用量 0
     6 drwxr-xr-x. 2 root root 6 7月   6 13:55 test
     7 [root@localhost home]# mkdir /home/temp/test
     8 mkdir: 无法创建目录"/home/temp/test": 没有那个文件或目录
     9 [root@localhost home]# mkdir -p /home/temp/test
    10 [root@localhost home]# ls -l
    11 总用量 0
    12 drwxr-xr-x. 3 root root 17 7月   6 13:55 temp
    13 drwxr-xr-x. 2 root root  6 7月   6 13:55 test
    14 [root@localhost home]#

    rmdir命令

    rmdir命令用于删除空目录,是Remove Empty Directories的缩写。

    基本语法

    1 rmdir [选项] 目录名

    选项说明

    1 -p:递归删除空目录。

    使用举例

     1 [root@localhost home]# ls -l
     2 总用量 0
     3 drwxr-xr-x. 3 root root 17 7月   6 13:55 temp
     4 drwxr-xr-x. 2 root root  6 7月   6 13:55 test
     5 [root@localhost home]# rmdir test
     6 [root@localhost home]# ls -l
     7 总用量 0
     8 drwxr-xr-x. 3 root root 17 7月   6 13:55 temp
     9 [root@localhost home]# rmdir -p temp/test/
    10 [root@localhost home]# ls -l
    11 总用量 0
    12 [root@localhost home]# 

    touch命令

    touch命令用来创建空文件或者修改文件的时间参数。当文件存在时,会修改此文件的时间参数,当文件不存在时,会在当前位置建立一个空文件。

    文件的时间参数

    Linux系统中,每个文件主要拥有3个时间参数(通过stat命令进行查看),分别是文件的访问时间、数据修改时间以及状态修改时间:

    访问时间(Access Time,简称atime):只要文件的内容被读取,访问时间就会更新。例如,使用cat命令可以查看文件的内容,此时文件的访问时间就会发生改变。

    数据修改时间(Modify Time,简称mtime):当文件的内容数据发生改变,此文件的数据修改时间就会跟着相应改变。例如,修改了文件内容,此时间就会发生改变。

    状态修改时间(Change Time,简称ctime):当文件的状态发生变化,就会相应改变这个时间。例如,如果文件的权限或者属性发生改变,此时间就会相应改变。

    基本语法

    1 touch [选项] 文件名

    选项说明

    1 -a:只修改文件的访问时间(atime)。
    2 -m:只修改文件的数据修改时间(mtime)。
    3 -c:仅修改文件的时间参数(三个时间参数都改变),如果文件不存在,则不建立新文件。
    4 -d:把文件的时间改为指定的日期。
    5 -t:把文件的时间改为指定的时间,时间书写格式为YYMMDDhhmm。

    使用举例

    1 [root@localhost home]# ls -l
    2 总用量 0
    3 [root@localhost home]# touch test
    4 [root@localhost home]# ls -l
    5 总用量 0
    6 -rw-r--r--. 1 root root 0 7月   6 18:17 test
    7 [root@localhost home]#

    cp命令

    cp命令主要用来复制文件和目录以及比对两文件的新旧而予以升级等功能,是Copy的缩写。

    基本语法

    1 cp [选项] 源文件 目标文件

    选项说明

     1 -a:此参数的效果和同时指定-dpr参数相同。
     2 -d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接。
     3 -f:强行复制文件或目录,不论目标文件或目录是否已存在。
     4 -i:覆盖既有文件之前先询问用户。
     5 -l:对源文件建立硬连接,而非复制文件。
     6 -s:对源文件建立软链接,而非复制文件。
     7 -p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)。
     8 -r/R:递归处理,将指定目录下的所有文件与子目录一并处理。
     9 -u:目标文件并不存在则复制文件,目标文件存在并且比源文件旧的时候进行覆盖。
    10 -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀。
    11 -b:覆盖已存在的文件目标前将目标文件备份。
    12 -v:详细显示命令执行的操作。

    使用举例

     1 [root@localhost home]# ls
     2 aaa  test
     3 [root@localhost home]# cp test temp
     4 [root@localhost home]# ls
     5 aaa  temp  test
     6 [root@localhost home]# cp aaa bbb
     7 cp: 略过目录"aaa"
     8 [root@localhost home]# ls
     9 aaa  temp  test
    10 [root@localhost home]# cp -a aaa bbb
    11 [root@localhost home]# ls
    12 aaa  bbb  temp  test
    13 [root@localhost home]# cp -s test link
    14 [root@localhost home]# ls
    15 aaa  bbb  link  temp  test
    16 [root@localhost home]# 

    mv命令

    mv命令既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名,是Move的缩写。

    基本语法

    1 mv [选项] 源文件 目标文件

    选项说明

    1 -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖。
    2 -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖,默认。
    3 -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户。
    4 -v:显示文件或目录的移动过程。
    5 -u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级。

    使用举例

     1 [root@localhost home]# ls
     2 aaa  bbb  link  temp  test
     3 [root@localhost home]# ls aaa
     4 demo
     5 [root@localhost home]# mv aaa/demo demo
     6 [root@localhost home]# ls
     7 aaa  bbb  demo  link  temp  test
     8 [root@localhost home]# ls aaa
     9 [root@localhost home]# ls bbb
    10 demo
    11 [root@localhost home]# mv bbb/demo hello
    12 [root@localhost home]# ls
    13 aaa  bbb  demo  hello  link  temp  test
    14 [root@localhost home]# ls bbb
    15 [root@localhost home]# mv temp demo
    16 mv:是否覆盖"demo"? n
    17 [root@localhost home]# ls
    18 aaa  bbb  demo  hello  link  temp  test
    19 [root@localhost home]# mv -f temp demo
    20 [root@localhost home]# ls
    21 aaa  bbb  demo  hello  link  test
    22 [root@localhost home]# 

    rm命令

    rm命令可以永久性地删除文件系统中指定的文件或目录,是Remove的缩写。在使用rm命令删除文件或目录时,系统不会产生任何提示信息。

    注意,rm命令是一个具有破坏性的命令,因为rm命令会永久性地删除文件或目录,这就意味着,如果没有对文件或目录进行备份,一旦使用rm命令将其删除,将无法恢复,因此,尤其在使用rm命令删除目录时,要慎之又慎。

    基本语法

    1 rm [选项] 文件或目录

    选项说明

    1 -f:强制删除(force),系统将不再询问,而是直接删除目标文件或目录。
    2 -i:在删除文件或目录之前,系统会给出提示信息,可以有效防止不小心删除有用的文件或目录。
    3 -r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。

    使用举例

     1 [root@localhost home]# ls
     2 aaa  bbb  demo  hello
     3 [root@localhost home]# rm demo
     4 rm:是否删除普通文件 "demo"?y
     5 [root@localhost home]# ls
     6 aaa  bbb  hello
     7 [root@localhost home]# rm -f hello
     8 [root@localhost home]# ls
     9 aaa  bbb
    10 [root@localhost home]# rm bbb
    11 rm: 无法删除"bbb": 是一个目录
    12 [root@localhost home]# rm -r bbb
    13 rm:是否删除目录 "bbb"?y
    14 [root@localhost home]# ls
    15 aaa
    16 [root@localhost home]# rm -r aaa
    17 rm:是否进入目录"aaa"? n
    18 [root@localhost home]# ls
    19 aaa
    20 [root@localhost home]# rm -rf aaa
    21 [root@localhost home]# ls
    22 [root@localhost home]# 
  • 相关阅读:
    azkaben任务调度器
    HQL练习
    Hive基本操作
    Spark cache、checkpoint机制笔记
    2021年元旦云南之旅
    2020年总
    Windows Server 2016 如何恢复.NET Framework 4.6
    numpy和tensorflow中的广播机制
    查看spark RDD 各分区内容
    Spark RDD的默认分区数:(spark 2.1.0)
  • 原文地址:https://www.cnblogs.com/shamao/p/11163044.html
Copyright © 2011-2022 走看看