真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux自己編寫命令 linux編寫命令進(jìn)入到根目錄

Linux:Python編寫Linux自定義命令工具

摘要: Linux , Python

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作與策劃設(shè)計(jì),東安網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:東安等地區(qū)。東安做網(wǎng)站價(jià)格咨詢:13518219792

工作中需要頻繁使用到一個(gè)字符串的md5,因此編寫一個(gè)md5命令工具,輸入字符串直接得到輸出,并且命令支持參數(shù)設(shè)置,比如是否事先格式化,指定不同參數(shù)可以支持多功能輸出,操作步驟如下

直接vim一個(gè)腳本,腳本名md5不需要.py后綴,這樣更像一個(gè)命令,注意在腳本第一行引入python解釋器,并設(shè)置utf-8編碼

其中-f支持先格式化再得到md5,-l支持傳入多個(gè)字符串用空格分開(kāi)

賦予可執(zhí)行權(quán)限

測(cè)試是否符合要求

直接放置到 /usr/local/bin 目錄下(需要root權(quán)限)

也可以使用軟連接的方式,推薦使用絕對(duì)路徑

之后就可以在環(huán)境變量中直接使用到md5命令

shebang :中文翻譯“釋伴”,由 #! 開(kāi)頭的字符串,出現(xiàn)在文本文件的 第一行 。類UNIX操作系統(tǒng)的程序載入器會(huì)分析shebang后的內(nèi)容,將這些內(nèi)容作為解釋命令,并調(diào)用該指令,并將載有 shebang的文件路徑作為該解釋器 的參數(shù)

比如 #!/bin/bash 就是使用/bin/bash作為解釋器運(yùn)行腳本,如果以Python作為解釋器運(yùn)行腳本先找到Python解釋器的路徑,一般在Linux自帶的 /usr/bin/python 是Python2版本,也可以指定其他Python版本 #!/opt/anaconda3/bin/python ,第二行為 # coding=utf-8 用來(lái)指定編碼格式,否則Python2輸出中文亂碼

對(duì)于自定義腳本,推薦放置在 /usr/local/bin 目錄,有多個(gè)可執(zhí)行文件目錄在環(huán)境變量中,區(qū)別如下:

/bin : 包含二進(jìn)制可執(zhí)行文件,為系統(tǒng)最基本的命令,如ls等

/sbin : 與/bin 類似,不同之處是其為root權(quán)限命令文件

/usr/bin : 系統(tǒng)預(yù)裝可執(zhí)行文件,會(huì)隨著系統(tǒng)升級(jí)而改變

/usr/sbin : 同上,不同之處是其為root權(quán)限運(yùn)用

/usr/local/bin : 三級(jí)目錄,用戶自己的可執(zhí)行文件,系統(tǒng)不管理

/usr/local/sbin : root權(quán)限用戶程序

linux中編輯文件命令

Linux自帶有兩個(gè)文本編輯器:vi和nano。

使用nano編輯文件:

nano 文件名

點(diǎn)擊Ctrl-X可以退出編輯,選擇是否保存對(duì)文件的改動(dòng)。

使用vi編輯文件:

vi 文件名

vi有兩個(gè)模式:一個(gè)是編輯模式一個(gè)是命令模式。點(diǎn)擊i可以從命令模式進(jìn)入編輯模式,在點(diǎn)擊esc鍵可以重新進(jìn)入命令模式。我們一般進(jìn)入編輯模式,來(lái)進(jìn)行添加,修改,刪除。但是當(dāng)我們刪除和修改的內(nèi)容過(guò)多的時(shí)候,我們使用命令行模式,進(jìn)行修改,這樣方便,快捷,而命令行中,最常用到的是x,dd,u,p這四個(gè)命令:x:刪除當(dāng)前字符;dd:刪除當(dāng)前行;u:恢復(fù)前一步操作;p:復(fù)制之前刪除的行。

