一、Linux目录结构简介
Linux文件是以树状形式存储的,所以它的文件系统结构是一个树形结构。如下图:
1、文件系统目录结构的基本情况简述
1.1、文件系统的一级目录结构基本情况简述
一级目录 | 简要描述 |
/ | Linux文件系统的入口,也是处于最高一级的目录,即根目录 |
/bin | 系统所需的命令位于此目录,并且是普通用户都可以使用的命令。 |
/boot | Linux的内核及引导系统程序所需的文件目录 |
/dev | 设备文件存储目录 |
/etc | 配置文件目录 |
/home | 普通用户的家目录 |
/lib | 库文件存放的目录 |
/mnt | 一般用于存放挂载存储设备的挂载目录 |
/opt | 自定义软件包 |
/proc | 系统运行时,进程信息及内核信息存放地 |
/root | 超级用户root的家目录 |
/sbin | 超级用户root可执行命令存放地,注意普通用户无权限执行这个目录下的命令 |
/tmp | 临时文件目录 |
/usr | 系统存放程序的目录 |
/var | 存放的是一些变化文件,比如日志文件(/var/log)、数据库、邮件 |
/lost+found | 修复时,存储没有链接的文件或目录 |
1.2、较重要的二级目录的基本情况简述
二级目录 | 简要描述 |
/etc/init.d | 用来存放系统或服务器以System V模式启动的脚本 |
/etc/rc.d | BSD方式启动脚本的存放地 |
/usr/bin | 存放普通用户可执行程序的目录 |
/usr/sbin | 存放超级用户root可执行程序的目录 |
/usr/local | 用来存放用户自编译安装软件的存放目录 |
/usr/share | 系统共用程序的所在地 |
/usr/src | 内核源码存放地 |
/var/log | 系统日志存放地 |
二、cd——切换工作目录
该命令主要用于在不同目录间进行切换(在用户具有进入该目录权限的情况下)。
1、语法格式和具体参数
语法:cd [路径名]
参数:
【路径名】:既可以使用绝对路径,也可以使用相对路径。
其中:绝对路径是从“/”(根)开始,然后到所需目录,但需知道完整的路径;相对路径是从当前用户所在目录开始,然后到所需目录。采用相对路径时,需要知道转移到几级的上级目录。
2、注意事项
如果一个路径的第一个字母是“/”,那么这个路径就是绝对路径;否则,就是相对路径。如果要切换到当前目录的子目录,使用相对路径相对方便。
(1)、cd: 切换到当前用户的家目录
(2)、cd ~:切换到当前用户的家目录
(3)、cd -:切换到上一次的工作目录
(4)、cd /: 切换到根目录
(5)、cd /root : 切换到root的家目录。注意:用户需要有权限才能访问。
(6)、cd /home:切换到home目录。其目录下用于存放除root用户外的其他用户的家目录。
(7)、cd .. : 切换到上一级目录
(8)、cd ~zx:如果该用户有(/home/zx)该目录的权限,这可直接切换到该目录下。
(9)、cd /dir1/subdirfoo:切换到根目录下dir1的子目录subdirfoo
(10)、cd ../../dir3/dir2: 这个相对路径把当前用户向上移动两级,然后转到dir3目录中,最后转到dir2目录中。
3、具体实例
实例1、切换到主目录
方法1、cd,执行命令如下:
方法2、cd ~,执行命令如下:
实例2、假设当前用户是在/usr/local/bin之下,切换到/usr下
方法1、使用绝对路径,执行命令如下:
方法2、使用相对路径,执行命令如下:
三、pwd——显示工作目录
该命令主要用于输出当前用户工作 目录的完整路径(绝对路径)。
1、语法格式和具体参数
语法:pwd
2、具体实例
实例1、显示当前用户所在的工作路径
四、mkdir——建立目录
该命令用于创建目录并同时设置目录权限。
1、语法格式和具体参数
语法:mkdir [-p][-m <目录属性>][目录名称]
参数:-p或-parent:若所要建立目录的上层目录尚未创建,则会一并创建上层目录。
-m<目录属性>或-mode<目录属性>:建立目录并同时设置目录的权限。
2、具体实例
实例1、在当前的工作目录下创建一个名为hkwork的新目录
实例2、在不存在的目录/home/zx/example下新建一个stella的目录
实例3、建立一个使用rwxr-xr-x权限的hhwork的目录
五、rmdir——删除目录
该命令主要用于删除目录。注意:删除该目录前必须保证该目录为空,并且须具有对该目录的父目录写的权限。
1、语法格式和具体参数
语法:rmdir [-p] [--ignore-fail-on-non-empty] [--verbose][目录……]
参数:-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除。注意:用户必须具有父目录的写权限。
--ignore-fail-on-non-empt:忽略非空目录的错误信息。
-v或--verbose:执行时显示详细的信息。
2、具体实例
实例1、清空并删除/root/Test/Test1目录
步骤1、使用命令rm删除/root/Test/Test1目录下的所有文件:
步骤2、使用rmdir删除空目录/root/Test/Test1
步骤3、查看删除后的情况
实例2、删除目录 hhwork、hhwork/stella、hhwork/stella/work.
该命令的执行过程是首先删除work目录,然后删除stella目录,最后删除hhwork。如果在删除目录时,目录不为空或没有写权限,则命令终止。
六、ls——列出目录内容
ls命令主要用于列出目录内容,包括文件和子目录的名称。
1、语法格式和具体参数
语法:ls [-almrR] [文件或目录……]
参数:
-a或--all:列出当前目录下所有的文件和目录,包括以句点(.)开头的隐含文件
-l:使用详细格式列表
-m:用“,”号分隔每个文件和目录的名称
-r:反向排序
-R或--recursive:递归处理,将指定目录下的所有文件及子目录一并处理。
其他需要请查看帮助文档
2、具体实例
实例1、显示当前目录内容
实例二、用ls指令的长格式显示当前工作目录下的文件或目录的属性。
七、tree——树状目录列表
使用tree命令可以将指定目录下的所有文件(包括子目录里的文件)以树状图形的方式列出。
1、语法格式和具体参数
语法:tree [-aACdDfgilnNpqstux] [目录]
参数:
-a:显示所有文件和目录
-C: 在文件和目录清单添加上色彩,便于区分各种类型
-d:只显示目录
-D:列出文件或目录的更改时间。
-f:显示完整的绝对路径名称
-g:列出文件或目录的所属群组名称
其他参数可以查询相关文档。
2、具体实例
实例1、以树状图形列出root目录下的所有文件,包括子目录中的文件。
实例2、以彩色树状图形列出root目录下的所有文件,包括子目录里的文件。
实例3、以彩色树状图形列出root目录下的所有目录结构
实例4、以彩色树状图形列出root目录下的所有文件,包括子目录里文件及其更改时间信息。
实例5、以彩色树状图形列出root目录中下两级目录的所有文件,包括子目录中的文件及其更改时间信息。
八、lndir——链接目录内容
九、dirs——列出目录栈内容
十、pushd——目录入栈
十一、popd——目录出栈