當前位置:首頁 » 編程軟體 » L井腳本

L井腳本

發布時間: 2023-09-06 02:12:29

linux腳本,需要ls只顯示前10個文件,怎麼實現

ls只顯示前10個文件命令語句:ls -l | head -n 10。

ls 指令是Linux下最常用的指令之一,將每個由 Directory 參數指定的目錄或者每個由 File 參數指定的名稱寫到標准輸出,以及所仔悄要求的和標志一起的其它信息。


(1)L井腳本擴展閱讀

當 ls 命令顯示目錄內容時,它不顯示名稱以 .(點)開頭的文件項,除非使用了 -a 或者 -A 標志。如念茄渣果命令由 root 用戶執行,它預設使用 -A 標志。

通過指定 -C 或 -x 標志以多列列出各項。當向 tty 輸出時,-C 標志是預設格式。如果文件或目錄名太長,ls 命令顯示單列輸出。

通過指定 -m 標志可以以逗號分隔系列列出項。

Ⅱ linux 遠程主機後台運行任務 掛起腳本

背景 :工作需要,需要遠程式控制制主機使其斷開Xshell後也能一直運行。
關鍵字 :& ,nohup,腳本掛起。

在應用Unix/Linux時,我們一般想讓某個程序在後台運行,於是我們將常會用 & 在程序結尾來讓程序自動運行。

鍵入Ctrl + C,發出SIGINT信號,程序會繼續運行

方法一、輸入命令:jobs

方法二:輸入命令:ps

fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令

加在一個命令的最後,可以把這個命令放到後台執行,如

可以將一個正在前台執行的命令放到後台,並且處於暫停狀態。

查看當前有多少在後台運行的命令
jobs -l選項可顯示所有任務的PID,jobs的狀態可以是running, stopped, Terminated。但是如果任務被終止了(kill),shell 從當前的shell環境已知的列表中刪除任務的進程標識。

將後台中的命令調至前台繼續運行。如果後台中有多個命令,可以用fg %jobnumber(是命令編號,不是進程號)將選中的命令調出。

將一個在後台暫停的命令,變成在後台繼續執行。如果後台中有多個命令,可以用bg %jobnumber將選中的命令調出。

法子1:通過jobs命令查看job號(假設為num),然後執行kill %num
法子2:通過ps命令查看job的進程號(PID,假設為pid),然後執行kill pid
前台進程的終止:Ctrl+c

如果讓程序始終在後台執行,即使關閉當前的終端也執行(之前的&做不到),這時候需要nohup。該命令可以在你退出帳戶/關閉終端之後繼續運行相應的進程。
關閉中斷後,在另一個終端jobs已經無法看到後台跑得程序了,此時利用ps(進程查看命令)

如上所示:
nohup 和 & 組合了後台運行程序。
可以輸出到 out.log保存程序輸出,也可以輸出到/dev/null 即空設備,不保存輸出。

上面三種方式無論在nohup.out 或test.out都看不到數據結果,這是因為python執行有緩存輸出
解決

新的介面接入查看程序

使用&後台運行程序:

結果會輸出到終端
使用Ctrl + C發送SIGINT信號, 程序免疫
關閉session發送SIGHUP信號, 程序關閉

使用nohup運行程序:

結果默認會輸出到nohup.out
使用Ctrl + C發送SIGINT信號, 程序關閉
關閉session發送SIGHUP信號, 程序免疫
平日線上經常使用nohup和&配合來啟動程序:
同時免疫SIGINT和SIGHUP信號

同時,還有一個最佳實踐:
不要將信息輸出到終端標准輸出,標准錯誤輸出,而要用日誌組件將信息記錄到日誌里
nohup和&究竟有啥區別

Ⅲ 手機按鍵精靈編寫了一個腳本,想讓這個腳本在每天8點自動運行。 請問哪位大神給指導一下

先來說一下,你想要的效果其實不是腳本每天8點自動運行,而是腳本一直是運行的,只是每天8點開始做有效的運行工作,其他時間點一直處於「待命狀態」。

如果你認同我上面所說的內容,那麼就繼續往下看吧。

解決這個問題有兩種方法:

第一種:先計算你腳本有效的運行時間,比如1個小時,那麼剩下的「待命狀態」的時間就是23個小時,換句話說就是你的腳本執行完一次以後,要等待23個小時,在按鍵精靈里等待時間的命令就是delay,不過要換算,因為它的單位毫秒,你要把23小時等於多少毫秒算出來,建議用計算器算一下。

這種方法有一個缺點,就是你必須要在8點執行首次操作,它是24小時完成一個運行周期,並不會真的在8點執行,而是每天在某一個固定的時間執行,這個時間點取決於你首次運行的開始時間。

