一、Windows和Linux文件系统区别

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

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

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

二、类Unix系统目录结构

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

2、Linux 目录

  • /:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。
  • /bin:  或者 /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
  • /boot:放置linux系统启动时用到的一些文件,如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub。
  • /dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。
  • /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。
  • /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~edu 表示用户 edu 的家目录。
  • /lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。
  • /lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下。
  • /mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。
  • /opt:给主机额外安装软件所摆放的目录。
  • /proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。
  • /root:系统管理员root的家目录。
  • /sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。
  • /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。
  • /srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。
  • /usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录。
  • /var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。

3、用户目录

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

/home/user
~

4、相对路径和绝对路径

  • 绝对路径

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

cd /home
ls /usr
  • 相对路径

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

cd ../../
ls abc/def

5、 .和..

每个目录下都有.和..

. 表示当前目录

.. 表示上一级目录,即父目录

根目录下的.和..都表示当前目录

 

三、权限相关问题 

1、文件权限

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

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

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

2、访问用户

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

  • 只允许用户自己访问(所有者) 所有者就是创建文件的用户,用户是所有用户所创建文件的所有者,用户可以允许所在的用户组能访问用户的文件。

  • 允许一个预先指定的用户组中的用户访问(用户组) 用户都组合成用户组,例如,某一类或某一项目中的所有用户都能够被系统管理员归为一个用户组,一个用户能够授予所在用户组的其他成员的文件访问权限。

  • 允许系统中的任何用户访问(其他用户) 用户也将自己的文件向系统内的所有用户开放,在这种情况下,系统内的所有用户都能够访问用户的目录或文件。在这种意义上,系统内的其他所有用户就是 other 用户类

这有点类似于 QQ 空间的访问权限:

  • 这个 QQ 空间是属于我的,我相当于管理者(也就是“所有者”),我想怎么访问就怎么访问。
  • 同时,我可以设置允许 QQ 好友访问,而这些 QQ 好友则类似于“用户组”。
  • 当然,我可以允许所有人访问,这里的所有人则类似于“其他用户”。

3、访问权限

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

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

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

2)示例说明

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

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

  • 第一组权限控制访问自己的文件权限,即所有者权限。
  • 第二组权限控制用户组访问其中一个用户的文件的权限。
  • 第三组权限控制其他所有用户访问一个用户的文件的权限。

这三组权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有9种类型的权限组。

--------------------------------------------

来源:整理自网络

Linux学习笔记之二————Linux系统的文件和目录的更多相关文章

  1. deepin linux 学习笔记(二)——文本编辑器

    目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...

  2. Linux学习笔记(二)2015.4.14

    笔记2.1 Q:登陆命令  A:刚开始登陆的是安装Linux时设置的普通用户,如lin,输入su - root后,成为root用户 笔记2.2 Q:切换控制台  A:ctrl+alt+F1-F7可以切 ...

  3. Linux学习笔记(二)——文件/目录/VIM

    文件和目录管理 及 VI编辑器的使用 文件和目录管理,刚开始学这块的时候感觉内容很多很杂,但是学完进行总结后,发现其实很有条理的而且没什么难度,只是熟练掌握这些常用的命令就行了.至于Vim编辑器,不得 ...

  4. Linux学习笔记 (二)常用linux命令

    一.命令行语法: 命令字 [选项] [参数] 注意:Linux中对命令是区分大小写的. 二.获取命令帮助: 1.help命令:help xxx,shell内部指令,用来获取linux内部命令.例如:h ...

  5. 慕课Linux学习笔记(三)系统分区

    Linux的系统分区 主分区:最多四个 扩展分区:最多只能一个,不能写入数据,只能包含逻辑分区 逻辑分区 必须分区: / (根分区) Swap 分区 (交换分区,内存的两倍,不超过2GB,如果内存大于 ...

  6. linux学习笔记(二:权限)

    Linux下有两种用户: 超级用户(root).普通用户. 超级用户:可以再linux系统下做任何事情,不受限制 普通用户:在linux下做有限的事情,例如:rm -rf 只会删除自己的东西. 超级用 ...

  7. Linux学习笔记之二

    vim编辑器 :三种工作模式 vim /tmp/xueying.txt 命令模式 a.i.o/esc     \  :wq  保存并退出 /              \ 输入模式           ...

  8. Linux学习笔记(二)Linux常用命令:权限、目录操作以及常见目录作用

    一.Linux命令格式 命令 [选项] [参数] 注:(1)简化选项和完整选项 -a --all (2)当有多个选项是可以写在一起 -l -a 可以写为-la 二.权限 -rw-r--r--.&quo ...

  9. Linux学习笔记之(1)~Linux有趣的历史概览

    献给知道mono,了解Jexus,对.net混搭技术感兴趣的朋友. 1965年,Bell.MIT和GE公司发起Multics计划,目标是实现一个操作系统可以让大型主机实现连接三百个终端的目标.(那个时 ...

随机推荐

  1. PHP+ajax实现二级联动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. stark组件开发之批量操作

    class UserInfoHandler(StartHandler): ....... # 批量操作功能的列表,添加则显示, 使用此功能.需要将StartHandler.display_checkb ...

  3. JavaSE基础知识(4)—数组的应用

    一.数组的特点.好处及使用步骤 1.数组的好处 特点:相当于用于保存一组元素的容器好处: 1.提高代码的简洁性和扩展性,且同时开辟多个空间,提高了效率 2.分类存储,且空间是连续的,容易查找 2.数组 ...

  4. OS history

    UNIX的诞生   1965年时,贝尔实验室(Bell Labs)加入一项由奇异电子(General Electric)和麻省理工学院(MIT)合作的计划:该计划要建立一套多使用者.多任务.多层次(m ...

  5. BZOJ4380 Myjnie / Luogu3592 [POI2015]MYJ-区间DP

    Description 有$n$家洗车店从左往右排成一排,每家店都有一个正整数价格$p[i]$. 有$m$个人要来消费,第$i$个人会驶过第$a[i]$个开始一直到第$b[i]$个洗车店,且会选择这些 ...

  6. 201621123002《JAVA程序设计》第一周学习总结

    1.本周学习总结 1.下载并安装JDK,设定path变量 Java SE Downloads 2.了解JD与JRE的区别与联系 3.下载eclipse并完成实现简单程序 Downloads 4.使用命 ...

  7. Python之队列Queue

    今天我们来了解一下python的队列(Queue) queue is especiall useful in threaded programming when information must be ...

  8. Python之路(第三十篇) 网络编程:socket、tcp/ip协议

    一.客户端/服务器架构 1.硬件C/S架构(打印机) 打印机作为一个服务端,电脑连接打印机进行打印 2.软件C/S架构 互联网中处处是C/S架构 如谷歌网站是服务端,你的浏览器是客户端(B/S架构也是 ...

  9. windows 性能监视器

    转载地址:https://www.cnblogs.com/luo-mao/p/5872374.html

  10. json字符转对象之new Function('return ' + str)

    var jsonStr = '{"id":1,"name":"linda","hobbies":[{"id&q ...