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 只对之后创建的文件生效,不影响已存在的文件。
相关推荐
softbangong20 小时前
815-批量Excel文件合并工具,批量excel文件、工作表合并软件
linux·windows·excel·文件合并·excel合并·数据整理
城数派20 小时前
2000-2024年1km精度人口分布栅格数据(全球/全国/分省/分市)
arcgis·信息可视化·数据分析·excel
城数派21 小时前
1984-2024年中国10米分辨率城市土地利用栅格数据(商业、公服、居住等9类)
arcgis·信息可视化·数据分析·excel
城数派21 小时前
2015-2024年我国1km分辨率逐日地表温度(LST)栅格数据
数据库·arcgis·信息可视化·数据分析·excel
城数派1 天前
中国全国土壤有机碳密度数据集(2010-2024年)
数据库·arcgis·信息可视化·数据分析·excel
Python大数据分析@1 天前
Pandas相比Excel的优势是哪些?
excel·pandas
fengyehongWorld1 天前
Excel 添加自定义选项卡
excel
斯特凡今天也很帅2 天前
Excel在保留下拉选项的基础上,通过输入四级目录数据,在一级目录、二级目录、三级目录、五级目录的显示
excel
全栈开发圈3 天前
新书速览|Excel+DeepSeek会计与财务高效办公
语言模型·excel