第二種方法:

原理是獲取當前系統時間,然後判斷獲取的時間是不是8點,如果是8點就開始執行有效腳本,如果不是8點,那麼重新獲取系統時間,再次判斷,這個過程重復進行,直到8點為止。

缺點是腳本比較累一直在做判斷,優點是能夠精準判斷。

代碼如下:

Do

Dim t

t = Now()

TracePrint t

Dim r

r = UTF8.Right(t, 13)

TracePrint r

Dim l

l = UTF8.Left(r, 5)

TracePrint l

If l = "08:00" Then

TracePrint "調試成功,用你的腳本替換本行"

Exit Do

Elseif l = "08:01" Then

TracePrint "調試成功,用你的腳本替換本行"

Exit Do

Else

TracePrint "調試失敗"

End If

Delay 60000

Loop

稍微解釋一下,

  1. 為了看著方便,變數我沒有合並,

  2. 由於7個「星期」的英文所寫長度不一樣,所以導致日期的長度也是不一樣的,那麼在獲取8點的方法上,我選擇了從後往前找的辦法。

  3. 在判斷的時候為了防止腳本由於卡頓錯過了8點而無法有效運行,所以追加了一個判斷,就是在8點01分也是可以執行腳本。當然這是在8點沒有開始腳本,如果開始了,就不會在繼續判斷8點01分了。

  4. 如果有啥問題可以追問,或者關注我的公眾號:3分鍾學堂。

這個代碼我在自己電腦上做了測試,附上一個我運行的截圖:

Ⅳ linux下shell腳本命令

Shell腳本基本知識

概述:shell其實是內核與用戶之間的一個介面,

shell腳本

如果有一系列經常使用的linux命令,你可以把它們存儲在一個文件腫。shenll可以讀取這個文件,並執行其中的命令。這樣的文件成為腳本文件。

執行shell腳本

要創建一個shell腳本,你要使用任何編輯器比如vi在文本文件中編寫他。

為了使用bash shell賴執行腳本magic,其命令是:bash magic或者./magic

echo命令:

echo 「this is an example of the echo command!」

屏幕上就會回顯「this is an example of the echo command!」

#符號

用於在shell腳本腫可以包含註解入口

echo 「hello」

#this is a comment line. this would not proce any output!

echo 「world!」

第二行是一個註解的例子。它將被shell忽略,而且不產生任何消息

變數:

可以在任何時間通過簡單的賦值來創建。

語法:

<variable name>-<value>

Linux 中的所有變數都被當作字元串

引用變數:

$符號用於引用一個變數的內容

variable1 = ${variable2}

讀入值給變數

在執行shell腳本時,shell還允許用戶直接從鍵盤讀入一個值給變數,還可以使用read命令來作。

$read fname

本地和全局shell變數

局部變數

當引用shell時,只有創建它的shell能夠知道變數的存在

全局變數

稱為子shell

shell中創建的變數局部於創建它的shell,除非使用export命令特別指出是全局的。

環境變數:

通過改變這些變數的值,用戶能夠定製此環境

一些環境變數的例子是HOME,PATH,PS1,PS2,LOGNAME,SHLVL,及SHELL

HOME變數

Linux系統中的每個用戶都有一個相關的稱作HOME的目錄

當一個用戶登錄後,進入相應的HOME的目錄

$ echo $HOME

PATH變數

包含一列用冒號定界的目錄的路徑名字,便於可執行程序的搜索。

PS1變數

PS1(Prompt String 1)變數包含了shell提示符,$符號

$ PS1 = 「HELLO>」

HELLO>

PS2變數

是為第二個提示符設置值的環境變數

LOGNAME變數

包含用戶的注冊名字

$echo 「${LOGNAME}」

SHLVL 變數

該變數包含當前工作的shell level

SHELL變數

環境變數存儲了用戶預設的shell

env命令

可用來查看所有的已移出的環境變數表和它們各自的值!

命令替換

在單個命令行中使用多個命令的另外一種方法(非Pipes)是通過命令替換

echo 「the data is `date`」

expr命令

用於求之算術表達式。該命令的輸出被送到標准輸出

$ expr 4 + 5

將在屏幕上顯示9

算術展開:

你可以在$((…)) 中括一個表達式,用下面的命令來計算它的值;

$((expression))

example1

編寫一個shell腳本用於計算呼叫中心未應答的詢問的數量。該腳本應該接受一天那所報告的詢問的總數和應答的詢問的數量,以便計算未應答的詢問的數量。

所有未應答的詢問總數=所有詢問的總數-應答的詢問的數量

<!--[if !supportLists]-->※ <!--[endif]-->※※※※※※※※※※※※※※※※※※※※※※※

