Linux 核心操作合集(网络配置、XShell远程连接、vim文本编辑与操作、权限管理 实操手册)

一、网络连接管理(nmli)

(一)nmcli命令行配置IP

复制代码
tyl@myhost:~$ nmcli connection modify ens160 ipv4.method  manual ipv4.addresses 192.168.24.24/24
tyl@myhost:~$ nmcli connection modify ens160 ipv4.gateway 192.168.24.2
tyl@myhost:~$ nmcli connection modify ens160 ipv4.dns 192.168.24.2
tyl@myhost:~$ nmcli connection modify ens160 connection.autoconnect yes
tyl@myhost:~$ nmcli connection up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7)
tyl@myhost:~$ ip a

(二)nmcli 修改网络连接名称

复制代码
tyl@myhost:~$ nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
ens160  4d957f7a-3fc5-3305-890e-7f9f26ffa3f7  ethernet  ens160 
lo      14f7e4c0-3373-46a7-844a-05d139a12e60  loopback  lo     
tyl@myhost:~$ nmcli connection modify ens160 connection.id haha
tyl@myhost:~$ nmcli connection show
NAME  UUID                                  TYPE      DEVICE 
haha  4d957f7a-3fc5-3305-890e-7f9f26ffa3f7  ethernet  ens160 
lo    14f7e4c0-3373-46a7-844a-05d139a12e60  loopback  lo     

tyl@myhost:~$ nmcli connection modify haha connection.id ens160
tyl@myhost:~$ nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
ens160  4d957f7a-3fc5-3305-890e-7f9f26ffa3f7  ethernet  ens160 
lo      14f7e4c0-3373-46a7-844a-05d139a12e60  loopback  lo     

二、XShell远程连接

tyl@myhost:~$ cd /etc/ssh

tyl@myhost:/etc/ssh$ sudo vim sshd_config //以超级用户身份执行该操作,普通用户无权限

关键:开启 PermitRootLogin yes

三、文本编辑与文件操作

(一)文本编辑vim

基础操作流程

  1. 启动/创建
    • 命令:vim <文件名> (如 vim a.txt)
    • 特性:若文件不存在则直接创建并打开;若存在则打开编辑。
  2. 模式切换三角
    • 插入模式 (Insert) :按 i 进入 →→ 用于输入文本。
    • 命令模式 (Normal) :按 Esc 进入 →→ 用于导航、删除、复制、查找。
    • 底行模式 (Command-line) :在命令模式下按 : (Shift + ;) 进入 →→ 用于保存、退出、批量操作、配置。
  3. 退出机制
    • 正常退出:wq:x (保存并退出)。
    • 强制退出:wq! (只读文件强制保存), :q! (不保存强制退出)。
    • 仅退出:q (无修改时)。
    • 指定路径保存:w /path/to/file (另存为)。

光标导航体系

逻辑 :在命令模式下执行,分为"字符级"、"行级"、"文件级"和"屏幕级"移动。

移动维度 命令键 功能描述 备注
字符/方向 h j k l 左、下、上、右 基础移动
- + 上一行行首、下一行行首 j/k 的替代
单词跳转 w 向后跳一个单词
W (Shift+w) 向后跳一个空白分隔块 按空格跳转
行内定位 ^ 跳转到行首 (第一个非空字符)
$ 跳转到行尾
文件定位 gg 跳转到文件开头
G 跳转到文件末尾
数字 G 跳转到指定行行首 10G 跳第10行
屏幕滚动 Ctrl + b 向上翻屏 (Back)
Ctrl + f 向下翻屏 (Forward)

文本编辑核心

逻辑 :涵盖内容的增、删、改、复、撤。大部分在命令模式 下执行,部分涉及插入模式入口。

  1. 进入插入模式的快捷方式
  • 当前光标i (前插), a (后插)。
  • 行首/行尾I (行首插), A (行尾插)。
  • 新开一行o (下方新开), O (上方新开)。
  • 整行重写cc (剪切当前行并直接进入插入模式)。

