linux文件腳本
本周我們學習了如何使用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 shell腳本執行命令詳解
在Linux下,如果你需要執行shell腳本,那麼應該使用那個命令呢?下面由我為大家整理了linux shell腳本執行命令的相關知識,希望對大家有幫助!
linux shell腳本執行
linux shell腳本執行方法一: 切換到shell腳本所在的目錄(此時,稱為工作目錄)執行shell腳本:
cd /data/shell
./hello.sh
./的意思是說在當前的工作目錄下執行hello.sh。如果不加上./,bash可能會響應找到不到hello.sh的錯誤信息。因為目前的工作目錄(/data/shell)可能不在執行程序默認的搜索路徑之列,也就是說,不在環境變數PASH的內容之中。查看PATH的內容可用 echo $PASH 命令。現在的/data/shell就不在環境變數PASH中的,所以必須加上./才可執行。
linux shell腳本執行方法二: 以絕對路徑的方式去執行bash shell腳本:
/data/shell/hello.sh
linux shell腳本執行方法三: 直接使用bash 或sh 來執行bash shell腳本:
cd /data/shell
bash hello.sh
或
cd /data/shell
sh hello.sh
注意,若是以方法三的方式來執行,那麼,可以不必事先設定shell的執行許可權,甚至都不用寫shell文件中的第一行(指定bash路徑)。因為方法三是將hello.sh作為參數傳給sh(bash)命令來執行的。這時不是hello.sh自己來執行,而是被人家調用執行,所以不要執行許可權。那麼不用指定bash路徑自然也好理解了啊。
linux shell腳本執行方法四: 在當前的shell環境中執行bash shell腳本:
cd /data/shell
. hello.sh
或
cd /data/shell
source hello.sh
前三種方法執行shell腳本時都是在當前shell(稱為父shell)開啟一個子shell環境,此shell腳本就在這個子shell環境中執行。shell腳本執行完後子shell環境隨即關閉,然後又回到父shell中。而方法四則是在當前shell中執行的。
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 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打開。
達到小小的學以致用的目的了。
5. 如何在 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。
支持多種平台
6. Linux下如何運行sql腳本
Linux運行sql腳本的具體操作步驟如下:
1、使用shell工具登陸到安裝postgresql的伺服器,切換到postgres用戶,postgresql默認的操作用戶,命令是:su - postgres,查看當前路徑是/var/lib/psql,創建一個test.sql腳本文件,命令是:vim test.sql。

