日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
用Linux發(fā)揮自己的創(chuàng)造力,自主編寫個人命令(linux自己寫命令)

隨著計算機(jī)時代的發(fā)展,軟件系統(tǒng)不斷升級,計算機(jī)應(yīng)用領(lǐng)域日益拓寬,各種操作系統(tǒng)也層出不窮,其中以Linux最為經(jīng)典、穩(wěn)定、安全、靈活,并且有著廣泛的應(yīng)用場景。Linux系統(tǒng)不僅可以利用現(xiàn)成的命令完成各種操作,更可以通過自主編寫命令來發(fā)揮自己的創(chuàng)造力。本文將會介紹Linux命令的基本構(gòu)成,以及如何利用常用工具封裝成自己的命令,并最終用Python腳本完成一個實用的自己編寫的命令。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供屏南網(wǎng)站建設(shè)、屏南做網(wǎng)站、屏南網(wǎng)站設(shè)計、屏南網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、屏南企業(yè)網(wǎng)站模板建站服務(wù),十年屏南做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

一、Linux命令的基本構(gòu)成

正如我們平時在Linux中所用的命令一樣,每一個Linux命令都由三個部分組成,即命令 + 選項 + 參數(shù)。

1. 命令:

命令是指在Linux系統(tǒng)下可執(zhí)行的程序或腳本文件。每一個命令都有著自己的功能,在使用時通過輸入命令來啟動對應(yīng)的功能。

2. 選項:

選項是指在執(zhí)行命令時需要添加的參數(shù),用來調(diào)整命令的參數(shù)或行為。選項的前綴一般是“-”,如果有多個選項的話,可以把它們緊密地組織在一起。舉個例子,如果我們使用“l(fā)s -al”命令,其中“-a”和“-l”就是兩個選項,表示顯示文件的全部信息和以列表形式顯示文件的詳細(xì)信息。

3. 參數(shù):

參數(shù)是指在執(zhí)行命令時需要傳遞的特定值,用來指定需要對哪些文件或目錄進(jìn)行操作。參數(shù)可以是一個或多個,它們是命令的具體操作對象。比如“cd /usr”,其中的“/usr”就是參數(shù),用來指定切換到“/usr”目錄。

二、如何用常用工具封裝成自己的命令

在Linux系統(tǒng)中,我們可以利用已有的工具封裝成自己的命令,來進(jìn)一步發(fā)揮自己的創(chuàng)造力。下面就以封裝常用的“find”命令來舉例。

1. 創(chuàng)建shell腳本

我們需要創(chuàng)建一個新的shell腳本,以便在其中編寫我們自己的命令。在終端輸入以下命令:

vi myfind

這將會創(chuàng)建一個名為“myfind”的文件。

2. 編寫腳本

接下來,我們需要在“myfind”腳本中編寫相關(guān)代碼。以下是一個簡單的示例:

#!/bin/bash

