Linux 期末复习
· 12 min read ·
—
一、基本命令
文件与目录操作
| 命令 | 功能 | 常用示例 |
|---|---|---|
ls | 列出目录内容 | ls -la(含隐藏文件)、ls -l(长格式) |
cp | 复制文件/目录 | cp -r 源目录 目标目录(递归复制) |
mv | 移动/重命名 | mv 旧名 新名 |
mkdir | 创建目录 | mkdir -p a/b/c(递归创建) |
rm | 删除文件/目录 | rm -rf 目录(强制递归删除,谨慎使用) |
find | 查找文件 | find / -name "*.txt" |
grep | 文本搜索 | grep "关键词" 文件名 |
ln | 创建链接 | ln -s 源文件 链接名(软链接)、不加-s为硬链接 |
软链接 vs 硬链接:软链接类似快捷方式,删除原文件则失效;硬链接共享同一个inode,删除原文件仍有效。
二、权限管理
chmod(修改权限)
- 数字法:
r=4, w=2, x=1 chmod 755 file:所有者rwx,同组r-x,其他人r-x- 符号法:
chmod u+x file(给所有者加执行权限)
chown(修改所有者)
chown 用户:组 文件
chgrp(修改所属组)
chgrp 组名 文件
注意:普通用户只能修改自己文件的权限,chown需要root权限。
三、文件查看命令
| 命令 | 特点 |
|---|---|
cat | 一次性显示全部内容,适合小文件 |
more | 分页显示,只能向下翻 |
less | 分页显示,可上下翻页(更灵活) |
head | 默认显示前10行,head -n 5显示前5行 |
tail | 默认显示后10行,tail -f实时追踪文件末尾 |
课本第5章习题(P76页) 重点关注这些命令的组合使用场景。
四、用户与组管理
useradd 用户名:添加用户useradd -g 组名 用户名:指定主组groupadd 组名:添加组passwd 用户名:设置密码usermod -aG 组名 用户名:将用户追加到附加组
五、用户切换与权限提升
su - 用户名:切换用户(-表示加载环境变量)sudo 命令:以root身份执行单条命令visudo:安全编辑/etc/sudoers文件
六、Vim 三种模式
| 模式 | 进入方式 | 主要操作 |
|---|---|---|
| 命令模式 | 默认/按Esc | dd删除行、yy复制行、p粘贴、/关键字搜索、n下一个 |
| 插入模式 | 按i/a/o等 | 正常编辑文本 |
| 末行模式 | 按: | :w保存、:q退出、:wq保存退出、:q!强制退出、:set nu显示行号 |
搜索:命令模式下
/关键词,按n跳转到下一个匹配项。
七、系统操作命令
tar(归档压缩)
tar -cvf 包名.tar 文件:创建归档tar -xvf 包名.tar:解压tar -zcvf 包名.tar.gz 文件:gzip压缩归档tar -zxvf 包名.tar.gz:解压gzip压缩包- 参数记忆:
c创建、x解压、v显示过程、f指定文件名、zgzip压缩
rpm 与 yum
rpm -ivh 包名.rpm:安装rpm -e 包名:卸载yum install 软件名:在线安装(自动解决依赖)yum remove 软件名:卸载
mount(挂载)
mount /dev/sdb1 /mnt:挂载分区到/mntumount /mnt:卸载
八、进程与系统管理
进程管理
ps aux:查看所有进程(BSD风格)ps -ef:查看所有进程(Linux标准风格)top:动态实时显示进程信息kill PID:终止进程kill -9 PID:强制终止
系统资源
free -h:查看内存使用(-h人类可读格式)df -h:查看磁盘分区使用情况du -sh 目录:查看目录占用空间fdisk -l:查看磁盘分区表
九、网络命令
ifconfig:查看/配置网络接口(新版用ip addr)route -n:查看路由表traceroute 目标:追踪数据包路径netstat -tunlp:查看端口监听情况
十、三大核心概念
管道(Pipe)|
将前一个命令的标准输出作为后一个命令的标准输入。
ps aux | grep nginx # 查找nginx进程
cat /etc/passwd | wc -l # 统计用户数
重定向
1>或>:重定向标准输出(覆盖)2>:重定向标准错误输出&>:同时重定向标准输出和标准错误>>:追加模式
ls /root 2>/dev/null # 丢弃错误信息
command &> all.log # 所有输出都保存
通配符
*:匹配任意多个字符?:匹配单个字符[abc]:匹配a、b、c中任意一个
十一、DNS与网络服务
DNS服务
将域名解析为IP地址(正向解析)或将IP解析为域名(反向解析)。
nslookup
nslookup www.baidu.com # 查询域名对应IP
nslookup 8.8.8.8 # 反向查询
十二、常见服务
| 服务 | 功能 | 启动/停止 |
|---|---|---|
| SSH | 远程安全登录 | systemctl start/stop sshd |
| DHCP | 自动分配IP | systemctl start/stop dhcpd |
| Samba | Linux与Windows文件共享 | systemctl start/stop smb |
| Apache Web | Web服务器 | systemctl start/stop httpd 或 apache2 |
十三、安全机制
| 机制 | 说明 |
|---|---|
| iptables | 传统防火墙,基于规则链过滤数据包 |
| firewalld | 新一代防火墙,基于区域管理,firewall-cmd配置 |
| SELinux | 强制访问控制,getenforce查看状态,setenforce 0临时关闭 |
十四、Shell编程
变量类型
- 系统变量:
$HOME、$PATH、$USER、$SHELL - 内部变量(位置参数):
$0脚本名、$1-$9参数、$#参数个数、$?上条命令退出状态、$$当前进程PID - 用户变量:
变量名=值(等号两边不能有空格)
常用内置命令
read 变量:读取用户输入echo:输出export 变量:将变量提升为环境变量readonly 变量:设为只读shift:参数左移,$1被丢弃,$2变$1
脚本执行方式
bash script.sh # 子shell执行
./script.sh # 需要执行权限
source script.sh # 当前shell执行
. script.sh # 同上
测试判断
文件测试:
[ -f 文件 ] # 是否为普通文件
[ -d 目录 ] # 是否为目录
[ -x 文件 ] # 是否可执行
[ -e 文件 ] # 是否存在
数值测试:
[ 数值1 -eq 数值2 ] # 等于
[ 数值1 -gt 数值2 ] # 大于
[ 数值1 -lt 数值2 ] # 小于
字符串测试:
[ 字符串1 = 字符串2 ] # 相等
[ -z 字符串 ] # 长度为零
[ -n 字符串 ] # 长度非零
流程控制结构
if-then-else:
if [ 条件 ]; then
命令
elif [ 条件 ]; then
命令
else
命令
fi
for循环:
for 变量 in 列表; do
命令
done
while循环:
while [ 条件 ]; do
命令
done