跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Linux 基础指令与权限管理

Linux 系统的基础指令与权限管理。内容包括文件压缩与解压(zip、tar)、浮点运算(bc)、系统信息查询(uname)。重点讲解了 Shell 命令的运行原理及用户角色(root、普通用户)。详细阐述了 Linux 文件权限体系,涵盖文件类型、所有者/组/其他权限(rwx)、chmod/chown 命令的使用、八进制权限表示法。此外还解释了目录权限的特殊含义、缺省权限(umask)的计算逻辑以及粘滞位的作用。

蜜桃汽水发布于 2026/3/29更新于 2026/10/25106 浏览
Linux 基础指令与权限管理

1. zip/unzip

打包、压缩:使用特定算法将文件合并或压缩,减少体积。

打包/压缩作为一个整体。原因包括:

  • 文件体积减少,节省资源、磁盘空间,降低网络传输成本
  • 多个文件转为一个文件,提高文件传输的容错性

语法:zip 压缩文件.zip 目录或文件 功能:将目录或文件压缩成 zip 格式 常用选项:

  • -r:递归处理,将指定目录下的所有文件和子目录一并处理

示例: 文章配图

解压操作:

unzip XX.zip -d 路径

// 解压到指定路径中

实现 Linux 和 Windows 之间文件的互相传递:

  1. 将 Linux 中的文件传到 Windows 中(可通过工具传输) 文章配图 文章配图
  2. 将 Windows 中的文件传到 Linux 中 可以直接进行拖拽,或使用 rz 命令。

2. tar

打包/解包,不打开它,直接看内容。

常用选项:

  • -c:创建一个压缩文件(create)
  • -x:解开一个压缩文件
  • -t:查看 tarfile 里面的文件
  • -z:是否同时具有 gzip 属性(是否需要 gzip 压缩)
  • -j:是否同时具有 bzip2 属性
  • -v:压缩过程中显示文件(不建议用于后台执行)
  • -f:使用档名,f 之后要立即接档名,不要再加参数
  • -C:解压到指定目录

压缩示例:

tar -czf dst.tgz src

文章配图

解压示例:

tar -xzf XXX.tgz

文章配图

展现压缩或解包过程,在选项中添加 v:

tar -cvzf test.tgz test
tar -xvzf test.tgz

解压缩到指定路径:

tar -xzvf XXX.tgz -C 指定路径

Linux 和 Linux 之间互传可使用 scp 指令。

3. bc

bc 命令可以方便地进行浮点运算。 文章配图

4. uname –r

语法:uname [选项] 功能:获取电脑和操作系统的相关信息,可显示 Linux 主机所用的操作系统版本、硬件名称等基本信息。

常用选项:

  • -a 或 --all:详细输出所有信息,依次为内核名称、主机名、内核版本号、内核版本、硬件名、处理器类型、硬件平台类型、操作系统名称

文章配图

5. 重要的几个热键

  • Tab 键:命令或者路径补齐
  • Ctrl + C:终止当前程序
  • 上/下键:翻阅历史命令
  • Ctrl + R:搜索历史命令

通过上述内容可知,Linux 系统会记录历史命令。 文章配图

6. 扩展命令

  • 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last
  • 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln
  • 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab
  • 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup
  • 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who
  • 其它命令:tar、unzip、gunzip、unarj、mtools、man、uencode、uudecode

7. Shell 命令以及运行原理

从技术角度,Shell 的最简单定义是命令行解释器(Command Interpreter),主要包含:

  • 将使用者的命令翻译给核心(Kernel)处理
  • 将核心的处理结果翻译给使用者

Shell 通常会创建子进程的方式进行命令行解析(保护内核)。 文章配图

在 Linux 中通常是 Bash,Bash 是 Shell 的一种称呼,所有的都可以称为 Shell。

8. Linux 权限的理解

权限首先是限制特定身份角色的,目标事物的属性也会影响权限,所以,权限 = 角色 + 事物属性。

Linux 下有两种用户:超级用户(root)、普通用户。

  • 超级用户:可以在 Linux 系统下做任何事情,不受权限约束
  • 普通用户:在 Linux 下做有限的事情,受权限约束
  • 超级用户的命令提示符是'#',普通用户的命令提示符是'$'

当处于普通用户时,执行 su 后输入密码可转换到 root。回退到普通账号,只需输入 Ctrl + D 或 exit。 文章配图

也可以使用 su - 命令,此时家目录也会发生变化。

在普通用户时使用 su 也可以转换成其他用户,需知道该用户下的登录密码;但在超级用户上时,不用输入密码。

