Linux的文件和目录

Posted coydone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的文件和目录相关的知识,希望对你有一定的参考价值。

Windows和Linux文件系统区别

在Windows下不区分大小写,在Linux下严格区分大小写。

在 windows 平台下,打开“计算机”,我们看到的是一个个的驱动器盘符:

技术图片

每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示:

技术图片

在 Linux 下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录):

技术图片

Linux系统目录结构

linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面:

技术图片

Linux 目录说明

/bin:(binaries)存放系统命令的目录,所有用户都可以执行。

/sbin:(super user binaries) 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。(root)

/usr/bin:存放系统命令的目录,所有用户可以执行。这些命令和系统启动无关,单用户模式下不能执行

/usr/sbin:存放根文件系统不必要的系统管理命令,超级用户可执行

/root:存放root用户的相关文件,root用户的家目录。宿主目录 超级用户

/home:用户缺省宿主目录eg:/home/spark/home/pengpeng

/tmp:(temporary)存放临时文件

/etc:(etcetera)系统配置文件

/usr:(unix software resource)系统软件共享资源目录,存放所有命令、库、手册页等

/proc:虚拟文件系统,数据保存在内存中,存放当前进程信息

/boot:系统启动目录

/dev:(devices)存放设备文件

/sys:虚拟文件系统,数据保存在内存中,主要保存于内存相关信息

/lib:存放系统程序运行所需的共享库

/lost+found:存放一些系统出错的检查结果。

/var:(variable)动态数据保存位置,包含经常发生变动的文件,如邮件、日志文件、计划任务等

/mnt:(mount)挂载目录。临时文件系统的安装点,默认挂载光驱和软驱的目录

/media:挂载目录。 挂载媒体设备,如软盘和光盘

/misc:挂载目录。 挂载NFS服务

/opt:第三方安装的软件保存位置。 习惯放在/usr/local/目录下

/srv :服务数据目录

用户目录

位于/home/user,称之为用户工作目录或家目录,表示方式:

/home/user
~ 

相对路径和绝对路径

1、绝对路径:从/根目录开始描述的路径为绝对路径,如:

cd /home
ls /usr

2、相对路径:从当前位置开始描述的路径为相对路径,如:

cd ../../
ls abc/def

...:每个目录下都有

.表示当前目录,.. 表示上一级目录,即父目录,根目录下的...都表示当前目录。

文件权限

文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。

Unix/Linux系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件和目录有不同的访问权限。为了保护系统的安全性,Unix/Linux系统除了对用户权限作了严格的界定外,还在用户身份认证、访问控制、传输安全、文件读写权限等方面作了周密的控制。

在 Unix/Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。

1、访问用户

通过设定权限可以从以下三种访问方式限制访问权限:

  • 只允许用户自己访问(所有者) 所有者就是创建文件的用户,用户是所有用户所创建文件的所有者,用户可以允许所在的用户组能访问用户的文件。
  • 允许一个预先指定的用户组中的用户访问(用户组) 用户都组合成用户组,例如,某一类或某一项目中的所有用户都能够被系统管理员归为一个用户组,一个用户能够授予所在用户组的其他成员的文件访问权限。
  • 允许系统中的任何用户访问(其他用户) 用户也将自己的文件向系统内的所有用户开放,在这种情况下,系统内的所有用户都能够访问用户的目录或文件。在这种意义上,系统内的其他所有用户就是 other 用户类

2、访问权限

用户能够控制一个给定的文件或目录的访问程度,一个文件或目录可能有读、写及执行权限:

  • 读权限(r) 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
  • 写权限(w) 对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
  • 可执行权限(x) 对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。

注意:通常,Unix/Linux系统只允许文件的属主(所有者)或超级用户改变文件的读写权限。

3、示例说明

技术图片

第1个字母代表文件的类型:d代表文件夹、-代表普通文件、c代表硬件字符设备、b代表硬件块设备、s表示管道文件、l 代表软链接文件。 后 9 个字母分别代表三组权限:文件所有者、用户者、其他用户拥有的权限。

每一个用户都有它自身的读、写和执行权限。

  • 第一组权限控制访问自己的文件权限,即所有者权限。
  • 第二组权限控制用户组访问其中一个用户的文件的权限。
  • 第三组权限控制其他所有用户访问一个用户的文件的权限。
  • 这三组权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有9种类型的权限组。

以上是关于Linux的文件和目录的主要内容,如果未能解决你的问题,请参考以下文章

linux下如何查看文件夹大小?硬盘使用情况?内存使用情况?

使用sunOS中的find命令比较两个目录中的所有文件

常用python日期日志获取内容循环的代码片段

-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段