Linux 实用技能大合集:打包、传文件、权限与Shell
一、打包压缩:把文件“变小变整”的技巧
不管是存文件还是传文件,打包压缩都是刚需。先搞懂三个核心问题:是什么、为什么、怎么办。
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

(2).tgz格式:Linux专用,压缩率更高
tgz 是 tar 打包+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看这张图,解压时会显示每个文件的处理过程:

二、文件互传: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
输完会提示输目标服务器的密码,验证通过就开始传:

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

三、几个超实用的小命令
1. bc:Linux里的“计算器”
想算浮点运算(比如1.2+3.4),直接输 bc 进入计算器模式,输完表达式按回车出结果,按 ctrl+d 退出:

2. 查内核版本:uname 和 cat
- 快速查内核版本:
uname -r;

- 查更详细的内核信息:
cat /proc/version;

3. 关机命令:shutdown
- 立即关机:
shutdown -h now; - 10分钟后关机:
shutdown -h 10; - 取消关机:
shutdown -c;

四、Linux热键:提升效率的“快捷键”
- Tab键:命令/文件名补全(输一半按Tab,能自动补全,少打字);

- Ctrl+C:停止当前命令(比如命令卡住了,按一下就停);
- 上下箭头:翻历史命令(不用重新输之前用过的命令);
- Ctrl+R:搜索历史命令(按Ctrl+R后输关键词,能找到之前用过的命令)。
五、Shell:Linux的“命令翻译官”
你在终端输的命令,不是直接给内核执行的,而是先经过“Shell”处理——Shell就像“翻译官”,把你能懂的命令,翻译成内核能懂的语言。
1. Shell的工作原理
看这张图就懂了:

- 你在终端输命令(比如
ls); - Shell接收命令,分析解析;
- 把解析后的指令传给内核执行;
- 内核执行完,把结果通过Shell显示在终端上。
我们常用的Shell是 bash(Linux默认),可以理解为:Shell是一个“大类”,bash是其中最常用的“小类”,就像“媒婆”是大类,“王婆”是其中一个媒婆。
六、Linux权限:谁能做什么,说了算
权限的核心是“限制人对文件的操作”,先搞懂“人”和“权限”的划分。
1. 两种用户:root(超级管理员)和普通用户
- root用户:相当于“系统老板”,能做任何操作(删文件、改配置,几乎不受限制);
- 普通用户:比如
whb,只能操作自己有权限的文件,不能乱改系统文件。
(1)添加普通用户:adduser
# 添加一个叫 whb 的普通用户
adduser whb

(2)切换用户:su
- 普通用户切root:
su root(需要输root密码);

- root切普通用户:
su whb(不用输密码,直接切);

- 更彻底的切换(加载用户环境变量):
su - 用户名(比如su - root);

注意:两个普通用户互切,需要输目标用户的密码。
(3)临时提权:sudo
普通用户想执行root才能做的操作(比如装软件),不用切root,用 sudo 临时提权:
# 普通用户用 sudo 装 lrzsz(相当于用root身份装)
sudo yum install -y lrzsz
输完会提示输“当前普通用户的密码”(不是root密码),验证通过就执行。
为什么能提权?因为该用户在“sudo白名单”里(配置文件 /etc/sudoers 里设置):

2. 文件权限:三种角色 + 三种操作
(1)三种角色(谁能操作文件)
- 拥有者(u):文件的创建者(比如你建的文件,你就是拥有者);
- 所属组(g):文件所属的用户组(比如把多个用户拉进“dev组”,组里的人共享权限);
- 其他者(o):既不是拥有者,也不在所属组的人(权限最严格)。
看这张图,能清楚看到文件的角色划分:


(2)三种操作(能做什么)
r(read):读权限(能看文件内容、列目录文件);w(write):写权限(能改文件内容、在目录增删文件);x(execute):执行权限(能运行程序、进入目录)。
比如权限 rw-r--r-- 表示:
- 拥有者(u):
rw-(能读能写,不能执行); - 所属组(g):
r--(只能读); - 其他者(o):
r--(只能读)。

(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

3. 权限总结
一张图看懂权限逻辑:

最后:apt 和 yum 的小区别
- yum:CentOS、RHEL 等系统用的包管理器;
- apt:Ubuntu、Debian 等系统用的包管理器;
用法类似,比如搜索软件:
# yum 搜索软件
yum search lrzsz
# apt 搜索软件
apt search lrzsz

另外,要是 yum 进程卡住了,用 killall yum 强制关掉就行。
- 点赞
- 收藏
- 关注作者










评论(0)