初学linux

📅 发布时间:2026/7/9 4:09:04 👁️ 浏览次数:
初学linux
Linux的目录结构Linux 整个文件系统就像一棵倒置的树最顶端是根目录 / 所有文件和目录都从这里开始分支。/ ← 根目录树根├── bin/ ← 存放常用命令如 ls, cat├── boot/ ← 启动相关文件├── dev/ ← 设备文件硬盘、键盘等├── etc/ ← 配置文件系统设置├── home/ ← 普通用户的家目录│ ├── user1/ ← 用户 user1 的个人文件│ └── user2/├── lib/ ← 系统库文件├── media/ ← 挂载U盘、光盘├── mnt/ ← 临时挂载点├── opt/ ← 可选软件包├── proc/ ← 进程信息虚拟文件系统├── root/ ← root 用户的家目录├── run/ ← 运行时临时文件├── sbin/ ← 系统管理命令├── srv/ ← 服务数据├── sys/ ← 系统信息├── tmp/ ← 临时文件├── usr/ ← 用户程序│ ├── bin/ ← 用户命令│ ├── lib/ ← 用户库│ └── local/ ← 本地安装软件└── var/ ← 可变数据日志、缓存记忆口诀 / 是起点 home 是家 etc 管配置 var 存日志。Linux命令入门目录切换相关命令cd/pwd1. pwd - 我在哪Print Working Directory显示当前所在的完整路径bash$ pwd/home/alice/projects2. cd - 切换目录Change Directorybashcd /home/alice # 切换到指定目录绝对路径cd Documents # 切换到当前目录下的 Documents相对路径cd .. # 返回上一级目录cd ~ # 回到家目录波浪线 ~ 代表家目录cd - # 回到刚才所在的目录来回切换cd # 直接回家目录等同于 cd ~相对路径、绝对路径和特殊路径符绝对路径 vs 相对路径类型 特点 示例绝对路径 从根目录 / 开始完整路径 /home/alice/Documents/file.txt相对路径 从当前目录开始不写 / Documents/file.txt 或 ./file.txt类比绝对路径像完整地址北京市海淀区XX路XX号相对路径像从这儿往前走100米右转。特殊路径符符号 含义 示例. 当前目录 cd ./Desktop 进入当前目录下的 Desktop.. 上级目录 cd .. 返回上一级~ 用户家目录 cd ~/Downloads 进入家目录的 Downloads- 刚才的目录 cd - 快速返回$ pwd/home/alice$ cd ./Documents # 进入当前目录下的 Documents$ pwd/home/alice/Documents$ cd .. # 返回上一级$ pwd/home/alice$ cd ~/Downloads # 直接进入家目录的 Downloads$ cd - # 回到刚才的目录/home/alice创建目录命令mkdirmkdir Make Directory创建目录bashmkdir test # 创建单个目录mkdir dir1 dir2 dir3 # 同时创建多个目录# 创建多级目录父目录不存在时自动创建mkdir -p projects/rust/demo # -p parents像搭积木一样层层建# 显示创建过程mkdir -v new_folder # -v verbose会打印 mkdir: created directory new_folder文件操作命令touch、cat、more、cp、mv、rm1. touch - 创建空文件或修改时间戳bashtouch hello.txt # 创建空文件touch a.txt b.txt # 同时创建多个文件touch old.txt # 文件已存在只更新修改时间内容不变2. cat - 查看文件内容Concatenate适合查看小文件一次性全部显示bashcat file.txt # 显示文件全部内容cat -n file.txt # 显示行号cat file1.txt file2.txt # 合并显示多个文件3. more - 分页查看适合大文件bashmore large.log # 按页显示按空格翻页按 q 退出对比cat 一次性倒出适合小文件more 一页一页看适合大文件4. cp - 复制Copybashcp file.txt backup.txt # 复制文件cp -r folder/ backup_folder/ # 复制目录-r recursive 递归cp -i file.txt dest.txt # 覆盖前询问-i interactivecp -v file.txt /tmp/ # 显示复制过程注意复制目录必须加 -r 因为目录里还有内容要递归复制。5. mv - 移动/重命名Movebashmv file.txt /tmp/ # 移动文件到 /tmp 目录mv old_name.txt new_name.txt # 重命名同目录下移动就是重命名mv folder/ /backup/ # 移动目录不需要 -rmv -i file.txt dest.txt # 覆盖前询问技巧 mv 既能搬家又能改名就看目标是不是目录。6. rm - 删除Removebashrm file.txt # 删除文件rm -i file.txt # 删除前询问建议养成习惯rm -r folder/ # 删除目录及内容递归删除rm -rf folder/ # 强制递归删除⚠️ 危险慎用rm *.txt # 删除所有 txt 文件* 是通配符⚠️ 警告 rm -rf / 会删除整个系统使用 -f force要特别小心。查找命令which、find1. which - 查找命令在哪查找可执行命令的位置bash$ which ls/bin/ls$ which python3/usr/bin/python3$ which gcc/usr/bin/gcc原理在环境变量 $PATH 列出的目录中找。2. find - 强大的文件查找bash# 按名称查找find /home -name *.txt # 在 /home 下找所有 txt 文件find . -name test* # 当前目录下找 test 开头的文件# 按类型查找find . -type f -name *.rs # f 普通文件filefind . -type d -name target # d 目录directory# 按大小查找find . -size 10M # 大于 10MB 的文件find . -size -1k # 小于 1KB 的文件# 按时间查找find . -mtime -7 # 7 天内修改过的文件find . -mtime 30 # 30 天前修改的文件# 执行操作找到后删除find . -name *.tmp -delete # 删除所有 tmp 文件# 找到后执行命令find . -name *.log -exec ls -lh {} \; # 找到 log 文件并详细列出记忆 find [路径] [条件] [动作]grep、wc和管道符1. grep - 文本过滤Global Regular Expression Print在文件中搜索指定内容bashgrep error log.txt # 在 log.txt 中找包含 error 的行grep -i error log.txt # -i ignore case忽略大小写grep -n error log.txt # -n 显示行号grep -v error log.txt # -v 反向选择显示不包含 error 的行grep -r main src/ # -r 递归搜索整个目录# 正则表达式grep ^[0-9] file.txt # 找以数字开头的行grep rust$ file.txt # 找以 rust 结尾的行2. wc - 统计Word Countbashwc file.txt # 显示行数 单词数 字节数 文件名wc -l file.txt # 只显示行数line最常用wc -w file.txt # 只显示单词数wordwc -c file.txt # 只显示字节数char3. | 管道符 - 命令接力管道符 | 的作用把左边命令的输出作为右边命令的输入。bash# 例子1查看文件行数cat file.txt | wc -l # 先 cat 输出内容再 wc 统计行数# 例子2查找并统计grep error log.txt | wc -l # 统计 log 中有多少行 error# 例子3多管道接力cat log.txt | grep error | wc -l # 看日志→过滤 error→统计数量# 例子4查找进程ps aux | grep firefox # 查看所有进程过滤出 firefox# 例子5查看目录内文件数量ls | wc -l # 列出文件统计数量理解管道就像工厂的流水线每个命令加工一道最后出结果。echo、tail和重定向符1. echo - 输出内容bashecho Hello World # 打印字符串echo $PATH # 打印环境变量$ 表示变量echo -e line1\nline2 # -e 支持转义\n 换行# 结合重定向写文件echo configvalue app.conf # 写入文件覆盖echo logdebug app.conf # 追加到文件末尾2. tail - 查看文件尾部常用看日志bashtail log.txt # 默认显示最后 10 行tail -20 log.txt # 显示最后 20 行tail -f log.txt # -f follow实时追踪看日志神器# 组合使用实时查看包含 error 的日志tail -f app.log | grep error开发场景启动服务后 tail -f log.txt 开着窗口看实时日志。3. 重定向符 - 控制输入输出符号 名称 作用 输出重定向覆盖 把输出写入文件覆盖原有内容 输出重定向追加 把输出追加到文件末尾 输入重定向 把文件内容作为命令输入2 错误重定向 把错误信息写入文件 全部重定向 把标准输出和错误都写入文件# 1. 覆盖写入原有内容消失echo Hello file.txt# 2. 追加写入原有内容保留加在后面echo World file.txt# 3. 把命令输出保存到文件ls -l file_list.txt# 4. 把错误信息单独保存gcc program.c 2 error.log # 编译错误保存到 error.log# 5. 丢弃输出黑洞 /dev/null./program /dev/null 21 # 正常输出和错误都扔掉# 6. 输入重定向把文件内容给命令wc -l file.txt # 等同于 cat file.txt | wc -l记忆技巧 像箭头指向文件就是写入文件一个 是覆盖霸道两个 是追加温柔速查表命令 作用 常用选项pwd 显示当前路径 -cd 切换目录 ~ 家目录.. 上级- 刚才mkdir 创建目录 -p 递归创建touch 创建空文件 -cat 查看小文件 -n 显示行号more 分页查看 空格翻页q退出cp 复制 -r 递归复制目录mv 移动/重命名 -i 覆盖询问rm 删除 -r 删目录-f 强制which 找命令位置 -find 找文件 -name、-type、-sizegrep 过滤文本 -i 忽略大小写-n 行号-r 递归wc 统计 -l 行数-w 单词数echo 输出 -e 支持转义tail 看末尾 -f 实时追踪-n 指定行数\| 管道 命令串联/ 重定向 覆盖/追加