Linux操作系统学习笔记

Linux操作系统学习笔记 当然可以。下面我给你一份Linux 知识与常用命令的系统总结尽量按“概念 → 命令 → 常见用法 → 注意事项”来讲。你在 WSL 里学这套内容基本就是在学一台真正 Linux 机器的日常操作。最常用命令速查表下面这组是你最该先熟的pwd # 当前目录 ls # 列出文件 ls -la # 详细显示所有文件 cd # 切换目录 cd .. # 上一级 cd ~ # 家目录 mkdir # 创建目录 touch # 创建文件 cat # 看文件 less # 分页看文件 head # 看开头 tail # 看结尾 cp # 复制 mv # 移动/改名 rm # 删除文件 rm -r # 删除目录 grep # 搜索内容 find # 查找文件 chmod # 改权限 chown # 改所有者 ps # 看进程 top # 实时看进程 kill # 杀进程 history # 命令历史 man # 查看手册一、Linux 是什么Linux 是一种操作系统和 Windows、macOS 类似。它的特点是命令行能力强适合开发、运维、服务器管理目录结构统一权限体系清晰很多功能可以通过文本命令完成你现在用的 WSL本质上是在 Windows 里运行一个 Linux 环境所以很多命令和真正 Linux 一样。二、Linux 的核心思维Linux 和 Windows 最大的区别之一是它更强调“一切皆文件”和“命令组合”。1. 一切皆文件在 Linux 里很多东西都可以像文件一样处理普通文本文件设备进程信息日志网络信息2. 命令组合Linux 很多命令都可以“串起来”使用一个命令的输出交给另一个命令处理这就是管道|例如ls / | less表示先列出/下的内容再分页查看。三、Linux 的目录结构Linux 没有像 Windows 那样分C盘 / D盘的习惯核心是从根目录/开始。常见目录含义/根目录整个系统的起点/home用户家目录普通用户的个人文件通常在这里/rootroot 用户的家目录/bin基础命令/sbin系统管理命令/usr大量软件、库、命令资源/etc配置文件/var日志、缓存、经常变化的数据/tmp临时文件/dev设备文件/proc进程和内核信息的虚拟文件系统/mnt挂载点WSL 里常见 Windows 盘符映射在这里/opt第三方软件常安装在这里WSL 里常见情况你之前看到的/mnt/c/Users/你的名字这表示 Windows 的 C 盘被挂载到了 Linux 里。而/home/jones是 Linux 里的用户家目录。四、路径概念绝对路径 vs 相对路径1. 绝对路径从根目录/开始写完整路径。例子/home/jones /etc/hosts /mnt/c/Users特点不会因为当前所在目录变化而变化更稳定2. 相对路径从“当前所在目录”开始写。例子cd home cd .. cd ./test常见符号.当前目录..上一级目录~当前用户家目录比如/home/jones五、最基础的目录操作命令1.pwd显示当前目录pwd作用告诉你现在在哪。2.ls列出目录内容ls ls / ls /home常见参数ls -l显示详细信息包括权限、用户、大小、修改时间等。ls -a显示隐藏文件。ls -lh以更容易读懂的格式显示大小。常用组合ls -la显示所有文件包括隐藏文件并且详细列出。3.cd切换目录cd / cd /home cd ~ cd .. cd -说明cd /进入根目录cd /home进入 home 目录cd ~回到自己的家目录cd ..回到上一级cd -返回上一次所在目录4.mkdir创建目录mkdir test mkdir a b c mkdir -p a/b/c说明mkdir test创建一个目录mkdir a b c同时创建多个目录mkdir -p a/b/c递归创建不存在的上级目录5.rmdir删除空目录rmdir test只能删空目录。6.rm -r删除目录及内容rm -r test这是删除目录最常用的命令但也最危险因为会递归删除里面所有内容。常见更强一点的写法rm -rf test说明-r递归删除-f强制删除不提示这个命令非常危险使用前必须确认路径。六、文件操作命令1.touch创建空文件touch a.txt如果文件已存在touch会更新修改时间。2.cat查看文件内容cat a.txt适合看小文件。例如cat /etc/hosts3.less分页查看文件less big.txt适合查看大文件、日志文件。常用操作上下方向键滚动空格下一页q退出/关键词搜索n下一个匹配4.head看开头head big.txt head -n 20 big.txt默认看前 10 行。5.tail看结尾tail big.txt tail -n 20 big.txt默认看最后 10 行。实时追踪文件变化tail -f logfile.txt这个在看日志时非常常用。6.echo输出字符串echo hello常常搭配重定向使用。7. 重定向和覆盖写入echo hello linux a.txt会把内容写入文件原内容会被覆盖。追加写入echo world a.txt会把内容追加到文件末尾。8.cp复制cp a.txt b.txt cp a.txt /tmp/ cp -r dir1 dir2说明cp 文件 新文件复制文件cp -r复制目录9.mv移动 / 重命名mv a.txt b.txt mv a.txt /tmp/ mv dir1 dir2用法改名移动文件移动目录10.rm删除文件rm a.txt删除后通常不能恢复所以要小心。七、查看和搜索内容1.grep搜索文本grep hello a.txt在文件里找包含hello的行。常见搭配grep -n hello a.txt显示行号。grep -i hello a.txt忽略大小写。grep -r hello /home/jones递归搜索目录。2.find查找文件find /home -name *.txt在/home下查找所有.txt文件。常见写法find . -name a.txt find / -name config.json3.wc统计行数、字数、字符数wc a.txt wc -l a.txt-l行数-w单词数-c字节数八、管道|Linux 的灵魂之一管道就是把前一个命令的输出传给后一个命令。ls / | less意思是ls /先输出根目录内容less再分页查看这些内容再比如cat a.txt | grep hello等价于先看文件再筛选包含 hello 的行。更常见的写法其实是grep hello a.txt因为更直接。九、权限系统Linux 最重要的知识之一Linux 的权限非常重要。你之前看到的-rw-r--r--就是权限信息。1.ls -l查看权限ls -l输出中最前面一列通常像这样-rw-r--r--拆开看第 1 位文件类型后面 9 位权限每 3 位一组拥有者权限同组用户权限其他人权限2. 权限字母含义rread读wwrite写xexecute执行-没有权限3. 文件类型位常见第一位-普通文件d目录l符号链接4.chmod修改权限方式一符号方式chmod x test.sh给文件增加执行权限。chmod -x test.sh去掉执行权限。chmod ux test.sh给拥有者增加执行权限。方式二数字方式chmod 755 test.sh权限数字含义r 4w 2x 1三位分别表示拥有者同组用户其他用户常见数字权限777所有人可读写执行755拥有者可读写执行其他人可读执行644拥有者可读写其他人只读600只有拥有者可读写5.chown修改文件拥有者chown jones file.txt把文件所有者改成 jones。chown jones:dev file.txt同时修改用户和用户组。这个命令通常需要管理员权限。十、用户与身份1.whoamiwhoami查看当前用户是谁。2.idid查看当前用户的 UID、GID 和所属组。3.su/sudosu切换用户sudo以管理员权限执行命令例如sudo apt update在 Ubuntu/WSL 里安装软件或修改系统配置时常用。十一、软件包管理如果你用的是 Ubuntu / Debian 体系常见的是apt。1. 更新软件源列表sudo apt update更新软件索引不是直接升级软件。2. 升级已安装的软件sudo apt upgrade3. 安装软件sudo apt install git安装 Git。4. 卸载软件sudo apt remove git5. 搜索软件apt search nginx十二、进程管理1.ps查看进程ps ps aux说明ps看当前终端下的进程ps aux查看所有进程2.top实时查看系统进程top类似任务管理器。3.htophtop比top更直观但不一定默认安装。4.kill结束进程kill 1234这里的1234是进程 PID。如果普通结束不行可以kill -9 1234但-9很强硬不是首选。5. 后台运行和前台控制后台运行command 查看当前后台任务jobs把后台任务切回前台fg十三、网络相关命令1.pingping google.com测试网络连通性。2.curlcurl https://example.com获取网页内容。常见下载写法curl -O https://example.com/file.zip3.wgetwget https://example.com/file.zip常用于下载文件。4.ipip a查看网络接口和 IP 信息。5.ssss -tuln查看网络连接和监听端口。十四、压缩与解压1.tarLinux 里压缩打包经常用tar。打包并压缩tar -czf test.tar.gz testdir解压tar -xzf test.tar.gz参数含义ccreate创建xextract解压zgzip 压缩f指定文件名2.zip/unzipzip -r test.zip testdir unzip test.zip十五、文本处理常用命令1.sortsort file.txt排序。2.uniquniq file.txt去重但通常要配合sort。3.cutcut -d: -f1 /etc/passwd按分隔符提取字段。4.sed用于文本替换、删除、格式化。例子sed s/old/new/g file.txt把 old 替换成 new。5.awk用于按列处理文本非常强大。例子awk {print $1} file.txt输出第一列。十六、shell 和脚本Linux 里可以把一串命令写进脚本文件自动执行。1. 脚本文件通常以.sh结尾。例如#!/bin/bash echo hello linux第一行叫shebang表示这个脚本用哪个解释器运行。2. 运行脚本bash test.sh或者chmod x test.sh ./test.sh第二种需要执行权限x。3. 常见变量namejones echo $name4. 条件判断if [ -f file.txt ]; then echo 是文件 fi5. 循环for i in 1 2 3; do echo $i done十七、环境变量环境变量是系统或 shell 中保存的一些配置信息。常见环境变量echo $HOME echo $PATH echo $PWD echo $USER说明HOME家目录PATH命令搜索路径PWD当前目录USER当前用户名查看环境变量env或printenv临时设置变量export MYVAR123十八、历史命令与补全1.historyhistory查看执行过的命令记录。2. 上下方向键上箭头上一条命令下箭头下一条命令3. Tab 自动补全输入命令或文件前几个字母按Tab补全。这是非常重要的效率技巧。十九、帮助系统不会命令时不用死记直接查帮助。1.--helpls --help2.manman ls打开命令手册。退出手册按q二十、常见危险命令与注意事项Linux 很强但也很容易误操作。1.rm -rf /这个是极其危险的命令几乎相当于“删除整个系统”。绝对不要乱用。2.chmod 777很多新手一把梭chmod 777虽然方便但安全性很差。一般只在你明确知道自己在做什么时使用。3.sudosudo给你管理员权限权限很大。命令写错后果也会更大。二十一、WSL 里你特别要知道的点你现在是 WSL 用户所以还要理解这些1. Windows 盘挂载Windows 的盘通常在/mnt/c /mnt/d例如cd /mnt/c/Users2. Linux 家目录Linux 自己的个人目录在/home/用户名3. 尽量把 Linux 工作文件放在 Linux 目录里比如/home/jones/projects这样很多操作更快、更像原生 Linux。二十二、你可以把 Linux 分成这几块来学如果按学习路线分建议这样学第一阶段基础操作pwdlscdmkdirtouchcpmvrm第二阶段查看与搜索catlessheadtailgrepfind第三阶段权限与用户chmodchownwhoamiidsudo第四阶段系统与进程pstopkilldfdufree第五阶段脚本与自动化shell 脚本变量条件判断循环管道重定向二十三、几个非常实用的补充命令1.df看磁盘空间df -h2.du看目录大小du -sh *3.free看内存free -h4.unameuname -a查看系统信息。5.clearclear清屏。二十五、真正学会 Linux 的关键不是背命令而是养成这三个习惯先看自己在哪pwd先看有什么ls不会就查man或--help只要这三个习惯在Linux 基本不会迷路。如果你愿意我下一条可以直接给你整理一份“Linux 常用命令超详细表格版”按“命令 / 作用 / 常用参数 / 示例 / 注意事项”做成一页速查表你可以直接保存着用。