最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux文件操作實(shí)戰(zhàn)之壓縮,遠(yuǎn)程傳輸和終端計(jì)算速成

 更新時(shí)間:2026年01月22日 09:14:44   作者:霧忱星  
Linux終端操作是運(yùn)維、開(kāi)發(fā)必備基礎(chǔ),日常工作與面試均高頻涉及,本文以實(shí)操為核心,講解tar、scp、bc指令用法,補(bǔ)充面試題與熱鍵,結(jié)合故事拆解Shell與內(nèi)核交互邏輯,感興趣的小伙伴可以了解下

引言

Linux終端操作是運(yùn)維、開(kāi)發(fā)必備基礎(chǔ),日常工作與面試均高頻涉及。

本文以實(shí)操為核心,講解tar、scp、bc指令用法,補(bǔ)充面試題與熱鍵,結(jié)合故事拆解Shell與內(nèi)核交互邏輯。

知識(shí)點(diǎn)搭配終端案例,新手可直接復(fù)制測(cè)試,快速掌握Linux基礎(chǔ)。

一、文件壓縮與解壓

1.1 tar:壓縮與解壓的“萬(wàn)能工具”

tar 是 Linux 最常用的壓縮 / 解壓指令,支持多種壓縮格式(.tar、.tar.gz、.tar.bz2等),其核心作用是“打包”(將多個(gè)文件/文件夾合并)和“壓縮”(減小體積),可以結(jié)合使用。

語(yǔ)法:tar [選項(xiàng)] 目標(biāo)文件/目錄

功能: 把多個(gè)文件/目錄打包成一個(gè) (.tar) 文件。

常用選項(xiàng):

  • -c:創(chuàng)建壓縮包(打包/壓縮時(shí)必用)
  • -x:解壓壓縮包(解壓時(shí)必用)
  • -f:指定壓縮包文件名(必須放在所有選項(xiàng)最后,緊跟文件名)
  • -v:顯示操作過(guò)程(常用,但是不建議在背景執(zhí)行過(guò)程使用)
  • -C:指定解壓目錄(解壓時(shí)用,可自定義輸出路徑)
  • -z:使用 gzip 算法壓縮/解壓(對(duì)應(yīng) .tar.gz 格式,最常用)
  • -j:使用 bzip2 算法壓縮/解壓(對(duì)應(yīng) .tar.bz2 格式,壓縮率更高)
  • -t:查看壓縮包內(nèi)的文件列表(不解壓)

常用組合參數(shù):

-czf [壓縮包文件名.tgz] [要打包的文件/目錄](méi) / -czvf...顯示壓縮過(guò)程

#==================
#使用-czf打包壓縮文件
#==================
[root@VM-0-6-centos ~]# ls
B  test.txt
#遞歸創(chuàng)建目錄
[root@VM-0-6-centos ~]# mkdir -p lesson/a/b/c/d
[root@VM-0-6-centos ~]# ls
B  lesson  test.txt
[root@VM-0-6-centos ~]# tree lesson/
lesson/
`-- a
    `-- b
        `-- c
            `-- d

4 directories, 0 files
[root@VM-0-6-centos ~]# tar -czf lesson.tgz lesson/
[root@VM-0-6-centos ~]# ls
B  lesson  lesson.tgz  test.txt
[root@VM-0-6-centos ~]# ll lesson.tgz 
-rw-r--r-- 1 root root 165 Jan 20 13:33 lesson.tgz

#==============
# -v顯示壓縮過(guò)程
#==============
#移除已存在的壓縮包
[root@VM-0-6-centos ~]# rm lesson.tgz 
rm: remove regular file ‘lesson.tgz'? y
[root@VM-0-6-centos ~]# ls
B  lesson  test.txt
[root@VM-0-6-centos ~]# tar -czvf lesson.tgz lesson/
lesson/
lesson/a/
lesson/a/b/
lesson/a/b/c/
lesson/a/b/c/d/
[root@VM-0-6-centos ~]# ls
B  lesson  lesson.tgz  test.txt
[root@VM-0-6-centos ~]# ll lesson.tgz 
-rw-r--r-- 1 root root 165 Jan 20 13:35 lesson.tgz

