国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

這篇具有很好參考價(jià)值的文章主要介紹了【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、實(shí)驗(yàn)?zāi)康?/h2>

要求進(jìn)一步掌握Linux基礎(chǔ)操作,掌握全屏幕編輯命令vi的高級(jí)應(yīng)用,熟悉shell腳本編輯與命令行編輯。

二、實(shí)驗(yàn)要求

通過(guò)這個(gè)第二階段實(shí)驗(yàn),要求掌握以下操作與相關(guān)知識(shí):
(1)進(jìn)一步掌握Linux系統(tǒng)的文件類(lèi)、目錄類(lèi)、進(jìn)程管理類(lèi)與磁盤(pán)操作類(lèi)常用命令
(2)了解或掌握Linux系統(tǒng)支持的編輯器功能、工作模式、基本命令與使用
(3)掌握vi的較為高級(jí)應(yīng)用;
(4)掌握或了解shell的功能、句法結(jié)構(gòu)、基本命令及相關(guān)命令機(jī)制
(5)使用shell編輯功能較為簡(jiǎn)單的腳本并實(shí)現(xiàn)運(yùn)行;
(6)使用shell函數(shù)編寫(xiě)腳本或獨(dú)立運(yùn)行。

三、實(shí)驗(yàn)內(nèi)容

?(1)繼續(xù)練習(xí)Linux系統(tǒng)的文件類(lèi)、目錄類(lèi)、進(jìn)程管理類(lèi)與磁盤(pán)操作類(lèi)常用命令,并使用常見(jiàn)的選擇項(xiàng);

①知識(shí)點(diǎn):

目錄類(lèi)

.ls族:l lc lf lr lx

進(jìn)程管理

sleep命令:使進(jìn)程暫停執(zhí)行一段時(shí)間,多用于shell程序設(shè)計(jì)中
格式:sleep timetime即為暫停秒數(shù)
wait命令:等待后臺(tái)進(jìn)程的完成
格式:wait [pid1 pid2…]等待列出的pid進(jìn)程結(jié)束,若無(wú)參數(shù)則一直等到全部后臺(tái)進(jìn)程結(jié)束

磁盤(pán)管理

文件歸檔命令:tar
命令格式:tar [key] [files]
key—功能字母(注意前面不用加‘ - ’號(hào)),主要功能如下:
c–創(chuàng)建新文檔(備出);
x—從歸檔文件中抽出指定文檔(備入),用于文檔恢復(fù)。若不指定files,則抽出全部歸檔文件
t—列出歸檔文件,若不指定files,則列出全部歸檔文件
v—顯示歸檔文件中的每一個(gè)文件信息(清單形式)
f—令tar命令使用key之后的第一個(gè)參數(shù)作為歸檔文件名(可以是普通文件、目錄,主要是如軟驅(qū)等設(shè)備),若無(wú)該字母則tar使用/etc/default/tar中的默認(rèn)設(shè)備
files—欲歸檔的文件名(普通文件、目錄、設(shè)備文件)
tar命令的key與files兩部分中,內(nèi)容與參數(shù)數(shù)量隨著歸檔方向而確定
$tar cvf /dev/rdf0 /usr/lj 將目錄lj內(nèi)容歸檔至軟盤(pán)(備出)
$tar tvf /dev/rdf0 顯示軟盤(pán)上的歸檔文件清單
$tar xvf /dev/rdf0 恢復(fù)軟盤(pán)中的歸檔文件(按原路徑備入)

文件歸檔與恢復(fù)(拷貝入、拷貝出)命令:cpio
可將文件拷貝到另一個(gè)歸檔文件或目錄層次中
可從歸檔文件或目錄中恢復(fù)文件至原狀態(tài)(路徑、名稱)
命令格式:
cpio -o[選擇項(xiàng)]
cpio命令的數(shù)據(jù)源一般使用過(guò)濾器找出,經(jīng)管道線傳入;拷出可使用輸出定向符>(可用-0替代)。 $ls|cpio -ocv>/dev/rfd0
cpio -i[選擇項(xiàng)]
$cpio -icdv</dev/rfd0
cpio –p[選擇項(xiàng)] [directory]:從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)源,拷貝至[directory]
$ls /usr/lj|cpio -pmdv /tmp

