2016年12月01日 星期四

Linux 的文件与目录管理

Linux 的文件与目录管理

目录与路径

我们在进行目录切换的时候,自然就涉及到了路径,路径分为绝对路径和相对路径。

  • 绝对路径:路径是从根目录 /开始写起,例如,/usr/share/doc 这就是一个绝对路径。
  • 相对路径:是相对于当前工作目录的路径,例如,由 /usr/share/doc 要到 /usr/share/man 目录时,可以写成: “cd ../man”。

目录的相关操作

首先我们来认识一些特殊的目录:

  • . 代表当前目录
  • .. 代表上一层目录
  • - 代表前一个工作目录
  • ~ 代表目前使用者身份所在的主文件夹
  • ~account 代表 account 这个账号的主文件夹

在所有目录中都存在 2 个目录:...

注意:根目录的上层目录..与根目录自己.是同一个目录。使用 ls -al / 可以看到这两个目录的存在。

下面是一些常见的目录操作指令:

  • cd(change directory) :变换目录
  • pwd (Print Working Directory):显示当前的目录
  • mkdir:创建一个新的目录
  • rmdir:删除一个空的目录,如果目录非空,则需要使用命令rm -r 才行,不过这个命令很危险,慎用。

mkdir -p /home/bird/testing/test1在这个命令中,如果各级目录不存在,加上 -p 参数,系统会自动创建不存在的目录。

pwd -P 这个命令会取得正确的目录名称(而不是以链接文件的路 径来显示的)。

环境变量$PATH

当我们执行某个指令(ls)时,系统会依照环境变量的设置去每个 PATH 定义的目录下搜寻文件名为 ls 的可执行文件,如果在 PATH 定义的目录中含有多个文件名为 ls 的可执行文件,那么先寻到的同名指令先被执行。

利用 echo $PATH 可以查看环境变量中有那些目录,每个目录之间用冒号:隔开。将目录(/root)添加到环境变量中只需要使用如下命令即可:

1
PATH="${PATH}:/root"

文件与目录管理

文件与目录的管理主要包括:属性查看、拷贝、删除和移动等。

  • 文件与目录的查看ls:比较常用的 ls -al ~(列出主目录中所有的文件,包含文件的属性和权限等数据)。由于 ls 使用频率很高,一般安装的 Linux 都将 ll(L 的小写) 设置成为 ls -l,所以在命令行直接输入 ll 就可以很方便的列出文件的相关属性和权限数据。
  • 文件与目录的复制cp
    1
    2
    cp [-adfilprsu] 源文件(source) 目标文件(destination)
    cp [options] source1 source2 source3 .... directory

不同身份者执行这个指令会有不同的结果产生。

  • 文件与目录的删除rm
    1
    rm [-fir] 文件或目录

上面的指令中,-f 就是 force 的意思,忽略不存在的文件,不会出现警告讯息;-i 互动模式,在删除前会询问使用者,-r 递回删除,最常用在目录的删除。

  • 文件与目录的移动和重命名
1
2
mv [-fiu] source destination
mv [options] source1 source2 source3 .... directory

上面指令中,-fforce 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;-i若目标文件 (destination) 已经存在时,就会询问是否覆盖;-u若目标文件已经存在,且 source 比较新,才会更新。

  • 获取路径中的文件名和路径名
1
2
3
4
basename /Users/BeyondVincent/Desktop/hehe.txt
hehe.txt
dirname /Users/BeyondVincent/Desktop/hehe.txt
/Users/BeyondVincent/Desktop

查看文件内容

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写
  • nl 显示的时候,顺道输出行号
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页
  • head 只看头几行
  • tail 只看尾几行
  • od 以二进制的方式读取文件内容