你可以將其中的IP地址定義為變數,如
IP1=「192.168.1.118」
IP2=「192.168.0.119」
IP3=「192.168.1.1」
IP4=「255.255.255.0」
然後執行
setenv bootargs"root=/dev/nfs nfsroot=$IP1:/root/work/nfsip=$IP2:$IP1:$IP3:$IP4:witech.com.cn:eth0:offconsole=ttySAC2,115200"
㈡ linux自變數表太長,tar -cvf tar.tar $(find . -name "*201209*")執行時報錯
用find試試
find . -name "*201209*" -exec tar -cvf tar.tar {} \
or
find . -name "*201209*" | xargs tar -cvf tar.tar
㈢ Linux中用rm -f刪除大量文件出現參數過長的錯誤 解決辦法是用find /tmp/temp -
maxdepth參數是管用的:
find /tmp/temp -maxdepth 1 -type f -exec rm -f {} \;
㈣ argument list too long 什麼意思
當你Linux下試圖傳遞太多參數給一個系統命令(ls *; cp *; rm *; cat *; etc…)時,就會出現」Argument list too long」錯誤。本文將提供4種解決方法,按復雜程度由低到高排列。正如Occam』s Razor的邏輯原則所說:如果其他方面不分伯仲,簡單的解決方法則最好。
方法#1: 手動把命令行參數分成較小的部分
例1
mv [a-l]* ../directory2
mv [m-z]* ../directory2
這是4種方法里最簡單的,但是遠非理想的方法。你必須有辦法平均分割文件,而且對於文件數目極多的情況,需要輸入N遍命令。
方法#2: 使用find命令
例2
find $directory -type f -name 『*』 -exec mv
{} $directory2/. \;
方法2通過find命令篩選文件列表,把符合要求的文件傳遞給一系列命令。
優點是find命令有很強大的篩選功能,而且,也許是最重要的,這個方法只需要1行命令。
唯一的缺點是, 方法2需要遍歷文件,因此耗時較多。
方法#3: 建立函數
例3a
function large_mv ()
{ while read line1; do
mv directory/$line1 ../directory2
done
}
ls -1 directory/ | large_mv
雖然寫一個shell函數確實比較復雜,但這個方法比方法1或2更靈活,它依次處理每個文件,可以進行無數操作而只使用一個命令,如:
例3b
function larger_mv ()
{ while read line1; do
md5sum directory/$line1 >> ~/md5sums
ls -l directory/$line1 >> ~/backup_list
mv directory/$line1 ../directory2
done
}
ls -1 directory/ | larger_mv
例3b顯示我們可以先輕松地得到文件的md5sum和備份文件列表然後移動文件
然而方法3也需要遍歷每個文件,因此類似方法2,也比較耗時。根據經驗,方法2要稍快一些,因此僅當需要復雜的操作時才使用方法3.
方法#4:重新編譯Linux內核
最後一個方法需要2個字:謹慎,這個方法很高級,因此沒有經驗的linux用戶最好不要嘗試。此外,在永久使用前,務必在系統環境中全面測試。
方法4隻需要手動增加內核中分配給命令行參數的頁數。打開include/linux/binfmts.h文件,在文件起始附近位置有以下幾行:
/*
* MAX_ARG_PAGES defines the number of pages allocated for arguments
* and envelope for the new program. 32 should suffice, this gives
* a maximum env+arg of 128kB w/4KB pages!
*/
#define MAX_ARG_PAGES 32
為了增加分配格命令行參數的內存,只需要賦給MAX_ARG_PAGES一個更大的值,保存,重新編譯,安裝,重啟,搞定
在我的系統中,我把MAX_ARG_PAGES的值增加到64,就解決了所有問題。在改變這個值後,我還沒有遇到任何問題。這是可以理解的,當MAX_ARG_PAGES被改為64,最長的參數行僅佔用256KB系統內存–對於現在的硬體標准不算什麼。
方法4的優點很明顯,現在你只要像通常一樣運行命令。缺點也很明顯,如果分配給命令行的內存大於可用的系統內存,可能導致對系統自身的拒絕服務攻擊(DoS attack),引起系統崩潰。尤其是對於多用戶系統,即使增加很小的內存分配都會有很大影響,因為每個用戶都被分配到額外內存。因此一定要充分測試來決定是否你的系統可以使用方法4。
㈤ linux怎麼刪除當前目錄下的所有文件
1.首先,安裝SHH遠程軟體,連接到linux伺服器,然後使用SSH登錄到linux伺服器;