在 Linux 安装软件时,一般是在 root 身份下安装的,所以在普通用户账号下时需要指令提权。 文章配图

文件类型如下:

  • d:目录
  • -:普通文件
  • c:字符设备文件
  • b:块设备文件
  • p:管道文件
  • l:链接文件

其中,字符设备文件最常见的是显示器和键盘,块设备文件最常见的是磁盘。

Linux 中角色分为三类:

  1. 文件拥有者
  2. 文件所属组
  3. Other

文章配图

其中,r 表示读,w 表示写,x 表示可执行。(有时表示可以,否则不可以)

可以改变拥有者/所属组/Other 的权限,例如:

chmod u-r test.txt    # 拥有者
chmod g-r test.txt    # 所属组
chmod o-r test.txt    # Other
chmod u-r,g-rw,o-w test.txt
chmod u+rw,g+r,o+w test.txt
chmod a+r test.txt    # 修改所有具有读的权限

注意事项:

  1. 要修改权限,必须为拥有者,或者是超级用户。
  2. 并不是有权限就可以执行,Linux 下能够执行的条件是:真的是一个可执行文件 + 可执行权限。
  3. 在 user、group、other 和自己之间进行身份对比的时候,是依次只对比一次。

文章配图

命令中的 760、777 是用八进制来进行转换。 文章配图

修改角色——可以使用以下命令:

chown (user name) test.txt
sudo chown (user name) test.txt  # 强制更改

改变时,需要有 root 权限或者是提权。

修改所属组——

sudo chgrp (user name) (文件名)

对于一个文件,没有 r 权限,那么用任何工具都不行。(权限限制的是用户/操作者)

关于权限的三个问题

1. 目录权限
  • r 对于目录的意义:是否有权查看指定目录下的文件信息
  • w 对于目录的意义:是否有权在指定目录内部新建、删除、修改文件名等修改文件的操作
  • x 对于目录的意义:是否具有进入目录的权限
2. 缺省权限
  1. 根据图片可以看出,文件的起始权限是固定的
  2. umask 权限掩码 文章配图 修改权限掩码,达到修改 Linux 文件缺省权限的问题!
  3. 最终权限(缺省权限) 结论:最终权限(默认)= 起始权限 & (~umask) umask 可以进行改变,设置的目的是为了增加灵活性。 文章配图
3. 粘滞位
  1. Linux 多用户下,对于文件的访问,是隔离的。
  2. 需求:我们想让 Linux 下不同的账号共享文件,则该文件不能再任何一个普通账号的家目录里。
  3. 存在的问题:
    • 在共享目录下,可以执行文件的删除操作(因为存在 w 权限)
    • 粘滞位:任何用户,在设置了粘滞位的目录下,自己只能删除自己的文件,其他人无法删除
    • 粘滞位只用给目录设置,不需要给普通用户设置

目录

  1. 1. zip/unzip
  2. 2. tar
  3. 3. bc
  4. 4. uname –r
  5. 5. 重要的几个热键
  6. 6. 扩展命令
  7. 7. Shell 命令以及运行原理
  8. 8. Linux 权限的理解
  9. 关于权限的三个问题
  10. 1. 目录权限
  11. 2. 缺省权限
  12. 3. 粘滞位

更多推荐文章

查看全部
  • JavaScript 基础:变量、DOM、表单与定时器
  • ChatGPT 抵制运动与军方合作争议:AI 伦理及具身智能产业化现状
  • 自适应图像变焦与边界框变换用于无人机目标检测
  • AI 商业价值与盈利趋势深度解析
  • GitHub Copilot 学生认证申请指南与常见问题排查
  • StableDiffusion-webui 本地部署与使用指南
  • OpenClaw 国内 AI 大模型配置教程
  • 豆包 Seedream 4.0 多图融合技术解析与实战测评
  • Python 转义字符详解与常见用法示例
  • stable-diffusion-webui 照片艺术化风格迁移指南
  • Python 金融量化分析师入门指南与职业发展路径
  • C++ 特殊类设计:拷贝控制、内存分配与单例模式
  • GitHub Copilot Pro 学生身份认证教程
  • WebMCP:浏览器原生 AI 交互新范式
  • Python 面向对象编程(OOP)核心概念与实战
  • FPGA 入门指南:从点亮第一颗 LED 开始
  • Python 实现 MCP 客户端调用高德地图天气查询示例
  • C++ string 类常用成员函数与全局函数详解
  • LlamaIndex 为 LLM 添加个性化数据指南
  • 三款主流云电脑 AIGC 性能实测:ToDesk、顺网云与青椒云对比

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online