②示例:

$ls -l   (-lc   -lf   -lr   -lx)

$vi test.sh
編輯腳本
$chmod +x test.sh
$./test.sh

$tar cvf /dev/rdf0 /usr/wangjingwang#將用戶目錄內(nèi)容歸檔至軟盤(pán)(備出)
$tar tvf /dev/rdf0#顯示軟盤(pán)上的歸檔文件清單
$tar xvf /dev/rdf0#恢復(fù)軟盤(pán)中的歸檔文件(按原路徑備入)

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

?(2)了解ed、ex行編輯器與Emacs全屏幕編輯器的工作模式、基本操作命令;

①知識(shí)點(diǎn):

Linux系統(tǒng)提供了一個(gè)完整的編輯器家族系列,如Ed、Ex、Vi和Emacs等,按功能它們可以分為兩大類(lèi):行編輯器(Ed、Ex)和全屏幕編輯器(Vi、Emacs)。
①行編輯器每次只能對(duì)一行進(jìn)行操作,使用起來(lái)很不方便。
②全屏幕編輯器可以對(duì)整個(gè)屏幕進(jìn)行編輯,用戶編輯的文件直接顯示在屏幕上,修改的結(jié)果可以立即看出來(lái),克服了行編輯的那種不直觀的操作方式,便于用戶學(xué)習(xí)和使用,具有強(qiáng)大的功能。
linux 下vi/CSDN@nanyswing

vim的ex模式用法/術(shù)之多

Emacs是流行于UNIX用戶中的另一個(gè)屏幕編輯器,不同于vi和ed的是,它是單模式編輯器。即不分輸入模式和編輯模式。
Emacs有多種版本,GNU Emacs是最為普遍的版本。Korn shell也支持Emacs。
Emacs可以同時(shí)工作在命令模式和輸入模式中:
正常的字符和文本將被作為文本接受
控制字符和轉(zhuǎn)義字符(前面加一個(gè)Esc字符或CTRL字符)將被編輯器解釋為命令。
emacs百度百科??
Emacs不僅僅是一個(gè)編輯器,他是一個(gè)整合環(huán)境,或可稱它為集成開(kāi)發(fā)環(huán)境
當(dāng)要退出編輯時(shí)C-x C-c 代表著,先按C-x 再按C-c才可以退出編輯環(huán)境
Emacs,最強(qiáng)編輯器,沒(méi)有之一/簡(jiǎn)書(shū)@程序員聯(lián)盟
??????
《Hackers & Painters》

②示例:

$sudo apt install jove  #Jonathan's Own Version of EMACS(emacs的一個(gè)版本)
$emacs test.txt

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

?(3)掌握vi的編輯模式與命令模式,使用文本編輯命令,正確退出vi;

①知識(shí)點(diǎn):

vi是UNIX系統(tǒng)提供的全屏幕文本編輯器,是行編輯器ex的擴(kuò)充,包括命令與編輯兩種模式,使用鍵可切入到命令模式。
UNIX系統(tǒng)的行編輯器有ed、ex、edit
emacs是流行于UNIX的另外一個(gè)屏幕編輯器,是單模式的編輯器。

①插入方式(編輯模式):進(jìn)入vi界面后(命令模式)鍵入某種插入命令,則進(jìn)入編輯狀態(tài),此時(shí)鍵盤(pán)上所有字符均做為編輯內(nèi)容。
②命令方式(命令模式):鍵入Esc進(jìn)入命令模式。各種編輯命令都須轉(zhuǎn)為命令模式后方可使用。此時(shí)鍵盤(pán)上的相關(guān)字符均作為編輯命令。
③ex轉(zhuǎn)義方式(命令模式):可在vi中使用ex對(duì)編輯的文件進(jìn)行其它設(shè)置和管理。即:wq!等命令