#==================================
#在tar命令末尾加 & :表示行為在后臺(tái)完成
#==================================
#后臺(tái)打包壓縮
[root@VM-0-6-centos ~]# pwd
/root
[root@VM-0-6-centos ~]# ls
B  lesson  lesson.tgz  test.txt
[root@VM-0-6-centos ~]# rm lesson.tgz 
rm: remove regular file ‘lesson.tgz'? y
[root@VM-0-6-centos ~]# ls
B  lesson  test.txt
[root@VM-0-6-centos ~]# tar -czf lesson.tgz lesson/ &
[1] 26377
[root@VM-0-6-centos ~]# 
[1]+  Done                    tar -czf lesson.tgz lesson/

-xzf [壓縮包文件名.tgz],... -C [路徑](解壓到指定位置)

#=======================
#解壓到當(dāng)前路徑下的B文件夾中
#=======================
[root@VM-0-6-centos ~]# tar -xzf lesson.tgz -C ./B
[root@VM-0-6-centos ~]# ls
B  lesson  lesson.tgz  test.txt
[root@VM-0-6-centos ~]# ls B
b1  lesson
[root@VM-0-6-centos ~]# tree ./B/lesson/
./B/lesson/
`-- a
    `-- b
        `-- c
            `-- d

4 directories, 0 files

#==================================
#在tar命令末尾加 & :表示行為在后臺(tái)完成
#==================================
#后臺(tái)解壓
[root@VM-0-6-centos ~]# ls B
b1
[root@VM-0-6-centos ~]# tar -xzf lesson.tgz -C ./B &
[1] 26790
[root@VM-0-6-centos ~]# 
[1]+  Done                    tar -xzf lesson.tgz -C ./B

二、遠(yuǎn)程文件傳輸+終端計(jì)算

2.1 scp:遠(yuǎn)程拷貝

scp 基于 SSH 協(xié)議,可實(shí)現(xiàn)本地與遠(yuǎn)程服務(wù)器、遠(yuǎn)程服務(wù)器之間的文件/目錄傳輸,傳輸過(guò)程加密,安全可靠,適合跨服務(wù)器同步文件。

語(yǔ)法:

  • 本地 → 遠(yuǎn)程scp [選項(xiàng)] 本地文件/目錄 遠(yuǎn)程用戶(hù)@遠(yuǎn)程IP:遠(yuǎn)程路徑
  • 遠(yuǎn)程 → 本地scp [選項(xiàng)] 遠(yuǎn)程用戶(hù)@遠(yuǎn)程IP:遠(yuǎn)程文件/目錄 本地路徑

常用選項(xiàng):

  • -r:遞歸傳輸目錄(傳輸文件夾時(shí)必用,否則只傳空目錄)
  • -p:保留文件的修改時(shí)間、權(quán)限等屬性(傳輸后文件屬性不變)。

2.2 bc:Linux終端計(jì)算器

bc 是 Linux 內(nèi)置的命令行計(jì)算器,支持 整數(shù)/小數(shù)運(yùn)算、進(jìn)制轉(zhuǎn)換、函數(shù)計(jì)算,適合在終端快速執(zhí)行數(shù)學(xué)運(yùn)算,無(wú)需打開(kāi)圖形化計(jì)算器。

語(yǔ)法:

  • 直接進(jìn)入計(jì)算器交互模式:bc(輸入運(yùn)算式回車(chē)計(jì)算,輸入 quit 退出)
  • 非交互模式(一次性計(jì)算):echo "運(yùn)算式" | bc [選項(xiàng)]

常用選項(xiàng):-l:加載數(shù)學(xué)庫(kù)(支持小數(shù)運(yùn)算、三角函數(shù)等,必加否則默認(rèn)整數(shù)運(yùn)算)。

使用:

#========================
#默認(rèn)下,計(jì)算器不支持小數(shù)運(yùn)算
#========================
[root@VM-0-6-centos ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1+2
3
3/3
1
2*3
6
1/2
0
1.2/2
0
quit

#=======
#-l選項(xiàng)
#=======
[root@VM-0-6-centos ~]# bc -l
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1+2
3
2*3
6
1/2
.50000000000000000000
1.2/2
.60000000000000000000
quit


#==========
#非交互模式-管道
#==========
[root@VM-0-6-centos ~]# echo "1+2" | bc
3
[root@VM-0-6-centos ~]# echo "1*2" | bc
2
[root@VM-0-6-centos ~]# echo "1?2" | bc
(standard_in) 1: illegal character: ?
(standard_in) 1: syntax error
[root@VM-0-6-centos ~]# echo "1/2" | bc
0
[root@VM-0-6-centos ~]# echo "1/2" | bc -l
.50000000000000000000

三、必看面試題+常用熱鍵

3.1 你的計(jì)算機(jī)體系結(jié)構(gòu)是什么?

計(jì)算機(jī)體系結(jié)構(gòu)是什么,本質(zhì)問(wèn)的是 CPU架構(gòu)是什么。

指令:uname -r查看:

[root@VM-0-6-centos ~]# uname -r
3.10.0-1160.119.1.el7.x86_64

其中 x86_64就是計(jì)算機(jī)的體系結(jié)構(gòu),后面如果沒(méi)有64,那就是32(但是很少見(jiàn))。

3.2 如何查看你的 Linux 的內(nèi)核版本?

內(nèi)核版本是Linux操作系統(tǒng)核心組件的版本號(hào),就像汽車(chē)的發(fā)動(dòng)機(jī)版本,決定了系統(tǒng)的基礎(chǔ)功能和性能。

也是指令uname -r查看:

3.10.0-1160.119.1.el7.x86_64

其中3.10.0-1160.119.1就是內(nèi)核版本

# 您的內(nèi)核版本:3.10.0-1160.119.1
3.10.0-1160.119.1.el7.x86_64
┌──┬──┬──┬──────────┬────────────┬──────┬─────────┐
│3 │10│0 │ -1160    │ .119.1     │ .el7 │ .x86_64 │
├──┼──┼──┼──────────┼────────────┼──────┼─────────┤
│主│次│修│ RedHat    │  安全更新   │ 發(fā)行版│  硬件    │
│版│版│訂│ 基礎(chǔ)構(gòu)建   │   序列號(hào)    │ 標(biāo)識(shí)  │  架構(gòu)    │
│本│本│版│  編號(hào)     │             │      │         │
│號(hào)│號(hào)│本│           │            │      │         │
└──┴──┴──┴──────────┴────────────┴──────┴─────────┘

3.3 如何查看你的具體系統(tǒng)發(fā)行版?

指令:

[root@VM-0-6-centos ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

其中發(fā)行版:

NAME="CentOS Linux"
VERSION="7 (Core)"

3.4 四個(gè)熱鍵

熱鍵名稱(chēng)作用
Ctrl + C中斷/停止強(qiáng)制終止當(dāng)前正在運(yùn)行的前臺(tái)進(jìn)程(程序)
Ctrl + R反向搜索搜索歷史命令記錄(輸入關(guān)鍵詞后會(huì)匹配最近執(zhí)行過(guò)好友關(guān)鍵詞的指令)
Ctrl + D退出結(jié)束輸入(EOF),或退出當(dāng)前Shell終端(等同于exit)
Tab自動(dòng)補(bǔ)全最常用,按一次會(huì)自動(dòng)補(bǔ)全文件名/命令;按下兩次列出所有匹配項(xiàng)

【補(bǔ)充】:

1.[ 關(guān)機(jī) ]

語(yǔ)法:shutdown [選項(xiàng)]。

常用選項(xiàng):

  • -h:將系統(tǒng)的服務(wù)停掉后,立即關(guān)機(jī)
  • -r:再將系統(tǒng)的服務(wù)停掉之后就重新啟動(dòng)
  • -t sec:-t 后加秒數(shù),代表過(guò)幾秒后關(guān)機(jī)

2.【命令擴(kuò)展】:

  • 安裝和登錄命令: login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
  • 文件處理命令: file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
  • 系統(tǒng)管理相關(guān)命令: df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
  • 網(wǎng)絡(luò)操作命令: ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup;
  • 系統(tǒng)安全相關(guān)命令: passwd、su、umask、chgrp、chmod、chown、chattr、sudo、ps、who;
  • 其它命令: tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

四、Shell與內(nèi)核交互原理

作為 Linux 使用者,我們每天都在終端輸入命令(如ls、tar),但你是否好奇:敲下回車(chē)后,計(jì)算機(jī)是==如何理解并執(zhí)行這個(gè)命令的?==核心答案就在于Shell與內(nèi)核的協(xié)同工作。

4.1 原理解析

Linux 嚴(yán)格說(shuō)是一個(gè)操作系統(tǒng),稱(chēng)為“核心(kernel)”,但是對(duì)于一般用戶(hù),不能直接使用kernel,而是由其“外殼程序”,即Shell來(lái)與核心溝通。

從技術(shù)角度,Shell的本質(zhì)的是“命令解釋器”:將用戶(hù)的命令翻譯給核心處理;同時(shí),將核心處理結(jié)果翻譯給用戶(hù)。

4.2 明確核心角色:Shell是“翻譯官”,內(nèi)核是“執(zhí)行者”

下面以一個(gè)形象有趣的故事來(lái)理解交互流程:

交互情景一:小劉(用戶(hù))、王婆(Shell)、如煙(內(nèi)核)

小劉是一個(gè)有志青年,年少有為,但是架不住他的村長(zhǎng)老爹催婚。由于吧小劉對(duì)這件事有點(diǎn)不知所措,更不敢與女孩子交流,于是拜托王婆去和心愛(ài)的女子如煙說(shuō)媒。但是當(dāng)王婆將小劉的情況說(shuō)給了如煙,如煙拒絕了,王婆就把結(jié)果告訴了小劉

  • 用戶(hù)(小王) 有操作需求(想找如花),但既沒(méi)有權(quán)限、也不懂交流,無(wú)法直接對(duì)接內(nèi)核(如花);
  • Shell(王婆) 作為唯一中介,先接收用戶(hù)的指令(小王說(shuō) “喜歡如花”),解析后轉(zhuǎn)換成內(nèi)核能懂的 “系統(tǒng)調(diào)用”(王婆按規(guī)矩說(shuō)媒);
  • 內(nèi)核(如花) 只響應(yīng) Shell 的合法請(qǐng)求,處理后返回結(jié)果(如花拒絕),再由 Shell 把結(jié)果格式化反饋給用戶(hù)(王婆告訴小王被拒)。

【核心】:用戶(hù)不直接接觸內(nèi)核,所有指令都經(jīng) Shell “翻譯” 后傳遞給內(nèi)核,內(nèi)核處理完結(jié)果再通過(guò) Shell 回傳給用戶(hù)。

交互情景二:

聽(tīng)到被拒絕后,小劉也忍不住了,我這么優(yōu)秀一個(gè)人,還能拒絕我?于是再次拜托王婆去說(shuō)媒。等到王婆改天再去,發(fā)現(xiàn)如煙和別的男生在一起,王婆這就明白了,于是將如煙有對(duì)象的結(jié)果告訴了小劉,小劉也就明白了。

  • 用戶(hù)(小王) 提出需求(再去說(shuō)媒),但可能提出不合理或非法的要求;
  • Shell(王婆) 作為 “守門(mén)員”,在向內(nèi)核傳遞請(qǐng)求前,會(huì)先進(jìn)行前置判斷(查看情況);
  • Shell 發(fā)現(xiàn)問(wèn)題(如花有對(duì)象 / 命令語(yǔ)法錯(cuò)誤),直接攔截請(qǐng)求,不再去打擾內(nèi)核;
  • 反饋結(jié)果:Shell 直接告訴用戶(hù) “不行”,內(nèi)核(如花)全程未被打擾。

【核心】:Shell 具有 “過(guò)濾 / 攔截” 功能,能在用戶(hù)請(qǐng)求觸及內(nèi)核之前,自行處理或拒絕不合理的指令,從而保護(hù)內(nèi)核的資源和安全。

交互場(chǎng)景三:

小劉本想放棄,但是他老爹仍要求王婆再去試試,礙于情面,王婆答應(yīng)了 。但是為了不砸了自己這塊金字招牌,派了徒弟去。

  • 用戶(hù)(小劉) 受老爹施壓,再次向 Shell(王婆)發(fā)起請(qǐng)求(找如花說(shuō)媒);
  • Shell(王婆) 礙于情面無(wú)法拒絕,但為了保護(hù)自身(不砸招牌),不直接對(duì)接內(nèi)核(如花),而是創(chuàng)建子進(jìn)程(派徒弟)代為執(zhí)行請(qǐng)求;
  • 子進(jìn)程(徒弟) 作為 Shell 的代理,向內(nèi)核(如花)傳遞請(qǐng)求,內(nèi)核處理后返回結(jié)果(拒絕);
  • 子進(jìn)程(徒弟) 結(jié)束并將結(jié)果反饋給 Shell(王婆),最終由 Shell 把結(jié)果告知用戶(hù)(小劉)。

【核心】: Shell 在處理用戶(hù)請(qǐng)求時(shí),會(huì)創(chuàng)建獨(dú)立子進(jìn)程代為與內(nèi)核交互,既滿足用戶(hù)需求,又保護(hù)自身主進(jìn)程不受影響,避免 “砸招牌”。

以上就是Linux文件操作實(shí)戰(zhàn)之壓縮,遠(yuǎn)程傳輸和終端計(jì)算速成的詳細(xì)內(nèi)容,更多關(guān)于Linux文件操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Centos7更改網(wǎng)卡名稱(chēng)Eth0的方法

    Centos7更改網(wǎng)卡名稱(chēng)Eth0的方法

    這篇文章主要介紹了Centos7更改網(wǎng)卡名稱(chēng)Eth0的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • 在Linux系統(tǒng)中查找最大的文件的命令詳解

    在Linux系統(tǒng)中查找最大的文件的命令詳解

    在 Linux 系統(tǒng)中,管理磁盤(pán)空間是一項(xiàng)重要的任務(wù),尤其是在長(zhǎng)期使用的系統(tǒng)中,為了有效地管理磁盤(pán)空間,找到并處理這些大文件變得尤為重要,所以本文給大家介紹了在Linux系統(tǒng)中查找最大的文件的命令方法,需要的朋友可以參考下
    2024-11-11
  • ubuntu如何開(kāi)啟ssh遠(yuǎn)程登錄

    ubuntu如何開(kāi)啟ssh遠(yuǎn)程登錄

    在Ubuntu上開(kāi)啟SSH遠(yuǎn)程登錄的步驟如下:檢查SSH安裝情況、啟動(dòng)SSH服務(wù)、設(shè)置開(kāi)機(jī)啟動(dòng)、檢查SSH狀態(tài)、配置防火墻、并使用SSH客戶(hù)端進(jìn)行遠(yuǎn)程登錄
    2025-03-03
  • Ubuntu開(kāi)機(jī)出現(xiàn)黑屏現(xiàn)象的常見(jiàn)解決方案

    Ubuntu開(kāi)機(jī)出現(xiàn)黑屏現(xiàn)象的常見(jiàn)解決方案

    在使用 Ubuntu 操作系統(tǒng)時(shí),一些用戶(hù)可能會(huì)遇到開(kāi)機(jī)后屏幕黑屏的現(xiàn)象,這種問(wèn)題可能是由顯卡驅(qū)動(dòng)、GRUB 配置、或者啟動(dòng)項(xiàng)等問(wèn)題引起的,本文將介紹幾種常見(jiàn)的解決方案,幫助大家排除 Ubuntu 開(kāi)機(jī)黑屏的問(wèn)題,需要的朋友可以參考下
    2025-05-05
  • 兩個(gè)linux服務(wù)器間復(fù)制文件方式

    兩個(gè)linux服務(wù)器間復(fù)制文件方式

    這篇文章主要介紹了兩個(gè)linux服務(wù)器間復(fù)制文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • CentOS(Linux)下的apache服務(wù)器配置與管理方法分享

    CentOS(Linux)下的apache服務(wù)器配置與管理方法分享

    CentOS(Linux)下的apache服務(wù)器配置與管理方法分享,需要的朋友可以參考下。
    2011-04-04
  • rsync 數(shù)據(jù)同步使用詳解

    rsync 數(shù)據(jù)同步使用詳解

    rsync 是很強(qiáng)大的同步工具 本地遠(yuǎn)程皆宜 不少project都提供 http ftp rsync 等mirror方式 rsync官方主頁(yè)是 http://samba.anu.edu.au/rsync/
    2008-09-09
  • Linux查看文件大小的幾種方法匯總

    Linux查看文件大小的幾種方法匯總

    這篇文章主要介紹了Linux查看文件大小的幾種方法匯總,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 虛擬機(jī)ubuntu16.04無(wú)法連網(wǎng)的解決方法

    虛擬機(jī)ubuntu16.04無(wú)法連網(wǎng)的解決方法

    這篇文章主要為大家詳細(xì)介紹了虛擬機(jī)ubuntu16.04無(wú)法連網(wǎng)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Linux下怎么切換使用兩個(gè)版本的JDK

    Linux下怎么切換使用兩個(gè)版本的JDK

    這篇文章主要介紹了Linux下切換使用兩個(gè)版本的JDK的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-08-08

最新評(píng)論

包头市| 稻城县| 喀喇沁旗| 米脂县| 阿城市| 竹溪县| 新蔡县| 韶山市| 新兴县| 长宁区| 芒康县| 镇雄县| 钦州市| 同心县| 封丘县| 南华县| 公安县| 滕州市| 依安县| 招远市| 成安县| 苏尼特左旗| 伊金霍洛旗| 宝清县| 咸阳市| 全南县| 庐江县| 衢州市| 克山县| 玛沁县| 岳阳县| 余干县| 海林市| 绿春县| 宝应县| 囊谦县| 伊吾县| 邹城市| 桐城市| 军事| 襄城县|