Linux学习笔记(四):组与权限、任务调度、磁盘管理、网络配置、进程管理
1. 组与权限
1.1 文件所有者
- 查看文件所有者:
- 使用
ls -ahl
或ll
命令可以查看文件的详细信息,其中包括文件所有者。
- 修改文件所有者:
- 使用
chown
命令可以修改文件的所有者。例如,将/home/abc.txt
文件的所有者更改为tom
用户:
chown tom /home/abc.txt
- 创建用户组:
- 使用
groupadd
命令可以创建新的用户组:
groupadd 组名
- 添加用户到组:
- 使用
useradd
命令可以添加用户到组:
useradd -g 组名 用户名
- 迁移用户到组:
- 使用
usermod
命令可以迁移用户到组:
usermod -g 组名 用户名
- 删除用户组:
- 使用
groupdel
命令可以删除用户组:
groupdel 组名
- 修改文件所属组:
- 使用
chgrp
命令可以修改文件的所属组:
chgrp newGroup fileName
1.2 权限的基本介绍
- 权限的基本结构
Linux 文件权限由四组数字表示:-rwxrw-r--
- 第
0
位(d
,-
,l
,c
,b
):文件类型
l
是链接d
是目录c
是字符设备文件,如:鼠标
,键盘
b
是块设备,如:硬盘
- 第
1-3
位:文件所有者的权限
对文件所有者的权限,通常表示为
rwx
(读、写、执行)。
- 第
4-6
位:同组用户权限
对所属组的权限,通常表示为
rw-
。
- 第
7-9
位:其他用户权限
对其他用户的权限,通常表示为
r--
。
- 修改文件权限:
- 使用
chmod
命令可以修改文件的权限。例如,将/home/abc.txt
文件的权限更改为用户可读可写,组和其他用户可读:
chmod u=rw,g=r,o=r /home/abc.txt
- 修改文件所有者和所属组:
-
使用
chown
命令可以修改文件的所有者和所属组:chown userName /home/abc.txt chown -r userName /home/test
- 修改文件所在组:
-
使用
chgrp
命令可以修改文件的所属组:chgrp newGroup fileName|目录
2. 任务调度
2.1 crontab
-
crontab 是 Linux 系统中用于定时执行任务的工具。
-
案例: 每隔一分钟将时间与日期追加到
/tmp/mydate
文件:# 创建一个shell脚本 vim /home/my.sh # 在里面输入 date >> /tmp/mydate cal >> /tmp/mydate # 给它权限 chmod u+x /home/my.sh # 编辑 crontab 文件 crontab -e # 添加以下内容: */1 * * * * /home/my.sh # 其中 */1 表示每分钟,* 表示分钟,* 表示小时,* 表示月份,* 表示星期 几
-
相关指令:
crontab -r
:终止 crontab 任务。crontab -l
:列出当前 crontab 任务。service crond restart
:重启 crontab 服务。
2.2 at
-
at 是 Linux 系统中用于一次性任务调度的工具。
-
一次性任务:
-
使用
at
命令可以指定执行时间,并执行指定的命令或脚本。at 时间 执行的命令|脚本
- 查看任务:
- 使用
atq
命令可以查看当前等待执行的任务。 - 使用
atrm
命令可以删除任务。
- 扩展:
3. 磁盘管理
3.1 查看
lsblk
和lsblk -f
lsblk
命令用于列出系统上的所有可挂载的块设备,包括硬盘、分区、USB 设备等。lsblk -f
命令会显示更详细的信息,包括设备的文件系统类型和挂载点。
- 应用场景:
- 快速识别和确认新连接的 USB 设备。
- 查看磁盘分区信息,确定可用的磁盘空间。
3.2 挂载
-
分区
格式化分区: 在挂载之前,需要先对分区进行格式化。例如,将
/dev/sdb1
分区格式化为ext4
文件系统:
mkfs -t ext4 /dev/sdb1
-
创建挂载点: 创建一个目录作为挂载点,例如:
mkdir /mnt/newdisk
-
挂载分区: 使用
mount
命令将分区挂载到挂载点:mount /dev/sdb1 /mnt/newdisk
-
应用场景:
- 将新购买的硬盘分区后挂载到系统中使用。
3.3 取消挂载
- 使用
umount
命令可以取消挂载:
umount /dev/sdb1 或 umount /mnt/newdisk
应用场景:
- 当不再需要访问分区时,可以取消挂载释放资源。
3.4 挂载:永久
编辑 /etc/fstab
- 打开
/etc/fstab
文件进行编辑:
vim /etc/fstab
- 在文件中添加以下内容:
/dev/sdb1 /mnt/newdisk ext4 defaults 0 0
解释:
/dev/sdb1
:要挂载的分区设备文件。/mnt/newdisk
:挂载点。ext4
:分区格式。defaults
:挂载选项,包括读写、自动挂载等。0
:磁盘检查优先级。0
:文件系统备份优先级。
重启系统后,分区将自动挂载。
4. 网络
4.1 指令
ifconfig
ifconfig
命令用于显示和配置网络接口。
ping
ping
命令用于测试网络连接。
4.2 修改静态 IP
- 打开网络配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 修改以下配置:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.230.129
NETMASK=255.255.255.0
GATEWAY=192.168.230.2
DNS1=14.14.14.14
说明:
BOOTPROTO=static
:设置静态 IP 地址。ONBOOT=yes
:在启动时自动加载网络配置。IPADDR
:设置 IP 地址。NETMASK
:设置子网掩码。GATEWAY
:设置网关。DNS1
:设置首选 DNS 服务器。
- 重启网络服务:
service network restart
4.3 主机名
查看主机名
hostname
修改主机名
- 打开
/etc/hostname
文件进行编辑:
vim /etc/hostname
- 修改主机名,例如:
myserver
- 重启系统后,主机名将更新。
5. 进程管理
5.1 查看进程
ps
命令
ps
是 Linux 系统中用于查看和操作进程的命令。ps -aux
是最常用的命令之一,可以显示系统中所有进程的详细信息。
输出解析:
列表项 | 解释 |
---|---|
USER | 进程所有者用户名 |
PID | 进程 ID |
%CPU | 进程使用的 CPU 百分比 |
%MEM | 进程使用的内存百分比 |
VSZ | 进程使用的虚拟内存大小(KB) |
RSS | 进程使用的物理内存大小(KB) |
ITY | 进程状态(R 表示运行,S 表示睡眠,T 表示被跟踪,Z 表示僵尸进程等) |
STAR | 进程的运行状态(s 表示睡眠,r 表示运行等) |
START | 进程的启动时间 |
TIME | 进程运行的总时间 |
COMMAND | 进程执行的命令 |
实用技巧:
ps -ef
:显示所有进程,包括用户和进程信息。ps -aux
:显示所有进程,包括所有用户和进程信息。ps -ef | grep sshd
:过滤显示包含特定关键词的进程。
pstree
命令
pstree
命令可以将进程以树状图的形式显示,更直观地展示进程之间的关系。-p
参数会显示进程的 PID。-u
参数会显示进程所有者的用户名。
示例:
pstree -p
pstree -up
5.2 终止进程
kill
命令
kill
命令用于终止进程。kill 进程号
:终止指定 PID 的进程。
实用技巧:
kill -9 进程号
:强制终止进程,即使进程没有响应信号。killall 进程名
:终止所有名为指定名称的进程。
示例:
kill 1234
kill -9 1234
killall gedit
pkill
命令
pkill
命令用于根据进程名终止进程。
示例:
pkill gedit
5.3 恢复进程
systemctl
命令
systemctl
是用于管理系统和服务状态的命令。systemctl start sshd.service
:启动 sshd 服务。systemctl restart sshd.service
:重启 sshd 服务。systemctl stop sshd.service
:停止 sshd 服务。
示例:
systemctl start sshd.service
systemctl restart sshd.service
systemctl stop sshd.service