條件執行

test和[]

求值表達式,並返回true(0)或false()

數值測試:

-eq 等於則為真

-ne 不等於則為真

-gt 大於則為真

-ge 大於等於則為真

-lt 小於則為真

-le 小於等於則為真

if構造

Linux shell提供了循環和判定的構造,可以在shell腳本中使用

算術測試

結合if構造,它可以用於測試變數的數字值

串測試

test命令也可以用於字元串

= 等於則為真

!= 不相等則為真

-z 字元串 長度為零則為真

-n 字元串 長度不為零則為真

文件測試

test命令也可以用於檢查文件的狀態

-e 文件存在則為真

-r 文件存在並且可讀則為真

-w 文件存在並且可寫則為真

-x 文件存在並且可執行則為真

-s 文件存在並且至少有一個字元則為真

-d 文件存在並且為目錄則為真

-f 文件存在並且為普通文件則為真

-c 文件存在並且為字元型文件則為真

-b 文件存在並且為塊特殊文件則為真

-a並且 -o或者 !非

exit命令

用於終止shell腳本的執行並返回到$提示符下

case 。。。esac

shell腳本中使用的這個構造依據變數的值而執行一組特定指令

當變數的值和其中的一個值匹配的時候,就執行寫在該值下的一組命令。

example3

迭代

while構造

while <條件>

do

<命令(s)>

done

只有條件為真的時候,才能執行do與done之間的命令

until構造

until循環構造的求值模式於while循環相反

until循環將繼續執行直到求值的條件為真的時候

for構造

for variable_name in <list_of_values>

do



done

for循環取一列值作為輸入並對循環中每個值執行循環

break和contineu命令

同其他語言中的用法

example4

控制進程的執行

請求後台處理

用於請求後台進程的符號是 (&)

$ wc tempfile &

[1] 2082

$ vi newfile

檢查後台進程

ps(進程狀態)命令為每個當前的活動的每個進程產生一行入口。

終止後台進程

可用kill,如下所示

kill 278

查看完成一個命令所花的時間

你可以使用time命令來查看一個命令從開始到結束所花的時間

time fine /etc –name 「passwd」 2> /dev/null /dev/null表明忽略錯誤信息。

管道的介紹

垂直條(|)是管道字元

它只是shell:「|」前面命令的輸出作為「|」之後命令的輸入發送

ls –l | more

用管道組合命令,功能強大

Ⅳ linux下通過腳本實現自動重啟程序

自動重啟故障相信大家都遇到過,原因也有很多,跟系統,硬體或者外界因素都有關,但是在Linux中可沒有那麼簡單。這里集中討論linux實現自動重啟程序的方法。下面一起看看!

自動重啟腳本

假定需要實現重啟的程序名為 test ,我們這里通過判斷進程數目來判斷程序是否正常。

ps -ef | grep "$1" | grep -v "grep" | wc –l 是獲取$1(本例中為test)的進程數,腳本根據進程數來決定下一步的操作。通過一個死循環,每隔1秒檢查一次系統中的指定程序的進程數。

代碼如下:

腳本check

#!/bin/sh

#-----------------------------------# 函數: CheckProcess# 功能: 檢查一個進程是否存在# 參數: $1 --- 要檢查的進程名稱# 返回: 如果存在返回0, 否則返回1.#---------------------------------------CheckProcess(){ # 檢查輸入的參數是否有效 if [ "$1" = "" ]; then return 1 fi #$PROCESS_NUM獲取指定進程名的數目,為1返回0,表示正常,不為1返回1,表示有錯誤,需要重新啟動 PROCESS_NUM=`ps -ef | grep "$1" | grep -v "grep" | wc -l` if [ $PROCESS_NUM -eq 1 ]; then return 0 else return 1 fi}

# 檢查test實例是否已經存在while [ 1 ] ; do CheckProcess "test" CheckQQ_RET=$? if [ $CheckQQ_RET -eq 1 ]; then# 殺死所有test進程,可換任意你需要執行的操作 killall -9 test exec ./test & fi sleep 1done

腳本start:

加入limit corempsize 102400,設置core file的大小,一旦程序Core Dump,有跡可尋。在該腳本中後台執行check腳本,可以省去很多麻煩,

#!/bin/cshlimit corempsize 102400

./check &

補充:電腦總是自動重啟怎麼辦

1、右擊“我的電腦”,選擇“屬性”項。

2、在打開的系統屬性窗口中選擇“高級系統設置”項進入。

3、在打開的“系統屬性”窗口中,切換至“高級”選擇卡,然後點擊“系統和故障恢復 設置”按鈕。

