Linux文件和目录管理

Linux文件和目录管理

一、绝对路径和相对路径

  • 绝对路径:路径的写法一定是由根目录/写起的。
  • 相对路径:路径的写法不是由根目录/写起的。

二、常用命令

  • 命令cd:是用来变更用户所在目录的,后面如果什么都不跟,就会直接到当前用户的根目录下。(后面只能是目录名,跟文件名,会报错)

[root@localhost ~]# cd /tmp/
[root@localhost tmp]# pwd
/tmp
[root@localhost tmp]# cd
[root@localhost ~]# pwd
/root

pwd 这个命令是打印出当前所在目录。
“.”一个点表示当前目录,“…” 两个点表示当前目录的上一级目录(这里显示出来的命令有问题,按注释为准)或者命令cd -

[root@localhost ~]# cd /usr/local/lib/
[root@localhost lib]# pwd
/usr/local/lib
[root@localhost lib]# cd .
[root@localhost lib]# pwd
/usr/local/lib
[root@localhost lib]# cd ..
[root@localhost local]# pwd
/usr/local

  • 命令mkdir:用于创建目录。格式为mkdir[-mp] [目录名称] ,其中-m, -p为其选项, -m这个选项用来指定要创建目录的权限。-p 后面跟一个已经存在的目录名时,它不会做任何事情,只是不报错而已。

[root@localhost ~]# mkdir /tmp/test/123
mkdir: 无法创建目录 ‘/tmp/test/123’: 没有那个文件或目录
[root@localhost ~]# mkdir -p /tmp/test/123
[root@localhost ~]# ls /tmp/test
123

ls命令中‘-ld’选项.,它可以查看指定目录的属性,比如在本例中,它可以查看 ‘/tmp/test/123’ 目录的创建时间。“-l”显示该目录里的文件和子目录的属性 。

  • 命令rmdir:只能用于删除空目录,后面可以是一个或多个目录(用空格隔开)。这个命令不能用于删除文件。
  • 命令rm:比较常用。

-r:删除目录,类似于rmdir,但可以删除非空集合。在使用命令rm -r时,会询问是否删除。
-f:表示强制删除。不会询问是否删除,而是直接删除。后面跟一个不存在的文件或者目录,则不会报错。如果不加 -f 选项会报错。
要删除一个目录时,即使加上 ‘-f’ 选项也会报错,所以删除目录一定要加 ‘-r’ 选项。
注意rm -rf 命令后边不能加“/”,那样就会把您的系统文件全部删除

  • 环境变量PATH

[root@localhost ~]# echo $PATH >/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

这里的 echo 命令用来输出 PATH 环境变量的值(这里的 $ 是 PATH 的前缀符号),PATH 环境变量的内容是由一堆目录组成的,各目录之间用冒号“:”隔开。当执行某个命令时,Linux 会依照 PATH 中包含的目录依次搜寻该命令的可执行文件,一旦找到,即正常执行;反之,则提示无法找到该命令。

如果在 PATH 包含的目录中,有多个目录都包含某命令的可执行文件,那么会执行先搜索到的可执行文件。

  • 命令cp:用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。

格式:cp 【选项】 【来源文件】 【目的文件】

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:遇到一个已存在的文件,会询问是否复制。

  • 命令mv:是move的简写。

命令格式:mv [选项] [源文件或目录] [目标文件或目录]

命令功能
是mv命令中第二个参数类型的不同(是目标文件还是目标目录)
当是目标文件是文件时,若该文件存在,则会询问是否覆盖。若不存在,则会把源文件重命名为给定的目标文件名。
当是目标文件是目录时,若该目录存在,则会把源文件或目录移动到该目录中。若不存在,则会把源目录重命名为给定的目标目录名。

命令参数:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

  • 命令cat:用于查看一个文件的内容并将其显示在屏幕上。后面可以不加任何选项,直接跟文件名。

-n:查看文件时,把行号也显示到屏幕上。
-A:显示所有内容,包括特殊符号。

  • 命令tac是命令cat的反序写法,即先显示最后一行,最后显示第一行。

  • 命令more是当文件内容太多,一屏不能全部显示。可一屏一屏展示,按空格键继续下一屏,看完所有内容后就会退出。Ctrl+D键可向上翻屏,Ctrl+F键可向下翻屏,提前退出可按q键。

  • 命令less与命令more一样,但比more命令更多。按j键可向下移动(按一下移动一行),k键向上移动。

    使用more和less命令查看文件时,可以按下/键,并输入一个字符串,然后回车,即可查找。若查找多个字符串,按n键显示下一个。也可以用?键代替/键,区别是/键是在当前行向下搜索,?键是在当前行向上搜索。

  • 命令head用于显示文件前10行,加-n选项,则显示文件前几行。可省略字母n,-后面直接跟数字。

  • 命令tail与head相似,用于显示文件最后10行,加-n选项,则显示文件后几行。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值