Linux 編輯文本命令

一、vi編輯器有3種基本工作模式

分別是:命令模式、文本輸入模式、和末行模式。

第一:命令行模式:

該模式是進(jìn)入vi編輯器后的默認(rèn)模式。任何時(shí)候,不管用戶處于何種模式,按下ESC鍵即可進(jìn)入命令模式。在該模式下,用戶可以輸入vi命令,用戶管理自己的文檔。此時(shí)從鍵盤上輸入的任何字符都被當(dāng)作編輯命令來(lái)解釋。若輸入的字符是合法的vi命令,則vi在接受用戶命令之后完成相應(yīng)的動(dòng)作。但需要注意的是,所輸入的命令并不回顯在屏幕上。若輸入的字符不是vi命令,vi會(huì)響鈴報(bào)警。

第二:文本輸入模式:

在命令模式下輸入命令i、附加命令a、打開(kāi)命令o、修改命令c、取代命令r或替換命令s都可以進(jìn)入文本輸入模式。在該模式下,用戶輸入的任何字符都被vi當(dāng)作文件內(nèi)容保護(hù)起來(lái),并將其顯示在屏幕上。在文本輸入過(guò)程中,若想回到命令模式下,按ESC鍵即可。

第三:末行模式:

末行模式也稱ex轉(zhuǎn)義模式。在命令模式下,用戶按“:”鍵即可進(jìn)入末行模式下,此時(shí)vi會(huì)在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個(gè)“:”作為末行模式的說(shuō)明符,等待用戶輸入命令。多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容寫到文件中等)。末行命令在執(zhí)行完后,vi自動(dòng)回到命令模式。如果要從命令模式轉(zhuǎn)換到編輯模式,可以鍵入a或者i。如果需要從文本模式返回,則按ESC即可。在命令模式下輸入“:”即可切換到末行模式,然后輸入命令。

實(shí)例演示

首先我們使用命令 vi filename 打開(kāi)一個(gè)文件,這個(gè)時(shí)候進(jìn)入到的是命令模式

接下來(lái)我們按i,然后鍵盤隨便輸入寫內(nèi)容。

然后按ESC重新進(jìn)入到命令模式。

在命令模式的情況下,我們按:,進(jìn)入到了末行模式。

我們輸入wq!,然后回車,強(qiáng)行保存退出。

下次我們?cè)俅蜷_(kāi)對(duì)應(yīng)文件(可用less filename命令打開(kāi)),即可看到內(nèi)容已經(jīng)更改。

補(bǔ)充:

(1)末行模式下:q! 【強(qiáng)制退出不保存】 q【退出不保存】 wq【退出并保存后面也可以加個(gè)!】

(2)如果你不想保存直接退出有可以在命令模式下使用“ctrl+z”快捷鍵或者按住“shift”鍵,輸入兩個(gè)z即可退出。

更多命令

進(jìn)入vi的命令:

vi filename :打開(kāi)或新建文件,并將光標(biāo)置于第一行首

vi +n filename :打開(kāi)文件,并將光標(biāo)置于第n行首

vi + filename :打開(kāi)文件,并將光標(biāo)置于最后一行首

vi +/pattern filename:打開(kāi)文件,并將光標(biāo)置于第一個(gè)與pattern匹配的串處

vi -r filename :在上次正用vi編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)filename

vi filename….filename :打開(kāi)多個(gè)文件,依次進(jìn)行編輯

屏幕翻滾類命令:

Ctrl+u:向文件首翻半屏

Ctrl+d:向文件尾翻半屏

Ctrl+f:向文件尾翻一屏

Ctrl+b;向文件首翻一屏

nz:將第n行滾至屏幕頂部,不指定n時(shí)將當(dāng)前行滾至屏幕頂部。

插入文本類命令:

i :在光標(biāo)前

I :在當(dāng)前行首

a:光標(biāo)后

