Linux新手必学:常用命令、权限与文本处理实战指南

Linux新手必学:常用命令、权限与文本处理实战指南 简介一份面向Linux新手的常用命令速查手册系统梳理了通用命令、Ubuntu专用命令与系统信息查看三大类操作。内容覆盖date、pwd、more/less、chmod、ps、kill等基础指令也包含dpkg与apt软件包管理、uname、cat /proc/cpuinfo等系统状态查询并在命令示例中展示了网络配置、服务启停等扩展用法可帮助刚接触Linux的读者快速定位所需命令减少上网搜索时间。包体方面资源共1个PDF文件压缩包约20KB体积小巧适合保存到手机或电脑随时查阅。目前已有289人学习下载对于命令入门类资料来说具备一定参考价值。读者获得的不只是一份命令清单还包含命令用途说明、典型参数示例及Ubuntu环境下的实操提示例如dpkg -i安装包、apt-get update更新源、kill -9强制结束进程等。整体按使用场景分类目录结构清晰既能作为系统学习提纲也能充当日常排错的手边参考。 很多刚接触 Linux 的新手第一反应都是找桌面图标、点“软件商店”结果软件装不上、压缩包解不开、权限弹窗看不懂。我当初从 Windows 切换到 Linux 时也在这一阶段绕了不少弯路。后来才明白Linux 常用命令并不是拿来装点门面的而是这套系统绕不开的基本功。真正高效的批量操作、日志排查、服务启停八成以上都要靠命令行完成。这篇分享面向的是刚碰 Linux、看到黑窗口就心慌的同学你不用成为运维专家但至少要把最常用的一批命令练到“像筷子一样顺手”。每讲一个命令我会顺带说清楚为什么这么用、容易踩什么坑。建议打开终端跟着敲一遍而不是看一遍就划走。1. 先别急着背命令把终端、shell 和命令结构搞清楚很多新手以为 Linux 命令就是死记硬背一堆英文单词其实真正卡住你的往往不是词汇量而是没搞懂命令行的运行逻辑。在敲第一个命令之前花 10 分钟搞清楚终端、shell、命令结构这三件事后续一切都会顺很多。1.1 终端是窗口shell 是翻译官你打开的那个黑框框准确叫法是“终端模拟器”它本身只负责显示和接收输入不执行任何命令。真正干活的是跑在里面的 shell。shell 相当于一个翻译官你敲下ls -l它去调用系统接口再把结果返回给你。Linux 上最常见的 shell 是 bash多数发行版默认就是它。网上资料一会儿说sh、一会儿说bash、一会儿说zsh本质上都是 shell 的变种菜鸟阶段记住 bash 就够了。想亲眼确认的话打开终端敲一句echo $SHELL它会直接告诉你当前用的是哪个 shell。这个命令虽然简单但它是你第一次真正和 shell 交互值得记住。1.2 命令行的通用写法命令、选项、参数一条完整的命令通常由三部分组成命令本身、选项、参数。看个例子ls -l /home/userls是命令作用是列出目录内容-l是选项要求用长格式显示更多信息/home/user是参数告诉命令“去查看哪个目录”。选项有短横线和双横线两种写法比如ls -a和ls --all等价。写命令时养成“命令在前、选项居中、参数在后”的习惯大部分情况不会出错。但有两个细节新手常踩坑第一选项和参数之间必须有空格ls -l/home/user会被当成一个整体直接报错第二文件名里如果带空格要用引号包起来比如cat my file.txt否则命令会认为你在传多个参数。这两个坑我几乎见每个初学者都踩过至少一次。1.3 Tab 补全和几个保命快捷键这条可能是本篇文章对你最实用的建议以后敲命令路径和文件名永远不要手动完整输入按 Tab 会自动补全。敲cd /ho再按 Tab大概率直接变成cd /home如果候选有多个连续按两下 Tab 会把列表列出来。上下方向键可以翻历史命令敲错一条长命令时按上键回来修改比重打一遍快得多。再记几个保命快捷键Ctrl C强行终止正在运行的命令Ctrl L清屏Ctrl Z把当前任务挂起到后台。很多新手第一次跑top或ping之后出不来了按Ctrl C就能退出。这几个键不涉及任何风险但能帮你省掉大量“命令卡死只能关终端”的尴尬时间。建议从今天开始刻意练习只用 Tab 补全输路径坚持一周基本就形成肌肉记忆了。2. 文件与目录操作第一周就要练出肌肉记忆文件操作是 Linux 使用频率最高的一批命令。它们本身不难难的是记得住、敲得对、在合适场景想得起来。我的建议是第一周别追求学得多把定位、增删改查、查找文件这三类操作练熟熟到不用过脑。2.1 定位三件套pwd、ls、cdpwd显示当前所在目录。迷路了先敲它确认自己站在哪。ls列出当前目录下的内容。常用组合ls -lh以人类可读方式显示文件大小ls -A连同隐藏文件一起列出但不显示.和..。cd切换目录。cd ..返回上一级cd ~回到当前用户家目录cd -回到上一次所在目录。给新手一个实际场景你在教程里看到说“解压到 /opt”于是cd /opt却发现没有权限创建文件。这时候先别慌用pwd确认位置再用ls -ld /opt查看目录权限就能判断是缺写权限还是执行权限。这套“先定位、再看权限、再决定操作”的思路比背任何单条命令都值钱。2.2 增删改查mkdir、touch、cp、mv、rm建目录用mkdir建空文件用touch复制用cp移动或改名用mv删除用rm。这一组命令看着简单但真正翻车的通常都在删除上。mkdir test touch a.txt cp a.txt b.txt mv b.txt c.txt rm a.txt新手最容易踩的坑有三个。第一rm删除的文件不进回收站删了就是删了。所以我平时会刻意用rm -i加文件路径让它逐条确认只有明确要清除一整个临时目录时才用rm -rf 目录。第二复制目录必须带-r比如cp -r docs backup漏掉-r只会看到一堆报错。第三mv跨文件系统移动时本质是“复制删除”大文件会卡一会儿这时候别急着按Ctrl C等它复制完再删除就晚了。2.3 查找文件find、locate、which总记不住文件放在哪是每个新手的痛点。三个命令按场景区分which 命令名查找某个可执行命令在哪个目录比如which python用来确认命令有没有装全。locate 文件名基于数据库的快速查找但数据库可能没更新部分发行版需要手动安装。find 路径 -name 文件名最灵活也最常用直接遍历目录搜索不会出现“数据库没更新”的假象。比如查找所有配置文件可以写find /etc -name *.conf。全盘搜索会慢所以尽量把起始目录缩到最小find /etc就比find /快得多。记住一个原则搜索范围越精确出结果就越快。3. 权限和进程最容易忽略、也最容易翻车的两块内容文件操作练熟后就会遇到两个有点“抽象”的东西——权限和进程。装软件时提示没有权限、程序启动后不知道它在不在跑、卡死了想结束它这些问题的本质就是权限和进程管理。它们没有图形界面里那种直观开关但每天都绕不开。3.1 看懂 drwxr-xr-x 这一串字符用ls -l查看文件时最左边一列类似drwxr-xr-x的字符串就是权限标识。它分成四段第一个字符表示类型d是目录-是普通文件l是软链接后面每三个字符一组分别代表“所有者”“所属组”“其他用户”的权限。每组里面r表示读w表示写x表示执行-表示没有对应权限。-rw-r--r-- 1 tom dev 1024 Feb 12 10:00 readme.txt这行的含义是它是个普通文件属主 tom 可读写同组 dev 用户可读其他用户也可读但没有任何人有执行权限。想排查权限问题时先想三件事对象是谁文件还是目录、角色是谁所有者、同组还是其他人、动作是什么读、写还是执行。这套矩阵理清了权限报错基本就能自己诊断。3.2 chmod、chown、sudo改权限、换主人、提权限chmod修改权限最常见的是数字法。chmod 755 script.sh表示属主读写执行组和其他用户读执行chmod 644 readme.txt表示属主读写其他人只读。符号法chmod ux script.sh也很常用适合单独给属主加执行权限。chown修改属主和属组典型用法是sudo chown tom:dev readme.txt把文件归属改成用户 tom 和组 dev。sudo用管理员权限执行单条命令比如sudo apt install nginx。注意sudo不是让你始终待在 root 下的免死金牌它只对后面那一条命令生效。用户管理也是同一套思路useradd创建用户、usermod修改用户、userdel删除用户通常都要配合sudo才能执行。一个高频现场是从网上下载了脚本执行时提示 Permission denied第一反应以为是脚本坏了其实是没加执行权限。在 Linux 里文本文件即使内容是脚本没有x权限也无法用./script.sh直接运行先chmod x script.sh再跑就可以了。这个小问题我见过太多初学者卡在这里半小时。3.3 查进程、杀进程ps、top、kill 的协作流程进程是正在运行的程序实例。想知道系统里有什么程序在跑用ps想实时看资源占用用top想结束某个进程用kill。实际排查流程一般是用ps -ef查看所有进程找到目标程序记下第二列的 PID。用top看资源占用是否异常按q退出。用kill PID发一个温和的结束信号等几秒没反应再kill -9 PID强制结束。这里特别提醒kill -9是最后手段不是第一选择。它相当于直接拔电源进程没有机会保存现场很可能丢数据。平时优先用kill PID或kill -TERM PID。另外杀进程前一定要再次核对 PID我见过有人把 PID 看错把系统关键进程给杀了结果整个桌面环境崩溃。如果你想管理的是 nginx 这类系统服务建议直接用systemctl系列命令比如systemctl status nginx查看状态而不是自己找进程乱杀。4. 文本处理三件套grep、awk、sed 学会这三板斧就够用在 Linux 下工作整天和日志、配置文件打交道。遇到一个几百 MB 的日志用编辑器慢慢翻等于自虐。这时候 grep、awk、sed 就是三把实用工具。很多新手一听这三个命令就以为很难实际上日常 80% 的用法只是它们最简单的形态。4.1 grep从日志和文件里捞关键行grep的作用是从文本里按模式匹配行。最基础的用法grep error /var/log/syslog这条命令会把 syslog 文件里所有包含 error 的行打印出来。常用组合-i忽略大小写-n显示行号-r递归搜索目录。最实用的是配合管道符cat app.log | grep timeout | head -20先筛出包含 timeout 的行再取前 20 行看。注意grep匹配的是字符串而不是单词grep error会连 errors、errorCode 一起匹配想精确匹配整个词就加-w。这个细节能避免很多误判尤其在代码里搜变量名时特别好用。4.2 awk按列切数据几行命令做出小报表awk最常见的用法是按列处理文本。它默认用空格把每行切成多个字段$1是第一列$2是第二列以此类推。看个例子ps -ef | awk {print $1, $2}这会把ps -ef的输出拆开只打印第一列用户名和第二列PID仿佛在一张表格里只框选两列。再加点条件ps -ef | awk $2 1000 {print $2}只打印 PID 大于 1000 的进程号。对于新手掌握{print $1, $2}这种按列提取已经能解决不少需求。别一上来就研究复杂的 BEGIN/END 块那样容易把自己劝退先会用再慢慢理解。4.3 sed批量替换文本多个文件一次改完sed的看家本领是批量替换。假设想把配置文件里 100 处http://统一改成https://一行命令就搞定sed -i s|http://|https://|g config.txt拆开看s是替换命令|是自定义分隔符因为替换内容里也有/用|可以省掉一堆转义g表示全部替换-i表示直接写回文件。如果去掉-ised 只是把结果打印到屏幕不会改动原文件——这是很多新手第一次用 sed 时最大的困惑来源。我强烈建议第一次使用时先不加-i把输出内容看清楚确认没问题再补上-i真正落地。4.4 管道符和重定向让命令像流水线一样干活管道符|严格来说不算文本处理命令但没有它grep、awk、sed 的威力会少一大半。它的作用是把前一条命令的输出作为后一条命令的输入。|和容易混淆我通常这样记|是“继续处理”输出不落到文件里是“落盘保存”输出覆盖写进文件是“追加保存”不会覆盖原有内容。比如ps -ef | grep nginx process.txt这条命令先把进程信息过滤成 nginx 相关行再保存到 process.txt。管道符能帮你把多个命令串成一条流水线这也是命令行比图形界面高效的核心原因之一。遇到“前一个命令输出的东西正好是后一个命令需要处理的输入”这种场景第一反应就是竖线。5. 网络排查、软件安装与日常留痕从“够用”到“顺手”最后这部分我把新手上路阶段绕不开的网络排查、软件安装、历史命令整理到一起。它们不完全算同一类主题但都决定了你能否把系统真正用起来。5.1 ping、ip、curl、ss遇到网络问题先敲这几条图形界面遇到网络故障时通常只显示一个模糊的“无法连接”命令行却能告诉你问题出在哪一环。ping看基本连通性比如ping -c 4 www.baidu.com。-c 4表示只 ping 4 次否则会一直持续退出用Ctrl C。ip addr老发行版常用ifconfig查看网卡和 IP 地址确认机器有没有拿到内网 IP。curl直接请求一个网址看响应比如curl -I https://example.com。-I表示只拿响应头用来判断网站通不通、返回码是不是 200。ss -tlnp老命令netstat -tlnp查看哪些端口在监听。排查“端口被占用”时非常方便。实际场景举例网站打不开先ping看网关通不通再curl -I看本地服务有没有返回最后用ss -tlnp确认对应端口是不是在监听。这套排查顺序比在图形界面里来回点刷新高效得多。5.2 包管理器与解压装软件不再靠“下个安装包双击”Linux 装软件最主流的方式是用发行版自带的包管理器。Debian/Ubuntu 系用aptCentOS 系用yum新版本 Fedora 系用dnf。套路都差不多先更新索引再安装软件。sudo apt update sudo apt install nginx如果下载到的是.tar.gz这类压缩包要先解压再根据里面的说明文件操作。解压命令建议背下来tar -zxvf package.tar.gz unzip package.ziptar -zxvf的记忆法z表示 gzip 压缩x表示解压v表示显示过程f表示后面跟文件名。装软件时另一个高频坑是权限不加sudo直接apt install会报权限不足加了sudo又担心自己是不是在“瞎搞”。其实日常个人使用sudo apt install非常正常它只是以管理员身份执行安装命令。但尽量不要用sudo去运行来历不明的脚本那是另一类完全不同的风险。5.3 history、alias、CtrlR让常用命令少敲几个字最后分享几个能明显提升手感的习惯。输入history可以查看历史命令近期命令都会记录在~/.bash_history里。方向键上下来回翻是基础更高效率的是按Ctrl R进入反向搜索输入几个字母就能回到以前敲过的那条命令再按一次Ctrl R继续往前翻。经常要敲的长命令可以用 alias 设置别名。比如你每次都要用ls -lh就在~/.bashrc里加一行alias llls -lh保存后执行source ~/.bashrc生效之后敲ll就等于敲了ls -lh。alias 的本质是给常用长命令起短名字理解了这一点你就明白为什么很多老手推荐先配置一套自己习惯的别名而不是把命令大全背一遍——后者又累又记不住。按我个人经验学 Linux 常用命令的分水岭不在背多少而在能不能把命令串成自己的流程。我现在每天干得最多的还是这几件小事用cd和ls定位文件用grep和tail看日志用ps和kill管进程用apt和tar装包。看起来一点不高大上但恰恰是系统能真正“用起来”的关键。新手阶段不用贪多把本文这些命令敲熟再试着用管道符把它们串起来慢慢就会从“怕敲错”变成“懒得点鼠标”。遇到不认识的命令先用man 命令名看手册敲了一半想不起来就多用 Tab 补全。等你哪天发现黑窗口比图形界面还顺手菜鸟阶段就算顺利过关了。本文还有配套的精品资源点击获取