Linux文件目录简介

156 阅读6分钟

在 Linux 中万物皆文件,所以对文件目录的相关操作就显得格外重要。可以说这是基础中的基础,当然也不用去刻意的背诵所有指令,熟能生巧,在实际操作中使用的多了这些常见的指令也就了然于心了。

1.linux 系统文件介绍

在列举操作命令之前,我们还是先来认识一下 Linux 系统中的整体目录结构是怎样的。在系统根目录下输入 ls 可以看到:图片可以看到在根目录下存在着很多文件夹,以下是对他们的解释:

  • /bin:存放着最经常使用的命令。
  • /boot:存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev :存放的是 Linux 的外部设备,如硬盘等。
  • /etc:用来存放所有的系统管理所需要的配置文件和子目录。
  • /home:存放用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /lib:存放着系统最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库。
  • /lost+found:该目录一般情况下是空的,当系统非法关机后,会存放一些文件。
  • /media:存放系统识别的设备,例如 U 盘、光驱等等。
  • /mnt:让用户临时挂载别的文件系统。
  • /opt:该目录是主机额外安装软件所摆放的目录。默认为空。
  • /proc:是一种伪文件系统(即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root:该目录为系统管理员的用户主目录。
  • /run:该目录是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
  • /sbin:存放的是系统管理员使用的系统管理程序。
  • /srv:存放一些服务启动之后需要提取的数据。
  • /sys:该文件系统集成了下面 3 种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。是对内核设备树的一个直观反映。
  • /tmp:存放一些临时文件。
  • /usr:存放用户的很多应用程序和文件,类似于 windows 下的 program files 目录。
  • /var:存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

在了解了这些目录的含义后,再去学习文件操作指令就知道自己是在干什么了,因为在 Linux 中要始终记得当前指令是干什么的、处理什么逻辑!接下来给大家介绍十几个常见的文件目录指令以供基础了解和学习,其余指令可以查询官方文档或者技术文章~

  1. pwd:显示当前目录的绝对路径
  2. ls [选项] [文件或者目录]:展示文件或目录中的文件信息。-a 与-l 也可以结合使用,两者的顺序无所谓,即 ls -al 和 ls -la 都可以。作用是以列表的形式展示目录下所有的文件(包括隐藏文件)
选项:
-a 显示当前目录所有文件和目录包括隐藏文件
-l 以列表的形式显示信息
  1. cd ~:表示回到自己的家目录
  2. cd ..:表示回到当前目录的上一级目录
  3. mkdir [选项] [要创建的目录]:用于创建目录, 常见选项为-p(创建多级目录)
  4. rmdir [选项] [要删除的空目录]。该指令只能删除空目录,如果要删除非空目录,使用 rm -rf 进行删除
  5. touch [文件名称]:创建一个空文件
  6. cp [选项] 需要拷贝的文件 需要拷贝到哪个文件:拷贝文件到指定文件或目录
选项:
-r 表示递归复制整个的文件夹

例如:
cp /home/text /home/bbb  代表含义:将home下的text文件拷贝到home下的bbb目录下
\cp -r /home/text  /home/bbb \cp代表:强制覆盖不提示 因为当多次拷贝到目录时会有确认覆盖的确认,如果目录中的文件很多,可以用\cp来不显示确认覆盖的提示
  1. rm [选项] [要删除的文件或目录]:移除文件或目录。切记 rm -rf 要慎重执行,因为这个指令会直接删除文件中的所有文件,可谓是“跑路指令”
选项:
-r 递归删除整个文件
-f 强制删除不提示
  1. mv:移动文件或者重命名文件名
1. mv oldFileName newFileName (重命名)
2. mv 文件 目标目录(将文件移动到目标目录下)
3. mv 文件夹 目标文件夹(移动整个目录)

11.cat [选项] [要查看的文件] :查看文件内容(但相对 vim 来说更加安全,因为 cat 只能读不能写)

选项:
-n :显示行号
  1. less:查看文件,与 more 指令类似,但是会根据显示内容而加载内容
有关less状态下页面的操作:
空格键 代表下一页
pagedown键 代表下一页
pageup键 代表上一页
/字串 向下搜索字串
?字串 向上搜索字串
q 离开less
  1. echo:输出内容到控制台
  2. head:显示文件的开头部分,默认显示 10 行内容
head -n x(行数) [文件] :代表要查看文件的头x行内容
  1. tail:输出文件尾部内容,与 head 相反,其他用法与 head 一致
tail -f 文件 :实时追踪文档所有更新

16.'>' (覆盖内容)与 '>>'(追加内容)。如果后面的文件不存在的话会自动创建

  1. ls -al >> a.txt :表示列表的内容追加到a.txt文件的末尾
  2. ls -l > a.txt:表示列表的内容覆盖到a.txt文件中
  3. cat a > b: 将a的内容覆盖到b

17.ln:存放了链接其他文件的路径,类似于快捷方式。删除软连接直接 rm [软连接名]即可

ln -s [文件或目录] [软连接名] :给原文件创建软链接

18.history:查看已经执行过的命令,也可以执行历史命令

  1. history n:查看最近n条命令
  2. !n 代表执行标号为n的命令

以上就是我们在日常开发中所常用到的基础文件操作指令,大家要根据实际开发需要而灵活运用,因为有的功能是可以用不同指令实现的。还是那句话“我亦无他,唯手熟尔”