进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组、用户权限、文件所有者、文件所在组等概念

一、Linux文件结构及基本文件夹

文件系统是Linux系统中最基础的一环,但是又是学习Linux系统必学的。因为目前只是刚入门学Linux系统,还不能总结出Linux文件系统的精华部分,所以只是对Linux系统的文件系统做知识的初步整理。

虽然Linux系统有很多种类,但是对于文件系统分区这块,基本上各个版本的Linux系统都是一样的。Linux文件系统分区不像Windows那样将硬盘分为C、D、E、F盘这样,Linux的文件结构是单个的树状结构.可以用tree进行展示。Linux系统的根目录是 / 。这个必须得记牢。一般的Linux系统的文件结构如下图所示:

Linux常见的目录解释:

目录

描述

/

根目录

/bin

做为基础系统所需要的最基础的命令就是放在这里。比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令。

/boot

Linux的内核及引导系统程序所需要的文件,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;启动装载文件存放位置,如kernels,initrd,grub。一般是一个独立的分区。

/dev

一些必要的设备,声卡、磁盘等。还有如 /dev/null. /dev/console /dev/zero /dev/full 等。

/etc

系统的配置文件存放地. 一些服务器的配置文件也在这里;比如用户帐号及密码配置文件;

/etc/opt:/opt对应的配置文件

/etc/X11:Xwindows系统配置文件

/etc/xml:XML配置文件

……

/home

用户工作目录,和个人配置文件,如个人环境变量等,所有的账号分配一个工作目录。一般是一个独立的分区。

/lib

库文件存放地。bin和sbin需要的库文件。类似windows的DLL。

/media

可拆卸的媒介挂载点,如CD-ROMs、移动硬盘、U盘,系统默认会挂载到这里来。

/mnt

临时挂载文件系统。这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义。

/opt

可选的应用程序包。

/proc

操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统,它的定义可以参见 /etc/fstab 。

/root

Root用户的工作目录

/sbin

和bin类似,是一些可执行文件,不过不是所有用户都需要的,一般是系统管理所需要使用得到的。

/tmp

系统的临时文件,一般系统重启不会被保存。

/usr

包含了系统用户工具和程序。

/usr/bin:非必须的普通用户可执行命令

/usr/include:标准头文件

/usr/lib:/usr/bin/ 和 /usr/sbin/的库文件

/usr/sbin:非必须的可执行文件

/usr/src:内核源码

/usr/X11R6:X Window System, Version 11, Release 6.

/srv

该目录存放一些服务启动之后需要提取的数据

二、Linux成员等概念:

首先介绍一个重要的知识点:文件属性控制权限

【*非常重要*】
通过查看ls -l命令可以查看文件的详细列表信息(如文件类型、所在组、文件名等)
如:-rwxrw-r-- 1 501 502 100 Mar Test.java
【-rwxrw-r--】各个段的含义
将【-rwxrw-r--】拆分为 【-|rwx|rw-|r--】四段
第一段【-】代表的是文件类型,一般有三种(-代表是文件)、(d代表是文件夹)、(l代表是链接)
【rwx代表的含义】,在linux系统中,r代表用户对该文件或者文件夹拥有可读权限、w代表可写权限、x代表可执行权限
在linux系统中,每个权限都有一个数字来表示,r(可读权限)用数字4表示,w(可写权限)用数字2表示,x(可执行权限)用数字1表示
第二段【rwx】代表的是该文件(或文件夹)的【所有者(谁创建了该文件,谁就是该文件的所有者)】对该文件的访问权限,如该所有者对该文件的权限是可读、可写、可执行
第三段【rw-】代表的是该用户【所在组的其它用户】对该文件的访问权限,如该用户组其它用户对该文件的访问权限是可读、可写
第四段【r--】代表的是【除了该用户所在组的其他组】对该文件的访问权限,如其他组用户对该文件的访问权限是可读
【注:权限都可以用数字来代替,例如 rwx 可用 4+2+1 =7 来表示,rw可用数字6来表示等】
501 502 100 Mar Test.java各个字段含义
1:代表的文件个数,如果是文件则是1,若是文件夹,则显示该文件夹下子文件数目
501:代表哪个用户,在每创建一个用户时,都会为该用户创建一个唯一的用户id,501就是指代该用户的id
502:代表该用户所在组,在创建每一个组时,linux也会为该组创建一个唯一的组id,502就是代表该用户所在组的id
100:代表文件的大小
Mar:代表文件创建时间
Test.java:代表文件名
linux系统的用户所在组、文件所有者、文件所在组
在linux(windows也一样)系统中,每个用户都会有所在组,在哪个组就具有哪个组的权限,一个用户可以加入到多个组
groupadd 【添加组】如:groupadd policeman(创建一个警察组)
groupdel 【删除组】如:groupdel policeman(删除这个警察组)
查看linux系统中所有组的信息:【cat /etc/group】 (查看信息通常用cat命令,而不是用vi)
useradd -g 组名 用户名【添加一个用户,并将该用户添加到指定组】
如:useradd -g policeman xiaoluo(添加一个xiaoluo用户,并将其添加到policeman组当中)
查看linux系统中所有用户的信息:【cat /etc/passwd】
usermod 【改变用户的所在组等(需要root权限)】
如:usermod -g policeman xiaohong 【改变用户所在组】(将xiaohong所在组改为policeman)
usermod -d 目录名 用户名 【改变用户的主目录】
如:usermod -d / xiaoluo(之前xiaoluo用户的主目录是在/home/xiaoluo,现在将该用户的主目录改为/xiaoluo)
chmod 【修改该用户的访问权限(只能是root用户和当前用户可以改)】
如:chmod 764 xiaoluo (修改xiaoluo用户主目录访问权限为764,【7代表该文件夹的所有者对其访问权限是rwx(可读、可写、可执行),6代表该用户所在组的其他用户对其访问权限是rw(可读、可写),4代表其他组用户对其访问权限是r(可读)】)
chmod 644 AAA.txt (修改AAA.txt这个文件的访问权限为644,【6代表该文件的所有者对其访问权限是rw(可读、可写),第二个4代表该用户所在组其他用户对其访问权限是r(可读),第三个4代表其他组用户对其访问权限是r(可读)】)
chown 【改变文件的所有者(只能是root权限)】
如:chown xiaofang AAA.txt (修改AAA.txt文件所有者为xiaofang)
chgrp 【改变该文件的所在组(只能是root权限)】
如:chgrp murder AAA.txt (修改AAA.txt文件的所在组为murder组)
 
   本文转载至它处,仅供学习使用
  

