tftp命令是linux下的一個(gè)命令,那么它的具體語法是怎樣的呢?下面由我為大家整理了linux tftp命令的相關(guān)知識(shí),希望對(duì)大家有幫助!
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了延壽免費(fèi)建站歡迎大家使用!
1.linux tftp命令語法
tftp(選項(xiàng))(參數(shù))
2.linux tftp命令選項(xiàng)
-c:指定與tftp服務(wù)器連接成功后,立即要執(zhí)行的指令;
-m:指定文件傳輸模式??梢允茿SCII或者Binary;
-v:顯示指令詳細(xì)執(zhí)行過程;
-V:顯示指令版本信息。
3.linux tftp命令參數(shù)
主機(jī):指定tftp要聯(lián)機(jī)的tftp服務(wù)器的ip地址或主機(jī)名。
4.linux tftp命令實(shí)例
1、安裝tftp服務(wù)器
需要安裝xinetd、tftp和tftp-server 3個(gè)軟件
如果能上網(wǎng),通過yum安裝:
yum install xinetd
yum install tftp
yum install tftp-server
如果不能上網(wǎng),可以直接安裝提供的rpm包:
rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm
rpm -ivh tftp-0.48-3.fc9.i386.rpm
rpm -ivh tftp-server-0.48-3.fc9.i386.rpm
2、配置tftp服務(wù)器
修改/etc/xinetd.d/tftp文件,將其中的disable=yes改為disable=no。主要是設(shè)置TFTP服務(wù)器的根目錄,開啟服務(wù)。修改后的文件如下:
service tftp {
socket_type =dgram
protocol =udp
wait =yes
user =root
server =/usr/sbin/in.tftpd
server_args =-s /home/mike/tftpboot -c
disable =no
per_source =11
cps =100 2
flags =IPv4
}
說明:修改項(xiàng)server_args= -s -c,其中處可以改為你的tftp-server的根目錄,參數(shù)-s指定chroot,-c指定了可以創(chuàng)建文件。
3、啟動(dòng)tftp服務(wù)器并關(guān)閉防火墻
/etc/init.d/iptables stop //關(guān)閉防火墻
sudo /sbin/service xinetd start
或
service xinetd restart
/etc/init.d/xinetd start
看到啟動(dòng)[OK]就可以了
4、查看tftp服務(wù)是否開啟
netstat -a | grep tftp
顯示結(jié)果為udp 0 0 *:tftp *:*表明服務(wù)已經(jīng)開啟,就表明tftp配置成功了。
5、tftp使用
復(fù)制一個(gè)文件到tftp服務(wù)器目錄,然后在主機(jī)啟動(dòng)tftp軟件,進(jìn)行簡(jiǎn)單測(cè)試。
tftp 192.168.1.2
tftpget
tftpput
tftpq
6、tftp命令用法如下
tftp your-ip-address
進(jìn)入TFTP操作:
connect:連接到遠(yuǎn)程tftp服務(wù)器
mode:文件傳輸模式
put:上傳文件
get:下載文件
quit:退出
verbose:顯示詳細(xì)的處理信息
tarce:顯示包路徑
status:顯示當(dāng)前狀態(tài)信息
binary:二進(jìn)制傳輸模式
ascii:ascii 傳送模式
rexmt:設(shè)置包傳輸?shù)某瑫r(shí)時(shí)間
timeout:設(shè)置重傳的超時(shí)時(shí)間
help:幫助信息
? :幫助信息
7、如果老是出現(xiàn)“AVC Denial, click icon to view”的錯(cuò)誤,并不能傳輸文件,需要作如下修改
修改/etc/sysconfig/selinux,將SELINUX設(shè)定為disable,使用命令setenforce 0讓selinux配置文件生效。
8、Busybox中tftp命令的用法
命令格式為:
tftp [option] ... host [port]
如果要下載或上傳文件的話是一定要用這些option的。
-g 表示下載文件 (get)
-p 表示上傳文件 (put)
-l 表示本地文件名 (local file)
-r 表示遠(yuǎn)程主機(jī)的文件名 (remote file)
例如,要從遠(yuǎn)程主機(jī)192.168.1.2上下載 embedexpert,則應(yīng)輸入以下命令
tftp -g -r embedexpert 192.168.1.2
mv 命令是一個(gè)與cp類似的命令,但是它并非創(chuàng)建文件或目錄的復(fù)制品/副本。不管你在使用什么版本的Linux系統(tǒng),mv 都默認(rèn)安裝在你的Linux系統(tǒng)上了。來看一下 mv 命令在日常操作中的一些例子。
1.移動(dòng)文件
移動(dòng)文件時(shí)需要注意的是文件的源地址和目標(biāo)地址必須不同。這里有個(gè)例子,想要將file_1.txt文件從當(dāng)前目錄移動(dòng)到其它目錄,以/home/pungki/為例,語法應(yīng)該如下:
$ mv file_1.txt /home/pungki/office
如我們所見,當(dāng)我們移動(dòng) filetxt 文件時(shí),先前目錄的 file1.txt 就被刪除了。
2.移動(dòng)多個(gè)文件
如果想一次移動(dòng)多個(gè)文件,我們可以將他們放在一行并用空格分開。
$ mv file_2.txt file_3.txt file_4.txt /home/pungki/office
如果你的文件有規(guī)律可循的話那么你就可以使用通配符。比如,為了移除所有以.txt為擴(kuò)展名的文件,我們可以用下面的命令:
$ mv *.txt /home/pungki/office
3.移動(dòng)目錄
不同于復(fù)制命令,用 mv 命令移動(dòng)目錄相當(dāng)直接。移動(dòng)目錄你可以使用不帶選項(xiàng)的 mv 命令。看下面的截圖就一目了然了。
4.重命名文件或目錄
我們也用 mv 命令來重命名文件或目錄。不過目標(biāo)位置和源位置必須相同才可以。然后文件名必須不同。
假定我們當(dāng)前所在目錄為/home/pungki/Documents,而我們想將file1.txt重命名為file2.txt。那么命令應(yīng)該如下:
$ mv file_1.txt file_2.txt
如果是絕對(duì)路徑,它應(yīng)該像下面這樣:
$ mv /home/pungki/Documents/file_1.txt /home/pungki/Documents/file_2.txt
5. 重命名目錄
上一段的規(guī)則同樣適用于目錄。請(qǐng)看這個(gè)例子:
$ mv directory_1/ directory_2/
6. 打印移動(dòng)信息
當(dāng)你移動(dòng)或重命名一大堆文件或目錄時(shí),你可能會(huì)想在不去目標(biāo)位置去查看的情況下知道你自己的命令是否成功地執(zhí)行了。這就要用到-v選項(xiàng)了。
$ mv -v *.txt /home/pungki/office
該方法同樣適用于目錄。
7. 使用交互模式
當(dāng)你將文件移動(dòng)到其它位置,而那個(gè)位置恰好有同樣的文件,這時(shí) mv 命令會(huì)覆蓋掉原來的文件。對(duì)于mv的這一行為一般不會(huì)有什么提示。如果想產(chǎn)生一個(gè)關(guān)于覆蓋文件的提示,我們可以使用-i選項(xiàng)。(譯注:通常發(fā)行版會(huì)通過alias命令,將-i作為默認(rèn)選項(xiàng),所以會(huì)有提示。)
假設(shè)我們想將 file1.txt 移動(dòng)到 /home/pungki/office。同時(shí),/home/pungki/office 目錄下已經(jīng)有file1.txt文件了。
$ mv -i file_1.txt /home/pungki/office
這個(gè)提示會(huì)讓我們知道目標(biāo)位置處file_1.txt的存在。如果我們按y鍵,那么那個(gè)文件將會(huì)被刪除,否則不會(huì)。
8. 使用更新選項(xiàng)
-i 選項(xiàng)會(huì)提示我們關(guān)于覆蓋文件的提示,而 -u 則只在源文件比目標(biāo)文件新時(shí)才執(zhí)行更新。讓我們看一看下面的例子:
假如 file1.txt 和 file2.txt有如下特點(diǎn):
File_1.txt has 84 bytes file size and it last modified time is 12:00
File_2.txt has 0 bytes file size and it last modified time is 11:59
我們想將它們移動(dòng)到 /home/pungki/office 目錄下。**但是目標(biāo)地址*已經(jīng)有file1.txt和file2.txt了。
我們用下面的命令將file1.txt 和file2.txt從當(dāng)前目錄移動(dòng)到/home/pungki/office
$ mv -uv *.txt /home/pungki/office
可以看到這些文件被移動(dòng)了。能移動(dòng)這些文件是因?yàn)樗鼈冏罱男薷臅r(shí)間戳比 /home/pungki/office 目錄中的文件新。
9.不要覆蓋任何已存在的文件
如果-i選項(xiàng)詢問我們是否要覆蓋文件,那么 -n 選項(xiàng)將不會(huì)允許我們覆蓋任何已存在的文件。
繼續(xù)使用第8點(diǎn)中的例子,如果我們將-u 換成 -n同時(shí)加上-v選項(xiàng),那么我們會(huì)看到?jīng)]有任何文件移動(dòng)到了 /home/pungki/office 目錄下。
$ mv -vn *.txt /home/pungki/office
10. 復(fù)制時(shí)創(chuàng)建備份
默認(rèn)情況下,移動(dòng)文件將會(huì)覆蓋已存在的目標(biāo)文件。但是如果我們移動(dòng)錯(cuò)了文件而目標(biāo)文件已經(jīng)被新的文件覆蓋了,這時(shí)應(yīng)該怎么辦才好呢?有沒有一種方法可以恢復(fù)之前的文件呢?答案是肯定的。我們可以用-b選項(xiàng)。該選項(xiàng)會(huì)在新文件覆蓋舊文件時(shí)將舊文件做備份。這里我們還以第8點(diǎn)為例。
$ mv -bv *.txt /home/pungki/office
如截圖中所見,在 /home/pungki/office 目錄下出現(xiàn)了名為file1.txt~ and file2.txt~ 的文件。那個(gè)波浪符號(hào)(~)意味著這些文件是備份文件。從它們的屬性中我們可以看到,這些文件比file1.txt和file2.txt要舊。
find 命令的基本結(jié)構(gòu)如下:
find 命令手冊(cè) : man find
find 命令中的 -name 選項(xiàng)可以根據(jù)文件名稱進(jìn)行檢索( 區(qū)分大小寫 )。如需要忽略文件名中的大小寫,可以使用 -iname 選項(xiàng)。
-name 和 -iname 兩個(gè)選項(xiàng)都支持 wildcards 。如:
例1:查找 /usr 目錄下所有文件名以 .txt 結(jié)尾的文件
例2:查找 /usr 目錄下所有文件名剛好為 4 個(gè)字符的文件
例3:查以大寫字母開頭的文件
例4:查以兩個(gè)小寫字母和兩個(gè)數(shù)字開頭的txt文件
類似的還有:
-lname -ilname
-path -ipath
-regx -iregx
有些時(shí)候,你需要在搜索時(shí)匹配某個(gè)文件或目錄的 完整路徑 ,而不僅僅是匹配文件名。可以使用 -path 或 -ipath 選項(xiàng)。
例1:如查找 /usr 下所有文件名以 .txt 結(jié)尾的文件或目錄,且該文件的父目錄必須是 src ??梢允褂靡韵旅睿?/p>
例2:在當(dāng)前目錄除aa之外的子目錄內(nèi)搜索 txt文件
例3:在當(dāng)前目錄,不再子目錄中,查找txt文件
如果只想搜索得到文件 或 目錄,即不想它們同時(shí)出現(xiàn)在結(jié)果中??梢允褂? -type 選項(xiàng)指定文件類型。
-type 選項(xiàng)最常用的參數(shù)如下:
例:檢索 /usr 下所有文件名以 python 開頭的目錄
find 命令支持 -empty 選項(xiàng)用來檢索 為空 的文件或目錄??瘴募次募餂]有任何內(nèi)容,空目錄即目錄中沒有任何文件或子目錄。
例:檢索用戶主目錄下所有的空目錄
find 命令也允許用戶對(duì)當(dāng)前的匹配條件進(jìn)行 “反義” (類似于 邏輯非 操作)。
如需要檢索 /usr 下所有文件名 不 以 .txt 為后綴的文件。可以使用以下命令:
也可以“翻轉(zhuǎn)”任何其他的篩選條件,如:檢索 /usr 下所有內(nèi)容不為空的文件
為了檢索歸屬于特定用戶的文件或目錄,可以使用 -user 選項(xiàng)。
例:檢索根目錄下所有屬主為 starky 的文件
類似于 -user 選項(xiàng), -group 選項(xiàng)則可以根據(jù)文件或目錄的 屬組 進(jìn)行檢索。
有些時(shí)候,需要根據(jù)文件創(chuàng)建或修改的時(shí)間進(jìn)行檢索。
Linux 系統(tǒng)中,與文件相關(guān)聯(lián)的時(shí)間參數(shù)有以下三種:
與此對(duì)應(yīng)的是 find 命令中的 -mtime , -atime 和 -ctime 三個(gè)選項(xiàng)。
這三個(gè)選項(xiàng)的使用遵循以下示例中的規(guī)則:
檢索 /usr 下兩天前被修改過的文件
如果覺得 -mtime 等選項(xiàng)以 天 為單位時(shí)間有點(diǎn)長(zhǎng),還可以使用 -mmin , -amin , -cmin 三個(gè)選項(xiàng)。
查找比 aa.txt 新 的文件
查找比 aa.txt 舊 的文件
查找比aa.txt新,比bb.txt舊的文件
-size 選項(xiàng)允許用戶通過文件大小進(jìn)行搜索(只適用于文件,目錄沒有大小……)。
表示文件大小的單位由以下字符組成:
另外,還可以使用 + 或 - 符號(hào)表示 大于 或 小于 當(dāng)前條件。
檢索文件大小高于 1 GB 的文件
find 命令可以使用 -perm 選項(xiàng)以文件權(quán)限為依據(jù)進(jìn)行搜索。
9.1使用符號(hào)形式
例1:如需要檢索 /usr 目錄下權(quán)限為 rwxr-xr-x 的文件,可以使用以下命令:
例2:搜索 /usr 目錄下所有權(quán)限為 r-xr-xr-x (即系統(tǒng)中的所有用戶都只有讀寫權(quán)限)的文件和目錄,可以使用以下命令:
很多時(shí)候,我們只想匹配文件權(quán)限的一個(gè) 子集 。比如,檢索可以直接被任何用戶執(zhí)行的文件,即只關(guān)心文件的執(zhí)行權(quán)限,而不用管其讀寫權(quán)限是什么。
上述的需求可以通過以下命令實(shí)現(xiàn):
其中 a=x 前面的 / 符號(hào)即用來表示只匹配權(quán)限的某個(gè)子集(執(zhí)行權(quán)限),而不用關(guān)心其他權(quán)限的具體設(shè)置。
9.2使用數(shù)字形式
例如:搜索 /usr 目錄下權(quán)限為 644 (即 rwxr-xr-x )的文件
find 命令默認(rèn)是以 遞歸 的方式檢索項(xiàng)目的,這有時(shí)候會(huì)導(dǎo)致得到的結(jié)果數(shù)量非常巨大。可以使用 -maxdepth 限制 find 命令遞歸的層數(shù)。
例如:搜索時(shí)向下遞歸的層數(shù)最大為 3
在之前的例子中有出現(xiàn)多個(gè)搜索條件的 組合 以及對(duì)某個(gè)搜索條件的 反轉(zhuǎn) 。
實(shí)際上 find 命令支持 “and” 和 “or” 兩種邏輯運(yùn)算,對(duì)應(yīng)的命令選項(xiàng)分別是 -a 和 -o 。通過這兩個(gè)選項(xiàng)可以對(duì)搜索條件進(jìn)行更復(fù)雜的組合。
此外還可以使用 小括號(hào) 對(duì)搜索條件進(jìn)行 分組 。注意 find 命令中的小括號(hào)常需要用 單引號(hào) 包裹起來。因小括號(hào)在 Shell 中有特殊的含義。
如檢索 /usr 下文件名以 python 開頭且類型為目錄的文件
該命令等同于:
更復(fù)雜的組合形式如:
例4:在除dir0及子目錄以外的目錄下查找txt后綴文件
說明:-a 應(yīng)該是and的縮寫,意思是邏輯運(yùn)算符‘與’(); -o應(yīng)該是or的縮寫,意思是邏輯運(yùn)算符‘或’(||), -not 表示非.
命令行的意思是:如果目錄dir0存在(即-a左邊為真),則求-prune的值,-prune 返回真,‘與’邏輯表達(dá)式為真(即-path './dir0*' -a -prune 為真),find命令將在除這個(gè)目錄以外的目錄下查找txt后綴文件并打印出來;如果目錄dir0不存在(即-a左邊為假),則不求值-prune ,‘與’邏輯表達(dá)式為假,則在當(dāng)前目錄下查找所有txt后綴文件。
-delete 選項(xiàng)可以用來刪除搜索到的文件和目錄。
例如:刪除 home 目錄下所有的空目錄:
-exec 選項(xiàng)可以對(duì)搜索到的結(jié)果執(zhí)行執(zhí)行該參數(shù)所給出的shell命令。形式為 command {} \; ,注意{}與\;之間有空格 。每當(dāng) find 命令檢索到一個(gè)符合條件的文件,會(huì)使用其完整路徑取代命令中的 {} ,然后執(zhí)行 -exec 后面的命令一次。
例1:如需要將 home 目錄下所有的 MP3 音頻文件復(fù)制到移動(dòng)存儲(chǔ)設(shè)備(假設(shè)路徑是 /media/MyDrive ),可使用下面的命令:
其中的 大括號(hào) ( {} )作為檢索到的文件的 占位符 ,而分號(hào)( ; )作為命令結(jié)束的標(biāo)志。因?yàn)榉痔?hào)是 Shell 中有特殊含義的符號(hào),所以需要使用單引號(hào)括起來或前面加上轉(zhuǎn)義符 \ 。
例2:查看當(dāng)前目錄下的所有普通文件,并在 - exec 選項(xiàng)中使用 ls -l 命令將它們列出
例3:在多個(gè)文件中檢索某個(gè)指定的字符串。如在用戶主目錄下的所有文件中檢索字符串 hello ,可以使用如下命令:
創(chuàng)建 Gzip 格式的壓縮文件的命令為:
現(xiàn)在假設(shè)需要將用戶主目錄下所有的 MP3 文件添加到壓縮包 music.tar.gz 中,直觀的感覺是,其命令應(yīng)為如下形式:
實(shí)際情況是,這樣得到的 music.tar.gz 其實(shí)只包含一個(gè) MP3 文件。原因是 find 命令 每次 發(fā)現(xiàn)一個(gè)音頻文件,都會(huì)再執(zhí)行一次 -exec 選項(xiàng)后面的壓縮命令。導(dǎo)致先前生成的壓縮包被覆蓋。
可以先讓 find 命令檢索出所有符合條件的音頻文件,再將得到的 文件列表 傳遞給后面的壓縮命令。完整的命令如下:
如果想瀏覽搜索到的文件(目錄)的詳細(xì)信息(如權(quán)限和大小等),可以直接使用 -ls 選項(xiàng)。
例如:瀏覽所有 1G 以上大小的文件的詳細(xì)信息
與exec作用相同,區(qū)別在于,在執(zhí)行命令之前,都會(huì)給出提示,讓用戶確認(rèn)是否執(zhí)行
與 exec 作用相同 ,起承接作用。區(qū)別在于 |xargs 主要用于承接刪除操作 ,而 -exec 都可用 如復(fù)制、移動(dòng)、重命名等
例1:查找以ap或may開頭的文件
例2:查硬連接數(shù)大于2的文件或目錄
例3:查找含特定字符串的文件。查找當(dāng)前目錄下含有"the string you want find…"字符串的文件:
例4:從根目錄開始查tmpfile,一旦查到馬上刪除
例5:如何用find查找某一天更改的文件?可以使用這一行命令來實(shí)現(xiàn):
A Guide to the Linux “Find” Command