元婴期
15. 如何在 Linux 中查看和管理系统服务?
使用 systemctl
:
查看服务状态:
systemctl status service_name
启动服务:
sudo systemctl start service_name
停止服务:
sudo systemctl stop service_name
重启服务:
sudo systemctl restart service_name
启用服务开机自启动:
sudo systemctl enable service_name
禁用服务开机自启动:
sudo systemctl disable service_name
使用 service
(主要用于旧版本的系统):
启动、停止或重启服务:
sudo service service_name start|stop|restart
16. 如何设置防火墙规则?Linux 中有哪些常见的防火墙工具?
在 Linux
中,常用的防火墙工具包括 iptables
和 firewalld
。
使用 iptables
:
查看当前规则:
sudo iptables -L
允许某个端口(例如
80
):sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
拒绝某个端口:
sudo iptables -A INPUT -p tcp --dport 23 -j DROP
保存规则(
Debian/Ubuntu
):sudo iptables-save > /etc/iptables/rules.v4
使用 firewalld
:
启动和启用防火墙:
sudo systemctl start firewalld sudo systemctl enable firewalld
允许某个服务(例如 http):
sudo firewall-cmd --permanent --add-service=http
重新加载规则:
sudo firewall-cmd --reload
17. 如何管理 Linux 文件系统?常见的文件系统有哪些?
管理文件系统可以使用多个命令,包括 mkfs
、mount
、umount
和 fsck
。
创建文件系统(如 ext4
):
sudo mkfs.ext4 /dev/sdX1
挂载文件系统:
sudo mount /dev/sdX1 /mnt/mountpoint
卸载文件系统:
sudo umount /mnt/mountpoint
检查文件系统:
sudo fsck /dev/sdX1
常见文件系统类型:
ext4:最常用的
Linux
文件系统。xfs:适用于高性能需求。
btrfs:支持快照和卷管理。
18. 如何在 Linux 中进行磁盘分区和管理?
磁盘分区可使用工具如 fdisk
、parted
和 lsblk
。
查看分区信息:
lsblk
使用 fdisk
:
进入
fdisk
:sudo fdisk /dev/sdX
创建新分区:
- 输入
n
创建新分区,按照提示进行操作。
- 输入
保存并退出:
- 输入
w
保存更改。
- 输入
使用 parted
:
进入
parted
:sudo parted /dev/sdX
创建新分区:
mkpart primary ext4 1MiB 100MiB
19. 如何在 Linux 中调试和排查性能问题?
top:动态显示当前系统进程和性能信息。
top
htop:更友好的进程监控工具(需要安装)。
htop
strace:跟踪系统调用和信号,适用于调试程序。
strace -p PID
iotop:实时监控磁盘 I/O
使用情况(需要安装)。
iotop
vmstat:报告虚拟内存、进程、CPU
活动等。
vmstat 1
20. 如何配置 SSH 进行远程访问和密钥认证?
安装 SSH 服务(如果未安装):
sudo apt install openssh-server # Debian/Ubuntu
sudo yum install openssh-server # RHEL/CentOS
启动和启用 SSH 服务:
sudo systemctl start ssh
sudo systemctl enable ssh
生成 SSH 密钥对:
ssh-keygen -t rsa -b 4096
将公钥复制到服务器:
ssh-copy-id user@remote_host
无密码登录:使用生成的密钥进行 SSH 登录:
ssh user@remote_host
21. 如何使用 Linux Shell 编写自动化脚本?
创建 Shell 脚本
使用文本编辑器创建一个以 .sh
结尾的文件,例如 script.sh
。
nano script.sh
编写脚本
在脚本文件的顶部添加行:
#!/bin/bash
编写需要执行的命令,例如:
echo "Hello, World!"
给予执行权限
chmod +x script.sh
或者
sh +x script.sh 直接执行
运行脚本
./script.sh