Linux指令學習筆記(一)

工作需要,一邊用一邊學,所以不是系統地整理


man :任何時候你覺得對一個命令行不是很確定,都可以通過輸入“man + 命令”瞭解這個命令能確切是做什麼的。
pwd :在終端中顯示當前工作目錄的全路徑。
cd :要變更你當前所在的目錄。
mkdir :創建一個新的目錄。
rm:刪除一個文件或目錄

">"就是輸出;">>" 則表示不清除原來的而追加輸出。

ls :列出目錄內容。
ls範例:
列出目前工作目錄下所有名稱是s 開頭的檔案,愈新的排愈後面:
ls -ltr s*
將/bin 目錄以下所有目錄及檔案詳細資料列出:
ls -lR /bin
列出目前工作目錄下所有檔案及目錄;目錄於名稱後加"/", 可執行檔於名稱後加"*":
ls -AF
以遞減順序排列文件 # ls -l | grep ^- | sort -nr -k 5 | more
遞歸地以遞減順序排列文件 # ls -lR | grep ^- | sort -nr -k 5 | more

find範例:
將目前目錄及其子目錄下所有延伸檔名是c 的檔案列出來。
# find . -name "*.c"
將目前目錄其其下子目錄中所有一般檔案列出
# find . -ftype f
將目前目錄及其子目錄下所有最近20 分鐘內更新過的檔案列出
# find . -ctime -20

mv:將一個檔案移至另一檔案,或將數個檔案移至另一目錄
mv參數:-i 若目的地已有同名檔案,則先詢問是否覆蓋舊檔。
範例:
將檔案aaa 更名爲bbb:
mv aaa bbb
將所有的C 語言程式移至Finished 子目錄中:
mv -i *.c

ls >ls.txt 
for s in $(cat ls.txt) 
do 
echo $s 
done 

從 本地 複製到 遠程
======
* 複製文件:
* 命令格式:
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2個指定了用戶名,命令執行後需要再輸入密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名;
第3,4個沒有指定用戶名,命令執行後需要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名;

文件比較運算符
if [ -f url.txt ]
then
mv url.txt url.txt.$date
fi
-e filename 如果 filename存在,則爲真 [ -e /var/log/syslog ]
-d filename 如果 filename爲目錄,則爲真 [ -d /tmp/mydir ]
-f filename 如果 filename爲常規文件,則爲真 [ -f /usr/bin/grep ]
-L filename 如果 filename爲符號鏈接,則爲真 [ -L /usr/bin/grep ]
-r filename 如果 filename可讀,則爲真 [ -r /var/log/syslog ]
-w filename 如果 filename可寫,則爲真 [ -w /var/mytmp.txt ]
-x filename 如果 filename可執行,則爲真 [ -L /usr/bin/grep ]
filename1-nt filename2 如果 filename1比 filename2新,則爲真 [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2 如果 filename1比 filename2舊,則爲真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比較運算符 (請注意引號的使用,這是防止空格擾亂代碼的好方法)
-z string 如果 string長度爲零,則爲真 [ -z "$myvar" ]
-n string 如果 string長度非零,則爲真 [ -n "$myvar" ]
string1= string2 如果 string1與 string2相同,則爲真 [ "$myvar" = "one two three" ]
string1!= string2 如果 string1與 string2不同,則爲真 [ "$myvar" != "one two three" ]
算術比較運算符
num1-eq num2 等於 [ 3 -eq $mynum ]
num1-ne num2 不等於 [ 3 -ne $mynum ]
num1-lt num2 小於 [ 3 -lt $mynum ]
num1-le num2 小於或等於 [ 3 -le $mynum ]
num1-gt num2 大於 [ 3 -gt $mynum ]
num1-ge num2 大於或等於 [ 3 -ge $mynum ]

if語法
if [ expression ]
then
statments
elif [ expression ]
then
statments
else
statments
fi

隨機數
=$RANDOM 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章