4、在打開的窗口中取消勾選“自動重啟啟動”項並按確認即可。

5、當電腦在使用的過程中產生藍屏時,我們就可以進入“系統日誌”管理器中查看產生系統失敗的根源啦。打開“運行”對話框,輸入命令“eventvwr.msc”即可查看日誌信息,從中定位系統產生失敗的原因。

6、當然,我們也可以通過禁用某些開機項來嘗試修復系統。打開“運行”對話框,輸入命令“msconfig”進入“系統配置實用程序”界面,勾選“常規”選項卡下的“診斷啟動”選項。

7、還有一種修復計算機藍屏或重啟故障的方法,就是在電腦啟動時按“F8”進入系統故障菜單,從中選擇“安全模式”進入或“最後一次正確的配置”項進入系統,將及有可能修復系統。

8、當然,如果以上方法均不能解決問題,那麼建議您還是重新安裝一下系統,畢竟安裝系統所耗費的時間相對修復所用時間要少許多。一勞永逸之事才是王道。

相關閱讀:電腦自動重啟方法

方法一:

1、打開控制面板-管理工具-計劃任務程序

2、創建基本任務,名稱欄目,輸入“定時重啟”,下一步;

3、在窗口裡,有每天、每周、每月、一次各種選擇,這里小誠選擇一次,這次執行完就失效,您可以根據自己的情況進行選擇哈,點擊下一步;

4、設置重啟的日期、時間點,下一步;

5、選擇啟動程序,下一步;

6、在打開頁面里,點擊瀏覽,找到C;WindowsSystem32Shutdown.exe,點擊打開;

7、在添加參數欄目里輸入“-r”(重啟),進行下一步

8、點擊完成,即可實現自動重啟了

方法二:

Ⅵ linux中運行一個腳本,用戶不需要什麼樣的許可權

linux中運行一個腳本,用戶不需要W許可權。

執行:1。

寫入:2。

讀取:4。

其他許可權分別是

-rw------- (600) -- 只有讀寫許可權。

-rw-r--r-- (644) -- 只有有讀寫許可權;而屬組用戶和其他用戶只有讀許可權。

-rwx------ (700) -- 只有有讀、寫、執行許可權。

-rwxr-xr-x (755) -- 有讀、寫、執行許可權;而屬組用戶和其他用戶只有讀、執行許可權。

-rwx--x--x (711) -- 有讀、寫、執行許可權;而屬組用戶和其他用戶只有執行許可權。

(6)L井腳本擴展閱讀:

sed = filename | sed 'N;s/\n/\t/'

# 對文件中的所有行編號(行號在左,文字右端對齊)。

sed = filename | sed 'N; s/^/ /; s/ *\(.\{6,\}\)\n/\1 /'

# 對文件中的所有行編號,但只顯示非空白行的行號。

sed '/./=' filename | sed '/./N; s/\n/ /'

# 計算行數 (模擬 "wc -l")

Ⅶ 求一個耗盡cup耗盡內存資源的linux腳本,為了學習vmstat監控變化用的

1.無限遞歸調用自身

比如腳本的名字是 exhaustResources.sh,那麼就這樣寫:

#!/bin/sh
echo "unlimited recursive call..."
./exhaustResources.sh #call self

在我的UBUNTU上測試了下效果:CPU立刻跳到90%以上,並且以每秒100MB的速度吞噬內存。

注意:運行這個腳本很可能讓電腦失去響應(因為是以大量讀入數據的方式消耗內存)!測試時,可以按Ctrl+C中止腳本運行。

2.空循環
#!/bin/sh
#echo "unlimited cycle"
while [ 1 ]
do
echo "unlimited cycle"
done

這個腳本只能消耗一個CPU的全部資源。多核CPU的其他核心佔用率不會升高。

Ⅷ 幾個常用的Linux監控腳本

是需要inotify? 還是incrontab

熱點內容
編程閱卷 發布:2024-11-20 00:35:35 瀏覽:144
php培訓是什麼意思 發布:2024-11-20 00:00:32 瀏覽:635
冒牌天神ftp 發布:2024-11-19 23:46:07 瀏覽:911
c語言學習哪個好 發布:2024-11-19 23:38:40 瀏覽:204
java回合 發布:2024-11-19 23:20:02 瀏覽:391
破壞環境的資料庫 發布:2024-11-19 23:13:20 瀏覽:569
yy159腳本下載 發布:2024-11-19 23:07:03 瀏覽:419
螢石雲app怎麼配置 發布:2024-11-19 23:06:57 瀏覽:168
小白兔fm安卓在哪裡下載 發布:2024-11-19 23:06:00 瀏覽:104
java實例源碼 發布:2024-11-19 23:01:55 瀏覽:81