CentOS(三)--初识linux的文件系统以及用户组等概念的更多相关文章

  1. Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念

    Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念 进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文 ...

  2. Linux学习之CentOS(二)--初识linux的一些常用命令

    Linux学习之CentOS(二)--初识linux的一些常用命令 在VM上安装完了CentOS6.4以后,看着linux系统成功跑起来,心里小激动了一把......但是前方学习的道路还很遥远... ...

  3. CentOS(二)--初识linux的一些常用命令

    linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命 ...

  4. Linux学习之CentOS(二)--初识linux的一些常用命令(基础命令)

    初次学习linux系统,首先也得会一些linux的基本命令.至少要先学会开启和关闭系统吧!我称为 基础命令! linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无论是中央处理器. ...

  5. linux中用户和用户组的概念以及查看命令

    Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响. 例如,某台 Linux 服务器上有 4 个用户,分别是 root ...

  6. Linux 虚拟文件系统四大对象:超级块、inode、dentry、file之间关系

    更多嵌入式原创文章,请关注公众号:一口Linux 一:文件系统 1. 什么是文件系统? 操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统. 通常文件系统是用于存储和组织文件的一 ...

  7. 比起Windows,怎样解读Linux的文件系统与目录结构?

    比起Windows,怎样解读Linux的文件系统与目录结构? Linux 和Windows的文件系统有些不同,在学习使用 Linux 之前,若能够了解这些不同,会有助于后续学习. 本文先对Window ...

  8. Linux虚拟文件系统

    从文件 I/O 看 Linux 的虚拟文件系统 1 引言 Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等.通过使用同一套文件 I/O 系统 调用即可对 Linux ...

  9. 比起 Windows,怎样解读 Linux 的文件系统与目录结构?

    Linux 和 Windows 的文件系统有些不同,在学习使用 Linux 之前,若能够了解这些不同,会有助于后续学习. 本文先对 Windows 和 Linux 上面文件系统原理.组织概念进行区分, ...

随机推荐

  1. URL的格式scheme

    url scheme: scheme + (://) + userinfo + (@) + hostname + (:) + port + path + (?) + query + (#) + fra ...

  2. asp.net mvc 实体类成员变量标识示例

    检查不能为空 [Required] public string ID { get; set; } 检查最大长度 [StringLength(36, ErrorMessage = "长度不可超 ...

  3. iPhone各种尺寸

    iPhone 6 Plus      736x414 points      2208x1242 pixels     3x scale     1920x1080 physical pixels   ...

  4. JSF 2.0 + Ajax hello world example

    In JSF 2.0, coding Ajax is just like coding a normal HTML tag, it's extremely easy. In this tutorial ...

  5. Spring MVC BeanNameUrlHandlerMapping example

    In Spring MVC, BeanNameUrlHandlerMapping is the default handler mapping mechanism, which maps URL re ...

  6. poj 3026 Borg Maze (BFS + Prim)

    http://poj.org/problem?id=3026 Borg Maze Time Limit:1000MS     Memory Limit:65536KB     64bit IO For ...

  7. [iOS 多线程 & 网络 - 1.1] - 多线程NSThread

    A.NSThread的基本使用 1.创建和启动线程 一个NSThread对象就代表一条线程创建.启动线程NSThread *thread = [[NSThread alloc] initWithTar ...

  8. POJ 2446 Chessboard (二分图最大匹配)

    题目链接:http://poj.org/problem?id=2446 给你一个n*m的棋盘,其中有k个洞,现在有1*2大小的纸片,纸片不能覆盖洞,并且每个格子最多只能被覆盖一次.问你除了洞口之外这个 ...

  9. Codeforces Round #353 (Div. 2) D. Tree Construction (二分,stl_set)

    题目链接:http://codeforces.com/problemset/problem/675/D 给你一个如题的二叉树,让你求出每个节点的父节点是多少. 用set来存储每个数,遍历到a[i]的时 ...

  10. CodeForces 705C Thor (模拟+STL)

    题意:给定三个操作,1,是x应用产生一个通知,2,是把所有x的通知读完,3,是把前x个通知读完,问你每次操作后未读的通知. 析:这个题数据有点大,但可以用STL中的队列和set来模拟这个过程用q来标记 ...