一、命令解释器
1.type 命令:判断命令是内置(builtin)、外置(tree)、还是alias命令。可以查看程序文件的路径。
type -a :列出所有执行方式
type -t :只输出类型简写
例如 cd 就是系统内置命令
2. 命名别名:alias 命令。用于给明令起一个简短的名字,简化输入。
ping的过程会很麻烦,所以可以简化命令,只ping三次
但是这个简化命令仅限当时使用,如果要彻底修改,就要写进 / etc/bashrc中,意思是系统全局,全部用户公用。
3.删除别名:unalias
4.history:可以查阅历史命令。这个命令会有些不好的地方,可以使用vim去设置记录命令历史记录。
二、账户和组管理
1.UID:账户的ID值,是一个数字标识,相当于账户的“身份证编号”,具有唯一性
- root账户UID——0
- 系统账户的UID——1~999
- 普通账户的UID——≥1000
2.GID:基本组的ID值,用来区分不同的工作组,相同的组具有相同的GID。
3.用户管理。
新建用户:useradd。新建账户test1,查看对应配置文件和家目录
修改用户:usermod。
常用参数 -c,-d,-m,-g,-G,-s,-u 等,意义与useradd命令中的参数相同
-l 新账户名:更改账户的名称,必须在该用户未登录的情况下才能使用
-L:锁定(暂停)用户账户,使其不能登录使用
-U:解锁用户账户
将用户test1的名称修改为TEST1,并暂停使用该账号。
账号设置密码:passwd
删除账号:userdel
账户切换:su
4.工作组管理
创建工作组:groupadd
修改工作组:groupmod
添加/删除组成员:gpasswd
删除组:groupdel
5.who命令
查看当前有哪些用户登录到这台 Linux 服务器,能看到登录账号、终端、登录时间、登录来源 IP。
三、Linux文件系统权限
1.文件权限一般有:r,x,w(读,执行,写)。root账户不受文件权限的读写限制,执行权限受限制。一般固定顺序为:用户本人u,同组用户g,其他人o。例如rwx r-x r-- 。
2.chmod命令:修改文件或目录的权限。
例二:递归设置。
3. chown修改文件或目录的所有者和属组。
4.Acl权限
查看acl权限 :getfacl。
设定acl权限 :setfacl
参数:
-m:设定 ACL 权限。 给用户设定 ACL 权限:setfacl -m u:用户名:权限 指定文件名;给用户组设定 ACL 权限:setfacl -m g:组名:权限 指定文件名;
-x:删除指定的 ACL 权限;
-b:删除所有的 ACL 权限;
-d:设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限;
-k:删除默认 ACL 权限;
-R:递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效
例子:root用户在根目录下创建目录/project及所属工作组QQgroup,所属组里面创建两个用户zhangsan和lisi,此文件权限是770,再创建一个旁听用户 pt,给他设定/project目录的 ACL 为 r-x
5.权限掩码umask
新建文件的默认权限=0666-umask值
新建目录的默认权限=0777-umask值
例:root的默认权限掩码
四、管理Linux的联网
1.配置网络nmcli 命令:可以实现创建,显示,编辑,删除,激活和停用网络连接以及控制和显示网络设备状态等。
2.可视化配置:nmtui(一般不推荐装)
3.静态解析:通过配置/etc/hosts文件实现域名解析
4.从网站下载文件:
wget命令:用于在终端命令行里下载网络文件
curl命令:是一个网络工具,其主要作用是通过http、https、ftp等方式下载/上传文件
例如,访问西安邮电大学官网
五、管理Linux软件包和进程
1.安装nginx:
2.RPM:由Red Hat公司提出的一种软件包管理标准
3.rpm 软件安装:读取PRM软件包头部数据,进行软件依赖性查询;若满足条件则安装否则安装失败
4,yum工具:
在线下载、 安装、 卸载、 升级rpm软件包
自动查找并解决rpm包之间的依赖关系,一次性安装所有具有依赖关系的rpm包,而无需管理员逐个、 手工地去安装每一个rpm包
5.建立本地源
将本地光盘挂载至本地目录/media下;移动到yum源配置文件路径;备份已存在yum源配置文件,使其失效;新建本地yum源配置文件;重建缓存;验证能否装包成功。
6.管理进程:
ps命令:显示某个时间点的程序运行情况
六、磁盘管理
1.先关机虚拟机,对虚拟机添加新硬盘20G,磁盘类型SATA,添加一共4个。
2.硬盘分区:
(1)MBR分区
类型:主分区,扩展分区,逻辑分区。一块硬盘最多四个主分区,如果想要分更多区,就必须用扩展分区+逻辑分区,在扩展分区里,可以分无数逻辑分区。
主分区里面直接装系统,扩展分区只是一个容器,唯一作用就是在里面创建逻辑分区,一块硬盘最多只能有一个扩展分区。逻辑分区用来存放数据,不能启动系统,不能作为活动分区。
支持的分区数量:4个主分区或者3个主分区1个扩展分区
(2)GPT
它是 UEFI 固件配套的新式分区方案,用来解决 MBR 所有的缺陷,现在新装系统、新服务器硬盘基本都用它。
存储结构:硬盘最开头保留一块保护型 MBR(防止老旧工具误删全盘数据,兼容老软件)。真正的 GPT 分区表头(硬盘第二个扇区),记录分区表的位置、校验值分区表本体:默认预留空间很大,最多可以创建 128 个主分区,不需要搞扩展分区、逻辑分区那一套东西最关键:分区表有完整副本(硬盘末尾还有一份一模一样的分区表),前面坏了,能用末尾的备份恢复,不容易丢分区。
3.lsblk命令:查看磁盘信息
4.使用fdisk管理分区:fdisk命令工具默认将磁盘划分为==MBR==格式的分区
例1:对/dev/sdb硬盘进行分区,方式:P+P+P+E(l+l+l),容量自定
5.使用gdisk管理分区
gdisk命令针对GPT分区格式,若在MBR分区格式下进行添加分区,则所有数据会全部丢失,切记:一块硬盘中fdisk与gdisk不能混用
例2:对/dev/sdd进行gdisk分区,3个分区,容量自定
6.格式化:mkfs命令
例子:三步,一般拿到一块硬盘第一步分区,第二步格式化,第三步挂载。
首先是分区,给sdb分出10G为sdb1。
最终结果如下,是已经分好的状态:
第二步进行格式化:
第三步挂载:
完成。
7.逻辑卷(LVM):普通磁盘分区大小固定;LVM 将磁盘封装成物理卷组成卷组,再划分逻辑卷;当分区磁盘空间不足时,可以动态扩容逻辑卷,实现磁盘空间灵活分配。
例子:拿到新硬盘 → 创建 PV 物理卷 → 创建 VG 池子 → 创建 LV 逻辑卷 → 格式化挂载;后面把 10G 的 lv1 扩容到 20G。 分为两大阶段:
阶段 1:部署 LVM:把 20G 硬盘/dev/sdb做成可以动态扩容的逻辑卷,挂载 /lvm到目录;
阶段 2:LVM 扩容:lvextend给逻辑卷底层空间扩容;xfs_growfs刷新文件系统,让df命令识别扩容后的大小。
步骤1:先把整块磁盘做成pv物理卷
步骤2:把 20G 的 PV 打包成一个名叫vg0的资源池。
步骤3:创建 LV 逻辑卷
步骤4:挂载逻辑卷,开始使用这个磁盘
步骤5:执行lvextend扩容逻辑卷
步骤6:执行xfs_growfs刷新文件系统
如果要继续给逻辑卷扩容,就在虚拟机里面添加新的磁盘。
七、综合项目--搭建论坛
1.先安装数据库
2.启动服务
3.执行脚本
安装httpd(Apache 服务)