進(jìn)入vi
$vi filename

  • 此時(shí)進(jìn)入vi界面的命令狀態(tài),須鍵入編輯命令(i、a、O、R……)方可進(jìn)入編輯狀態(tài) 。
  • 若將編輯狀態(tài)再轉(zhuǎn)為命令狀態(tài)(需要轉(zhuǎn)換編輯命令或者退出時(shí)),須按下Esc鍵。
  • 屏幕最下行通常為狀態(tài)行,提示文件名等操作信息

退出vi

  • 屬于命令模式。常用退出命令:
  • : wq 保存編輯內(nèi)容并退出
  • : ZZ 文件內(nèi)容有修改時(shí)則保存并推出
  • : x 與: ZZ相同
  • : q! 強(qiáng)行退出,不保存(放棄緩沖區(qū)內(nèi)容)

②示例:

$touch test.txt
$vi test.txt
鍵入內(nèi)容
Esc鍵
:wq!  #強(qiáng)制保存并退出

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

?(4)使用vi命令創(chuàng)建用戶文件。

①知識(shí)點(diǎn):

使用vi編輯器創(chuàng)建文本文件/CSDN@黃佳俊、
??????
Linux編輯器中歷史最悠久的、使用最廣泛的就是vi編輯器及其增強(qiáng)版vim。
vi是“Visual Interface”的簡(jiǎn)稱,可以完成輸出、刪除、查找、塊操作等眾多文本操作。需要注意的是,vi不是一個(gè)排版程序,僅僅是一個(gè)文本編輯程序。

②示例:

$vi filename
切換編輯模式
鍵入內(nèi)容
Esc鍵
切換ex轉(zhuǎn)義方式(命令模式)
$cat filname

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

?(5)實(shí)現(xiàn)vi中文本的搜索與替換。

①知識(shí)點(diǎn):

  • 向下(前)搜索:

/字符串
例: /unix 則光標(biāo)定位至當(dāng)前向后的第一個(gè)unix串首(u位置上)

/字符串/位移/串/-數(shù)字(+數(shù)字) 數(shù)字缺省時(shí)默認(rèn)為1
例:/unix/-5 則光標(biāo)定位至當(dāng)前向后的匹配行之前倒數(shù)第5行行首
/unix/+3 則光標(biāo)定位至當(dāng)前向后的匹配行之下數(shù)第5行行首

  • 向上(后)搜索

?字符串
例: ?unix 則光標(biāo)定位至當(dāng)前向上的第一個(gè)unix串首(u位置上)

?字符串?位移?串?-數(shù)字(+數(shù)字) 數(shù)字缺省時(shí)默認(rèn)為1
例:?unix?-5 則光標(biāo)定位至當(dāng)前向上的匹配行之前倒數(shù)第5行行首

  • 全局搜索替換命令(ex命令):

格式:g/模式/命令表
模式:欲搜索內(nèi)容
命令表:vi命令及參數(shù)列表
:g/unix/p
:g/unix/s//linux/
:g/unix/s//linux/g
:g/unix/s//linux/gp
:g/unix/s//linux/gc
:g/^/s// /g 在每一行首插入若干空格
:s/需要替換的內(nèi)容/替換內(nèi)容 #默認(rèn)替換文本最后一個(gè)符合的字符
:行數(shù),s/需要替換的內(nèi)容/替換內(nèi)容 #替換掉指定行數(shù)的字符

②示例:

$vi test.txt
鍵入文本內(nèi)容
ex轉(zhuǎn)義狀態(tài)下:
/+想搜索的字符串
?+想搜索的字符串
我的全局搜索替換識(shí)別不到unix模式

:g/^/s// /g  #在每一行首插入若干空格,即用空格替換

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

?(6)使用vi一次編輯多個(gè)文件,利用vi的工作緩沖區(qū)進(jìn)行文本的移動(dòng)、復(fù)制與刪除等操作,并思考緩沖區(qū)原理;

①知識(shí)點(diǎn):

優(yōu)質(zhì)文章??如何使用 Vim 編輯器編輯多個(gè)文件/Linux中國(guó)@Sk

格式:

”[緩沖區(qū)名稱][命令]

注意在復(fù)制時(shí),光標(biāo)移動(dòng)到首行

②示例:

$vi file1.txt file2.txt file3.txt
ex轉(zhuǎn)義狀態(tài)下:
:n  #切換下一個(gè)文件
:N  #切換上一個(gè)文件
如有改動(dòng)并切換,輸入
:n!
:N!

#文本復(fù)制
"a9Y  #復(fù)制前9行
"b2Y  #復(fù)制前2行,同時(shí)復(fù)制兩個(gè)文件中的內(nèi)容用a、b緩沖區(qū)來(lái)區(qū)分,Y/yy代表復(fù)制

#文本刪除
file3.txt中
"a3D  #刪除前3行

#文本移動(dòng)(剪切粘貼,不太了解這類(lèi)命令屬于什么類(lèi),試出來(lái)的,故有偏差)
file1.txt中
"a3MV  #剪切第3行,也可以Enter選擇多行
x
file3.txt中
"ap
想要粘貼多次按下p鍵即可

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

?(7)在vi中使用較為復(fù)雜的ex命令;

①知識(shí)點(diǎn):

e命令:可將新指定的文件放入編輯緩沖區(qū),替換前編輯緩沖區(qū)內(nèi)容。
格式: :e filename
注意此時(shí)該文件須已經(jīng)保存或未修改,否則不執(zhí)行e命令
:e! filename 可忽略前一文件的任何編輯,強(qiáng)行編輯新文件
:e +n filename 從新文件的第n行開(kāi)始編輯
:e #返回前一文件的編輯(%表示當(dāng)前文件)

w命令:將編輯緩沖區(qū)中全部或部分內(nèi)容寫(xiě)到當(dāng)前或另一文件中
格式::w filename
(注意:filename缺省則寫(xiě)入當(dāng)前文件)
:w! filename可強(qiáng)行創(chuàng)建不存在的filename
:w>> filename將緩沖區(qū)中內(nèi)容附加到現(xiàn)有文件尾
:行號(hào),行號(hào) w!文件名將指定的各行寫(xiě)入指定文件中。

r命令:可將指定的文件或shell命令的輸出讀入編輯緩沖區(qū)(當(dāng)前文件的當(dāng)前位置)
:r filename
:r! filename

