Linux(一) : 基础指令
一、Linux系统概述与核心概念
1. Linux发展史与开源文化
- Unix的遗产:
- 1969年由Ken Thompson和Dennis Ritchie开发,奠定了多用户、多任务的基础。
- BSD与System V的分支竞争推动了标准化进程。
- Linux的诞生:
- 1991年Linus Torvalds发布Linux内核,结合GNU工具链形成完整操作系统。
- 开源协议GPL保障了代码自由共享与修改,催生了Debian、Red Hat等发行版。
- 现代应用:
- 服务器(75%市场份额)、Android移动端、云计算(如AWS、阿里云)的核心基石。
2. Linux目录结构解析
-
核心目录功能:
目录 用途描述 /bin存放基础命令(如 ls,cp)/etc系统配置文件(如网络配置、服务启动脚本) /home普通用户的家目录 /var动态数据(日志、数据库文件) /dev设备文件(如硬盘、USB设备) /usr用户程序与文档(类似Windows的Program Files) -
路径类型:
- 绝对路径:从根目录
/开始(如/home/user/docs/file.txt)。 - 相对路径:基于当前目录(如
../images/photo.jpg)。
- 绝对路径:从根目录
二、基础文件操作指令详解
1. 文件浏览与管理
ls:列出目录内容
- 选项详解:
-l:长格式显示(权限、所有者、大小、修改时间)。$ ls -l -rw-r--r-- 1 user group 4096 Jan 1 10:00 file.txt # 权限 | 链接数 | 所有者 | 组 | 大小 | 修改时间 | 文件名-a:显示隐藏文件(以.开头的文件)。-h:人性化显示文件大小(如KB、MB)。
- 文件类型标识:
d:目录-:普通文件l:符号链接
cd:切换目录
- 快捷操作:
cd ~:返回家目录。cd -:返回上一次所在目录。
- 示例:
$ cd /var/log # 进入系统日志目录 $ cd ../.. # 向上返回两级目录
mkdir/rmdir:创建与删除目录
- 递归创建:
$ mkdir -p project/{src,doc,bin} # 同时创建多级目录 - 删除空目录:
$ rmdir empty_dir # 仅删除空目录
2. 文件操作进阶
cp:复制文件/目录
- 选项解析:
-r:递归复制目录(含子目录和文件)。-i:覆盖前询问确认。
- 示例:
$ cp -ri source_dir/ backup/ # 交互式复制并保留目录结构
mv:移动或重命名文件
- 重命名文件:
$ mv old_name.txt new_name.txt - 移动文件到目录:
$ mv *.log /var/log/archive/ # 移动所有日志文件到归档目录
rm:删除文件/目录
- 强制删除:
$ rm -rf temp/ # 递归强制删除目录(慎用!) - 安全提示:
- 使用
-i选项避免误删:$ rm -i important_file.txt
- 使用
3. 文件内容查看与搜索
cat/tac:正向/反向查看文件
- 合并文件:
$ cat file1.txt file2.txt > combined.txt - 显示行号:
$ cat -n server.log
more/less:分页查看大文件
more基础操作:- 空格键:向下翻页。
- Enter键:向下滚动一行。
q:退出。
less高级功能:/keyword:向下搜索关键词。?keyword:向上搜索关键词。Shift+G:跳转到文件末尾。
head/tail:查看文件头尾
- 实时监控日志:
$ tail -f /var/log/nginx/access.log # 实时追踪访问日志 - 提取中间内容:
$ head -n 100 file.log | tail -n 20 # 显示第81-100行
grep:文本搜索工具
- 多文件搜索:
$ grep "error" *.log # 在所有日志文件中搜索“error” - 正则表达式:
$ grep "^[0-9]" data.txt # 搜索以数字开头的行
三、权限管理与高级操作
1. 文件权限基础
- 权限三元组:
- 所有者(u)、所属组(g)、其他人(o)。
r(读)、w(写)、x(执行)。
- 数字表示法:
r=4,w=2,x=1,如755表示rwxr-xr-x。
chmod:修改权限
- 符号模式:
$ chmod u+x script.sh # 给所有者添加执行权限 $ chmod o-w sensitive.txt # 移除其他人的写权限 - 数字模式:
$ chmod 644 config.conf # 设置权限为rw-r--r--
chown/chgrp:修改所有者与组
- 递归修改:
$ sudo chown -R user:group /opt/app # 修改目录及其内容的所有者
2. 粘滞位与特殊权限
- 粘滞位(Sticky Bit):
- 用途:防止用户删除他人文件(常见于
/tmp)。 - 设置方法:
$ chmod +t /shared_dir - 权限标识:目录权限末尾的
t(如drwxrwxrwt)。
- 用途:防止用户删除他人文件(常见于
四、系统管理工具与实用技巧
1. 进程管理
ps:查看进程状态
- 常用选项:
$ ps aux # 显示所有进程的详细信息(CPU、内存占用)
kill:终止进程
- 示例:
$ kill -9 1234 # 强制终止PID为1234的进程
2. 压缩与解压
tar:归档与压缩
- 常见用法:
$ tar -czvf backup.tar.gz /data # 打包并压缩(gzip) $ tar -xzvf backup.tar.gz -C /restore # 解压到指定目录 - 支持格式:
.tar.gz(-z)、.tar.bz2(-j)、.tar.xz(-J)。
zip/unzip:跨平台压缩
- 压缩目录:
$ zip -r project.zip project/ - 解压到指定路径:
$ unzip data.zip -d /target/dir
3. 网络与远程管理
ssh:安全远程登录
- 密钥登录配置:
$ ssh-keygen -t rsa # 生成密钥对 $ ssh-copy-id user@remote_host # 上传公钥
scp:安全文件传输
- 示例:
$ scp file.txt user@remote:/path/ # 上传文件到远程主机 $ scp -r dir/ user@remote:/backup/ # 递归传输目录
五、Shell进阶与脚本编程
1. 管道与重定向
- 管道符
|:$ cat access.log | grep "404" | wc -l # 统计404错误次数 - 重定向:
>:覆盖输出到文件。>>:追加输出到文件。2>:重定向错误信息。
2. 简单Shell脚本
- 示例脚本:
#!/bin/bash # 备份脚本 tar -czf backup_$(date +%Y%m%d).tar.gz /data echo "Backup completed at $(date)" >> /var/log/backup.log - 执行脚本:
$ chmod +x backup.sh $ ./backup.sh
六、常见问题与解决方案
1. 权限不足问题
sudo提权:$ sudo apt update # 以root权限更新软件包- 修复文件权限:
$ sudo chmod -R 755 /webroot # 递归设置目录权限
2. 误删文件恢复
- 使用
extundelete工具:$ extundelete /dev/sda1 --restore-file /home/user/important.txt
3. 磁盘空间管理
- 查看磁盘使用:
$ df -h # 显示各分区使用情况 $ du -sh * # 统计当前目录下各文件/目录大小

被折叠的 条评论
为什么被折叠?



