Linux入门指南:从内核到终端,掌握核心命令与文件操作

news2026/5/19 21:36:14
1. 从内核到终端理解Linux的运作逻辑很多刚接触Linux的朋友包括我当年都会觉得它是一堆神秘命令的集合。输入几个字母敲下回车系统就乖乖听话了。但要想真正用好Linux而不是死记硬背命令你得先搞明白这套系统是怎么“想问题”的。简单来说你可以把Linux想象成一个高度模块化、分工明确的公司。最核心的老板也就是内核他深居简出只负责最根本、最核心的决策比如管理CPU这个“大脑”如何思考分配内存这个“办公场地”调度硬盘这个“仓库”的存取。他能力超强但从不直接面对我们这些普通员工用户。那我们怎么跟这位“内核老板”沟通呢这就需要一位“超级秘书”——Shell。Shell是一个命令解释器它就是我们眼前这个黑底白字的终端窗口。我们输入ls、cd这些人类可读的“需求”Shell秘书会立刻翻译成内核老板能听懂的“机器指令”递交上去然后把老板的“批示结果”再翻译成我们能看懂的文本显示在屏幕上。所以你每天打交道的其实是这位Shell秘书。市面上这位秘书还有不同的“方言”或“工作风格”比如Bash、Zsh它们基本语法相通但有些便捷功能和提示符外观不同就像有的秘书喜欢用记事本有的喜欢用智能便签。理解了这层关系再看那些命令就清晰了它们本质上是你通过Shell秘书向Linux内核老板发出的各种“工作请求”。而学习Linux命令就是学习如何清晰、高效地向这位秘书下达指令。这个过程充满了“为什么”比如为什么删除文件夹要多加一个-r选项这就像你让秘书清理一个档案柜如果只说“扔掉它”秘书出于谨慎默认只会扔掉柜子这个空壳如果它是空的话。但你要说“递归地扔掉它和里面所有的东西”秘书才会明白你的完整意图。这个-rrecursive选项就是“递归”的意思。接下来我们就从最基础的“认识环境”开始一步步拆解这些高效指令。2. 初入终端定位自己与探索环境打开终端第一件事不是急着操作而是先搞清楚“我在哪”、“我是谁”、“这里都有什么”。这是所有操作的基础就像开车前得先知道自己的车位和目的地一样。2.1 身份与位置whoami,pwd,hostname终端里通常会显示类似icubuntu:~$的提示符。这里就隐藏着关键信息ic符号前的部分是当前用户名。你可以用whoami命令来明确确认。Linux是多用户系统明确身份很重要因为这决定了你能访问哪些文件。ubuntu符号后的部分是主机名也就是你这台计算机的名字。可以用hostname命令查看。在局域网里这个名字用于标识不同的机器。~波浪号代表当前用户的家目录这是你的专属“个人办公室”。每个用户登录后默认进入这里拥有完全的控制权。$这是普通用户的命令提示符。如果你看到#则代表你正以最高权限用户root的身份操作需要格外小心。那么这个“个人办公室”的精确“门牌号”是什么呢输入pwd命令Print Working Directory它会告诉你当前所在的绝对路径比如/home/ic。这个从根目录/开始的完整路径就是你在文件系统这座大厦里的精确坐标。注意~和通过pwd看到的家目录路径如/home/ic是等价的。在命令中你可以互换使用它们~更便捷。例如cd ~和cd /home/ic效果完全相同。2.2 目录内容探查ls命令的多种姿态知道了自己在哪接下来就要看看这个目录里有什么。lslist是最常用的侦查命令但它远不止是简单列出文件名。基础用法直接输入ls会列出当前目录下所有非隐藏的文件和文件夹名。查看指定目录ls /etc可以列出/etc目录下的内容无需你先cd过去。这非常高效。显示隐藏文件在Linux中以点.开头的文件或目录是隐藏的通常是配置文件。使用ls -aall可以显示所有文件包括这些隐藏项。你会发现多了.bashrc、.profile等文件。获取详细信息ls -llong listing format会以长格式列出信息这是极其重要的一步。你会看到类似这样的行drwxr-xr-x 2 ic ic 4096 Apr 10 10:00 Documents -rw-r--r-- 1 ic ic 220 Jan 15 08:30 hello.txt第一列的第一个字符表示文件类型d是目录-是普通文件l是链接文件。随后的9个字符rwxr-xr-x是权限信息分三组所有者u/所属组g/其他人o分别对应读®、写(w)、执行(x)权限。-表示无此权限。后面的数字、用户名、大小、修改时间等信息也一目了然。人性化显示文件大小当文件很大时ls -lh中的-hhuman-readable选项会将字节数转换为K、M、G等单位直观很多。递归列出ls -R会递归地列出当前目录及其所有子目录下的内容适合快速浏览整个目录树的结构。实操心得我习惯将ls -l设置为ll这个短命令。只需在家目录下的.bashrc文件末尾加上一行alias llls -l然后执行source ~/.bashrc使其生效。这样以后输入ll就等于输入ls -l效率大增。alias别名是提升Linux使用体验的利器。3. 目录与文件的增删改移熟悉环境后我们就可以开始“装修”和“整理”自己的空间了。这是文件操作的核心。3.1 创建目录与文件mkdir和touchmkdir day01在当前目录创建一个名为day01的文件夹。如果想一次性创建多级嵌套目录比如project/src/main而project目录也不存在就需要加上-pparents选项mkdir -p project/src/main。系统会自动创建所有不存在的父目录。touch hello.txt创建一个名为hello.txt的空普通文件。touch命令的本意是“触摸”即更新文件的时间戳。如果文件不存在它就创建一个新的空文件。这是创建文本文件、脚本文件等的常用方法。3.2 删除操作谨慎使用rm删除是不可逆操作务必小心尤其是在使用root权限时。rm hello.txt删除文件hello.txt。系统通常会询问你是否确认取决于Shell配置。如果文件很多不想被每次询问可以加-fforce强制删除rm -f hello.txt。rm -r day01删除目录day01。-rrecursive代表递归意思是进入目录删除里面所有内容再删除目录本身。如果目录非空不加-r会报错。危险组合rm -rf /some/dir。-rf是“递归强制删除”不会有任何确认提示。绝对不要尝试rm -rf /或rm -rf /*这会尝试删除根目录下的所有文件导致系统崩溃。在删除目录前养成先用ls确认其内容的习惯。3.3 复制与移动/重命名cp和mv复制文件cp source.txt dest.txt将source.txt复制一份新文件叫dest.txt。如果目标文件已存在会被覆盖。复制目录复制目录必须使用-r选项否则会忽略目录。cp -r dir1 dir2会将dir1整个目录包括子内容复制到dir2。如果dir2不存在则创建它并将dir1的内容放入如果dir2已存在则会在dir2下创建dir1目录。移动/重命名mv命令有两个功能取决于目标参数是否存在。重命名mv oldname.txt newname.txt。当目标newname.txt在当前目录不存在时即为重命名。移动mv file.txt /home/ic/Documents/。当目标是一个已存在的目录路径时即为将文件移动到该目录下。也可以同时移动并重命名mv file.txt /home/ic/Documents/newfile.txt。重要提示cp和mv在覆盖已存在文件时默认可能不会有强烈提示。对于重要文件可以使用-iinteractive选项如cp -i或mv -i这样在覆盖前会询问你。同样可以将alias cpcp -i和alias mvmv -i加入.bashrc来设为默认行为这是一种安全习惯。4. 路径导航绝对路径与相对路径在文件系统中穿梭必须理解路径的两种表达方式。绝对路径从根目录/开始的完整路径像是一个完整的邮政地址。例如/home/ic/Documents/report.pdf。无论你当前在哪个目录使用这个路径都能准确定位到同一个文件。它的特点是以正斜杠/开头。相对路径相对于你当前所在目录pwd的结果的路径像是说“我隔壁房间”。它不以/开头。有几个特殊的符号.一个点代表“当前目录”。例如./script.sh表示当前目录下的script.sh文件。..两个点代表“上一级目录”。例如cd ..返回上级目录。../..代表“上两级目录”。~代表当前用户的家目录。为什么需要cd命令无论使用绝对路径还是相对路径cdChange Directory命令都是切换工作目录的唯一方式。即使你知道文件的绝对路径你的“当前位置”并没有变。cd /home/ic是让你“走到”那个位置去。之后你就可以用相对路径如ls Documents来操作该目录下的内容了。思考题的答案是需要。路径是文件或目录的“地址”cd是让你“人”移动到那个地址的动作两者概念不同。实操示例对比 假设当前在/home/ic想在Documents下创建project文件夹。用相对路径mkdir Documents/project用绝对路径mkdir /home/ic/Documents/project效果完全一样。通常操作当前目录附近的内容用相对路径更简洁操作远处或写脚本时用绝对路径更可靠。5. 文件打包、压缩与权限管理5.1 打包与压缩tar命令在Linux中打包归档和压缩通常是两步但tar命令可以一气呵成。仅打包tar -cf archive.tar file1 file2 dir1/。-c是创建-f是指定文件名。这会将file1,file2,dir1打包成一个archive.tar文件但不压缩体积基本是原文件总和。打包并用gzip压缩tar -czf archive.tar.gz file1 dir1/。-z参数调用gzip压缩生成.tar.gz或.tgz文件这是最常见的格式。打包并用bzip2压缩tar -cjf archive.tar.bz2 file1 dir1/。-j参数调用bzip2压缩压缩率通常更高但速度稍慢生成.tar.bz2文件。解包解压解压.tar文件tar -xf archive.tar解压.tar.gz文件tar -xzf archive.tar.gz解压.tar.bz2文件tar -xjf archive.tar.bz2-x是解压-C可以指定解压目录如tar -xzf archive.tar.gz -C /tmp/会解压到/tmp下。5.2 权限管理chmod命令Linux的权限系统是其安全性的基石。通过ls -l看到的rwxr-xr--就需要用chmod来修改。 权限分三组user文件所有者、group所属用户组、other其他用户。每组有读®、写(w)、执行(x)三个权限位。两种修改方式符号模式直观chmod ux script.sh给所有者增加执行权限。chmod g-w file.txt从所属组移除写权限。chmod or file.txt设置其他人的权限为仅读等号是精确设置。chmod ax script.sh给所有人aall增加执行权限。这是让一个脚本可执行的常用命令。数字模式快捷 将读®、写(w)、执行(x)分别对应数字4、2、1。每组权限是三者之和。所有者权限rwx 421 7组权限r-x 401 5其他人权限r-- 400 4所以chmod 754 file.txt就一次性设置了rwxr-xr--的权限。755rwxr-xr-x是目录和可执行脚本的常见权限644rw-r--r--是普通文本文件的常见权限。一个关键区别对于目录来说x执行权限的含义与文件不同。它表示“能否进入该目录”。如果一个目录对你没有x权限即使你有r权限也无法用ls查看其内容更无法cd进入。这是新手常遇到的“Permission denied”陷阱之一。6. 系统监控、进程管理与高效技巧6.1 查看磁盘与目录空间df和dudf -h查看整个文件系统的磁盘空间使用情况。-h选项同样使结果易读。重点关注/根分区的使用率避免达到100%。du -sh *查看当前目录下每个文件和目录占用的空间大小。-s是总结-h是人性化显示。du -sh .则只显示当前目录的总大小。当磁盘空间告急时这是找出“空间大盗”的利器。6.2 进程管理ps,top,killLinux中运行的程序就是进程。ps aux查看当前系统所有进程的详细信息快照。信息量大常配合grep过滤如ps aux | grep nginx查找nginx相关进程。top动态、交互式地查看进程状态和系统资源CPU、内存使用情况类似于“任务管理器”。按q退出。kill终止进程。先用ps或top找到进程的PID进程ID然后kill PID。kill -9 PID是强制杀死用于普通kill无效的情况但可能导致数据丢失应作为最后手段。6.3 终端高效使用技巧历史命令按上箭头/下箭头可以翻找之前执行过的命令。history命令可以列出所有历史记录。命令补全输入命令或路径的前几个字母按Tab键Shell会自动补全。如果有多项选择按两次Tab会列出所有可能项。这是提升效率最重要的习惯没有之一。控制命令Ctrl C强制终止当前正在运行的前台命令。Ctrl Z暂停当前任务将其挂起到后台。之后可以用fg命令将其调回前台继续或用bg命令让其在后台继续运行。Ctrl L或clear清空当前终端屏幕。获取帮助man ls查看ls命令最权威、最详细的使用手册。按q退出。ls --help查看ls命令更简洁的参数说明。对于大多数命令都有效。7. 常见问题与排查技巧实录即使理解了命令在实际操作中依然会碰到各种问题。这里记录几个高频问题和我的排查思路。问题1执行脚本时提示 “Permission denied”现象./my_script.sh报错-bash: ./my_script.sh: Permission denied。原因文件缺少执行(x)权限。排查ls -l my_script.sh查看权限位。如果是-rw-r--r--说明所有者也只有读写权限没有执行权。解决chmod ux my_script.sh或chmod 755 my_script.sh。然后再执行。问题2删除文件或目录时提示 “Directory not empty” 或 “Operation not permitted”现象rm mydir报错rm: cannot remove ‘mydir’: Directory not empty。原因rm默认不能删除非空目录。解决使用rm -r mydir递归删除。如果还是报权限错误可能是目录里有只读文件或属于其他用户的文件需要先检查权限ls -la mydir/必要时使用sudo提权需谨慎或rm -rf mydir需非常谨慎。问题3cp或mv命令覆盖了重要文件现象不小心把new.txt移动到了已有重要文件old.txt的位置导致old.txt被覆盖消失。预防如前所述在~/.bashrc中为cp和mv设置alias默认增加-i交互选项。这样在覆盖前会有提示。补救Linux默认没有回收站。一旦覆盖普通手段难以恢复。对于重要操作尤其是rm、mv、cp操作前先备份或用-nno-clobber选项如cp -n source dest如果dest存在则不覆盖是铁律。问题4命令输到一半发现错了或者想换行继续输入技巧Ctrl C可以彻底废弃当前行重新开始。如果想在命令中途换行比如写一个很长的命令可以输入\反斜杠然后按回车光标会跳到下一行并等待继续输入此时提示符会变成。这常用于编写长命令或脚本。问题5如何快速回到之前操作过的目录技巧cd -命令可以让你在上一个所在的目录和当前目录之间快速切换非常方便。而cd ~或直接cd则无条件回到你的家目录。掌握这些基础命令和概念就像学会了Linux世界的“生存语法”。真正的熟练来自于持续不断的实践。我的建议是不要只在脑子里记一定要动手敲。可以给自己设定一些小任务比如在/tmp目录下创建一套嵌套的目录结构用相对路径和绝对路径分别操作一遍再打包压缩最后设置不同的权限体验一下。遇到错误信息不要慌仔细读一读它往往已经告诉了你问题所在。把这些命令变成肌肉记忆你就能在Linux的海洋里自如航行为后续学习更高级的Shell脚本、系统管理和服务部署打下坚不可摧的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2626228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…