Linux: 基本指令知识点(2)

1. 文件打包与压缩

1.1 基本概念

  • 打包:将多个文件合并为一个文件(防止文件丢失)

  • 压缩:通过算法减少文件体积(节省存储空间和网络传输时间)

  • 注意:在Linux中,打包和压缩通常不做明显区分,常通过组合命令同时完成

1.2 常用压缩命令

1.2.1 zip/unzip(适用于Linux与Windows互传)

  • 压缩
bash 复制代码
zip -r dst.zip src    # 递归压缩源文件/目录为目标压缩包
  • 解压
bash 复制代码
unzip XXX.zip                  # 解压到当前目录
unzip XXX.zip -d 指定目录      # 解压到指定目录

1.2.2 tar(适用于Linux与Linux互传)

  • 打包压缩
bash 复制代码
tar czf XXX.tgz 源文件/目录    # 创建gzip压缩的tar包
  • 参数说明:

    • c:创建归档
    • z:使用gzip压缩
    • f:指定文件名
  • 解压

bash 复制代码
tar xzf XXX.tgz                # 解压到当前目录
tar xzf lesson4.tgz -C /root   # 解压到指定目录/root

参数说明:

  • x:解压

  • z:使用gzip解压

  • f:指定文件名

  • C:指定解压目录

1.3 文件传输

1.3.1 scp命令(基于SSH的安全复制)

  • 上传到远程服务器
bash 复制代码
scp lesson.tgz whb@8.137.19.140:/home/whb/code/113
scp dst.tgz 用户名@你的公网IP:目标机器指定的路径

从远程服务器下载

bash 复制代码
scp kiana@8.137.19.140:/home/kiana/code/113/lesson.tgz .

1.3.2 rz/sz命令(Zmodem协议传输)

  • 安装(如未安装):
bash 复制代码
yum install lrzsz    # CentOS/RHEL
apt install lrzsz    # Ubuntu/Debian 

使用

bash 复制代码
rz    # 从本地上传文件到服务器
sz 文件名    # 从服务器下载文件到本地

2. 系统信息与维护

2.1 系统信息查看

  • 查看体系结构
bash 复制代码
uname -m    # 显示机器硬件名称
  • 常见架构:

    • x86:32位Intel/AMD处理器

    • x86_64(x64):64位Intel/AMD处理器

    • arm/aarch64:ARM架构处理器

  • 查看内核版本

bash 复制代码
uname -r    # 显示内核发行版本

2.2 系统维护命令

  • 关机/重启
bash 复制代码
shutdown -h now      # 立即关机
shutdown -r now      # 立即重启
halt                 # 关机
reboot               # 重启

注意:云服务器通常设计为永不停机,除非进行维护或不再使用

3. 命令行操作技巧

3.1 快捷键

  • Ctrl + C终止当前运行的任务

  • Ctrl + D退出当前用户(相当于输入exit)

  • Tab键(按两次):自动补全命令或路径

3.2 历史命令管理

  • 查看历史命令
bash 复制代码
history          # 显示所有历史命令
!n               # 执行历史记录中第n条命令
!string          # 执行最近以string开头的命令
  • 搜索历史命令

    • /键:上下翻阅历史命令

    • Ctrl + R反向搜索历史命令

3.3 环境变量

  • 查看命令位置
bash 复制代码
which 命令名      # 查看命令的可执行文件位置
whereis 命令名    # 查看命令的二进制文件、源文件和手册页位置

4. Shell原理与用户权限

4.1 Shell基础概念

  • 定义 :Shell是命令行解释器(Command Interpreter)

  • 功能

    1. 将用户的命令翻译给内核(kernel)处理

    2. 将内核的处理结果翻译给用户

  • 重要性

    • 方便用户操作操作系统

    • 保护内核,防止用户直接操作

4.2 Shell工作流程

text 复制代码
用户输入命令 → Shell解释 → 创建新进程 → 内核执行 → 返回结果 → Shell显示结果
  • 每个命令执行时,Shell会创建一个新的进程来运行该命令

  • 执行出错时,会返回错误信息给用户

4.3 Shell与Bash

  • 常见Shell类型

    • sh:Bourne Shell(早期标准)

    • bash:Bourne Again Shell(Linux默认,功能更强大)

    • zsh:Z Shell(功能丰富,macOS Catalina后默认)

    • csh/tcsh:C Shell(语法类似C语言)

  • 查看当前Shell

bash 复制代码
echo $SHELL        # 显示默认Shell
echo $0            # 显示当前Shell

4.4 Linux权限体系

4.4.1 用户分类
  • root用户:超级管理员,拥有最高权限

  • 普通用户:权限受限,受系统管控

    • 类比Windows:管理员(admin)vs 普通用户
4.4.2 权限规则
  • 普通用户不允许修改系统关键文件和目录

  • 权限不足时会出现错误:

text 复制代码
cp: cannot create regular file /usr/bin/myprocess: Permission denied
4.4.3 用户切换(su/su-)
  • 普通用户 → root用户
bash 复制代码
su          # 切换用户,环境变量不变
su -        # 切换用户,并加载目标用户的环境变量(推荐)

需要输入root密码

  • root用户 → 普通用户
bash 复制代码
su 用户名    # 切换到指定用户

不需要密码

4.4.4 sudo命令(临时提权)
bash 复制代码
sudo 命令    # 以root权限执行单条命令
  • 需要用户有sudo权限(在/etc/sudoers中配置)

  • 第一次使用需要输入当前用户密码

5. 总结

  1. 压缩传输 :根据跨平台需求选择zip(Windows兼容)或tar(Linux间高效传输)

  2. 安全复制scp基于SSH,传输过程加密安全

  3. 系统信息uname命令快速获取系统架构和内核版本

  4. 效率工具:善用快捷键和历史命令搜索提升操作效率

  5. Shell角色:作为用户与内核间的翻译官和保护层

  6. 权限管理:理解root与普通用户的权限差异,掌握安全的用户切换方法

  7. 云服务器:设计为高可用,非必要不重启,通过SSH远程管理

相关推荐
辞旧 lekkk11 小时前
【Qt】信号和槽
linux·开发语言·数据库·qt·学习·mysql·萌新
袁雅倩199712 小时前
当吸尘器、筋膜枪都用上Type-C,供电方案该怎么选?浅谈PD取电芯片ECP5702的应用
c语言·开发语言·支持向量机·动态规划·推荐算法·最小二乘法·图搜索算法
疯狂成瘾者14 小时前
服务器的单体和集群
运维·服务器
liuhuizuikeai14 小时前
可视化门禁---Linux/Qt+SqLite篇
linux·运维·qt
王老师青少年编程14 小时前
csp信奥赛C++高频考点专项训练之字符串 --【子串查找】:[NOIP 2009 提高组] 潜伏者
c++·字符串·csp·高频考点·信奥赛·子串查找·潜伏者
初願致夕霞14 小时前
基于系统调用的Linux网络编程——UDP与TCP
linux·网络·c++·tcp/ip·udp
爱上好庆祝15 小时前
学习js的第七天(wed APIs的开始)
前端·javascript·css·学习·html·css3
问心无愧051315 小时前
ctf show web入门37
笔记
小小de风呀16 小时前
de风——【从零开始学C++】(五):内存管理
开发语言·c++
羊群智妍16 小时前
2026生成式AI搜索优化:GEO监测工具全解析
笔记