A:在當(dāng)前行尾

o:在當(dāng)前行之下新開(kāi)一行

O:在當(dāng)前行之上新開(kāi)一行

r:替換當(dāng)前字符

R:替換當(dāng)前字符及其后的字符,直至按ESC鍵

s:從當(dāng)前光標(biāo)位置處開(kāi)始,以輸入的文本替代指定數(shù)目的字符

S:刪除指定數(shù)目的行,并以所輸入文本代替之

ncw或nCW:修改指定數(shù)目的字

nCC:修改指定數(shù)目的行

刪除命令:

ndw或ndW:刪除光標(biāo)處開(kāi)始及其后的n-1個(gè)字

do:刪至行首

d$:刪至行尾

ndd:刪除當(dāng)前行及其后n-1行

x或X:刪除一個(gè)字符,x刪除光標(biāo)后的,而X刪除光標(biāo)前的

Ctrl+u:刪除輸入方式下所輸入的文本

搜索及替換命令:

/pattern:從光標(biāo)開(kāi)始處向文件尾搜索pattern

?pattern:從光標(biāo)開(kāi)始處向文件首搜索pattern

n:在同一方向重復(fù)上一次搜索命令

N:在反方向上重復(fù)上一次搜索命令

:s/p1/p2/g:將當(dāng)前行中所有p1均用p2替代

:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g:將文件中所有p1均用p2替換

撤銷回退命令:

u 撤銷上一步的操作

Ctrl+r 恢復(fù)上一步被撤銷的操作

選項(xiàng)設(shè)置:

all:列出所有選項(xiàng)設(shè)置情況

term:設(shè)置終端類型

ignorance:在搜索中忽略大小寫

list:顯示制表位(Ctrl+I)和行尾標(biāo)志($)

number:顯示行號(hào)

report:顯示由面向行的命令修改過(guò)的數(shù)目

terse:顯示簡(jiǎn)短的警告信息

warn:在轉(zhuǎn)到別的文件時(shí)若沒(méi)保存當(dāng)前文件則顯示NO write信息

nomagic:允許在搜索模式中,使用前面不帶“\”的特殊字符

nowrapscan:禁止vi在搜索到達(dá)文件兩端時(shí),又從另一端開(kāi)始

mesg:允許vi顯示其他用戶用write寫到自己終端上的信息

末行模式命令:

:n1,n2 co n3:將n1行到n2行之間的內(nèi)容拷貝到第n3行下

:n1,n2 m n3:將n1行到n2行之間的內(nèi)容移至到第n3行下

:n1,n2 d :將n1行到n2行之間的內(nèi)容刪除

:w :保存當(dāng)前文件

:e filename:打開(kāi)文件filename進(jìn)行編輯

:x:保存當(dāng)前文件并退出

:q:退出vi

:q!:不保存文件并退出vi

:wq:保存并退出

:!command:執(zhí)行shell命令command

:n1,n2 w!command:將文件中n1行至n2行的內(nèi)容作為command的輸入并執(zhí)行之,若不指定n1,n2,則表示將整個(gè)文件內(nèi)容作為command的輸入

:r!command:將命令command的輸出結(jié)果放到當(dāng)前行

寄存器操作:

“?nyy:將當(dāng)前行及其下n行的內(nèi)容保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字

“?nyw:將當(dāng)前行及其下n個(gè)字保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字

“?nyl:將當(dāng)前行及其下n個(gè)字符保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字

“?p:取出寄存器?中的內(nèi)容并將其放到光標(biāo)位置處。這里?可以是一個(gè)字母,也可以是一個(gè)數(shù)字

ndd:將當(dāng)前行及其下共n行文本刪除,并將所刪內(nèi)容放到1號(hào)刪除寄存器中。


名稱欄目:linux自己編寫命令 linux編寫命令進(jìn)入到根目錄
本文來(lái)源:http://weahome.cn/article/hjossi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部