组管理和权限管理
linux每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件有所有者、所在组、其它组的概念。一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
更改用户组和文件主
- 修改文件的所有者
chown 用户名 文件名
-R:如果是目录 则使其下所有子文件或目录递归生效 - 修改文件所在组
chgrp 组名 文件名
-R:如果是目录 则使其下所有子文件或目录递归生效 - 修改用户所在组
usermod -g 组名 用户名 - 修改用户的附加组
usermod -G 附加组名 用户 - 修改用户的uid
usermod -u 2005 用户名 - 修改用户组的gid
groupmod -g 3000 组名
其它组:除文件的所有者和所在组的用户外,系统的其它用户所属组都是文件的其它组。
权限的基本介绍
ls -l显示如下:
-rw-r–r--. 1 root root 0 4月 29 20:26 a.txt
第0位:文件类型(d,-,l,c,b)
d:表示目录
-:表示普通文件
l:软链接
c:字符设备(鼠标、键盘)
b:块文件(硬盘)
1-3位:文件拥有者所有权限
4-6位:文件所属组拥有的权限
7-9位:其他组拥有的权限
1:如果是文件则表示硬链接数,如果是文件表示子目录数
root:用户名
root:组名
0:文件大小(字节),若是文件夹显示4096
4月 29 20:26 :最后修改时间
a.txt:文件名
rwx 权限详解
rwx 作用到文件
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被执行
rwx 作用到目录
[ r ]代表可读(read): 可以读取,ls 查看目录内容
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录
修改权限-chmod
通过chmod命令可以修改文件或者目录的权限
第一种方式:
u=所有者 g=所有组 o:其他人 a:所有人(u,g,o的总和)
1.chmod u=rwx, g=rx ,o=x 文件目录名
2.chmod 0+w 文件目录名
3.chmod a-x 文件目录名
第二种方式:
规则:r=4 w=2 x=1 rwx=7
chmod u=rwx ,g=rw ,o=x 文件目录名 相当于chmod 751 文件目录名
linux磁盘分区和挂载
分区基础知识
mbr分区:
1.最多支持四个主分区
2.系统只能安装在主分区
3.扩展分区要占一个主分区
4.MBR 最大只支持 2TB,但拥有最好的兼容性
gpr分区:
1.支持无限多个主分区(但操作系统可能限制,比如 windows 下最多 128 个分区)
2.最大支持 18EB 的大容量(1EB=1024 PB,1PB=1024 TB )
3.windows7 64 位以后支持 gpt。
linux分区的原理
1.linux无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,linux中每个分区都是用来组成整个文件系统的一部分。
2.linux采用了一种叫“载入”的处理方法,他的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
硬盘说明:
- Linux 硬盘分 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘
- 对于 IDE 硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指 IDE 硬盘了。“x”为盘号(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘),“~”代表分区,前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。例,hda3 表示为第一个 IDE 硬盘上的第三个主分区或扩展分区,hdb2 表示为第二个 IDE 硬盘上的第二个主分区或扩展分区。
- 对于 SCSI 硬盘则标识为“sdx~”,SCSI 硬盘是用“sd”来表示分区所在设备的类型的,其余则和 IDE 硬盘的表示方法一样。
查看系统分区和挂载的命令:lsblk
在虚拟机上挂载一块硬盘
-
虚拟机添加硬盘
2.分区:fdisk /dev/sdb -
格式化:mkfs -t ext4 /dev/sdb1
-
挂载
先创建一个 /home/newdisk ,
挂载指令: mount /dev/sdb1 /home/newdisk
卸载指令:umount 挂载目录或硬盘目录 -
设置可以自动挂载(永久挂载,当你重启系统,仍然可以挂载到/home/newdisk) 。
vim /etc/fstab
/dev/sdb1 /home/newdisk ext4 default
磁盘情况查询:df -lh
du -h /目录:
查询指定目录的磁盘占用情况,默认为当前目录
-s 指定目录占有大小汇总
-h 带计量单位
-a 含文件
-max-depth=1 子目录深度 -
统计/home 文件夹下文件的个数
ls -l /home |grep “^-” |wc -l -
统计/home 文件夹下目录的个数
ls -l /home |grep “^d” |wc -l -
统计/home 文件夹下文件的个数,包括子文件夹里的
ls -lR /home |grep “^-” |wc -l -
统计文件夹下目录的个数,包括子文件夹里的
ls -lR /home | grep “^d” | wc -l