Linux的一些指令與介紹
其實這是我為了期末考弄得的重點整理拉....(明天要考)
不知道對大家有沒有幫助
PS.看完請祝福我...考試 順利喔..感激不盡^^
#開機
1.kernel會執行/sbin目錄下的init程式
2.init會執行/etc/rc.d/rc.sysinti
3.rc.sysinit中設定了很多的系統變數,即執行其他啟動所需的動作
4.init會執行run level中所有的script(script檔案中開頭為S:啟動 為K:不會啟動
5.init會執行/etc/rc.d/rc.local中的script
#執行等級 預設等級存放在/etc/inittab中
0 Halt
1 Singual user mode
2 Multiuser,no NFS
3 Full multiuser mode(文字模式)
4 Unused
5 Xwindows
6 重新開機
壓縮指令
#compress
compress A 產生A.z(且檔案會被A.z取代)
-d 解壓縮
#gzip
gzip A 產生A.gz(且檔案會被A.gz取代)
zcat A.gz 不解開壓縮就看裡面的內容
-d 解壓縮
#tar
-c建立備份檔
-x解開備份檔到目前的目錄
-v顯示詳細資訊
-z同時使用壓縮方式備份
tar -cvzf ./A.tar.gz ./A 將A目錄打包後壓縮成A.tar/gz
env 顯示全部的環境變數
echo $home 顯示home的環境變數
#shell 是一隻程式、在Linux中擔任解釋及執行使用者命令
USER login後Shell就被載入記憶體=>Login Shell
Login shell 處理使用者輸入輸出及系統錯誤訊息
設定環境變數
解釋使用者輸入指令sh:最早的shell
bash:預設的shell
csh:功能多與C類似 最嚴謹
#shell script 整合繁瑣指令步驟 符合個人化管理需求
優點:難度低 速度快
$:變數
' ':單引號內部視為字串 echo '$b" =>$b
" ":雙影號內部視為字串(含空白)內部會判斷變數 echo "$b" =>abc
/:目錄
.:現在目錄
..:上一層目錄
` `:執行命令
Example: $c=`who`
echo $c =>who指令結果輸出
>:重新導向 ps > a.txt 將ps指令所顯示的內容存到a.txt
|:管道 A程式輸入當成B程式輸出
;:連續指令 echo $a;echo $b
#:註解 #!/bin/base 使用base來解譯script
read:似C++的cin read $a 把keyin的資料丟給a
$1 $2 $3:?????
#變數宣告方法
(1)直接給予 varible-name=varible-value
example:a=5;echo $a
(2)read =c++的Cin
example:read(a)//將Keyin的值丟到a
(3)使用參數$ ???????????
example:
$abc 123 456
$1=123
$2=456
#for條件式: Example:
for 變數(var) in 條件式(list); sum=0
do for int in 1 2 3 4 5 6 7 8 9 0
commands do
done sum=$[sum + $int]
done
echo "1+2+3+4+5+6+7+8+9+0=$sum"
#if條件式 example:
if(test condication)then a=5
commands b=3
elif(test condiction)then echo $a
commands echo $b
else if (test $a = $b)then
commands echo a=b
fi//代表if end else
echo a!=b
fi
#test:
數字 邏輯 檔案
==:eq and:-a -f:檔案存在
>=:ge or:-o -d:目錄
<:gt not:! -r:檔案存在且可read
<=:le -w:檔案存在且可write
<:lt -x:檔案存在且可執行
!=:ne -s:檔案存在且不是空的
[ ]:控制流程判斷式 example:if [ $a -eq $b ]...省略了test
#case 判斷式 example1: example2:
case word in read a read a
pattern) statement;; case $a in BB=`who | grep $1`
pattern) statement;; a) echo 1;; case $a in
esac b) echo 2;; a) echo $BB;;
*) echo 3;;//*=defult b) who | grep $1;;
esac *) echo 3;;
esac
#while判斷式 example:
while [ condition ] times=0
do while [ $times -lt 10 ] //until [ $times -eq 10 ]
command do
done echo $times
sleep 1 //delay 1sec
times=$[$times + 1]
done
#until
until [ condition ]
do
command
done
#九九乘法表
for a in 1 2 3 4 5 6 7 8 9
do
for b in 1 2 3 4 5 6 7 8 9
do
echo "$a*$b=$[$a * $b]"
done
done
#FTP
ftp ftp.nsysu.edu.tw
>Td:anonymous
>passward:
cd:改變遠端電腦的工作目錄
get:取得遠端電腦檔案 example:get A.gz
put:將檔案放到遠端的電腦上 example:put A.gz
lcd:改變本地電腦的工作目錄 example:lcd file
chmod:改變檔案的存取權限
delet:刪除遠端檔案
mkdir:建立新目錄
quit:離開
ls,dir:列出遠端目錄
#Mail
mail address
>subject..... ctrl+c:中斷編輯(按兩次)
>CC:副本 ctrl+d:編輯完成並傳送
mail 看信 h:看郵件
d:刪除 example:d4 刪除編號4的mail
R:回信給寄信者
r:回信給所有的收件人
用自己寫好的訊息寄mail
-s:加標頭 example:mail
a9307048@mail.ntust.edu.tw -s 'test'
<$Home/k.txt
#crontab執行例行的行程
-u:只有root可以下的參數,視察或編輯其他使用者crontab內容
-l:列出crontab內容
-e:編輯crontab內容
-r:刪除
格式:分鐘(0-59) 小時(0-23) 日期(1-31) 月份(1-12) 週(0-6)
*/5 * * * 1,3,5 a9307048 -s test
週一三五 每五分鐘 執行
#gcc/cc
compiler c example:gcc hello.c 產生a.out執行檔
建立object file gcc -c hello.c 產生hello.o
建立執行檔 gcc -o hello[執行檔檔名] hello.o
多個檔案編成一個file gcc -c main.c echo.c
gcc -o hi[執行檔名稱] main.o echo.o
若程式較小時可用:cc -o hi main.c echo.c
gcc -o sin sin.c -lm //(l:link,m:math)
ldd sin 看執行檔有哪些lib
/lib
/usr/lib
-L/home/lib 指定函式庫目錄
-I/home/include/ 指定標頭檔目錄(內建的存在/usr/include)