磁盘管理(新添加硬盘的分区和格式化)
磁盘管理基本命令df 查看磁盘分区使用状况
df -lhT -t ext4 --> 显示分区类型为ext4的分区,并用1024进制计算最合适的单位显示磁盘容量,并显示磁盘分区类型
du 统计磁盘上的文件大小
du -sh *.zip --> 当前文件夹下,以合适的单位显示.zip文件们的大小
硬盘空间不够用了怎么办?给VM虚拟机中添加硬盘,注意添加前先关闭虚拟机。
Linux系统中硬件设备都是以文件的形式存在于根目录下的dev目录下;
硬件设备都是由Linux系统自动识别的;
但是不能立即使用,必须对硬盘进行分区、格式化、挂载后才能使用。
硬盘的分区模式:
MBR:
主分区不超过4个
单个分区容量最大2TB
GPT:
主分区个数几乎没有限制,在GPT的分区表中最多可以支持128个主分区
单个分区容量几乎没有限制,18EB的容量
GPT的主分区中,不适合安装X86架构的系统(也就是32位的系统)
给新添加的硬盘添加分区:
fdisk-->MBR
parted-->MBR/GPT-->msdos是MBR的分区表格式,gpt是GPT的分区表格式
使用fdisk分区需要跟一些参数;fdisk -l 查看硬盘分区的信息
分区操作:
1.fdisk /dev/sdb(这个新增的硬盘) 进入分区模式
2.输入m查看命令帮助信息
3.输入n给硬盘添加一个新的分区 (默认是主分区)
p primary(0 primary(主分区), 0 extended(拓展分区), 4 free(4个可分的区))
e extended (拓展分区)
扩展分区不能直接使用,需要添加逻辑分区,输入n
p primary(1 primary, 1 extended, 2 free)
l logical(numbered from 5)扩展分区只能有一个,不能给分扩展分区了,所以显示的是逻辑分区,5代表分区的编号从5开始(1-4分配给主分区)
删除分区: 输入d,随后输入删除的分区号,(逻辑分区是在拓展分区之内的,如果删除的拓展分区,随之而然的逻辑分区也被删除)
写入分区:输入w,直接就是保存并生效了;
再要查看分区信息,通过fdisk -l查看到刚刚的分区信息;
fdisk 路径 :进入分区模式 n(进行分区)----p(主分区)/e(逻辑分区)---+3000m(选择分区类型之后,会有分区号,再就是分配的大小)
----n(继续添加分区)---d(删除)---w(保存)
输入命令:parted,进入分区模式,默认分区目标是系统的第一块硬盘
parted分区工具在指定开始和结束位置时与fdisk不同 fdisk开始和结束位置为扇区数据块编号 而parted为从第几MB开始
parted分区完成后无需使用W来写入硬盘,自动写入的;而fdisk分区设计完成后,最后要通过w来写入硬盘。
help 获取帮助
select /dev/sdc 切换分区目标磁盘
mklabel gpt 指定分区表类型为gpt
print 查看当前硬盘分区表情况
print all 查看所有硬盘分区情况
parted命令有两种模式:交互模式和命令模式
交互模式:mkpart 创建分区
命令模式:mkpart 分区名称 开始位置 结束位置;创建分区,若分区开始位置与前面分区重叠,则会出现警告。
rm 分区编号 删除分区
unit GB 指定分区单位为GB
quit 退出,会保存分区表
分区的格式化:
ls -l /dev/sdb*查看sdb分区设备文件
格式化:
mkfs.ext4 /dev/sdb*
mkfs -t ext4 /dev/sdb*
MBR分区表中 扩展分区不能格式化 只有主分区和逻辑分区才能格式化
挂载分区:
1.没有挂载无法使用,分区默认的挂载目录是/mnt目录;挂在到imooc目录下:mkdir -p /mnt/imooc
2.挂载命令:mount /dev/sdb1 /mnt/挂载目录
3.卸载命令:umount /mnt/挂载目录
4.手动挂载的分区,不具有永久性,系统重启后,挂载就会失效
5.重启系统自动挂载,需要修改 /etc/fstab文件:vim + /etc/fstab
6.添加配置
如何为硬盘添加swap交换分区?
1、建立一个普通的Linux分区
2、修改分区类型的16进制编码
3、格式化交换分区
4、启用交换分区
fdisk /dev/sdb进入sdb硬盘
命令t选择分区6
命令L查看swap的16进制编码:82
命令w保存
mkswap /dev/sdb6 格式化swap分区
启动和关闭swap:
swapon /dev/sdb6
swapoff /dev/sdb6
free查看swap交换分区的状态
parted创建swap分区:mkpartfs primary linux-swap 开始位置 结束位置
mkswap /dev/sdc1
用户管理
用户:使用操作系统的人用户组:具有相同系统权限的一组用户
/etc/group 存储当前系统中所有用户组信息
Group : x : 123 : abc,def,xyz
组名称:组密码占位符:组编号:组中用户名列表
组编号 root 固定为零0
用户手动创建的 从500开始
组密码占位符 都是x
/etc/gshadow 存储当前系统中用户组的密码信息
Group : * : : abc,def,xyz
组名称:组密码:组管理者:组中用户名列表
/etc/passwd 存储当前系统中所有用户的信息
user : x : 123 : 456 : xxxxxxxx :/home/user:/bin/bash
用户名:密码占位符:用户编号:用户组编号:用户注释信息:用户主目录:shell类型
/etc/shadow 存储当前系统中所有用户的密码信息
user : sdflkja :...:::::
用户名:登录密码:...:::
用户组基本命令:
1. groupadd 组名 //添加用户组
2. groupadd -g 组编号 组名 //添加用户组并指定组编号
3. groupmod -n 新组名 原组名 //更改用户组名称
4. groupmod -g 组编号 组名 //更改用户组编号
5. groupdel 组名 //删除用户组
6. gpasswd 组名 //更改组密码,回车会有相应的提示操作
cat /etc/group 可以查看结果
用户基本命令:
1. useradd 用户名 //添加用户,所在用户组与用户名同名
2. useradd -g 组名 用户名 //添加用户,指定其所在的组
3. useradd -d 目录 用户名 //添加用户,制定其用户的家目录,没有指定所在组时,默认用户名就为用户组名
4. usermod -c 注释信息 用户名 //为指定用户名添加注释
5. usermod -l 新用户名 旧用户名 //更改用户名
6. usermod -d 目录 用户名 //更改用户个人文件夹的路径
7. usermod -g 新用户组 用户名 //更改指定用户的所属组
8. userdel 用户名 //删除用户,但是不删除用户个人文件夹里的文件
9. userdel -r 用户名 //删除用户并且删除用户个人文件夹里的文件
cat /etc/passwd 查看结果
只允许root,禁止其他普通账号登录:
在etc目录下创建一个nologin文件(文件内容无关紧要)
touch /etc/nologin
进阶命令:
passwd -l 用户名 //锁定用户
passwd -u 用户名 //解锁
passwd -d 用户名 //清除密码登录
gpasswd -a 用户名 附属组 //给用户添加附属组
gpasswd -d 用户名 附属组 //把用户从附属组中删除
newgrp 组名 //把用户当前所在组的身份切换到其它某个附属组中
useradd -g group1 -G group2,group3...//同时指定主用户组和附属用户组
其他命令:
id 用户名//显示指定用户信息,包括用户编号、用户编号、主要组编号及名称、附属组列表
su 用户名 //切换到其他用户下
su 后面什么也不接//表示切换到root用户下
whoami//显示当前登录用户名
groups 用户名 //显示用户所在的所有组,包括主要组和附属组
chfn 用户名 //设置用户资料,依次输入用户资料,回车后按finger 用户名 //显示用户详细资料