***************=== shell **********====
一、shell命令
1.shell是一種命令直譯器
2.shell的種類:
1.bash
2.sh
3.ksh
4.csh
5....
3.檢視當前的shell型別
echo $shell
4.檢視系統能支援的shell
vi /etc/shells
5.command [-options] arg1 arg2 arg3
6.自動補齊:tab
tab:寫入乙個命令的時候,可以用tab鍵來補全命令
二、命令
1.基本操作命令
1.1 pwd ==> 檢視當前目錄的絕對路徑
1.2 ls ==> 檢視當前目錄下的可見檔案
ls -a ==> 檢視當前目錄下所有檔案(包含隱藏檔案)
ls -l ==> 檢視可見檔案的詳細資訊
linux下一切皆是檔案 (7種)
b: 塊裝置檔案
block:儲存裝置檔案
c: 字元裝置檔案
character:作業系統識別的字元裝置
d: 目錄檔案
directory:目錄檔案
-: 普通檔案
l: 連線檔案
s: 套接字檔案
socket:進行網路傳輸的檔案
p: 管道檔案
pipe:進行程序間通訊
fifo:
檔案==》使用者==》組使用者
421 421 421
rwx rwx rwx
r:代表可讀
w:代表可寫
x:代表可執行
--- --- ---
7 7 7
第一組:表示檔案所屬使用者可讀可寫可執行許可權
第二組:表示檔案所屬使用者同組的其它使用者可讀可寫可執行許可權
第三組:表示其他使用者對檔案擁有可讀可寫可執行的許可權
1.3 chmod ==>chmod 777 檔名
將檔案的許可權規定為所有人對此檔案都能執行讀寫執行的操作
chmod +x 檔名
規定所有人對此檔案都有對此檔案執行的許可權
1.4 mkdir ==>mkdir 檔名
建立乙個目錄檔案
1.5 rmdir ==>rmdir 檔名
刪除乙個空目錄檔案
rm -r 檔名
1.6 touch ==>touch 檔名
建立乙個普通檔案
vi 檔名
2. 檔案操作命令
2.1 cat ==> cat 檔名
在shell下檢視檔案
more ==> more 檔名
less ==> less 檔名
head ==> head 檔名
head -n 行數 檔名
tail ==> tail 檔名
tail -n 行數 檔名
2.2檔案拷貝和移動
拷貝:cp
格式:cp 原始檔 目標檔案
移動:mv
格式:mv 原始檔 目標檔案
小練習:在家目錄下新建乙個test目錄
在test目錄中新建a.c b.c c.c三個檔案
在test目錄下面建立test2目錄
將test目錄中的a.c拷貝到test2目錄下
將test目錄中的b.c移動到test2目錄下
2.3.檔案檢索命令:
find
==> find -name 檔名
在當前目錄及子目錄下查詢檔案
==> find / -name 檔名
在系統中查詢檔案
==> find /home/linux -name 檔名
在/home/linux目錄及子目錄下查詢檔案
2.4.歷史查詢命令
history ==> history
檢視shell下命令的歷史記錄
==> echo $histsize
列印history緩衝區的大小
==> histsize=2000
設定history快取區大小
==> history -c
清空history快取區
2.5.命令別名
alias
==> alias chakan='ls -l'
chakan將能實現ls -l的命令
alias 新命令='原始命令'
新建乙個命令別名
unalias 新命令
刪除乙個命令別名
三、特殊:
1.萬用字元
*匹配滿足字串的任意長度任意字元的檔案
?匹配滿足字串的乙個任意字元的檔案
匹配滿足字串的中括號內制定的檔案
[-]匹配滿足字串的中括號內從x-x的檔案
[^]匹配滿足字串的中括號內除了x的檔案
2.管道
|連線兩個shell命令
將前面命令的輸出作為後面命令的輸入
ps -ef | grep *** 檢視某個程序狀態
3.輸出定向
>
echo helloworld > 1.txt
將本來應該列印在終端上的helloworld列印到1.txt檔案中(覆蓋原始檔資訊)
>>
echo helloworld >> 1.txt
將北來應該列印在中斷上的helloworld追擊到1.txt檔案中(不覆蓋原始檔資訊,只是追加在檔案末尾)
四、不常用
判斷檔案是否一致
diff file1 file2
判斷檔案型別
file 1.txt
中斷顯示
echo helloworld
echo $histsize
echo $shell
當前系統日期命令
date
檢視當前登入使用者
whoami
使用者身份切換
su root
su linux
五、打包命令
1.打包 tar
tar -cvf ***.tar ***
2.解包 tar
tar -xvf ***.tar
3.壓縮
gzip
gzip -c ***.tar > ***.tar.gz
4.解壓 gunzip
gunzip ***.tar.gz
5.壓縮 bzip2
bzip2 -k ***.tar
6.解壓 bunzip2
bunzip2 ***.tar.bz2
7.組合鍵
tar -zcvf ***.tar.gz ***
tar -zxvf ***.tar.gz
tar -jcvf ***.tar.bz2 ***
tar -jxvf ***.tar.bz2
六、使用者管理命令
ubuntu
1. 新建使用者:sudo adduser ***
2. 修改密碼:passwd ***
3. 刪除使用者:deluser ***
4. 切換使用者:su ***
/etc/passwd
儲存與使用者相關的資訊
/etc/shadow
儲存使用者密碼
/etc/group
儲存使用者組資訊
/home/james
家目錄七、程序管理命令
1.程式:程式是一系列**的集合
程序:程式執行的過程
ps -ef ==>檢視當前作業系統中程序資訊
ps aux ==>檢視當前作業系統中程序資訊
kill -9 程序號(pid)
殺死程序號對應的程序
killall -9 程序名
殺死所有程序名程序
top==>根據cpu佔用率去檢視程序
Linux基礎知識(二)
二 專案的自動化構建工具 偵錯程式的功能 除錯 觀察程式的執行過程,通常目的都是為了排查程式的執行錯誤。除錯程式的前提 程式必須是乙個debug版本的程式。由於gcc g 預設生成release版本程式,因此若要生成debug版本,則使用 g選項gcc g test.c o test。可執行程式的分...
linux網路程式設計基礎知識
int connect int sockfd,const struct sockaddr servaddr,socklen t addrlen 引數 sock是socket返回的套接字描述符,第二個和第三個引數是伺服器的套接字位址結構的指標和該結構的大小。作用 tcp客戶端通過connect函式建立...
《UNIX環境高階程式設計》 UNIX基礎知識
一 unix體系結構 1 unix系統的體系結構 p1 圖1 1 2 核心的介面被稱為系統呼叫。公用函式構建在系統呼叫介面之上,應用程式即可食用公用函式庫,也可使用系統呼叫。二 登入 1 口令檔案 etc paaswd由7個冒號分隔的字段組成,依次是 登入名 加密口令 數字使用者id 數字組id 注...