type
status
date
slug
summary
tags
category
icon
password

Linux Shell 命令详解:初学者实践指南

 

1.Shell 初识:终端与提示符

 
在开始学习命令之前,首先需要了解如何与 Shell 交互。这主要通过"终端"(Terminal)程序完成。当打开终端后,用户会看到提示符(Prompt),它显示用户名、主机名和当前工作目录等信息,并以特殊字符(如 $#)结尾。这个提示符表示 Shell 已准备好接收命令。
  • 终端(Terminal):一个让用户输入命令并查看输出的文本界面。
  • 提示符(Prompt):Shell 等待用户输入命令的指示符。例如,user@hostname:~$。其中 ~ 表示用户的主目录,$ 表示普通用户权限。
 

2. 文件系统导航:定位你的位置

 
在 Linux 文件系统中高效移动是 Shell 操作的基础。以下命令将帮助用户定位自己的位置,并轻松在各个目录间切换。
  • pwd:显示当前工作目录(Print Working Directory)
    • 用途:当在文件系统中切换目录后,pwd 命令可显示当前工作目录的完整路径。
    • 语法pwd
    • 示例:Bash可能的输出:/home/your_username
      • pwd
    • 重要性:在执行文件操作或运行脚本前,确认当前位置可避免错误。在复杂的目录结构中,pwd 提供准确定位。
  • ls:列出目录内容(List)
    • 用途:显示当前目录下的文件和子目录列表。
    • 语法ls [选项][文件或目录...]
    • 常用选项及示例
      • 不带选项,列出当前目录内容:Bash可能的输出:Documents Downloads Music Pictures Videos
        • ls
      • l(long listing):以长格式显示详细信息,包括权限、所有者、大小、修改时间等。Bash可能的输出:这里,第一列显示文件类型和权限,第五列是文件大小。
        • ls -l
        • rw-r--r-- 1 user group 1024 Jan 15 10:00 file.txt drwxr-xr-x 2 user group 4096 Jan 10 14:30 directory
      • a(all):显示所有文件,包括以点 . 开头的隐藏文件。Bash可能的输出:....hidden_file file1.txt directory1 其中 . 表示当前目录,.. 表示父目录。
        • ls -a
      • h(human-readable):与 l 结合使用,以易读格式显示文件大小(如 KB、MB、GB)。Bash
        • ls -lh
    • 重要性ls 是探索文件系统最基本的命令,其多样的选项可提供丰富的文件和目录信息。
  • cd:切换目录(Change Directory)
    • 用途:在不同目录间移动。
    • 语法cd [目录路径]
    • 特殊用法及示例
      • 切换到指定目录:Bash
        • cd /usr/local/bin cd Documents/Reports # 切换到当前目录下的 Documents/Reports 子目录
      • 切换到用户主目录:Bash
        • cd # 不带参数,直接回到主目录 cd ~ # 使用波浪号代表主目录
      • 切换到父目录:Bash例如,若当前在 /home/user/documents,执行 cd.. 后会进入 /home/user
        • cd..
      • 切换到前一个工作目录:Bash
        • cd -
      • 使用绝对路径和相对路径:
        • 绝对路径:从根目录 / 开始的完整路径,如 cd /var/log
        • 相对路径:相对于当前目录的路径,如 cd../project(先到父目录,再进入 project 目录)。
    • 重要性cd 是目录导航的基础命令。使用 Tab 键自动补全可提高效率并减少错误。例如,输入 cd Doc 后按 Tab 键,如果只有一个以 Doc 开头的目录(如 Documents),Shell 会自动补全。
    •  

3.文件管理:创建、复制、移动和删除

 
掌握文件的基本操作是 Shell 使用的核心技能。
  • touch:创建空文件或更新时间戳
    • 用途:如果指定的文件不存在,touch 会创建一个新的空文件;如果文件已存在,则更新其访问和修改时间戳为当前时间。
    • 语法touch [选项]... 文件...
    • 示例
      • 创建一个名为 new_empty_file.txt 的空文件:Bash
        • touch new_empty_file.txt
      • 更新 existing_file.log 的时间戳:Bash
        • touch existing_file.log
          可以使用 ls -l existing_file.log 查看其时间戳的变化。
    • 重要性touch 命令高效地结合了两个功能(创建空文件和更新时间戳),对于文件管理和构建系统特别有用。例如,创建笔记文件只需执行 touch notes.txt;若要更新已修改文件的时间戳,再次执行相同命令即可,无需重新保存文件。
  • cp:复制文件和目录 (Copy)
    • 用途:复制文件或目录,创建副本。
    • 语法
      • 复制文件:cp [选项] 源文件 目标文件
      • 复制文件到目录:cp [选项] 源文件1 [源文件2...] 目标目录
      • 复制目录:cp -r [选项] 源目录 目标目录
    • 常用选项及示例
      • 复制文件:cp original.txt copy.txt
      • 复制文件到目录:cp report.docx ~/Documents/
      • rR (recursive):复制目录及其所有内容时必需。Bash
        • cp -r project_folder project_backup
      • i (interactive):在覆盖已存在的目标文件前进行提示。这是一个很好的安全习惯。Bash
        • cp -i source.txt destination_directory/
      • v (verbose):显示正在执行的操作。
    • 重要性:作为文件管理的基本操作,建议新手使用 i(交互式)选项以避免意外覆盖文件。例如,当复制 file.txt 到已存在的 backup/file.txt 时,使用 cp -i file.txt backup/ 会提示确认,避免数据丢失。
  • mv:移动和重命名文件及目录 (Move)
    • 用途
        1. 将文件或目录移动到不同的位置。
        1. 在同一位置时用于重命名文件或目录。
    • 语法mv [选项] 源 目标
    • 示例
      • 重命名文件:mv old_name.txt new_name.txt
      • 移动文件:mv report.pdf ~/Documents/Archive/
      • 移动并重命名:mv draft.txt ~/Documents/final_report.txt
      • 移动目录:mv old_project_folder ~/Archive/
      • i (interactive):覆盖前提示。
      • v (verbose):显示操作过程。
    • 重要性mv 命令本质上是将文件从一个位置移动到另一个位置,重命名只是特殊情况。例如,mv old.txt new.txt 实际上是将文件移动到相同目录并赋予新名称。理解这一点有助于掌握命令的使用。
  • rm:删除文件和目录 (Remove)
    • 用途:删除文件或目录。务必谨慎使用!
    • 语法rm [选项] 项目...
    • 常用选项及示例
      • 删除文件:rm unwanted_file.txt
      • rR (recursive):删除目录及其内容。误用非常危险!Bash
        • rm -r old_folder
      • f (force):强制删除,不进行提示。极其危险,尤其与 r (rm -rf) 结合使用时!
      • i (interactive):每次删除前都进行确认。强烈建议初学者使用!Bash
        • rm -i file_to_delete.txt rm -ri folder_to_delete # 交互式递归删除
    • 重要性rm 命令执行后无法撤销,没有回收站功能。特别要注意 rm -rf 的使用——一个简单的空格错误(如 rm -rf / my_stuff 而不是 rm -rf ./my_stuff)可能导致灾难性后果。建议新手总是使用 i 选项并仔细检查路径,避免使用 f 选项。

4.目录管理:组织你的空间

 
以下命令专门用于创建和删除目录。
  • mkdir :创建目录(Make Directory)
    • 用途:创建一个或多个新目录。
    • 语法mkdir [选项]... 目录名...
    • 示例
      • 常用选项
        • p (parents):自动创建所需的父目录。例如,使用 会依次创建YearYear/MonthYear/Month/Day
        • 重要性mkdir是构建工作空间和整理文件系统结构的基础命令。特别是p选项,在创建多层嵌套目录时,它能极大地提高效率。如果不使用p选项,用户必须逐级进行创建和切换,例如:
          • 而有了-p,上述过程便能简化为:
      • rmdir :删除空目录(Remove Directory)
        • 用途:删除空目录。若目录包含文件或其他子目录,该命令将失败。
        • 语法rmdir [选项]... 目录名...
        • 示例
          • 常用选项
            • p (parents):删除指定目录后,如果其父目录也随之变为空,则支持一并删除父目录。例如:
            • 重要性rmdir是一种相对安全的目录删除命令,因为它仅允许删除空目录,防止用户意外删除包含重要数据的目录。这种设计本身构成了一道安全屏障。尝试用rmdir删除非空目录时,命令会提示失败并提醒“Directory not empty”,强迫用户在删除前确认其内文件情况。这种机制也提醒用户在确实需要删除目录及内容时,需谨慎使用功能更强大但更危险的rm -r命令。例如:
              • 如果该目录包含文件,执行上述命令将返回:
                这为用户提供了重要的提醒,避免了意外数据丢失。用户之后可审慎决定是否清空文件夹或使用rm -r my_stuff进行删除。
          下表比较了rmdirrm -r
          特性
          rmdir 目录名
          rm -r 目录名
          删除对象
          仅限目录
          目录及其所有内容
          安全性
          较高 (目录非空则失败)
          较低 (可能删除内容)
          常见用途
          清理空文件夹
          移除整个文件夹树
           

          5. 查看文件内容:一探究竟

           
          有多种工具可以用来查看文件的文本内容,以下介绍几种常用命令。
          • cat :显示和连接文件(concatenate)
            • 用途:主要用于显示一个或多个文件的全部内容。其名称来自英文"concatenate"(连接),因为该命令还能连接多个文件的内容。
            • 语法cat [选项] [文件1] [文件2] ...
            • 示例
              • 显示单个文件内容:
                • 显示多个文件内容(依次显示):
                  • 连接多个文件的内容并重定向到新文件(注意此处用到了略高级但常用的重定向 >):
                  • 常用选项
                    • n(number):在输出时为所有行编上行号。
                    • 重要性cat 适用于快速查看小型文件,或合并文件内容创建新文件。但不适合查看较大的文本文件,因为一次性输出全部内容会导致屏幕快速滚动,仅显示文件的最后部分。例如,一个有数千行日志的文件,若使用 cat huge_log.txt,屏幕会极速滚动,用户可能只看见文件末尾部分。这种需求自然引向更合适的工具,如less
                  • less :分页查看文件内容(支持滚动)
                    • 用途:逐屏显示文件内容,并允许用户前后滚动查看,是对早期命令more的改进。
                    • 语法less [选项] 文件名
                    • 示例
                      • 基本导航操作
                        • 空格键fPageDown:向前翻页。
                        • bPageUp:向后翻页。
                        • 向下箭头j:向下移动一行。
                        • 向上箭头k:向上移动一行。
                        • /pattern:向后搜索字符模式pattern,按n搜索下一个匹配项,N搜索上一个。
                        • ?pattern:向前搜索字符模式。
                        • g:跳转到文件开头。
                        • G:跳转到文件末尾。
                        • q:退出less
                      • 重要性less是舒适、高效查看中大型文本文件的标准方式。与大多数文本编辑器不同,less不会一次性将整个文件加载到内存,因此打开超大文件时响应快速。例如,用户查看2GB左右的巨大日志文件,若使用文本编辑器可能需要等待很长加载时间,而运行less 2gb_log.txt则会快速打开文件并轻松导航。
                    • head :查看文件开头部分
                      • 用途:显示指定文件开头的多行内容(默认显示前10行)。
                      • 语法head [选项]... [文件]...
                      • 示例
                        • 常用选项
                          • n 数字(或简写为数字):指定需要显示的开头行数。例如:
                          • 重要性:便于快速检查日志文件开头、脚本文件(查看描述性注释和shebang)或数据文件(查看表头行)。它的简单性和效率使其成为日常检查文件内容的重要辅助工具。
                        • tail :查看文件末尾部分
                          • 用途:显示文件末尾的多行内容(默认显示最后10行)。
                          • 语法tail [选项]... [文件]...
                          • 示例
                            • 常用选项
                              • n 数字(或简写为数字):指定显示末尾的行数。例如:
                                • f(follow):持续输出文件追加的内容。当文件内容动态增长(例如实时产生日志)时非常宝贵。按组合键Ctrl + C可停止监控:
                                • 重要性tail在检查最新的日志记录、程序输出或者动态事件时非常实用。其中,f选项尤其是系统管理员和开发人员的必备工具之一。可见,headtail相互协作,分别显示文件的开头和结尾,与less共同组成了一套无需打开整个文件即可快速浏览文件局部或全部信息的强大工具箱。例如:
                                  • 想迅速确认CSV文件的数据头?使用:
                                    • 想观察日志文件的最新错误信息?使用:
                                      • 需要实时查看某服务的运行日志?使用:
                                        • 希望便捷搜索和翻阅大文件内容?使用:

                                      6.搜索与发现:找到你需要的内容

                                       
                                      这些命令用于通过名称、属性或文件内容内的文本模式来定位文件。
                                      • grep :文件内容的文本查找工具(Global Regular Expression Print)
                                        • 用途:用于扫描一个或多个文件,并打印与指定模式(普通文本或正则表达式)匹配的所有行。
                                        • 语法grep [选项] 模式 [文件...]
                                        • 示例
                                          • server.log 中查找字符串"error":
                                            • 在多个文件(例如所有 .log 后缀文件)中查找"warning":
                                              • i(忽略大小写):进行不区分大小写的匹配:
                                                • rR(递归搜索):在指定目录及其子目录中的所有文件内搜索:
                                                  • n(行号):显示匹配行所在的行号。
                                                  • v(反向匹配):仅显示不匹配给定模式的行。
                                                  • c(计数):仅输出匹配模式的行数(不显示行本身)。
                                                • 重要性grep 命令强大且灵活,适用于从文件中快速提取目标信息、日志分析和调试。它通常与管道(|)结合使用,以过滤其它命令产生的输出结果(例如ls -l | grep "Jan")。尽管管道操作具体细节属于进阶内容,但稍作说明能提醒用户grep还可以对其他命令的标准输出内容进行实时模式匹配。例如,当用户需要从某一命令的输出中快速挑选含有特定关键词的行,可以使用如下方式:
                                                • find :在目录结构中定位文件和目录
                                                  • 用途: 根据文件或目录的名称、类型、大小、修改时间及权限等多种属性,在指定目录及其子目录中查找匹配的项。
                                                  • 语法
                                                    • 示例及常用搜索条件(表达式/选项)
                                                      • 起始搜索路径:常用的路径形式包括当前目录 (.)、根目录(/)或用户主目录(~)。
                                                      • 按文件名查找(区分大小写,可使用通配符 ):
                                                        • 按文件名查找(不区分大小写):
                                                          • 查找指定类型文件(普通文件 f,目录 d):
                                                            • 根据文件大小查找(+ 表示大于某大小, 表示小于):
                                                              • 根据文件修改时间查找:
                                                                • 查找属于指定用户的文件:
                                                                  • 按文件权限(octal八进制表示)查找:
                                                                    • 查找空文件或空目录:
                                                                      • 对找到的文件执行某个命令(其中的 {} 被匹配到的文件名替代,\\; 表示命令结束):
                                                                        • 注意:请慎重使用此功能,尤其与删除 (rm) 等操作结合时!
                                                                    • 重要性find 是学习Linux时必备的重要工具之一,能以高度灵活的方式搜索文件和执行批量操作。不过,因其众多的选项和稍显复杂的语法,初学时可专注于掌握几个最实用简单的使用场景。例如,当用户忘记某个文件的确切存储位置,只知道它大致在主目录内,可简便使用:
                                                                      • 又例如用户想定位当前目录中所有jpg图片文件,则可以简单地执行:
                                                                        随着对命令逐步掌握,用户再逐渐学习更强大的功能(例如使用-exec对搜索结果进行批量处理)。
                                                                  以下是find命令常用搜索条件的快速汇总表:
                                                                  条件选项
                                                                  示例
                                                                  描述(用途说明)
                                                                  名称(区分大小写)
                                                                  -name "file.txt"
                                                                  按精确名称查找文件
                                                                  名称(不区分大小写)
                                                                  -iname "file.txt"
                                                                  不区分大小写的文件名匹配
                                                                  类型
                                                                  -type f-type d
                                                                  查找普通文件(f) 或目录(d)
                                                                  大小
                                                                  -size +1M-size -10k
                                                                  查找大于1MB / 小于10KB的文件
                                                                  修改时间
                                                                  -mtime -7-mtime +30
                                                                  少于7天前 / 多于30天前修改的文件
                                                                  所属用户
                                                                  -user username
                                                                  查找属于指定用户的文件
                                                                  权限
                                                                  -perm 644
                                                                  查找权限字节为644的文件(八进制表示)
                                                                  执行命令
                                                                  -exec rm {} \\;
                                                                  对找到的文件执行指定命令(谨慎危险操作
                                                                  查空文件或目录
                                                                  -empty
                                                                  查找大小为空的文件或目录
                                                                  注意:find 命令有很多高级选项和表达式;这张表涵盖最常用的部分,能帮助初学者更有效率地构建他们自己的搜索命令。

                                                                  7.理解和更改权限

                                                                   
                                                                  Linux 是一个多用户系统,因此理解和管理文件权限对于系统安全和用户协作至关重要。权限决定了哪些用户能读取、写入或执行特定文件或目录。
                                                                  • 回顾:使用 ls -l 查看权限
                                                                    • 使用 ls -l 命令时,其输出中有一个由 10 个字符组成的权限字符串(例如 -rwxr-xr--),每个字符表示具体的权限信息:
                                                                    • 第 1 个字符:代表文件类型 ( 为普通文件,d 为目录,l 为符号链接)。
                                                                    • 接下来 3 个字符:所有者(文件拥有者)的权限,r 表示可读,w 表示可写,x 表示可执行。
                                                                    • 再接下来 3 个字符:所属组(拥有该文件组的其他用户)的权限。
                                                                    • 最后 3 个字符:其他用户(所有其他系统用户)的权限。
                                                                  • chmod :更改文件权限(Change Mode)
                                                                    • 用途:修改文件和目录的访问权限。
                                                                    • 语法
                                                                      • chmod 提供两种模式:
                                                                          1. 符号模式(Symbolic Mode,更直观,更易读,更适合初学者)
                                                                              • 对象 (Who)
                                                                                • u(用户/所有者)
                                                                                • g(组)
                                                                                • o(其他用户)
                                                                                • a(所有用户,等价于ugo
                                                                              • 操作符 (Operator)
                                                                                • +(添加权限)
                                                                                • (移除权限)
                                                                                • =(精确设定权限)
                                                                              • 权限类型 (Permission)
                                                                                • r(读)
                                                                                • w(写)
                                                                                • x(执行)
                                                                              • 示例
                                                                                • 为所有者增加执行权限:
                                                                                  • 移除组和其他用户的写权限:
                                                                                    • 给所有用户增加读权限:
                                                                                      • 精确设定权限(所有者:rwx,组:rx,其他:r):
                                                                                  1. 八进制数字模式(Octal/Numeric Mode,简洁,经验用户更常用)
                                                                                      • 使用三个八进制数字表示权限(例如 755644)。
                                                                                      • 每个数字分别对应所有者、组、其他用户的权限。具体为:
                                                                                        • 4 = 读取 (r)
                                                                                        • 2 = 写入 (w)
                                                                                        • 1 = 执行 (x)
                                                                                        • 权限通过数字相加得出:
                                                                                        • 7 = rwx (4+2+1)
                                                                                        • 6 = rw- (4+2)
                                                                                        • 5 = r-x (4+1)
                                                                                        • 4 = r-- (4)
                                                                                        • 0 = -- (无权限)
                                                                                      • 示例
                                                                                        • 设置脚本文件权限,所有者可读写执行,其他人可读和执行(755 常用于脚本):
                                                                                          • 设置数据文件权限,所有者可读写,其他人仅可读(644 常用于普通数据文件):
                                                                                            • 向所有用户授予读、写、执行所有权限,安全性极低,务必慎用
                                                                                    1. 常用选项
                                                                                      • R(递归,recursive):对目录及其下所有内容递归修改权限。
                                                                                      • 重要性:权限管理事关系统安全及多人协作。例如,对于初学者来说,最常见的场景是使下载或自创的脚本具备执行权限。例如,用户从网络获取脚本文件,尝试运行:
                                                                                        • 却收到错误提示“Permission denied”,此时用户可以使用:
                                                                                          再次运行后即可顺利执行,从而领会到权限控制的重要性。
                                                                                    下表清晰展示了八进制数字、对应的二进制表示及其权限含义,有助于理解常见设置(如 755644)背后的逻辑:
                                                                                    八进制数字
                                                                                    二进制
                                                                                    权限表示
                                                                                    权限说明
                                                                                    0
                                                                                    000
                                                                                    ---
                                                                                    无权限
                                                                                    1
                                                                                    001
                                                                                    --x
                                                                                    仅执行
                                                                                    2
                                                                                    010
                                                                                    -w-
                                                                                    仅写入
                                                                                    3
                                                                                    011
                                                                                    -wx
                                                                                    写入和执行
                                                                                    4
                                                                                    100
                                                                                    r--
                                                                                    仅读取
                                                                                    5
                                                                                    101
                                                                                    r-x
                                                                                    读取和执行(常用于目录)
                                                                                    6
                                                                                    110
                                                                                    rw-
                                                                                    读取和写入
                                                                                    7
                                                                                    111
                                                                                    rwx
                                                                                    读取、写入和执行

                                                                                    8.获取关于系统和用户的信息

                                                                                     
                                                                                    Linux 命令行提供了一些命令用于快速了解当前用户、日期和时间,以及系统详细信息。
                                                                                    • whoami :查看当前有效用户
                                                                                      • 用途:显示当前登录用户的用户名。
                                                                                      • 语法
                                                                                        • 示例
                                                                                          • 可能输出结果:
                                                                                        • 重要性:虽然交互式会话中的提示符通常会显示当前用户信息,但在编写脚本时,whoami 显得尤为重要。它让脚本可以据此判断执行者身份,从而做出不同的响应或权限检查。例如,一个需要 root 权限执行的脚本常使用如下判断结构:
                                                                                        • date :显示系统日期和时间
                                                                                          • 用途:显示或者设置系统的时间和日期(在此,我们主要关注于查看功能)。
                                                                                          • 语法
                                                                                            • 示例
                                                                                              • 以系统默认格式显示当前日期和时间:
                                                                                                • 自定义日期和时间输出格式 (使用 + 后跟格式化说明符):
                                                                                                  • 常见格式化符号:
                                                                                                    符号
                                                                                                    描述
                                                                                                    示例
                                                                                                    %Y
                                                                                                    年(4位数字)
                                                                                                    2023
                                                                                                    %m
                                                                                                    月份(01-12)
                                                                                                    10
                                                                                                    %d
                                                                                                    月内的日(01-31)
                                                                                                    27
                                                                                                    %H
                                                                                                    小时(00-23)
                                                                                                    16
                                                                                                    %M
                                                                                                    分钟(00-59)
                                                                                                    05
                                                                                                    %S
                                                                                                    秒钟(00-59)
                                                                                                    45
                                                                                                    %A
                                                                                                    星期几的完整名称
                                                                                                    Friday
                                                                                                    %B
                                                                                                    月份完整名称
                                                                                                    October
                                                                                                • 重要性date 命令常用于检查服务器当前时间,或者在脚本中生成日志文件和备份文件的日期时间戳。例如,一个每日备份的脚本可以为备份文件生成独特的日期后缀:
                                                                                                • uname :查看系统信息(Unix Name)
                                                                                                  • 用途:显示关于当前系统的内核、版本、硬件架构等信息。
                                                                                                  • 语法
                                                                                                    • 示例与常用选项
                                                                                                      • 默认显示内核名称,通常为 "Linux":
                                                                                                        • 常用选项:
                                                                                                          • 选项
                                                                                                            含义
                                                                                                            示例输出
                                                                                                            -s
                                                                                                            内核名称
                                                                                                            Linux
                                                                                                            -r
                                                                                                            内核发行版本
                                                                                                            5.15.0-0-generic
                                                                                                            -v
                                                                                                            内核具体版本(详细信息)
                                                                                                            #100-Ubuntu SMP...
                                                                                                            -m
                                                                                                            硬件架构名称
                                                                                                            x86_64
                                                                                                            -o
                                                                                                            操作系统名称
                                                                                                            GNU/Linux
                                                                                                            -a
                                                                                                            显示以上全部信息
                                                                                                            Linux myhostname 5.15.0-0-generic ... GNU/Linux
                                                                                                          综合示例:
                                                                                                          可能输出:
                                                                                                      • 重要性uname 命令用于确定运行的 Linux 内核版本和系统架构,对报告错误、下载兼容软件包或在脚本中进行条件判断尤其有用。例如,一个脚本要检查当前是否在 64 位系统上运行,可以这样实现:
                                                                                                      • df :检查磁盘空间使用情况(Disk Free)
                                                                                                        • 用途:报告文件系统中磁盘空间的使用状况。
                                                                                                        • 语法
                                                                                                          • 示例
                                                                                                            • 显示各文件系统的磁盘容量使用情况:
                                                                                                              • 更易读的输出(推荐):
                                                                                                                • 示例输出:
                                                                                                            • 重要性:磁盘空间的监控至关重要,利用率过高可能造成系统变慢甚至服务异常。使用df -h快速排查空间不足问题,是日常维护的重要习惯。例如,一旦发现 / 分区使用率接近100%,用户即可采取措施及时清理扩容,避免系统故障。
                                                                                                          • free :检查内存使用情况
                                                                                                            • 用途:显示当前系统物理内存(RAM)以及交换空间(swap)的使用情况。
                                                                                                            • 语法
                                                                                                              • 示例
                                                                                                                • 示例输出:
                                                                                                              • 重要性free命令提供了内存占用的重要信息,能帮助发现内存瓶颈或内存泄漏问题。初学者往往看到较低的“free”数值和较高的“buff/cache”值产生困惑,但实际 Linux 始终尽可能利用空闲内存作为缓存,从而提升性能。“available”一列相比“free”更真实地反映系统可用的内存。熟悉这点,有助于对 Linux 内存使用模式的准确理解。例如,当用户感觉系统内存不足的时候,运行free -h,若发现"available"内存实际仍然充足,就表明内存管理正常,此时无需担忧。

                                                                                                            9.进程管理初探

                                                                                                             
                                                                                                            Linux 系统中通常包含多个同时运行的程序(称为“进程”)。以下命令可帮助用户查看当前系统进程,并在需要时终止或管理它们。 注意:这是一个非常广泛的主题,此处仅作基础介绍。
                                                                                                            • ps :查看运行中的进程(Process Status)
                                                                                                              • 用途:显示当前正在运行的进程相关信息。
                                                                                                              • 语法
                                                                                                                • 常用的简单用法
                                                                                                                  • 查看当前系统所有运行进程的详细信息,包括进程用户、ID (PID)、CPU占用率、内存占用率、启动的命令等:
                                                                                                                    • 该命令输出通常会较长,用户可结合管道和less命令逐页查看:
                                                                                                                • 重要性ps命令非常重要,它能让用户快速查看当前系统中运行的进程,识别哪些程序可能正在占用大量系统资源。如果想快速查找特定进程(如是否已有 firefox 浏览器运行),通常可使用管道和 grep 配合,例如:
                                                                                                                  • 这样能过滤出感兴趣进程的相关行,而无需在长长的列表中逐行查找。
                                                                                                              • kill :终止进程
                                                                                                                • 用途:向特定进程发送信号,最常用来终止进程。
                                                                                                                • 语法
                                                                                                                  • 常用示例(温和终止,推荐优先使用)
                                                                                                                    • 如果某进程行为异常或无响应,首先需使用如下命令查找其 PID:
                                                                                                                      随后,通过所得 PID 向进程发送默认信号(SIGTERM 信号 15),礼貌要求程序终止:
                                                                                                                  • 强制终止(当温和终止失败时的手段,请谨慎使用)
                                                                                                                    • 如果常规的终止请求失败,可使用信号 -9(SIGKILL)强制程序立即退出。这种方式不允许进程进行数据清理或正常保存操作,可能导致数据丢失,仅作为最后手段:
                                                                                                                  • 使用进程名称终止多个进程(使用进程名而不是PID,适用于需要同时终止该进程所有实例的场合)
                                                                                                                    • 重要性:理解信号区别在进程管理中至关重要:kill 命令所发送的默认 SIGTERM(15号信号)是“礼貌”通知进程要求中止并退出的信号。一旦收到此信号,程序可能会保存当前数据并释放资源后再退出。但是,SIGKILL(信号9、携带 9 参数)则不允许进程有任何数据保存或清理,进程会被立即终止,从而可能引起数据损坏或丢失。
                                                                                                                      • 举例来说,一个应用程序卡死或长期无响应时,可以先尝试:
                                                                                                                        此举可能使该程序正常关闭并保留未保存的工作;如果无效,再尝试更严厉的手段:
                                                                                                                        此时应用即刻终止,但可能丢失所有未保存的进度。因此,请始终优先尝试正常措施。

                                                                                                                  10.最重要的命令:使用 man 获取帮助

                                                                                                                   
                                                                                                                  man(manual)页面是 Linux 系统内置的命令百科全书。掌握了 man 命令,就如同学会了“授人以渔”的方法,可以在今后的学习中自主高效地查找相关命令的信息。
                                                                                                                  • man :访问命令手册页
                                                                                                                    • 用途:显示给定命令的在线手册说明。
                                                                                                                    • 语法
                                                                                                                      • 简单示例
                                                                                                                        • 重要性:几乎每个 Linux 命令都有一个对应的手册页(man page),它是用户获取全面、权威的文档信息最直接也是最准确的方法。
                                                                                                                      • 如何阅读 man 页面(常见章节说明)
                                                                                                                        • 每个 man 页面被分成若干标准章节,熟悉它们能让用户更高效地找到所需信息:
                                                                                                                          章节
                                                                                                                          内容
                                                                                                                          用户用途
                                                                                                                          NAME
                                                                                                                          命令的名称及简短一句话描述
                                                                                                                          快速确认是否是用户需要的命令
                                                                                                                          SYNOPSIS
                                                                                                                          命令使用语法 (选项和参数结构)
                                                                                                                          快速了解如何正确键入命令使用
                                                                                                                          DESCRIPTION
                                                                                                                          命令功能的详细解释
                                                                                                                          深入理解命令的含义和功能
                                                                                                                          OPTIONS (或FLAGS)
                                                                                                                          命令所有可用选项及其描述
                                                                                                                          用户最常查阅的部分,明确命令具体选项作用
                                                                                                                          EXAMPLES
                                                                                                                          实际使用示例(如有提供)
                                                                                                                          查看该命令在真实场景中的用法
                                                                                                                          SEE ALSO
                                                                                                                          相关其他命令或帮助文档
                                                                                                                          查找与该命令相关的工具或主题
                                                                                                                          AUTHOR, BUGS
                                                                                                                          命令作者和已知的缺陷
                                                                                                                          一般了解
                                                                                                                      • 在 Man 页面内导航
                                                                                                                        • Man 页面默认使用类似 less 分页器的界面,操控方式也与 less 相同:
                                                                                                                        • 按<kbd>空格键</kbd> 或 <kbd>f</kbd>键向下翻页
                                                                                                                        • 按<kbd>b</kbd>向上翻页
                                                                                                                        • 按<kbd>j</kbd>或下箭头键,向下逐行滚动
                                                                                                                        • 按<kbd>k</kbd>或上箭头键,向上逐行滚动
                                                                                                                        • 输入/pattern向下搜索单词或短语pattern
                                                                                                                        • 输入?pattern向上搜索(反向搜索)
                                                                                                                        • 按<kbd>q</kbd>退出界面
                                                                                                                        • 例如,进入ls命令的手册页:
                                                                                                                          用户查看时可以直接键入 /--color 来定位到 --color选项的详细描述处。
                                                                                                                      • 当用户不确定命令名称时,可通过关键词查找相关命令
                                                                                                                        • 使用关键词搜索与命令相关的手册页(搜索发生在 man 标题和简介中):
                                                                                                                          例如,若要寻找涉及“磁盘空间”的相关命令:
                                                                                                                          会返回 df, du 等相关命令及其简介。
                                                                                                                      • 重要性总结
                                                                                                                        • 对所有 Linux 用户来说,学会熟练使用 man 是一种最重要且最有价值的工具。它能使用户在遇到疑问时转为主动探索,而非等待求助。例如,用户在互联网上了解到一个新的 ls 选项--color,却不了解它的具体含义和效果。此时,用户只需在终端执行:
                                                                                                                          然后在页面中搜索 /--color,即可立即获得官方、完整与权威的描述。这种自发探索、学习的能力,是成为一名高效、独立 Linux 用户最赋能的技能之一。
                                                                                                                      Nas折腾合集2025.长野县
                                                                                                                      Loading...