跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
|注册
博客列表

目录

  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. 粘滞位
Shell / Bash

Linux 基础指令与权限管理

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

蜜桃汽水发布于 2026/3/29更新于 2026/4/131 浏览
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

文章配图

极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog

更多推荐文章

查看全部
  • C++ 二叉搜索树原理与高效实现
  • Linux 下 Vim 编辑器使用详解
  • Mac 系统 OpenClaw 本地 AI 执行引擎安装与配置指南
  • Java AWT 布局管理器详解
  • Visual C++ 运行库安装故障诊断与修复指南
  • Testsigma 开源自动化测试平台实战部署指南
  • AI 辅助 C++ 正确使用 override 关键字
  • LeetCode 206:反转链表

相关免费在线工具

  • 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

展现压缩或解包过程,在选项中添加 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 权限)
    • 粘滞位:任何用户,在设置了粘滞位的目录下,自己只能删除自己的文件,其他人无法删除
    • 粘滞位只用给目录设置,不需要给普通用户设置
C++ 多态核心原理与虚函数表详解
  • C++23 常用特性详解
  • MuJoCo 足式机器人强化学习:URDF 转 XML 配置指南
  • 飞书 OpenClaw 机器人接入指南:基于长连接无需服务器
  • 西门子 S7-1200 PLC 与爱普生机器人 Modbus TCP 通讯配置
  • 解决 Python pip 报错 Preparing metadata (pyproject.toml) failed
  • 医疗 AI 场景下模型融合与集成策略深度解析
  • OpenClaw 新手指南:AI 机器人搭建与配置全攻略
  • 操作系统智能助手 OS Copilot 新功能测评
  • Matlab 一键生成 FPGA 存储器初始化文件:MIF、COE 及 TXT 格式详解
  • WebRTC 播放器横向测评:H5 低延迟直播方案选型
  • Eino 组件核心篇:Embedding 功能解析与使用指南