本周我們學習了如何使用Linux編輯腳本程序,當我們編寫好腳本的時候,我們需要返回終端界面,使用各種編譯器運行程序,但是有時候我們需要在系統開機的時候就自動運行這些程序,下面我們就來看一下在Linux下將腳本設定成開機自動運行的方法。
Linux在啟動時,會自動執行/etc/rc.d目錄下的初始化程序,因此我們可以把啟動任務放到該目錄下。假設我們需要運行的腳本文件是test1目錄下的test.py。
在系統中找到/etc/rc.local文件,系統會根據該文件來啟動所指定的腳本或命令。
我們需要用超級用戶登錄,並在上述文件最後添加需要運行的腳本文件。
隨後cd /home/test1返回test1目錄以對其進行更改。
su test1 -c "python /home/test1/test.py" --把要執行的命令作為一個參數傳遞級su
下面我們就可以實現這個腳本的開機自動運行。
2. 如何在 Linux 啟動時自動執行命令或腳本
Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。有用戶想要在Linux啟動時候自動執行命令腳本,應該怎麼設置呢?這篇文章主要介紹了詳解如何在 Linux 啟動時自動執行命令或腳本,主要有兩種方式,具有一定的參考價值,感興趣的小夥伴們可以參考一下。
方法步驟
在啟動時執行 Linux 腳本
有兩種傳統的方法可以實現在啟動時執行命令或腳本:
方法 #1 - 使用 cron 任務
除了常用格式(分 / 時 / 日 / 月 / 周)外,cron 調度器還支持 @reboot 指令。這個指令後面的參數是腳本(啟動時要執行的那個腳本)的絕對路徑。
然而,這種方法需要注意兩點:
a) cron 守護進程必須處於運行狀態(通常情況下都會運行),同時
b) 腳本或 crontab 文件必須包含需要的環境變數(如果有的話,參考 StackOverflow 獲取更多詳細內容)。
方法 #2 - 使用 /etc/rc.d/rc.local
這個方法對於 systemd-based 發行版 Linux 同樣有效。不過,使用這個方法,需要授予 /etc/rc.d/rc.local 文件執行許可權:
# chmod +x /etc/rc.d/rc.local
然後在這個文件底部添加腳本。
下圖說明如何分別使用 cron 任務和 rc.local 運行兩個示例腳本(/home/gacanepa/script1.sh 和 /home/gacanepa/script2.sh)。
script1.sh:
#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt
script2.sh:
#!/bin/bash
SITE="Tecmint.com"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
*啟動時執行 Linux 腳本 *
記住,一定要提前給兩個示例腳本授予執行許可權:
$ chmod +x /home/gacanepa/script1.sh
$ chmod +x /home/gacanepa/script2.sh
在登錄或注銷時執行 Linux 腳本
要在登錄或注銷時執行腳本,分別需要使用 ~.bash_profile 和 ~.bash_logout 文件。多數情況下,後者需要手動創建。在每個文件的底部,添加調用腳本代碼,如前面例中所示,就可以實現這個功能。
補充:Linux基本命令
1.ls命令:
格式::ls [選項] [目錄或文件]
功能:對於目錄,列出該目錄下的所有子目錄與文件;對於文件,列出文件名以及其他信息。
常用選項:
-a :列出目錄下的所有文件,包括以 . 開頭的隱含文件。
-d :將目錄像文件一樣顯示,而不是顯示其他文件。
-i :輸出文件的i節點的索引信息。
-k :以k位元組的形式表示文件的大小。
-l :列出文件的詳細信息。
-n :用數字的UID,GID代替名稱。
-F : 在每個文件名後面附上一個字元以說明該文件的類型,“*”表示可執行的普通文 件;“/”表示目錄;“@”表示符號鏈接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目錄名稱]
常用選項:
cd .. 返回上一級目錄。
cd ../.. 將當前目錄向上移動兩級。
cd - 返回最近訪問目錄。
3.pwd命令
格式: pwd
功能:顯示出當前工作目錄的絕對路徑。
相關閱讀:Linux主要特性
完全兼容POSIX1.0標准
這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。
多用戶、多任務
Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。
良好的界面
Linux同時具有字元界面和圖形界面。在字元界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統,用戶可以使用滑鼠對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。
支持多種平台
3. linux 每日自動備份文件的腳本
1、比如每天產生一個/data/access.log這樣的文件,我們每天備份到backup目錄的access_2011-01-12.log.gz這樣的文件。
2、增專加計劃任務
export
EDITOR=vi
crontab
-e
0
0
*
*
*
/data/bak.sh;
3、bak.sh文件內屬容如下:
cat
/data/bak.sh
#!/bin/bash
logs_dir=/data
bak_dir=/data/backup
bak_file=access_`date
+%Y%m%d`.log
#
tar
everyday
#echo
"begining
of
tar"
tar
zcf
$bak_dir/$bak_file.gz
$logs_dir/access.log
#
clear
bak_file
#echo
"clearing
file.log"
find
$bak_dir
-mtime
+7
-exec
rm
-rf
{}
\;
#end
求採納為滿意回答。
4. linux腳本文件中怎麼從文件中讀取數據並賦值給變數
linux腳本文件中,從文件中讀取數據並賦值給變數的操作方法和步驟如下:
1、首先,創建一個名為shell.sh的文件:vi shell.sh,如下圖所示。
5. linux下怎麼寫一個自動創建文件夾和文件的腳本
Linux Shell 腳本自動創建文件並修改其許可權
在學習《Linux命令行與shell腳本編程大全》第三版時,每次運行書上的代碼時,需要創建一個testxx.sh文件,修改其執行許可權,最後再用vim來編輯。這樣一個重復的過程,可以通過書中學習的知識編寫一個腳本來自動解決,該腳本命名為NewTestSh。
代碼如下:
fileName=test"$1".sh
echo "Create new test file: $fileName"
touch $fileName
chmod u+x $fileName
read -p "Press Enter to start to edit the file: " start
vim $fileName
完成後,將文件NewTestSh復制到目錄/usr/bin下,並用命令
sudo chmod 777 /usr/bin/NewTestSh1
來修改其執行許可權。如此之後,隨時隨地可以用腳本NewTestSh來自動創建新的名為testxx.sh的可執行文件。
用法示例:
NewTestSh 151
在當前目錄下創建一個名為test15.sh的可執行文件,再次按Enter後文件將被編輯器vim打開。
達到小小的學以致用的目的了。
6. linux中的腳本文件是什麼謝謝..........
腳本文件相抄當於DOS下的批處理文件襲,可以按照腳本配置執行一系列的操作命令.
通常Linux bash shell可執行腳本文件第一行必須是:#!/bin/sh開頭,表明這個腳本通過/bin/sh程序來解釋執行腳本中的命令,其它的可執行腳本也必須在第一行指明腳本的解釋執行程序,如python腳本是:#! /usr/bin/pythonx.x