Linux 实用技能大合集:打包、传文件、权限与Shell

举报
yd_290604680 发表于 2025/08/28 17:13:08 2025/08/28
【摘要】 一、打包压缩:把文件“变小变整”的技巧不管是存文件还是传文件,打包压缩都是刚需。先搞懂三个核心问题:是什么、为什么、怎么办。 1. 先明白:打包压缩是啥?打包:把多个文件/文件夹合并成一个文件(比如把10个文档合成1个包);压缩:用算法减小文件体积(比如100MB压成20MB);实际用的时候,这俩通常一起做,常见格式是 .zip 和 .tgz(Linux里更常用 .tgz)。 2. 为啥要...

一、打包压缩:把文件“变小变整”的技巧

不管是存文件还是传文件,打包压缩都是刚需。先搞懂三个核心问题:是什么、为什么、怎么办

1. 先明白:打包压缩是啥?

  • 打包:把多个文件/文件夹合并成一个文件(比如把10个文档合成1个包);
  • 压缩:用算法减小文件体积(比如100MB压成20MB);
  • 实际用的时候,这俩通常一起做,常见格式是 .zip.tgz(Linux里更常用 .tgz)。

2. 为啥要打包压缩?

  • 省空间:压缩后文件变小,省磁盘空间;
  • 快传输:体积小了,传文件时省带宽、少等时间;
  • 防出错:多个文件合成一个,传的时候不容易漏文件(比如传10个文件可能漏1个,传1个包就不会)。

3. 两种常用格式:zip 和 tgz

(1).zip格式:Windows和Linux通用

  • 压缩:用 zip 命令,加 -r 表示“递归压缩”(连子文件夹一起压):
    # 把 folder 文件夹压缩成 folder.zip
    zip -r folder.zip folder
    
  • 解压:用 unzip 命令:
    # 解压 folder.zip 到当前目录
    unzip folder.zip
    
    看这张图,就是压缩后的效果:
    image.png

(2).tgz格式:Linux专用,压缩率更高

tgztar 打包+gzip 压缩的组合,命令里的字母各有含义:

  • c:创建新包;

  • z:用gzip压缩;

  • v:显示压缩/解压过程(能看到进度);

  • f:指定包的名字;

  • x:解压包。

  • 打包压缩

    # 把 folder 文件夹打包压缩成 folder.tgz
    tar -cvzf folder.tgz folder
    
  • 解压

    # 解压 folder.tgz 到当前目录
    tar -xvzf folder.tgz
    
    # 解压到指定路径(比如解压到 /home/user 目录)
    tar -xvzf folder.tgz -C /home/user
    

    看这张图,解压时会显示每个文件的处理过程:
    image.png

二、文件互传:Linux与Windows、Linux与Linux

传文件分两种场景,方法不一样,记清楚就行。

1. Linux(云服务器)↔ Windows

lrzsz 工具,先装工具(CentOS用yum,Ubuntu用apt):

# CentOS 安装 lrzsz
yum install -y lrzsz

# Ubuntu 安装 lrzsz
apt install -y lrzsz
  • Windows传文件到Linux:在Xshell里输 rz,会弹出文件选择框,选要传的文件就行;
  • Linux传文件到Windows:输 rz 对应的 sz 命令:
    # 把 Linux 里的 file.txt 传到 Windows
    sz file.txt
    
  • 更简单的方法:Xshell里直接把Windows文件拖拽到终端,自动上传。

2. Linux与Linux互传(远程拷贝)

scp 命令,比如把“服务器A的文件”传到“服务器B”:

# 格式:scp 本地文件 目标用户@目标IP:目标路径
# 例:把本地的 folder.tgz 传到 192.168.1.100 的 /home 目录
scp folder.tgz root@192.168.1.100:/home

输完会提示输目标服务器的密码,验证通过就开始传:
image.png

传过去后,在目标服务器上解压就行:
image.png

三、几个超实用的小命令

1. bc:Linux里的“计算器”

想算浮点运算(比如1.2+3.4),直接输 bc 进入计算器模式,输完表达式按回车出结果,按 ctrl+d 退出:
image.png

2. 查内核版本:uname 和 cat

  • 快速查内核版本:uname -r
    image.png
  • 查更详细的内核信息:cat /proc/version
    image.png

