OS-Linux 学习备忘[BUAA-OS]
Linux 假期预习备忘
Hello, Linux!
- 什么是 Linux?
- Linux 是基于 Linux 内核的开源操作系统,由 Linus Torvalds 于 1991 年首次发布。
- Linux 发行版包括 Ubuntu、Debian 等,本教程使用 Ubuntu 22.04.1 LTS。
初识 CLI Shell
- CLI Shell 概念
- CLI(Command Line Interface):命令行界面,通过命令行与操作系统交互。
- Shell 是操作系统的外壳,用于访问操作系统服务,分为 CLI Shell 和 GUI Shell。
- 为什么使用 CLI Shell?
- 节约资源:在资源有限的设备上,运行 GUI Shell 会增加系统负担。
- 高效自动化操作:CLI Shell 可以通过脚本实现复杂操作。
- 精准操作:命令行操作可以精确控制,便于复现和传播。
Linux 基础操作
- 命令格式
- 命令名 [选项] [参数] …
- 目录操作
cd:切换目录。ls:列出目录内容。mkdir:创建新目录。rmdir:删除空目录。pwd:显示当前目录的绝对路径。
- 文件操作
touch:创建新文件或更新文件时间戳。rm:删除文件或目录。cp:复制文件或目录。mv:移动或重命名文件或目录。diff:比较两个文件的差异。
- 查找操作
find:查找文件。grep:搜索文件内容。tree:显示目录树结构。
开源文本编辑器——Vim
- Vim 基本操作
- 创建文件:
touch helloworld.c - 打开文件:
vim helloworld.c - 进入插入模式:按
I键。 - 保存并退出:
:wq
- 创建文件:
- Vim 配置
- 配置文件:
.vimrc,位于用户主目录下。
- 配置文件:
实用工具介绍
- GCC
- 编译器:
gcc hello.c - 执行:
./a.out
- 编译器:
- make & Makefile
- 编写 Makefile 文件,使用
make命令构建项目。
- 编写 Makefile 文件,使用
- ctags
- 代码跳转工具,使用
ctags -R *创建符号索引文件tags。
- 代码跳转工具,使用
- tmux
- 终端复用工具,支持分屏操作和会话管理。
Git 简易教程
- Git 基本概念
- 三种储存位置:工作区、暂存区、储存库。
- 四种储存状态:未跟踪、未修改、已修改、已暂存。
- 常用命令
git init:初始化仓库。git clone:克隆仓库。git status:查看仓库状态。git add:添加文件到暂存区。git restore:恢复文件。git checkout:切换分支。git commit:提交更改。git push:推送更改到远程仓库。git pull:拉取远程仓库的更改。
Shell 脚本教程
- Shell 脚本基础
- 创建脚本文件:
touch hello.sh - 编写脚本:
#!/bin/bash,echo "Hello, world!" - 运行脚本:
chmod +x hello.sh,./hello.sh
- 创建脚本文件:
- 变量和参数
- 定义变量:
var_name=value - 脚本参数:
$1,$2,$#,$*
- 定义变量:
- 条件与循环
if语句:条件判断。while语句:循环操作。
- 函数
- 定义函数:
function fun_name() { ... } - 调用函数:
fun_name param1 param2 ...
- 定义函数:
用命令编辑和输出文本——sed 的使用
- sed 基本用法
sed [选项] '命令' 输入文本- 常用选项:
-n(安静模式),-i(直接修改文件) - 常用命令:
a(新增),c(取代),i(插入),d(删除),s(替换)
1 | sed [选项] '命令' 输入文本 |
重定向和管道
- 重定向
- 输出重定向:
>,>> - 输入重定向:
<
- 输出重定向:
- 管道
command1 | command2 | command3 | ...
部分实践内容
-
Git 操作
- 克隆分支:
git clone <URL> - 切换分支:
git checkout lab2 - 撤销修改:
git restore <filename> - 添加文件到暂存区:
git add . - 移出暂存区:
git restore --staged <filename> - 恢复文件:
git restore <filename> - 提交更改:
git commit -m "git is so easy" - 推送更改:
git push
- 克隆分支:
-
Shell 脚本
- 创建脚本文件:
touch hello.sh - 编写脚本:
#!/bin/bash,echo "Hello, world!" - 运行脚本:
chmod +x hello.sh,./hello.sh
- 创建脚本文件:
-
sed 操作
- 替换内容:
sed 's/str1/str2/g' my.txt - 删除行:
sed '2d' my.txt
- 替换内容:
-
重定向和管道
标准输入(stdin):文件描述符为0;标准输出(stdout):文件描述符为1;标准错误(stderr):文件描述符为2。- 输出重定向:
ls / > lsoutput.txt - 输入重定向:
cat < input.txt - 管道操作:
cat hello.txt | grep "Hello"
- 输出重定向:
参考资料
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 theUHO!
评论






![2025年春本科生机器学习期末回忆版[BUAA-ML]](https://gitee.com/TheUHO/blog/raw/master/images/202407212255291.jpg)
![lab6 实验报告 [BUAA-OS]](https://gitee.com/TheUHO/blog/raw/master/images/202409111007685.jpg)