Linux Tutorial
常用命令
文件處理命令
ls #顯示目錄文件list
-a #all
-l #detail
-d #目錄屬性
cd #change directory
/ #root directory
.. #上一級目錄
pwd #print working directory 顯示當前所在的工作目錄
touch #創建空文件
mkdir #make directories
cp #copy 復制文件或文件夾
-r #遞歸復制 recursive
mv #move 移動文件或更名
mv [src File/Dir] [dist File/Dir]
rm #romove
-r #遞歸刪除
cat #顯示文件內容
more #分頁顯示文件內容
head #查看文件的前n行
tail #查看文件的倒數幾行
ln #產生連接文件
ln -s [src] [dist] #創建軟鏈接
權限管理命令
chmod #change the permissions mode of a file
chmod [{ugo}{+-=}{rwx}] [file/dir]
chmod [mode=421] [file/dir]
文件權限:
文件
目錄
--------------------------------------------------------------
r read
可以查看文件內容 可以列出目錄內容
w write
可以修改文件內容 可以在目錄中和創建、刪除文件
x eXecute
可以執行文件 可以進入目錄
chown #change file ownership
chown [newOwner] [file|dir]
chown well file1
#change the owner of file1 to be user well
chgrp #change file group ownership
chgrp [newGroup] [file|dir]
umask #顯示、設置文件的缺省權限
-S #以rwx的形式顯示新建文件或目錄缺省權限
文件搜索命令
which #顯示系統命令所在的目錄
find #查找文件或目錄
locate
#list files in databases
updatedb
#update the locate database建立整個文件系統目錄文件的數據庫
grep #在文件中搜索字符串匹配的行並輸出
grep [string] [srcFile]
幫助命令
man #manual 獲得幫助信息
info #獲得幫助信息
whatis
#獲得索引的簡單說明信息
whatis apropos [anyKey]
壓縮命令
《鳥哥基礎》—— pdf 302
gzip #GNU zip 壓縮文件
.gz
bzip2 #
*.bz2
tar
tar -jcv -f filename.tar.bz2 distFilename #壓縮
tar -jxv -f filename.tar.bz2 -C distDir
#解壓縮
-j 通過bzip2的支持進行壓縮/解壓縮
-z 通過gzip的支持進行壓縮/解壓縮
-v 顯示過程
-c 建立打包文件
-x 解包、解壓縮文件
-f filename 指定要被處理的文件名
-C dir
指定在特定目錄解壓縮
網絡通信命令
write <Username>
#向另外一個用戶發送消息,ctrl+d作為結束
wall [message] [file] #向所有用戶廣播消息
ping IP_ADDR
#測試網絡連通性
ifconfig
#查看網絡設置信息
-a #查看所有網卡信息
setup #設置網絡信息
系統關機命令
shutdown -h now #立即關機指令
reboot
#重新啟動
Shell應用技巧
Tab鍵 #命令補齊
history
#命令歷史
!Num #執行歷史記錄中的第Num號命令
alias #別名設置
unalias
#刪除別名
I/O重定向:
Input:
> #覆蓋重定向,若不存在則創建
>> #追加重定向
Output:
<
管道:
| #將一個命令的輸出作為另一個命令的輸入
文本編輯器Vim/Vi
三種模式:
命令模式
插入模式
編輯模式
插入命令:
a 在光標後附加文本
A 在本行行末附加文本
i 在光標前插入文本
I 在本行開始插入文本
o 在光標下插入新行
O 在光標上插入新行
定位命令:
$ 移至行尾
0 移至行首
:setnu
設置行號
:setnonu
取消行號
gg 到第一行
G 到最後一行
nG 到第n行
:n 到第n行
刪除命令:
dd 刪除光標所在行
ndd 刪除第n行
:n1,n2d
刪除指定范圍的行
復制和剪切命令:
yy,Y 復制當前行
取消命令:
u 取消上一步操作
搜索和替換命令:
/string
向前搜索指定字符串
n 搜索指定字符串的下一個出現位置
:%s/old/new/g
全文替換指定字符串
保存和退出命令:
:w 保存修改
:wq 保存修改並退出
:q! 不保存修改退出
Linux引導流程解析
Linux軟件包管理
二進制軟件包管理(RPM, YUM)
例如有如下軟件包:sudo-1.7.2p1-5.el5.i386.rpm
卸載:
rpm -e sudo
安裝:
rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
升級:
rpm -Uvh sudo-1.8p1-5.el5.i386.rpm
----
yum的好處:自動解決軟件包依賴關系;方便的軟件包升級
安裝: yum install
檢測升級: yum check-update
升級: yum update
軟件包查詢:
yum list
軟件包信息:
yum info
卸載: yum remove
幫助: yum -help, man yum
源代碼包安裝
例如:proftpd
tar -xzvf proftpd-1.3.3d.tar.gz(解壓解包)
cd proftpd-1.3.3d
./configure --prefix = /usr/local/proftpd (配置)
make (編譯)
make install
(安裝)
腳本安裝(shell,java腳本)
./setup.sh
APT軟件包管理:
搜索軟件包:
apt-cache search
軟件包信息:
apt-cache show
安裝: apt-get install
刪除: apt-get remove
更新軟件源:
apt-get update
更新已安裝包:
apt-get upgrade
Linux用戶管理
配置文件
用戶信息文件
/etc/passwd
文件格式:
用戶名:密碼:UID:GID:注釋性描述:主目錄:命令解釋器
well:x:500:500::/home/well:/bin/bash
密碼文件 /etc/shadow
用戶組文件 /etc/group
用戶類型
root用戶,UID=0
普通用戶,UID=500-60000
偽用戶,UID=1-499
偽用戶與系統和程序服務相關,如bin,daemon,shutdown,halt等,以及mail,new,games,apache,ftp等。
偽用戶通常不需要或無法登錄系統;可以沒有宿主目錄
添加用戶
useradd NEW_USERNAME
passwd NEW_USERNAME #set password
Linux進程管理
查看用戶信息 w
JSCPU 以終端代號來區分,該終端所有相關的進程執行時,所消耗的CPU時間
PCPU CPU執行程序所耗費的時間
WHAT 用戶正在執行的操作
查看個別用戶信息
w USERNAME
查看系統中的進程
ps
a 顯示所有用戶的進程
u 顯示用戶名和啟動時間
l 長格式顯示
PID 進程號
PPID 父進程的進程號
TTY 進程啟動的終端
STAT 進程當前的狀態(S休眠狀態,D不可中斷的休眠狀態,R運行狀態,Z僵死狀態,T停止)
NI 進程優先級
ex.
# ps 查看隸屬於自己的進程
# ps -u or -l 查看隸屬於自己進程詳細信息
# ps -le or -aux 查看所有用戶執行的進程的詳細信息
# ps -aux --sort pid 可按進程執行的時間、PID、UID等對進程進行排序
kill 關閉進程
kill PID
Linux文件系統管理
常用文件系統文件夾說明:
/usr/bin
存放所有用戶均可執行的命令
/usr/sbin
存放只有root用戶能執行的命令
/usr 存放所有命令、庫、手冊
/etc 系統配置文件
磁盤信息查看
df 查看分區使用情況
du 查看文件、目錄大小
fsck 檢測修復文件系統
e2fsck
添加硬盤分區
fdisk 劃分分區
mkfs 創建文件系統
mount 嘗試掛載
/etc/fstab
寫入配置文件
Shell編程
shell結構:
1. #!指定執行腳本的shell
2. #注釋行
3. 命令和控制結構
創建shell程序的步驟:
第一步:創建一個包含命令和控制結構的文件。
第二步:修改這個文件的權限使它可以執行
使用chmod u+x
第三步:執行 ./example
(也可以使用“sh example”執行)