3. 关机命令:shutdown

  • 立即关机:shutdown -h now
  • 10分钟后关机:shutdown -h 10
  • 取消关机:shutdown -c
    image.png

四、Linux热键:提升效率的“快捷键”

  • Tab键:命令/文件名补全(输一半按Tab,能自动补全,少打字);
    image.png
  • Ctrl+C:停止当前命令(比如命令卡住了,按一下就停);
  • 上下箭头:翻历史命令(不用重新输之前用过的命令);
  • Ctrl+R:搜索历史命令(按Ctrl+R后输关键词,能找到之前用过的命令)。

五、Shell:Linux的“命令翻译官”

你在终端输的命令,不是直接给内核执行的,而是先经过“Shell”处理——Shell就像“翻译官”,把你能懂的命令,翻译成内核能懂的语言。

1. Shell的工作原理

看这张图就懂了:
image.png

  1. 你在终端输命令(比如 ls);
  2. Shell接收命令,分析解析;
  3. 把解析后的指令传给内核执行;
  4. 内核执行完,把结果通过Shell显示在终端上。

我们常用的Shell是 bash(Linux默认),可以理解为:Shell是一个“大类”,bash是其中最常用的“小类”,就像“媒婆”是大类,“王婆”是其中一个媒婆。

六、Linux权限:谁能做什么,说了算

权限的核心是“限制人对文件的操作”,先搞懂“人”和“权限”的划分。

1. 两种用户:root(超级管理员)和普通用户

  • root用户:相当于“系统老板”,能做任何操作(删文件、改配置,几乎不受限制);
  • 普通用户:比如 whb,只能操作自己有权限的文件,不能乱改系统文件。

(1)添加普通用户:adduser

# 添加一个叫 whb 的普通用户
adduser whb

image.png

(2)切换用户:su

  • 普通用户切root:su root(需要输root密码);
    image.png
  • root切普通用户:su whb(不用输密码,直接切);
    image.png
  • 更彻底的切换(加载用户环境变量):su - 用户名(比如 su - root);
    image.png

注意:两个普通用户互切,需要输目标用户的密码。

(3)临时提权:sudo

普通用户想执行root才能做的操作(比如装软件),不用切root,用 sudo 临时提权:

# 普通用户用 sudo 装 lrzsz(相当于用root身份装)
sudo yum install -y lrzsz

输完会提示输“当前普通用户的密码”(不是root密码),验证通过就执行。

为什么能提权?因为该用户在“sudo白名单”里(配置文件 /etc/sudoers 里设置):
image.png

2. 文件权限:三种角色 + 三种操作

(1)三种角色(谁能操作文件)

  • 拥有者(u):文件的创建者(比如你建的文件,你就是拥有者);
  • 所属组(g):文件所属的用户组(比如把多个用户拉进“dev组”,组里的人共享权限);
  • 其他者(o):既不是拥有者,也不在所属组的人(权限最严格)。

看这张图,能清楚看到文件的角色划分:
image.png
image.png

(2)三种操作(能做什么)

  • r(read):读权限(能看文件内容、列目录文件);
  • w(write):写权限(能改文件内容、在目录增删文件);
  • x(execute):执行权限(能运行程序、进入目录)。

比如权限 rw-r--r-- 表示:

  • 拥有者(u):rw-(能读能写,不能执行);
  • 所属组(g):r--(只能读);
  • 其他者(o):r--(只能读)。
    image.png

(3)修改权限:chmod

chmod 命令改权限,格式:chmod 角色±权限 文件名

  • 角色:u(拥有者)、g(所属组)、o(其他者)、a(所有人);
  • ±权限:+ 加权限,- 减权限。

例子:

# 给 test.txt 的拥有者(u)去掉读权限(r)
chmod u-r test.txt

# 给 test.txt 的所属组(g)加写权限(w)
chmod g+w test.txt

# 给所有人(a)加执行权限(x)
chmod a+x test.txt

image.png

3. 权限总结

一张图看懂权限逻辑:
image.png

最后:apt 和 yum 的小区别

  • yum:CentOS、RHEL 等系统用的包管理器;
  • apt:Ubuntu、Debian 等系统用的包管理器;

用法类似,比如搜索软件:

# yum 搜索软件
yum search lrzsz

# apt 搜索软件
apt search lrzsz

image.png

另外,要是 yum 进程卡住了,用 killall yum 强制关掉就行。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。