一、FinalShell (Connection refused)
查看主机能够ping通虚拟机地址,说明主机和虚拟机的网络是通的,原因在于Ubantu一般会默认安装openssh-client,但是未安装openssh-server。 首先在虚拟机终端输入命令sudo apt install openssh-server安装ssh服务器,输入命令sudo apt install openssh-client安装ssh客户端。然后输入命令 sudo gedit /etc/ssh/ssh_config配置ssh客户端,去掉PasswordAuthentication yes前面的#号,保存后退出,再输入命令sudo gedit /etc/ssh/sshd_config配置ssh服务器,在PermitRootLogin prohibit-password加一句PermitRootLogin yes(加了这个后在finalshell等可以直接root连接虚拟机,用root连接才可以上传文件),保存退出。此外端口号22前面可能有#,有的去掉。 最后执行sudo /etc/init.d/ssh restart 重启ssh服务。
注:参考连接:Final shell远程连接Linux及问题解决 - 知乎 (zhihu.com)
二、Linux基础命令
command [-options] [parameter]
-
command:命令本身
-
-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
-
parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等
注:语法中的[],表示可选的意思
Linux系统中,路径之间的层级关系用“/”来表示;
Windows系统中,用“\”表示。
2.1 ls命令
ls [-a -l] [Linux路径]
用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录)
-
-a -l 是可选的选项
-
Linux路径是此命令可选的参数
ls
直接平铺(不含隐藏文件):ls -a
显示所有文件夹(含隐藏文件):注:图中以.开头的,表示linux系统的隐藏文件/文件夹(只要以.开头,就能自动隐藏)
ls -l
以列表(竖向列表)的形式展示内容,并展示更多信息
注:以上命令都可以结合,例如ls -al
2.2 cd和pwd命令
cd [linux路径]
更改当前所在的工作目录
-
cd命令直接执行,不写参数,表示回到用户的HOME目录
pwd
用于查看当前所在的工作目录(Print Work Directory)
2.3 相对路径和绝对路径以及特殊路径符
-
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以 / 开头
-
相对路径:以当前目录为起点,路径描述无需以 / 开头
特殊路径符:
-
. 表示当前目录,比如
cd ./Desktop
-
.. 表示上一级目录,比如
cd ..
返回上一级目录cd ../..
返回到上两级的目录 -
~ 表示HOME目录,比如
cd ~
2.4 mkdir命令
Make Directory :创建新的目录(文件夹)
mkdir [-p] Linux路径
-
-p可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录。
例如:
mkdir -p itcast/good/666
注:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作。涉及到权限问题,HOME外无法成功
2.5 touch、cat、more命令
2.5.1 touch
touch Linux路径
创建文件
例如: touch test.txt
2.5.2 cat
cat Linux路径
查看内容
例如: cat test.txt
2.5.3 more
more Linux路径
同样可以查看文件内容
例如: more test.txt
与cat
的不同不同点:
-
cat
是直接将内容全部显示出来 -
more
支持翻页,如果文件内容过多,可以一页页的展示
注:在查看的过程中,通过空格翻页;通过q退出查看
2.6 cp、mv、rm命令
2.6.1 cp
cp [-r] 参数1 参数2
复制文件\文件夹
-
-r选项:可选,用于复制文件夹使用,表示递归
-
参数1:linux路径,表示被复制的文件或者文件夹
-
参数2:linux路径,表示要复制去的地方
2.6.2 mv
mv 参数1 参数2
用于移动文件\文件夹
-
参数1:linux路径,表示被移动的文件或文件夹
-
参数2:linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
2.6.3 rm
rm [-r -f] 参数1 参数2 .....参数N
用于删除文件、文件夹
-
同
cp
命令一样,-r选项用于删除文件夹 -
-f表示force,强制删除(不会弹出提示确认信息)
-
普通用户删除内容不会弹出提示,只用root管理员用户删除内容会有提示
-
-
参数1、参数2.......表示要删除的文件或文件夹的路径,按照空格隔开
rm
命令支持通配符 * ,用于模糊匹配
-
符号 * 表示通配符,即匹配任意内容(包含空),示例:
-
test* : 表示匹配任何以test开头的内容
-
*test : 表示匹配任何以test结尾的内容
-
*test*: 表示匹配任何包含test的内容
-
切换root: su - root
临时切换到root用户,通过 exit
命令,退回普通用户
注:rm -rf /
和 rm -rf /*
等同于在Windows上执行C盘格式化
2.7 which、find命令
2.7.1 which
which 要查找的命令
查看所使用的一系列命令的程序文件存放在哪里
例如: which pwd
2.7.2 find
find 起始路径 -name "被查找文件名"
搜索指定文件
注:find命令同时使用通配符(见2.6节)
find 起始路径 -size +|-n[kMG]
按文件大小查找文件
-
+、- 表示大于和小于
-
n表示大小数字
-
kMG表示大小单位,k(小写)表示kb,M表示MB,G表示GM
示例:
-
查找小于10kb的文件:
find / -size -10k
-
查找大于100M的文件:
find / -size +100M
-
查找大于1GB的文件:
find / -size +1G
2.8 grep、wc和管道符
2.8.1 grep
grep [-n] 关键字 文件路径
从文件中通过关键字过滤文件行
-
选项-n :可选,表示在结果中显示匹配的行的行号
-
关键字:表示过滤的关键字,带有空格或其他特殊符号,建议使用 “ ” 将关键字包围起来
-
文件路径: 表示要过滤内容的文件路径,可作为内容输入端口
2.8.2 wc
wc [-c -m -l -w] 文件路径
统计文件的行数、单词数量等
-
-c : 统计bytes数量
-
-m : 统计字符数量
-
-l : 统计行数
-
-w :统计单词数量
-
文件路径:被 统计的文件,可作为内容输入端口
2.8.3 管道符 |
| :将管道符左边命令的结果,作为右边命令的输入
例如: cat test.txt | grep itheima
: 读取test.txt的文件内容,然后过滤关键字itheima
2.9 echo、tail和重定向符
2.9.1 echo
echo 输出的内容
可以使用echo命令在命令行输出指定内容,复杂内容可以用 “ ” 包围
2.9.2 反引号 `
被 ` ` 包围的内容会被作为命令执行。
例如: echo `pwd` 会输出执行pwd后的内容
2.9.3 重定向符 > 和>>
-
> : 将左侧命令的结果,覆盖写入到符号右侧指定的文件中
-
>> : 将左侧命令的结果,追加写入到符号右侧指定的文件中
例如:
echo "hello linux" > itheima.txt
echo "hello itcast" >> itheima.txt
2.9.4 tail
tail [-f -num] linux路径
可以查看文件尾部内容,跟踪文件的最新更改
-
linux路径 : 表示被跟踪的文件路径
-
-f : 表示持续跟踪
-
-num : 表示查看尾部多少行,不填默认10行
2.10 vi/vim编辑器
编辑器的三种工作模式:
命令模式:
该模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。此模型下,不能自由进行文本编辑。
输入模式:
即编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑
底线命令模式:
以 :开始,通常用于文件的保存、退出
注:具体指令学习网站:Linux vi/vim | 菜鸟教程 (runoob.com)
三、用户和权限
3.1 用户组管理
以下命令需root用户执行
-
创建用户组
groupadd 用户组名
-
删除用户组
groupdel 用户组名
3.2 用户管理
以下命令需root用户执行
1.创建用户
useradd [-g -d] 用户名
-
-g :指定用户的组;不指定 -g,会创建同名组并自动加入,指定-g 需要组已经存在,如已存在同名组,必须使用 -g
-
-d :指定用户HOME路径;不指定,HOME目录默认在: /home/用户名
2.删除用户
userdel [-r] 用户名
-
-r : 删除用户的HOME目录;不使用-r,删除用户时,HOME目录保留
3.查看用户所属组
id [用户名]
4.修改用户所属组
usermod -aG 用户组 用户名
将指定的用户加入指定用户组
3.3 getent命令
getent passwd
查看当前系统中哪些用户
显示的结果为(共7份信息):
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
getent group
查看当前系统中有哪些组
包含3份信息:
组名称:组认证(显示为X):组ID
3.4 查看权限控制
详情请看:www.cnblogs.com/ninnne/p/17609429.html
-
序号1,表示文件、文件夹的权限控制信息
-
序号2,表示文件、文件夹所属用户
-
序号3,表示文件、文件及所属用户组
举例:drwxr-xr-x ,表示:
-
这是一个文件夹,首字母d表示
-
所属用户的权限是:有r有w有x,rwx
-
所属用户组的权限是:有r无w有x,r-x
-
其他用户的权限是:有r无w有x,r-x
rwx:
-
r表示读权限
-
w表示写权限
-
x表示执行权限
文件和文件夹,rwx的含义有差别:
-
r,针对文件可查看文件内容;针对文件夹可以查看文件夹内容,如ls命令
-
w,针对文件表示可以修改文件;针对文件夹,可以在文件夹内:创建、删除、改名等操作
-
x,针对文件表示可以将文件作为程序执行;针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
3.5 修改权限控制chmod
chmod [-R] 权限 文件或文件夹
-
-R : 对文件夹内的全部内容应用同样的操作
注: 只有文件、文件夹的所属用户或root用户可以修改
式例:
chmod u=rwx,g=rx,o=x hello.txt
将文件权限修改为:rwxr-x--x
其中:u表示user所属用户权限,g表示group组权限,o表示other其他用户权限
chmod -R u=rwx,g=rx,o=x test
将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x
3.5.1 权限的数字序号
r代表4,w代表2,x代表1
快捷写法:chmod 751 hello.txt,把文件权限修改为751权限
user=7,group=5,other=1
3.6 修改权限控制chown
可以修改文件、文件夹的所属用户和用户组
注意:普通用户无法修改所属为其他用户或用户组,所以只适用于root用户执行
chown [-R] [用户] [:][用户组] 文件或文件夹
-
-R :同chmod,对文件夹内全部内容应用相同规则
-
用户 :修改所属用户
-
用户组:修改所属用户组
-
: : 用于分隔用户和用户组
示例:
chown root hello.txt :将hello.txt所属用户修改为root chown :root hello.txt :将hello.txt所属用户组修改为root chown root:itheima hello.txt : 将hello.txt所属用户修改为root,用户组修改为itheima chown -R root test : 将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则
四、进阶
4.1小技巧(快捷键)
4.1.1 ctrl+c强制停止
4.1.2 ctrl+d退出或登出
推出账户的登录,或者某些特定程序的专属页面(比如python界面)
注:不能用于vi/vim
4.1.3 history历史命令搜索
查看历史输入过的命令
4.1.3.1 !
!命令前缀 :自动执行上一次匹配前缀的命令
4.1.3.2 ctrl+r
通过ctrl+r,输入内容去匹配历史命令
如果搜索到的内容是你需要的,那么:
-
回车键可以直接执行
-
键盘左右键,可以得到此命令(不执行)
4.1.4 光标移动快捷键
-
ctrl+a : 跳到命令开头
-
ctrl+e : 跳到命令结尾
-
ctrl+ 键盘左键,向左跳一个单词
-
ctrl+键盘右键,向右跳一个单词
4.1.5 清屏
-
ctrl+l : 可以清空终端内容
-
clear
4.2 systemctl 命令
Linux系统有很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启
能够被systemctl管理的软件,一般也称之为:服务
systemctl start | stop | status | enable | disable 服务名
-
start : 启动
-
stop :关闭
-
status : 查看状态
-
enable :开启开机自启
-
disable : 关闭开机自启
系统内置的服务比较多,比如:
-
NetworkManager : 主网络服务
-
network : 副网络服务
-
firewalld : 防火墙服务
-
sshd : ssh服务(FinalShell远程登录Linux使用的就是这个服务)
4.3 软连接
将文件、文件夹链接到其他位置
类似于Windows系统中的 快捷方式
ln -s 参数1 参数2
-
-s : 创建软连接
-
参数1 : 被链接的文件或文件夹
-
参数2 : 要链接去的目的地
示例:
ln -s /etc/yum ~/yum
4.4 日期和时区
4.4.1 date
通过date命令可以在命令行中查看系统的时间
date [-d] [+格式化字符串]
-
-d : 按照给定的字符串显示日期,一般用于日期计算
-
格式化字符串 :通过特定的字符串标记,来控制显示的日期格式
-
%Y :年
-
%y : 年份后两位数字(00..99)
-
%m : 月份(01..12)
-
%d : 日(01..31)
-
%H :小时(00..23)
-
%M :分钟(00..59)
-
%S : 秒(00..60)
-
%s : 自1970-01-01 00:00:00 UTC到现在的秒数
-
date +%Y%m%d # 显示年月日 date -d "+1 day" +%Y%m%d # 显示后一天的日期 date -d "-1 day" +%Y%m%d # 显示前一天的日期 date -d "-1 month" +%Y%m%d # 显示上一月的日期 date -d "+1 month" +%Y%m%d # 显示下一月的日期 date -d "-1 year" +%Y%m%d # 显示前一年的日期 date -d "+1 year" +%Y%m%d # 显示下一年的日期
设置时间:
date -s # 设置当前时间,只有root权限才能设置,其他只能查看 date -s 20120523 # 设置成20120523,这样会把具体时间设置成00:00:00 date -s 01:01:01 # 设置具体时间,不会对日期做更改 date -s "01:01:01 2012-05-23" # 这样可以设置全部时间 date -s "01:01:01 20120523" # 这样可以设置全部时间 date -s "2012-05-23 01:01:01" # 这样可以设置全部时间 date -s "20120523 01:01:01" # 这样可以设置全部时间
4.4.2 时区修改
需要root权限
rm -f /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
4.4.2 ntp程序
通过ntp程序自动校准系统时间(需要自己下载安装)
启动并设置开机自启:
-
systemctl start ntpd
-
systemctl enable ntpd
当ntpd启动后会定期的帮助我们 联网校准系统的时间
也可以手动校准 需root权限:
ntpdate -u ntp.aliyun.com
4.5 IP地址、主机名
4.5.1 IP地址
127.0.0.1 : 指代本机
0.0.0.0 : 特殊IP地址
-
可以用于指代本机
-
可以在端口绑定中用来确定绑定关系
-
在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问
4.5.2 主机名
hostname
:查看主机名
hostnamectl set-hostname 主机名
: 修改主机名 (需root)
4.5.3 域名
先查看本机的记录(私人地址本)
-
Windows : C:\Windows\System32\drivers\etc\hosts
-
linux : /etc/hosts
再联网去DNS服务器(如114.114.114.114,8.8.8.8等)询问
4.5.4 虚拟机配置固定IP
-
在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
-
在linux系统中手动修改配置文件,固定IP
详情见:虚拟机中Linux系统配置静态IP (详细步骤)_虚拟机配置静态ip-CSDN博客
4.6 网络传输
4.6.1 ping命令
ping [-c num] ip或主机名
-
-c : 检查的次数;不使用-c选项,将无限次持续检查
-
ip或主机名 : 被检查的服务器的IP地址或主机名地址
示例:
ping baidu.com
4.6.2 wget命令
非交互式的文件下载器,可以在命令行内下载网络文件
wget [-b] url
-
-b : 后台下载,会将日志写入到当前工作目录的wget-log文件
-
url : 下载链接
通过tail命令可以监控后台下载进度: tail -f wget-log
4.6.3 curl命令
发送http网络请求,可用于: 下载文件、获取信息等
curl [-O] url
-
-O : 用于下载文件,当url是下载链接时,可以使用此选项保存文件
-
url : 要发起请求的网络地址
4.6.4 端口
4.6.4.1 端口定义
端口: 是设备与外界通讯交流的出入口。 端口可以分为:物理端口和虚拟端口两类
-
物理端口:又可以称之为接口,是常见的端口,如USB接口,RJ45网口,HDMI端口等
-
虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的
通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通
4.6.4.2 端口分类
Linux系统支持65535个端口,这6万多个端口分为3类使用:
-
公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口。(非特殊需要,不要占用这个范围的端口)
-
注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
-
动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用
4.6.4.3 查看端口占用
使用nmap命令(需要安装nmap)
nmap 被查看的IP地址
可以通过netstat命令,查看指定端口的占用情况 (需安装net-tools)
netstat -anp | grep 端口号
4.7 进程
为管理运行的程序,每一个程序在运行的时候,便会被操作系统注册为系统中的一个 进程
并会为每一个进程都分配一个独有的 进程ID(进程号)
4.7.1 查看进程
ps [-e -f]
-
-e : 显示全部的进程
-
-f : 以完全格式化的形式展示信息(展示全部信息)
固定用法: ps -ef
-
UID : 进程所属的用户ID
-
PID :进程的进程号ID
-
PPID : 进程的父ID(启动此进程的其他进程)
-
C : 此进程的CPU占有率(百分比)
-
STIME :进程的启动时间
-
TTY :启动此进程的终端序号,如显示 ?,表示非终端启动
-
TIME :进程占用CPU的时间
-
CMD:进程的启动路径或启动命令
4.7.2 关闭进程
kill [-9] 进程ID
-
-9 : 表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是是否关闭看进程自身的处理机制
4.8 主机状态
相关资料:TOP命令参数详解---10分钟学会top用法_top详解-CSDN博客
4.8.1 查看系统资源占用
top
命令即可,默认每5秒刷新一次
输入 q 或 ctrl +c 退出
4.8.1.1 系统整体的统计信息
-
第一行
top - 10:39:58 up 25 min, 2 users, load average: 0.09, 0.14, 0.25
-
top : 命令名称 ;
-
10:39:58 :当前系统时间;
-
up 25 min :启动了25分钟;
-
2 users :两个用户登录 ;
-
load : 1、5、15分钟负载
-
-
第二行
Tasks: 302 total, 1 running, 301 sleeping, 0 stopped, 0 zombie
-
Tasks : 302个进程;
-
1 running :1个在运行 ;
-
301sleeping :301个进程睡眠 ;
-
0 stopped : 0个停止进程 ;
-
0 zombie :0个僵尸进程
-
-
第三行
%Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0si, 0.0 st
-
us:用户CPU使用率
-
sy:系统CPU使用率
-
ni:高优先级进程占用CPU时间百分比
-
id: 空闲CPU率
-
wa: IO等待CPU占用率
-
hi: CPU硬件中断率
-
si:CPU软件中断率
-
st:强制等待占用CPU
-
-
第四、五行
KiB Mem : 1863012 total, 1286408 free, 216532 used, 360072 buff/cache
KiB Swap: 5242876 total, 7999484 free, 0 used. 1468240 avail Mem
-
KiB Mem : 物理内存
-
KiB Swap :虚拟内存(交换空间)
-
total:内存总量
-
free:空闲内存量
-
used:使用的内存量
-
buffer/cache:用作内核缓存的内存量
-
4.8.1.2 进程信息
PID 进程id USER 进程所有者的用户名 PR 优先级,越小越高 NI nice值,负值表示高优先级,正值表示低优先级 VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA SHR 共享内存大小,单位kb S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 N=负数优先级 I=空闲状态 %CPU 上次更新到现在的CPU时间占用百分比 %MEM 进程使用的物理内存百分比 TIME+ 进程使用的CPU时间总计,单位1/100秒 COMMAND 命令名/命令行或程序文件路径
4.8.1.3 top命令选项
选项 功能 -p 只显示某个进程的信息 -d 设置刷新时间,默认为5S -c 显示产生进程的完成命令,默认是进程名 -n 指定刷新次数,比如 top -n 3,刷新输出3次后退出 -b 以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,比如 top -b -n 3 > /tem/top.tmp -i 不显示任何闲置(idle)或无用(zombie)的进程 -u 查找特定用户启动的进程
4.8.1.4 交互式选项
按键 功能 h 显示帮助画面 c 显示产生进程的完整命令,等同于-c参数 f 可以选择需要展示的项目 M 根据驻留内存大小(RES)排序 P 根据CPU使用百分比大小进行排序 T 根据时间/累计时间进行排序 E 切换顶部内存显示单位 e 切换进程内存显示单位 l 切换显示平均负载和启动时间信息 i 不显示闲置或无用的进程,等同于-i参数 t 切换显示CPU状态信息 m 切换显示内存信息
4.8.2 磁盘信息监控
df [-h]
-
-h 以更加人性化的单位显示
4.8.2.1 查看CPU、磁盘相关信息
iostat [-x] [num1] [num2]
(需要安装sysstat)
-
-x 显示更多信息
-
num1 : 数字,刷新间隔;
-
num2 : 数字,刷新几次
注:tps : 该设备每秒的传输次数
4.8.3 网络状态监控
sar
命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)
sar -n DEV num1 num2
-
-n : 查看网络,DEV表示查看网络接口
-
num1 : 刷新间隔(不填就查看一次结束)
-
num2 : 查看次数(不填无线次数)
4.9 环境变量
env
命令即可查看当前系统中记录的环境变量
4.9.1 $符号
$符号用于取“变量”的值
环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用
$环境变量名
例如:
echo $PATH
就可以取得PATH这个环境变量的值,并通过echo语句输出出来
又或者 echo ${PATH}ABC
当和其他内容混合在一起的时候,可以通过{}来标注取的变量是谁
4.9.2 自行设置环境变量
1.临时设置
export 变量名=变量值
2.永久生效
-
针对当前用户生效,配置在当前用户的:~/.bashrc文件中
-
针对所有用户生效,配置在系统的: /etc/profile文件中
-
并通过语法: source 配置文件,进行立刻生效,或重新登录FinalShell生效
4.9.2.1 自定义环境变量PATH
export PATH=$PATH:文件路径
4.10 上传、下载
需下载安装 lrzsz
4.10.1 rz 命令
输入 rz 就行
或者直接拖进去就行了
4.10.2 sz 命令
sz 命令
4.11 压缩解压
4.11.1 压缩格式
-
zip : linux、windows、macos 常用
-
7zip : windows常用
-
rar : windows常用
-
tar : linux 、macos 常用
-
gzip : linux 、macos 常用
4.11.2 tar 命令
linux和Mac系统常用 .tar 和 .gz
-
.tar : 称之为tarball,归档文件, 即简单的将文件组装到一个 .tar 的文件内,并没有太多文件体积的减少,仅仅是简答的封装
-
.gz :常见为 .tar.gz,gzip 格式压缩文件 ,即用gzip压缩算法将文件压缩到一个文件内,可以极大减少压缩后的体积
针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作
tar [-c -v -x -f -z -C] 参数1 参数2 .... 参数N
-
-c : 创建压缩文件,用于压缩模式
-
-v : 显示压缩、解压过程,用于查看进度
-
-x : 解压模式
-
-f :要创建的文件,或要解压的文件,-f 选项必须在所有选项中位置处于最后一个
-
-z : gzip模式,不使用-z 就是普通模式的tarball 格式
-
-C :选择解压的目的地,用于解压模式
4.11.2.1 tar命令压缩
tar 的常用组合:
tar -cvf test.tar 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt 压缩到 test.tar 文件内
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt压缩到 test.tar.gz 文件内,使用gzip模式
注意:
-
-z 选项如果使用的话,一般处于选项位第一个
-
-f 选项, 必须 在选项最后一个
4.11.2.2 tar 解压
tar -xvf test.tar
解压 test.rar 将文件解压至当前目录
tar -xvf test.rar -C /home/itheima
解压 test.rar ,将文件解压至指定目录(/home/itheima)
tar -zxvf test.tar.gz -C /home/itheima
以Gzip模式解压 test.tar.gz ,将文件解压至指定目录(/home/itheima)
注意:
-
-z 选项如果使用的话,一般处于选项位第一个
-
-f 选项, 必须 在选项最后一个
-
-C选项单独使用,和解压所需的其他参数分开
4.11.3 zip命令压缩文件
zip [-r] 参数1 参数2 ... 参数N
-
-r : 被压缩的包含文件夹的时候,需要使用 -r 选项,和 rm、cp 等命令的 -r 效果一致
示例:
-
zip test.zip a.txt b.txt c.txt
将a.txt b.txt c.txt 压缩到 test.zip 文件内
-
zip -r test.zip test itheima a.txt
将 test 、itheima 两个文件夹 和 a.txt文件,压缩到 test.zip 文件内
4.11.4 unzip 命令解压
unzip [-d] 参数
-
-d : 指定要解压去的位置, 同 tar 的 -C 选项
-
参数 : 被解压的zip压缩包文件
示例:
-
unzip test.zip
: 将test.zip解压到当前目录 -
unzip test.zip -d /home/itheima
: 将 test.zip 解压到指定文件夹内 (/home/itheima)
注 : 本文章为作者本人观看"黑马程序员Linux教程"的视频所写的笔记,主要方便作者本人查阅观看
黑马程序员B站视频网址: 黑马程序员新版Linux零基础快速入门到精通,全涵盖linux系统知识、常用软件环境部署、Shell脚本、云平台实践、大数据集群项目实战等哔哩哔哩bilibili