2.删除操作 (Delete)

  • 字符级x (删光标处), X (删光标前)。
  • 行级dd (删整行)。
  • 范围级
    • dgg:从光标删至文件开头。
    • dG:从光标删至文件末尾。

3.复制与粘贴 (Copy & Paste)

  • 复制yy (复制当前行)。
  • 粘贴p (粘贴到光标行之后)。
  • 撤销u (Undo)。

4.底行模式下的批量行操作

  • 复制行范围:起始行,结束行 co 目标行
    • 例::1,3 co 5 (将1-3行复制到第5行之后)。
  • 移动行范围:起始行,结束行 m 目标行
    • 例::1,8 m 9 (将1-8行移动到第9行位置)。

查找与替换

逻辑 :主要在命令模式 下查找,在底行模式下替换。

1.查找 (命令模式 Esc)

  • 模糊匹配
    • /关键词:向下查找。
    • ?关键词:向上查找。
    • 导航:找到后按 n 跳转到下一个匹配项 (顺时针)。
  • 严格匹配 (单词)
    • /\<单词\>:确保匹配的是完整单词 (如 \<and\> 不会匹配到 stand)。

2.替换 (底行模式 )

  • 语法:范围 s/旧内容/新内容/标志
  • 全局替换
    • :%s/ro/RO/g:g/s1/s2/g
    • 含义:将文件中所有的 s1 替换为 s2 (%代表全文,g代表全局)。

辅助功能与系统交互

1.显示行号:set nu (在底行模式执行)。

2.系统交互

①挂起Ctrl + z (将 vim 放入后台)。

②恢复fg (在 Shell 中输入,将 vim 调回前台)。

3.智能补全

关键字补齐:Ctrl + n (在插入模式下,根据上下文提示单词)。

(二)文件操作基础命令

1、创建查看复制移动修改删除

操作类型 核心命令 关键选项 / 说明
创建文件 touch 新建空文件;若已存在则更新文件时间戳
vim 编辑并保存后创建文件,可直接写入内容
echo "内容" > 文件 覆盖重定向创建 / 写入;>> 为追加重定向
查看文件 cat 正序输出全部内容
tac 倒序输出全部内容
more/less 分页查看(less 支持上下滚动、搜索)
head/tail 查看前 / 后 N 行;tail -f 持续跟踪日志
复制文件 cp -r 递归复制目录;-a 保留所有属性(归档复制)
移动 / 重命名 mv 移动文件 / 目录,可重命名,-i:覆盖前有提示; -f:强制覆盖,无提示
修改内容 vim 标准文本编辑器
删除文件 rm -r 递归删除目录;-f 强制删除;rm -rf /* 为高危命令
tail -f

2、文件查找命令 find

  1. 基本语法

    find [查找路径] [查找条件] [处理动作]

  • 查找路径:指定从哪个目录开始递归查找(默认当前目录)
  • 查找条件:按文件名、用户、大小、时间等过滤
  • 处理动作 :对找到的文件执行操作(默认 -print 打印)
  1. 常用查找条件
条件选项 示例 说明
-user find /home -user redhat 查找 /home 下属于用户 redhat 的文件
-name find . -name "*.txt" 按文件名查找(支持通配符 */?
-type find / -type f 按类型查找:f= 普通文件,d= 目录,l= 软链接
-size find / -size +10M 按大小查找:+10M= 大于 10M,-5k= 小于 5k
-mtime find / -mtime -3 按修改时间查找:-3=3 天内修改过

3、重定向操作符

符号 名称 作用 示例
> 覆盖重定向 将命令输出覆盖写入文件,不存在则创建 echo "hello" > test.txt
>> 追加重定向 将命令输出追加到文件末尾 echo "world" >> test.txt
< 输入重定向 将文件内容作为命令的输入 wc -l < test.txt

(三)文件系统元数据与属性

1、文件时间戳详解(stat 命令查看)