if [ $# -ne 2 ]; then

echo “Usage: myfind [path] [pattern]”

exit 1

fi

find $1 -name “${2}”

在腳本中,我們首先指定解釋器為bash,然后通過“$#”獲取參數(shù)數(shù)量,如果參數(shù)數(shù)量不等于2,則提示使用方法并返回錯誤代碼。如果參數(shù)數(shù)量正確,則使用“find”命令查找指定路徑下的所有文件名匹配指定模式的文件,并將其打印出來。

3. 為腳本添加可執(zhí)行權(quán)限

我們還需要為該腳本添加可執(zhí)行權(quán)限,這樣才能在終端中執(zhí)行該命令。在終端輸入以下命令:

chmod +x myfind

現(xiàn)在我們就可以愉快地使用我們自己編寫的命令了。例如,在終端中輸入“myfind /home/user *.txt”,就可以查找“/home/user”目錄下所有擴(kuò)展名為“.txt”的文件。

三、用Python腳本完成一個實用的自己編寫的命令

在之前的例子中,我們通過封裝現(xiàn)有的工具來編寫自己的命令。但是,如果我們想編寫更加實用、功能更加豐富的命令,就需要使用Python腳本了。

1. 創(chuàng)建Python腳本

在終端中輸入以下命令,創(chuàng)建一個名為“mycmd”的Python腳本文件:

vi mycmd.py

2. 編寫腳本

接下來,我們可以在“mycmd.py”中編寫我們自己的命令。例如,以下是一個基于Python的簡單計算器命令:

#!/usr/bin/python

import argparse

parser = argparse.ArgumentParser(description=”A simple calculator command.”)

parser.add_argument(“x”, type=float, help=”the first operand”)

parser.add_argument(“y”, type=float, help=”the second operand”)

parser.add_argument(“-a”, “–add”, action=”store_true”, help=”add two operands”)

parser.add_argument(“-s”, “–subtract”, action=”store_true”, help=”subtract two operands”)

parser.add_argument(“-m”, “–multiply”, action=”store_true”, help=”multiply two operands”)

parser.add_argument(“-d”, “–divide”, action=”store_true”, help=”divide two operands”)

args = parser.parse_args()

if args.add:

print(args.x + args.y)

elif args.subtract:

print(args.x – args.y)

elif args.multiply:

print(args.x * args.y)

elif args.divide:

print(args.x / args.y)

在腳本中,我們使用了“argparse”庫來實現(xiàn)命令行參數(shù)的解析。我們指定了4個參數(shù)(兩個必須參數(shù)和4個可選參數(shù)),分別表示兩個操作數(shù)和四種運算方式。當(dāng)參數(shù)解析完成后,根據(jù)用戶的輸入進(jìn)行對應(yīng)的計算操作,最終輸出計算結(jié)果。

3. 為腳本添加可執(zhí)行權(quán)限

我們還需要為該腳本添加可執(zhí)行權(quán)限,以便在終端中執(zhí)行它。在終端中輸入以下命令:

chmod +x mycmd.py

現(xiàn)在我們就可以愉快地使用我們自己編寫的命令了。在終端中輸入“./mycmd.py 2 2 –add”,就可以計算2+2的結(jié)果,并將其輸出到終端中。

綜上所述,利用Linux系統(tǒng)可以發(fā)揮自己的創(chuàng)造力,自主編寫個人命令,從而方便自己在日常計算機(jī)操作中的實用性。通過本文的介紹,相信讀者已經(jīng)掌握了如何編寫自己的命令的基本方法和原理,并且可以熟練地使用Linux系統(tǒng)下的各種工具進(jìn)行封裝,以及使用Python腳本實現(xiàn)更加實用和有趣的命令。歡迎讀者在自己的計算機(jī)上嘗試編寫自己的命令,發(fā)揮自己的創(chuàng)造力和想象力!

相關(guān)問題拓展閱讀:

  • centos 怎樣寫linux命令

centos 怎樣寫linux命令

Linux的常用基本命令。

  首先啟動Linux。啟動完畢后需要進(jìn)行用戶的登錄,選擇登陸的用戶不同自然權(quán)限也不一樣,其中“系統(tǒng)管理員”擁有更高權(quán)限。

  在啟動Linux后屏幕出現(xiàn)如下界面顯示:

  ……

  Red Hat Linux release 9 (Shrike)

  Kernel2.4.20.8 on an i686

  login:

  輸入:root(管理員名)后,計算機(jī)顯示輸口令(password:),輸入你的口令即可。當(dāng)計算機(jī)出現(xiàn)一個“?!碧崾?符時,表明你登錄成功!

  屏幕顯示Linux提示符: #_

  這里需要說明的是“Red Hat Linux release 9 (Shrike)”表示當(dāng)前使用的操作系統(tǒng)的名稱及版本?!?.4.20.8”表示Linux操作系統(tǒng)的核

心版本編號?!癷686”表示該臺電腦使用的CPU的等級。

  下面我們來介紹常用基本命令

  一,注銷,關(guān)機(jī),重啟

  注銷系統(tǒng)的logout命令

  1,Logout 注銷是登陸的相對操作,登陸系統(tǒng)后,若要離開系統(tǒng),用戶只要直接下達(dá)logout命令即可:

  #logout

  Red Hat Linuxrelease 9(Shike)

  Kernel2.4.20.8 on an i686

  Login: ← 回到登陸的畫面

  2,關(guān)機(jī)或重新啟動的shutdown命令

  Shutdown命令可以關(guān)閉所有程序,依照用戶的需要,重新啟動或關(guān)機(jī)。

  參數(shù)說明如下:

  ? 立即關(guān)機(jī):-h(huán) 參數(shù)讓系統(tǒng)立即關(guān)機(jī)。范例如下:

  #shutdown –h now ← 要求系統(tǒng)立即關(guān)機(jī)

? 指定關(guān)機(jī)時間:time參數(shù)可指定關(guān)機(jī)的時間;或設(shè)置多久時間后運行shutdown命令,范例如下:

  #shutdown now ← 立刻關(guān)機(jī)

  #shutdown +5 ← 5分鐘后關(guān)機(jī)

  #shutdown 10:30 ← 在10:30時關(guān)機(jī)

  ? 關(guān)機(jī)后自動重啟:-r 參數(shù)設(shè)置關(guān)機(jī)后重新啟動。范例如下:

  #shutdown -r now ← 立刻關(guān)閉系統(tǒng)并重啟

  #shutdown -r 23:59 ← 指定在23:59時重啟動

  3,重新啟動計算機(jī)的reboot命令

  顧名思義,reboot命令是用來重新啟動系統(tǒng)的。常用的參數(shù)如下:

  ? -f 參數(shù):不依正常的程序運行關(guān)機(jī),直接關(guān)閉系統(tǒng)并重新啟動計算機(jī)。

  ? -I 參數(shù):在在重新啟動之前關(guān)閉所有網(wǎng)絡(luò)接口。

  雖然reboot命令有個參數(shù)可以使用,但是一般只需要單獨運行reboot命令就可以了

  二,文件與目錄的操作

 1,列出文件列表的ls命令

  ls(list)命令是非常有用的命令,用來顯示當(dāng)前目錄中的文件和子目錄列表。配合參數(shù)的使用,能以不同的方式顯示目錄內(nèi)容。范例

如下:

  ? 顯示當(dāng)前目錄的內(nèi)容:

  $ ls

  Desktop mail myinstall.log test.txt ← 有兩個目錄及兩個文件夾

  ? 當(dāng)運行l(wèi)s命令時,并不會顯示名稱以“.”開頭的文件。因此可加上“-a”參數(shù)指定要列出這些文件。范例如下:

  $ ls –a

  ? 以“-s”參數(shù)顯示每個文件所有的空間,并以“-S”參數(shù)指定按所有占用空間的大小排序。范例如下:

  $ ls –s –S

  總計36

  4 Desktop 4 mail 24 myinstall.log 4 test.txt

  ? 在ls命令后直接加上欲顯示的目錄路徑,就會列出該目錄的內(nèi)容。范例如下:

  $ ls –l/usr/games

2,切換目錄的cd命令

  cd(change directory)命令可讓用戶切當(dāng)前所在的目錄。范例如下:

  $ cd tony ← 切換到當(dāng)前目錄下的tony子目錄

  $ cd .. ← 切換到上一層目錄

  $ cd / ← 切換到系統(tǒng)根目錄

  $ cd ← 切換到用戶主目錄

   $ cd /usr/bin ← 切換到/usr/bin目錄

  3,創(chuàng)建目錄的mkdir命令

  Mkdir(make directory)命令可用來創(chuàng)建子目錄。下面的范例會在所在目錄下創(chuàng)建tool子目錄。

  $ mkdir tool

  4,刪除目錄的rmdir命令

  rmdir(remove directory)命令可用來刪除“空”的子目錄。范例如下:

  $ rmdir tool ← 刪除tool目錄

  5,復(fù)制文件的cp命令

  cp(copy)命令可以將文件從一處復(fù)制到另一處。一般在使用cp命令將以個文件復(fù)制成另一個文件或復(fù)制到某個目錄時,需要指定原始文件

名與目的文件名或目錄。范例如下:

  $ cp data1.txt data2.txt ← 將data1.txt復(fù)制成data2.txt

  $ cp data3.txt /tmp/data ← 將data3復(fù)制到/tmp/data目錄中

  ? 顯示復(fù)制過程:加入-v參數(shù)可顯示命令執(zhí)行過程。范例如下:

  $ cp zip.txt zip2.txt ← 一般狀態(tài)下不會顯示復(fù)制過程

  $ cp –v zip.txt zip3.txt ← 以-v顯示復(fù)制過程

   zip.txt ->zip3.txt

  ? 遞回復(fù)制:加入“-R”參數(shù)可同時復(fù)制目錄下的所有文件及子目錄。范例如下:

  $ cp –v –R * backup ← 將所有文件(含子目錄文件)復(fù)制到backup目錄

  6,刪除文件或目錄的rm命令

  rm(remove)命令可以刪除文件或目錄。范例如下:

  $ rm myfile ← 刪除指定的文件

  $ rm * ← 刪除當(dāng)前目錄中的所有文件

rm命令的常用參數(shù)如下:

  ? 強(qiáng)迫刪除:使用-f參數(shù)時,rm命令會直接刪除文件,不再詢問。范例如下:

  $ rm –f *.txt ← 強(qiáng)迫刪除文件

  ? 遞回刪除:-r 也是一個相當(dāng)常用的參數(shù),使用此參數(shù)可同時刪除指定目錄下的所有文件及子目錄。范例如下:

  $ rm –r data ← 刪除data目錄(含data目錄下所有文件和子目錄)

  $ rm –r * ← 刪除所有文件(含當(dāng)前目錄所有文件,所有子目錄和子目錄下的文件)

  ? 強(qiáng)制刪除指定目錄:當(dāng)使用-r參數(shù)刪除目錄時,若該目錄下有許多子目錄及文件,則系統(tǒng)會不間斷地詢問,以確認(rèn)您的確要刪除

目錄或文件。若已確定要刪除所存目錄及文件,則可以使用-rf參數(shù),如此一來,系統(tǒng)將直接刪除該目錄中所有的文件及子目錄,不再詢問。范

例如下:

  $ rm –rf tmp 強(qiáng)制刪除tmp目錄及該目錄下所有文件及子目錄

  ? 顯示刪除過程:使用-v 參數(shù)。范例如下:

  $ rm –v

  7,讓顯示畫面暫停的more命令

  為了避免畫面顯示瞬間就閃過去,用戶可以使用more命令,讓畫面在顯示滿一頁時暫停,此時可按空格鍵繼續(xù)顯示下一個畫面,或按Q鍵停

止顯示。

  ? 當(dāng)使用ls命令查看文件列表時,若文件太多則可以配合more命令使用。范例如下:

  $ ls –al   more

  ? 單獨使用more命令時,可用來顯示文字文件的內(nèi)容。范例如下:

  $ more data.txt

  8,連接文件的cat命令

  cat(concatenate) 命令可以顯示文件的內(nèi)容(經(jīng)常和more命令搭配使用),或是將數(shù)個文件合并成一個文件。范例如下:

  ? 逐頁顯示 preface.txt的內(nèi)容:

  $ cat preface.txt   more

  ? 將preface.txt 附加到outline.txt文件之后:

  $ cat preface.txt >> outline.txt

  ? 將new.txt和info.txt合并成readme.txt文件:

  $ cat new.txt info.txt >readme.txt

9,移動或更換文件,目錄名稱的mv命令

  mv (move)命令可以將文件及目錄移動到另一個目錄下面,或更換文件及目錄的名稱。范例如下:

  $ mv a.txt .. ← 將a.txt文件移到上層目錄

  $ mv z1.txt z3.txt ← 將 z1.txt改名成z3.txt

  $ cd.. ← 切換到上一層目錄

  $ mv backup.. ← backup 目錄上移一層

  10,顯示當(dāng)前所在目錄的pwd命令

  pwd(print working directory)命令可顯示用戶當(dāng)前所在的目錄。范例如下:

  $ pwd

  /home/tony ← 當(dāng)前所在目錄為“/home/tony”

  11,查找文件的locate命令

  locate 命令可用來搜索包含指定條件字符串的文件或目錄。范例如下:

  $ locate zh_CN 列出所有包含“zh_CN”字符串的文件和目錄。

  由于locate命令是從系統(tǒng)中保存文件及目錄名稱的數(shù)據(jù)庫中搜索文件,雖然系統(tǒng)會定時更新數(shù)據(jù)庫,但對于剛新增或刪除的文件、目錄,

仍然可能會因為數(shù)據(jù)庫尚未更新而無法查得,此時可用root身份運行updatedb命令更新,為此數(shù)據(jù)庫得內(nèi)容正確。

  12,搜索字符串得grep命令

  grep 命令可以搜索特定字符串來并顯示出來,一般用來過濾先前得結(jié)果,避免顯示太多不必要得信息。范例如下:

  $ grep text *.conf ← 搜索當(dāng)前目錄中擴(kuò)展名為.conf且包含“text”字符串得文件。

  grep:amd.conf: ← 拒絕不符權(quán)限得操作

  grep:diskcheck.conf: ← 拒絕不符權(quán)限得操作

  grep:grub.conf ← 拒絕不符權(quán)限得操作

  ? 若您是使用一般權(quán)限的用戶運行,上例的輸出結(jié)果會包含很多如“拒絕不符權(quán)限的操作之類的錯誤信息,可使用-s參數(shù)消除。

   $ grep –s text *.conf

13,重導(dǎo)與管道

  重導(dǎo)(redirect)可將某命令的結(jié)果輸出導(dǎo)文件中,它有兩中命令:“>”和“>>”?!?”可將結(jié)果輸出到文件中,該文件原有的內(nèi)容會被

刪除:“>>”則將結(jié)果附加到文件中,原文件內(nèi)容不會被清除。范例如下:

  $ ls –a>dir.txt ← 將ls –a命令執(zhí)行結(jié)果輸出到dir.txt文件。

  $ cat data1.txt >> data2.txt ← 將 data1.txt 內(nèi)容附加到data2.txt文件之后。

  通道(pipe)命令的符號是“ ”,可將某命令的結(jié)果輸出給另一命令,一下范例將ls命令的輸出結(jié)果傳給grep命令過濾:

  $ ls   gerp conf ← 搜索并顯示ls命令運行結(jié)果中包含有“conf”字符串

  在舉一個刪除文件或目錄的例子,可以利用yes命令重復(fù)輸出“y”字符的特性,將結(jié)果傳給rm命令,如此即可避免重復(fù)輸入“y”:

  $ yes   rm –r mydir

  三,使用光盤及軟盤

  在Linux的文字模式下要使用光盤或軟盤,并不是只將光盤或軟盤放入即可,用戶需要運行加載的命令,才可讀寫數(shù)據(jù)。所謂加載就是將存

儲介質(zhì)(如光盤和軟盤)指定成系統(tǒng)中的某個目錄(如/mnt/cdrom或mnt/floppy)。通過直接存取此加載目錄,即可讀寫存儲介質(zhì)中的數(shù)據(jù)。

以下就來看看文字模式下的加載及卸載命令。

  1,加載的mount命令

  要使用光盤時先把光盤放入光驅(qū),然后執(zhí)行加載的mount命令,將光盤加載至系統(tǒng)中:

  # mount/dev/cdrom/mut/cdrom ← 加載光盤

  同理,使用軟盤之前也需要和光盤一樣,必須先加載后才能使用:

  # mount/dev/fd0/mut/floppy ← 加載軟盤

  2,卸載的umount命令

  如果不需要使用光盤或軟盤,則需先執(zhí)行卸載命令之后,才能將光盤或軟盤退出。范例如下:

  # umount / mnt/cdrom ← 光盤卸載

  在不使用軟盤時執(zhí)行umount 命令卸載軟盤,再將軟盤拿出

  # umount / mnt/ ← 軟盤卸載

四,在后臺運行程序

  用戶有時的程序有可能要花費很多時間,如果將它放在前臺運行,將導(dǎo)致無法繼續(xù)做其他事情,更好的方法就是將它放在后臺運行,甚至

可能希望在用戶注銷系統(tǒng)后,程序還可以繼續(xù)運行。讓我們看看那如何實現(xiàn)這一目的。

  1,在后臺運行程序的&、bg命令

  將程序放到后臺運行的最簡單方法就是在命令最后加上“&”,范例如下:

  # updatedb & ← 在后臺執(zhí)行 locate 數(shù)據(jù)庫更新命令

  # bg ← 將更新操作放到后臺運行

  2,前臺運行的程序fg命令

  如果用戶當(dāng)前已有程序在后臺運行,可以輸入fg命令,將它從背景中移到前臺運行:

  # fg ← 放到前臺執(zhí)行的命令會顯示出來

  3,在退出后讓程序繼續(xù)運行的nohup命令

  此命令可使用戶退出系統(tǒng)后,程序繼續(xù)運行。范例如下:

  $ nohup myserver &

  然后用戶就可以退出了,當(dāng)再次登錄的時候,可以用ps –aux命令看到程序仍在后臺中運行。

  五,任務(wù)調(diào)度命令

  計算機(jī)有很多程序需要周期性的被運用,例如清理磁盤中不要的暫存盤、備份系統(tǒng)數(shù)據(jù)、檢查遠(yuǎn)程服務(wù)器的郵件等。對于這些重復(fù)性的工

作,其實不需要每次都辛苦地運行這些程序??衫萌蝿?wù)調(diào)度命令,指定系統(tǒng)定期在某個時間運行這些程序,輕輕松松完成想要執(zhí)行的工作。

  任務(wù)調(diào)度的crond常駐命令

  crond 是Linux用來定期執(zhí)行程序的命令。當(dāng)安裝完成操作系統(tǒng)后,默認(rèn)便會啟動此任務(wù)調(diào)動命令。crond命令每分鐘會定期檢查是否有要

執(zhí)行的工作,如果有要執(zhí)行的工作,便會自動執(zhí)行該工作。由于任務(wù)調(diào)度中間的操作過程十分繁雜,我們只將任務(wù)調(diào)度文件的寫法介紹給大家

,供大家參閱:

  Minute Hour Day Month DayOfWeek Command

  在這段文字中除了“Command”是每次都必須指定的字段以外,其他自動皆可視需求自行決定是否指定。

  六,任務(wù)調(diào)度的系統(tǒng)工作

  /ect/crontab/文件是Linux系統(tǒng)工程的任務(wù)調(diào)度設(shè)置文件,其默認(rèn)的內(nèi)容如下:

  SHELL=/bin/bash ← 指定執(zhí)行任務(wù)調(diào)度工作時所使用的SHELL

  PATH=/shin:/bin:/usr/in:/usr/bin ← 指定命令搜索的路徑

  MAILTO=root ← 指定將輸出結(jié)果給root用戶

關(guān)于linux 自己寫命令的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


當(dāng)前名稱:用Linux發(fā)揮自己的創(chuàng)造力,自主編寫個人命令(linux自己寫命令)
網(wǎng)址分享:http://m.5511xx.com/article/codpggh.html