兰 亭 墨 苑
期货 · 量化 · AI · 终身学习
首页
归档
编辑文章
标题 *
URL 别名 *
内容 *
(支持 Markdown 格式)
提升 Linux 使用能力是一个系统性的过程,它不仅仅是记住一堆命令,更是理解其哲学思想,并将其应用到日常工作中。 Linux 的核心哲学是:“一切皆文件” 和 “组合小程序,完成大任务”。记住这两点,你的学习之路会清晰很多。 我将为你设计一个三阶段的引导路径,从基础到精通,并解释每个技巧背后的“为什么”以及记忆方法。 --- 第一阶段:打下坚实的基础 (像呼吸一样自然) 这个阶段的目标是让你在终端中的基本操作像走路一样自然,不再需要思考。 技巧 1:精通文件系统导航和操作 这是最基础也是最重要的。你必须能随心所欲地在文件系统中“穿梭”。 * 核心命令: * pwd (Print Working Directory): 我身在何处? 这是你迷路时的指南针。 * ls (List): 这里有什么? * 进阶用法: ls -la。这是我建议你永远使用的 ls 版本。 * 为什么? -l (long) 显示详细信息(权限、所有者、大小、修改日期),-a (all) 显示隐藏文件(以 . 开头的文件,通常是配置文件)。这让你对目录有完整的了解。 * 记忆: 把 ls -la 通过 alias 命令设置为 ll,这样每次只需输入 ll 即可。我们稍后会讲 alias。 * cd (Change Directory): 我要去哪里? * 进阶用法: * cd ~: 回到你的家目录 (/home/你的用户名)。 * cd -: 回到你上一次所在的目录。这个超级有用,在两个目录间反复横跳时是神器。 * cd ..: 回到上一级目录。 * 核心文件操作: * touch filename: 创建一个空文件。 * mkdir dirname: 创建一个目录。 * 进阶用法: mkdir -p dir1/dir2/dir3。-p (parents) 会自动创建不存在的父目录。 * cp source destination: 复制文件或目录。 * 进阶用法: cp -r source_dir dest_dir。-r (recursive) 用于复制整个目录。 * mv source destination: 移动或重命名文件/目录。 * rm filename: 删除文件。 * 警告: rm 是不可恢复的! * 进阶用法: rm -r dirname 删除目录。rm -rf dirname 强制 (force) 递归删除,这是 Linux 中最危险的命令之一,使用前请三思! 技巧 2:学会查看文件内容 * 核心命令: * cat filename: 一次性在屏幕上显示所有文件内容。适合小文件。 * less filename: 推荐使用。分页显示文件内容,可以上下滚动、搜索 (/关键字)。按 q 退出。 * more filename: less 的早期版本,功能较弱,只能向下翻页。 * head -n 20 filename: 查看文件的前 20 行。 * tail -n 20 filename: 查看文件的后 20 行。 * 进阶用法: tail -f logfile.log。-f (follow) 会持续刷新,实时显示文件的新增内容。监控日志文件时必用。 第一阶段练习: 尝试在你的家目录下,创建一个 practice 目录,在里面创建几个文件和子目录,并用 ls, cd, cp, mv, rm 来回操作它们,直到你不再需要查阅命令。 --- 第二阶段:组合与自动化 (成为“效率玩家”) 这是从业余到专业的关键一步。学会像搭乐高一样组合命令。 技巧 3:管道 (|) 和重定向 (>, >>) * 管道 `|` (The Pipe): * 为什么? 这是 Linux 哲学的精髓。它将上一个命令的输出,作为下一个命令的输入。 * 例子: 你想在当前目录找到所有 .txt 文件。 * ls -la 会列出所有文件。 * grep ".txt" 会从输入中筛选包含 .txt 的行。 * 组合起来: ls -la | grep ".txt" * 记忆: 把它想象成一根水管,数据从左边流到右边。 * 重定向 `>` 和 `>>`: * 为什么? 有时你不想让结果显示在屏幕上,而是想保存到文件里。 * > (覆盖): ls -la > file_list.txt。将 ls -la 的结果覆盖写入到 file_list.txt 中。如果文件不存在,会创建它。 * >> (追加): date >> commands.log。将当前日期追加到 commands.log 文件的末尾,而不会覆盖原有内容。 * 记忆: > 像一个漏斗,把输出导向文件。>> 是两个漏斗,表示“更多”,即追加。 技巧 4:强大的文本处理工具 * grep (Global Regular Expression Print): 文本搜索之王。 * 为什么? 在成千上万行代码或日志中,快速定位信息是核心技能。 * 进阶用法: * grep -i "error" log.txt: -i (ignore case) 忽略大小写。 * grep -r "my_function" ./src: -r (recursive) 在当前目录及子目录下递归搜索。 * grep -v "debug" log.txt: -v (invert match) 显示不包含 "debug" 的行。 * find: 文件查找之王。 * 为什么? ls 只能看当前目录,find 可以在整个文件系统中按各种条件搜索。 * 例子: * find /home/user -name "*.py": 在 /home/user 目录下查找所有以 .py 结尾的文件。 * find . -type f -mtime -7: 查找当前目录下,7天内修改过的文件 (-type f 表示只找文件,不找目录)。 * xargs: 命令的粘合剂。 * 为什么? find 找到了文件,但你想对这些文件执行操作(比如删除),怎么办?xargs 可以将前面命令的输出(通常是文件名列表)一个一个地传递给后面的命令。 * 例子: 删除所有 .tmp 文件。 * find . -name "*.tmp" | xargs rm --- 第三阶段:系统管理与定制 (成为“掌控者”) 这个阶段让你从一个“使用者”变成一个“管理者”。 技巧 5:进程管理 * 核心命令: * ps aux: 查看当前系统所有的进程。 * top 或 htop (推荐): 实时动态地显示系统进程和资源占用(CPU、内存)。 * kill PID: 终止一个进程 (PID 是进程号)。 * kill -9 PID: 强制杀死一个进程。当 kill 不管用时再用。 * 组合使用: ps aux | grep "my_app",先找到 my_app 的 PID,然后用 kill 杀掉它。 技巧 6:权限管理 * 核心概念: 每个文件/目录都有权限,分为三组:所有者 (Owner)、所属组 (Group)、其他人 (Others)。每组都有三种权限:读 (r)、写 (w)、执行 (x)。 * 核心命令: * chmod (Change Mode): 修改权限。 * 例子: chmod +x my_script.sh,给脚本增加可执行权限。 * chown (Change Owner): 修改所有者和所属组。 技巧 7:Shell 脚本与定制 * Shell 脚本: * 为什么? 将一系列重复的命令写入一个文件,让它自动执行,这是自动化的终极形态。 * 入门: 创建一个 hello.sh 文件,内容如下: 1 #!/bin/bash 2 echo "Hello, World!" 然后 chmod +x hello.sh,最后运行 ./hello.sh。 * 环境定制 (`.bashrc` 或 `.zshrc`): * 为什么? 让你的 Shell 更懂你,更高效。 * `alias` (别名): 这是最有用的定制。编辑你的 ~/.bashrc 文件,加入: 1 alias ll='ls -la' 2 alias gs='git status' 3 alias gp='git pull' 保存后,执行 source ~/.bashrc 使其生效。现在你输入 ll 就等同于 ls -la。 你的学习路径建议 1. 第一周: 专注于第一阶段。强制自己只用终端完成所有文件操作。 2. 第二周: 开始第二阶段。在操作中,思考“这个命令的输出能不能给另一个命令用?”,然后尝试用 | 连接它们。把常用的长命令用 > 保存下来。 3. 第三周及以后: 深入第三阶段。学习 htop 查看系统状态,尝试写一个简单的备份脚本,并为你最常用的命令创建 alias。
配图 (可多选)
选择新图片文件或拖拽到此处
标签
更新文章
删除文章