时间戳 英文 含义 触发更新场景
访问时间 Access 最后一次读取文件内容的时间 catlesscp 等读取操作
修改时间 Modify 最后一次修改文件内容的时间 编辑文件内容(vim 编辑、echo > 写入等操作)
改变时间 Change 最后一次修改文件元数据的时间 修改权限、所有者、文件名、时间戳等非内容属性
创建时间 Birth 文件的创建时间 仅文件创建时赋值,后续不可修改

示例:执行 touch anaconda-ks.cfg 后,Access/Modify/Change 时间均更新为当前时间,Birth 时间保持不变。Modify 改变时,Change 一定改变 (因为修改内容本质上也是一种元数据变更),但是 Change 改变时,Modify 不一定改变(比如只改权限 / 文件名,内容没动)

2、元数据

元数据(Metadata) 是描述文件本身属性的数据,和文件内容无关,常见包括:

  • 权限(rwxr--r--
  • 所有者 / 所属组(UID/GID)
  • 文件名、链接数
  • 时间戳(Access/Modify/Change)
  • inode 号、文件大小、设备号
  • 扩展属性(SELinux 上下文等)

四、权限管理

(一)第文件元数据与基础认知

1、ls -l 输出详解

-rw-------. 1 root root 1001 Mar 16 21:09 anaconda-ks.cfg 为例:

  1. 文件类型与权限 (-rw-------):首位表示类型,后9位表示权限。
  2. 硬链接数 (1):指向该文件 inode 的链接数量。
  3. 所有者 (root):文件的属主 (User)。
  4. 所属组 (root):文件的属组 (Group)。
  5. 文件大小 (1001):默认单位为字节 (可用 -h 显示人类可读格式如 MB/GB)。
  6. 时间戳 (Mar 16 21:09):默认为修改时间 (mtime)。
  7. 文件名 (anaconda-ks.cfg):除 / 外几乎可使用任意字符。
  8. ACL 标记 (.+):
    • .:未配置访问控制列表 (FACL)。
    • +:已配置或曾经配置过 FACL。

2、 文件类型标识 (首位字符)

  • -:常规文件 (Regular file)
  • d:目录 (Directory)
  • b:块设备 (Block device)
  • c:字符设备 (Character device)
  • s:套接字文件 (Socket)
  • p:管道文件 (Pipe)
  • l:链接文件 (Link/Symbolic link)

(二)通用权限管理

1、 权限含义对照表

权限位 文件的作用 目录的作用
r (Read) 查看文件内容 列出目录内容 (ls)
w (Write) 修改文件内容 在目录内创建/删除文件 (注意: 删除文件取决于目录的 w 权限,而非文件本身)
x (Execute) 执行该程序 (文件内容需可执行) 进入/切换到该目录 (cd)

2、 权限修改命令

  • 语法chmod [模式] [文件名]
  • 模式一:字母表达式法
    • 用户类别u (所有者), g (所属组), o (其他人), a (所有人)。
    • 操作符+ (增加), - (移除), = (指定/覆盖)。
    • 示例
      • chmod u+x file (给所有者加执行权)
      • chmod g-r file (移除所属组读权)
      • chmod a=rwx file (所有人设为全权)
      • chmod u=r--,g=rw-,o=--x file (精确指定)
  • 模式二:数字表示法 (八进制)
    • 换算逻辑:r=4, w=2, x=1。
    • 组合:rwx=7, rw-=6, r-x=5, r--=4, ---=0。
    • 示例chmod 755 file (rwxr-xr-x), chmod 644 file (rw-r--r--)。
  • Root 特权说明 :Root 用户理论上无视权限限制(可读/写/执行任何文件),但在实际操作中(如 vim 编辑无 w 权限文件),若没有 w 位,直接保存会失败,需强制保存 (:w!),但这可能会覆盖原内容且无法看到原始状态。

(三)高级权限控制

1、文件访问控制列表 (FACL)

  • 作用:为特定用户或组设置独立的权限,突破 UGO 限制。
  • 识别ls -l 显示 + 号。
  • 设置命令 (setfacl)
    • -m:添加或修改权限。
      • setfacl -m u:redhat:- file (用户 redhat 无任何权限)
      • setfacl -m g:haha:rwx file (组 haha 拥有全权)
    • -x:删除指定的 ACL 条目。
    • -b:清除所有 ACL 条目,恢复为 . 状态。
  • 查看命令 (getfacl)getfacl filename

2、 文件特殊属性 (chattr / lsattr)

  • 作用:底层文件系统级别的属性锁定(比 chmod 更严格)。
  • 命令
    • chattr +/- [属性] 文件名 (如 chattr +i file 设为不可变(增删追加等操作均不行);chattr +a file 仅可追加)。
    • lsattr 文件名 (查看属性)。

(四)特殊权限

逻辑:针对可执行程序或目录的特殊行为控制,涉及 SUID, SGID, Sticky Bit。

权限名称 标识位 作用对象 核心功能描述 示例/现象
SUID s / S 可执行文件 临时提权:执行该程序时,进程的有效所有者变为文件的所有者 (而非启动者)。 /usr/bin/passwd (属主 root,普通用户执行时可修改 shadow 文件)。 chmod u-s 移除。
SGID s / S 目录 继承属组:在该目录下创建的新文件,其所属组自动继承该目录的所属组。 协作目录常用。 chmod g+s /dir
Sticky t / T 目录 防误删:目录中的文件仅创建者 (及 root) 可删除,其他人即使有 w 权限也无法删除他人文件。 /tmp 目录典型应用。 chmod o+t /dir
  • 大小写区别
    • 小写 s/t:表示对应位置原本有 x 权限 (x+s=s)。
    • 大写 S/T:表示对应位置原本 x 权限 (-+s=S)。

(五)权限掩码与默认值 (Umasks)

逻辑:解释为什么新建文件默认是 644 而不是 777。这是一种"减法"逻辑。

1、概念定义

  • Umasks :创建文件/目录时默认要扣除 (Mask out) 的权限。
  • 计算公式最终权限 = 最大默认权限 - Umasks
    • 文件最大默认:666 (rw-rw-rw-),因为文件默认不给执行权。
    • 目录最大默认:777 (rwxrwxrwx)。

2、配置与查看

  • 查看umask (通常显示为 0022)。
    • 示例 0022:
      • User 扣 0 →→ 保留全部 (rw-)
      • Group 扣 2 →→ 去掉 w (r--)
      • Other 扣 2 →→ 去掉 w (r--)
      • 结果:文件 644,目录 755。
  • 修改
    • 临时生效 :直接在终端输入 umask 0002
    • 永久生效 (当前用户) :编辑 ~/.bashrc,添加 umask 0002,然后 source ~/.bashrc
    • 永久生效 (全局) :编辑 /etc/bashrc
  • 注意 :修改 umask 只对之后创建的文件生效,不影响已存在的文件。
相关推荐
破z晓11 小时前
javascript 导出excel表
开发语言·javascript·excel
Am-Chestnuts16 小时前
豆包多轮回答中的表格导出 Excel:编号、日期与长数字检查
excel
hPw0eKIqD1 天前
使用二次封装的Excel COM 组件操作Excel\WPS ET中的区域、行和列
excel·wps
冰心孤城1 天前
Excel: xls与xlsx格式转换排坑指南
java·前端·excel
金豆呀2 天前
WPS批量提取Word文档内容生成固定格式Excel表格
word·excel·wps
Access开发易登软件2 天前
Access 怎么做前后端分离?用 Web API 读写 SQL Server
前端·数据库·人工智能·microsoft·excel·access
红莲凪是3 天前
使用二次封装的Excel COM 组件操作Excel\WPS ET IExcelRange 高级应用
python·excel·wps
用户298698530143 天前
如何使用免费工具在线将 Excel 转换为 XML 格式
人工智能·后端·excel
开开心心就好3 天前
内存清理工具定时自动清理开机自启动
java·开发语言·elasticsearch·ocr·excel·音视频·big data
开开心心就好3 天前
电脑内存优化工具一键释放内存超简单
java·开发语言·macos·arcgis·ocr·excel·音视频