q命令:退出vi編輯
:q! 強(qiáng)行退出
:wq 將緩沖區(qū)中內(nèi)容附加到現(xiàn)有文件尾并退出
:wq!將緩沖區(qū)中內(nèi)容附加到現(xiàn)有文件尾并強(qiáng)行退出
:x filename(可缺?。┤绻?filename可執(zhí)行,則為真

②示例:

$:e +3 filename
#從新文件的第3行開(kāi)始編輯

$:1,3 w! filename
#將當(dāng)前文件1至3行寫(xiě)入filename

$:r! date
#則在當(dāng)前位置讀入shell的date命令的輸出

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

??????配置文件

?(8)使用vi的設(shè)置選項(xiàng)設(shè)置個(gè)性化的vi環(huán)境;(可編輯.vimrc文件設(shè)置vi的工作環(huán)境)

①知識(shí)點(diǎn):

在用戶目錄下可以創(chuàng)建和修改.vimrc文件設(shè)置vi/vim程序的工作環(huán)境。
linux/mac用戶,.vimrc可放置到~/目錄下;
windows用戶,將_vimrc放置到%USERPROFILE%目錄下,一般是C:\Users\XXX_vimrc

vim常用的設(shè)置選項(xiàng):
set nocompatible//不兼容vi模式
set langmenu=en_US
set fileencodings=utf-8,chinese,latin-1
set fileencoding=utf-8//設(shè)置文件編碼
set number
set ignorecase//查找時(shí)忽略大小寫(xiě)
au GUIEnter * simalt ~x// vim 以最大化打開(kāi)
set incsearch//輸入進(jìn)行中實(shí)時(shí)匹配查找到的字符串
set tabstop=4// tab占4個(gè)空格
set autoindent//自動(dòng)縮進(jìn)

顯示當(dāng)前設(shè)置
:set optionname//查看任何選項(xiàng)設(shè)置的確切值
:set nu
:set//查看更改過(guò)的所有選項(xiàng)值
:set all//查看所有選項(xiàng)值

取消當(dāng)前設(shè)置
:set no optionname
:set no nu

轉(zhuǎn):Vim實(shí)戰(zhàn)指南(六):環(huán)境偏好配置/博客園@Neter

②示例:

$sudo apt install vim
切換到/home/用戶目錄下
$ls -a
如果沒(méi)有.vimrc文件,手動(dòng)創(chuàng)建即可
設(shè)置顯示行號(hào)的命令
set nu

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

?(9)在vi中使用map命令編寫(xiě)一個(gè)簡(jiǎn)單的文本處理宏;

①知識(shí)點(diǎn):

宏是一串從鍵盤(pán)上輸入的命令字符。
vi提供的map功能可以將一系列編輯命令合成一個(gè)命令,并稱之為宏。
可以使用map功能組合成多達(dá)100個(gè)vi命令,并將它映射到任何一個(gè)按鍵上

文本檢查拼寫(xiě)錯(cuò)誤
使用UNIX系統(tǒng)中的檢查拼寫(xiě)錯(cuò)誤程序spell

$spell kkk > erros
$vi kkk
: r erros

vispall宏
可使用帶vispall宏的vi檢查拼并更改拼寫(xiě)錯(cuò)誤事先將如下宏定義加入.exrc文件,或加入.profile或.login文件的EXINIT變量中
map #1 1G!Gvispell ^M^[
#宏的名字叫做#1,用戶在vi中只需按下F1鍵或1號(hào)功能鍵就會(huì)得到一個(gè)拼寫(xiě)錯(cuò)誤的單詞清單

search宏
search宏在.exrc文件或EXINIT變量中定義為:
map #2 Gi/ \<^[A\>^”adda
#宏的名字叫做#2,用戶在vi中輸入/unix后,只需按下F2鍵或2號(hào)功能鍵就會(huì)得到文本中所有unix拼寫(xiě)錯(cuò)誤的單詞清單

[VIM] map 說(shuō)明/CSDN@微塵_Frank

②示例:

$vi test.txt
編輯后ESC
ex轉(zhuǎn)義狀態(tài)下鍵入map編輯的宏命令
Enter回車(chē)
命令狀態(tài)下鍵入qq(即設(shè)置的按鍵)

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

?(10)觀察/etc/profile文件(/etc/csh.login)與用戶home目錄下的.profile文件(.login),使用環(huán)境變量與用戶變量設(shè)置個(gè)性化的用戶環(huán)境;【暫未做修改】

①知識(shí)點(diǎn):

/etc/profile是系統(tǒng)全局的環(huán)境變量配置文件,作用于所有用戶。
用戶home目錄下的.profile文件是用戶級(jí)別的環(huán)境變量配置文件,只作用于當(dāng)前用戶。
因此,修改全局環(huán)境變量需要修改/etc/profile,而修改用戶級(jí)別的環(huán)境變量則需要修改.profile文件。

②示例:

$sudo apt install vim

$cd etc/
$cat profile   #觀察etc文件夾下的.profile文件

$cd home/用戶名
$cat .profile  
# $vim .profile  #如果沒(méi)有則手動(dòng)創(chuàng)建.profile文件

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】
【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

linux新建用戶后,在“家”目錄中沒(méi)有.bash_profile文件/51CTO博客@趕路人兒

??????腳本

?(11)使用for循環(huán)編寫(xiě)一段shell程序,完成顯示用戶注冊(cè)目錄中某個(gè)或某些子目錄下所有普通文件的列表,并將之轉(zhuǎn)入一個(gè)文件中;

①知識(shí)點(diǎn):

shell腳本 for循環(huán)實(shí)現(xiàn)文件和目錄遍歷/CSDN@hustyangju

【Linux-5】利用shell腳本遍歷某個(gè)目錄下的所有文件/CSDN@玄苦大師233

用shell寫(xiě)一個(gè)批量獲得文件名的循環(huán)腳本/CSDN@胡說(shuō)先森

②示例:

$touch test.sh
$vi test.sh
編寫(xiě)腳本內(nèi)容

#!/bin/bash
#print the directory and file
#(注意第二行是注釋,第一行因文章編輯器看起來(lái)像注釋的樣式,實(shí)則不然,每個(gè)shell腳本都需要該代碼)
#詳細(xì)見(jiàn)下圖
 
for file in /home/wangjingwang/*
do
if [ -d "$file" ]
then 
  echo "$file is directory"
elif [ -f "$file" ]
then
  echo "$file is file"
fi
done

$chmod +x test.sh
$./test.sh

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

ChatGPT參考答案:

#!/bin/bash

#顯示用戶注冊(cè)目錄中某個(gè)或某些子目錄下所有普通文件的列表
#定義目錄列表
dir_list="/home/user1 /home/user2 /home/user3"

#遍歷所有目錄
for dir in $dir_list
do
# 判斷目錄是否存在
if [ -d $dir ]; then
# 遍歷目錄下所有文件,包括子目錄中的文件
for file in $(find $dir -type f)
do
# 判斷是否為普通文件
if [ -f $file ]; then
echo $file >> file_list.txt
fi
done
else
echo "$dir not exist"
fi
done

echo "File list is saved to file_list.txt"

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

?(12)自擬題目編寫(xiě)一段shell腳本,完成某個(gè)特定功能,并以三種方式實(shí)現(xiàn)腳本的運(yùn)行。

①知識(shí)點(diǎn):

  • 輸入定向到shell: $ sh < 腳本名
  • 以腳本名作為shell的參數(shù):$ sh 腳本名[參數(shù)] 這里的sh是shell的子程序
  • 為shell文件設(shè)置可執(zhí)行權(quán)限,而后運(yùn)行該可執(zhí)行文件:
$chmod   + x   腳本名 
$. /腳本名 [參數(shù)]

運(yùn)行shell腳本的三種方式/CSDN@秋葉原の黑貓
??????
使用chmod命令賦予該腳本可執(zhí)行的權(quán)限,然后再執(zhí)行;
調(diào)用解釋器使得腳本執(zhí)行,例如:bash、csh、csh、ash、bsh、ksh等等;
使用source命令;

②示例:

$touch test.sh
$vi test.sh
設(shè)計(jì)腳本

$chmod +x test.sh
$./test.sh  #腳本所在文件夾內(nèi)直接./

$bash test.sh
$sh test.sh  #bash、csh、csh、ash、bsh、ksh等等

$source test.sh

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

?(13)編寫(xiě)shell函數(shù),在命令行運(yùn)行該函數(shù);將函數(shù)放入一個(gè)shell腳本中并運(yùn)行該腳本。

①知識(shí)點(diǎn):

函數(shù)定義方式:
(1)交互運(yùn)行時(shí)可以在提示符下定義;
(2)定義在用戶的初始化文件.bash_profile中,這是最常用的方式。

函數(shù)的定義由花括號(hào)中的一組命令構(gòu)成,命令之后必須以分號(hào)終結(jié)。花括號(hào)兩側(cè)需留空格。

函數(shù)定義格式:

$function_name () { commands ; commands; }
$function function_name { commands ; commands; }
$function function_name () { commands ; commands; }

自學(xué)Linux Shell16.4-在命令行上使用函數(shù)/博客園@CARLOS_KONG

②示例:

$greet () { echo "Hello $LOGNAME, today is $(date)"; }  #注意空格
$greet

$touch test.sh
$vi test.sh
編寫(xiě)腳本內(nèi)容,注意調(diào)用函數(shù)
$chmod +x test.sh
$./test.sh

【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】

?報(bào)錯(cuò):bash: syntax error near unexpected token `{echo’
??????
大括號(hào)與字符之間注意空格

四、實(shí)驗(yàn)報(bào)告要求

(1)認(rèn)真撰寫(xiě)實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)內(nèi)容與實(shí)驗(yàn)結(jié)果真實(shí)并具備實(shí)質(zhì)性。
(2)進(jìn)行客觀的個(gè)人評(píng)定。

Reference

  1. Linux教程(第5版)孟慶昌版 課后答案/CSDN@tony_bfx

  2. 最詳細(xì)的VI編輯器指南/51CTO@zhongqi2513

  3. 最詳細(xì)的 Vi 編輯器使用指南/看云??很全文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-420941.html

到了這里,關(guān)于【Linux操作系統(tǒng)】【綜合實(shí)驗(yàn)二 vi應(yīng)用與shell腳本編輯】【淺試編輯命令】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 《Linux操作系統(tǒng)編程》第四章 屏幕編程器vi : 了解屏幕編輯器vi的概述和基本操作命令

    《Linux操作系統(tǒng)編程》第四章 屏幕編程器vi : 了解屏幕編輯器vi的概述和基本操作命令

    ???? 博主 libin9iOak帶您 Go to New World.??? ?? 個(gè)人主頁(yè)——libin9iOak的博客?? ?? 《面試題大全》 文章圖文并茂??生動(dòng)形象??簡(jiǎn)單易學(xué)!歡迎大家來(lái)踩踩~?? ?? 《IDEA開(kāi)發(fā)秘籍》學(xué)會(huì)IDEA常用操作,工作效率翻倍~?? ???? 希望本文能夠給您帶來(lái)一定的幫助??文章粗淺,敬

    2024年02月11日
    瀏覽(20)
  • Shell命令操作Linux文件系統(tǒng)

    Shell命令操作Linux文件系統(tǒng)

    ??Linux文件系統(tǒng)是計(jì)算機(jī)操作系統(tǒng)中的一個(gè)關(guān)鍵組成部分,它用于管理和組織計(jì)算機(jī)上的數(shù)據(jù)和信息。先到根目錄,然后打印當(dāng)前目錄下文件: ??有一些比較常用的文件夾介紹如下: ?? /bin ——包含常見(jiàn)Linux 用戶命令,比如 ls、sort、date和l chmod。 ?? /home ——包含分

    2024年02月09日
    瀏覽(25)
  • Linux操作系統(tǒng)--shell編程(流程控制)

    1.if 條件判斷 ①.單分支判斷 if [ 條件判斷式 ];then 程序 fi 該語(yǔ)法結(jié)構(gòu)還可以寫(xiě)成: if [ 條件判斷式 ] then 程序

    2024年02月11日
    瀏覽(18)
  • linux操作系統(tǒng)中shell和bash

    目錄 shell命令以及運(yùn)行原理 為什么不能直接使用kernel? 總的來(lái)說(shuō): Linux嚴(yán)格意義上說(shuō)的是一個(gè)操作系統(tǒng),稱之為“核心( kernel )“ ,但我們一般用戶,不能直接使用kernel。 而是通過(guò)kernel的“外殼”程序,也就是所謂的 shell ,來(lái)與kernel溝通。 1. 執(zhí)行命令和程序: 通過(guò)Shell,

    2024年02月11日
    瀏覽(23)
  • 【Linux操作系統(tǒng)】探秘Linux奧秘:shell 編程的解密與實(shí)戰(zhàn)

    【Linux操作系統(tǒng)】探秘Linux奧秘:shell 編程的解密與實(shí)戰(zhàn)

    ??個(gè)人主頁(yè): Sarapines Programmer ???系列專欄: 《操作系統(tǒng)實(shí)驗(yàn)室》 ??詩(shī)賦清音:柳垂輕絮拂人衣,心隨風(fēng)舞夢(mèng)飛。 山川湖海皆可涉,勇者征途逐星輝。 目錄 ??1 初識(shí)Linux OS ??2?shell 編程的解密與實(shí)戰(zhàn) ??1. 實(shí)驗(yàn)?zāi)康???2. 實(shí)驗(yàn)準(zhǔn)備 ??3. 實(shí)驗(yàn)內(nèi)容 ??4. 實(shí)驗(yàn)心得 ??總結(jié)

    2024年02月03日
    瀏覽(25)
  • 【Linux】操作系統(tǒng)的基本概念 {馮諾依曼體系結(jié)構(gòu),操作系統(tǒng)的基本概念,系統(tǒng)調(diào)用及用戶操作接口,shell程序}

    【Linux】操作系統(tǒng)的基本概念 {馮諾依曼體系結(jié)構(gòu),操作系統(tǒng)的基本概念,系統(tǒng)調(diào)用及用戶操作接口,shell程序}

    現(xiàn)代計(jì)算機(jī)設(shè)計(jì)大都遵守馮·諾依曼體系結(jié)構(gòu): 截至目前,我們所認(rèn)識(shí)的計(jì)算機(jī),都是由一個(gè)個(gè)的硬件組件組成 輸入單元:包括鍵盤(pán), 鼠標(biāo),掃描儀, 磁盤(pán),網(wǎng)卡等 存儲(chǔ)器: 內(nèi)存(提高數(shù)據(jù)讀寫(xiě)速度,降低硬件成本) 中央處理器(CPU):含有運(yùn)算器(算數(shù)運(yùn)算,邏輯運(yùn)算)和控

    2024年02月11日
    瀏覽(53)
  • 頭歌操作系統(tǒng)Linux實(shí)驗(yàn)

    Linux操作系統(tǒng) 第1關(guān) Linux初體驗(yàn) cd / ls -a 第2關(guān) Linux常用命令 touch newfile mkdir newdir cp newfile newdir/newfileCpy 第3關(guān) Linux 查詢命令幫助語(yǔ)句 man 3 fopen Linux文件/目錄管理 第1關(guān) Linux之文件創(chuàng)建/刪除 touch file1 file2 rm oldFile1 oldFile2 第2關(guān) Linux之目錄創(chuàng)建/刪除 mkdir newDir1 newDir2 rm oldDir1 -r old

    2024年02月10日
    瀏覽(21)
  • 【嵌入式操作系統(tǒng)】實(shí)驗(yàn)2:GPIO編程及應(yīng)用

    【嵌入式操作系統(tǒng)】實(shí)驗(yàn)2:GPIO編程及應(yīng)用

    熟悉STM32 模塊的GPIO硬件連接; 掌握GPIO初始化配置; 掌握GPIO控制板上LED燈編程; 熟練KEIL 工程的配置,編譯,調(diào)試,下載。 操作系統(tǒng):WINDOWS 10 開(kāi)發(fā)工具:Keil 4,UartAssists 實(shí)驗(yàn)設(shè)備:125K RFID讀寫(xiě)器模塊、JLink在線調(diào)試器、電源、PC ??運(yùn)行程序后,LED燈D7、D8按照全熄滅、亮

    2024年02月09日
    瀏覽(24)
  • Linux操作系統(tǒng)實(shí)驗(yàn)三 文件管理(一)

    Linux操作系統(tǒng)實(shí)驗(yàn)三 文件管理(一)

    ? 1.實(shí)驗(yàn)?zāi)康呐c要求 了解Linux文件系統(tǒng)目錄結(jié)構(gòu) 掌握目錄管理的相關(guān)操作 掌握文件管理的相關(guān)操作 2.實(shí)驗(yàn)平臺(tái) 實(shí)驗(yàn)室安裝的實(shí)驗(yàn)環(huán)境(Linux操作系統(tǒng))和頭歌(www.educoder.net)實(shí)驗(yàn)平臺(tái)(課程實(shí)驗(yàn)) 3.實(shí)驗(yàn)內(nèi)容 文件系統(tǒng)目錄結(jié)構(gòu)理論知識(shí)練習(xí) linux 下目錄的創(chuàng)建、應(yīng)用、查看、

    2024年02月03日
    瀏覽(18)
  • Linux下C程序的編寫(xiě)(操作系統(tǒng)實(shí)驗(yàn))

    Linux下C程序的編寫(xiě)(操作系統(tǒng)實(shí)驗(yàn))

    實(shí)驗(yàn)題目: ? Linux下C程序的編寫(xiě)???????????????? ?????????? 實(shí)驗(yàn)?zāi)康模?? (1)掌握Linux下C程序的編寫(xiě)、編譯與運(yùn)行方法; (2)掌握gcc編譯器的編譯過(guò)程,熟悉編譯的各個(gè)階段;??????? (3)熟悉Makefile文件的編寫(xiě)格式和make編譯工具的使用方法。? ? ? ??

    2024年04月28日
    瀏覽(37)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包