一、 系統安裝篇
1、選擇「Installor upgrade an existing system 」開始安裝旅程
#
#2、選擇「Skip」跳過光碟安裝偵測
3、選擇「Next」繼續安裝
#4、保持預設的語言“English(English)”,點擊“Next”繼續
###### ############# ########### #5、保持預設的鍵盤按鍵“U.S English”,點選“Next”繼續############################## ## ########## ############6、當在非伺服器且不具備外接儲存裝置時,請選擇“Basic Storage Devices(基本儲存裝置)”,點擊「Next」繼續############Ø Basic Storage Devices(基本儲存裝置)############Ø Specialized Storage Devices(指定的儲存裝置)### ######################## ############7、選擇「Yes,discard any data(是,忽略所有資料)”,點選“Next”繼續############Ø Yes, discard any data(是,忽略所有資料)############Ø No, keep any data(否,保留所有資料)############ ############Applymy choice to all devices with undetected partitions or filesystems####### #####(在所有包含未探測分割區或檔案系統的裝置中套用我的選擇)########################### ######
8、設定主機名稱與網絡,點選「Next」繼續
#
#
##
#9、時區選擇“Asia/Shanghai(亞洲/上海)”,並取消“System clock user UTC(系統時鐘使用UTC時間)”的勾選,
#點選「Next」繼續
#
##10 、密碼設定,輸入密碼和確認密碼,點選「Next」繼續
11、磁碟分割區格式設定,選擇“建立自訂佈局”,點選“Next“繼續
#
12、磁碟分割區建立,選取“ Free(空閒)「的磁碟,點選」Create(建立)“,依照需求建立磁碟分割區,然後點選」Next「繼續
#
# |
可參考下面的方案進行磁碟的分割區設定: |
||||||||
分割區類型 ############掛載點##################檔案系統類型##################其它大小選項######################################################################### ##########建議大小#########################標準分割區(Standard Partition)####### |
/boot |
#Ext4 |
#Ext4
|
固定大小(Fixed size)
|
|||||
##2000 MB |
|||||||||
10000 MB |
|||||||||
8000 MB
|
#標準分割區(Standard Partition) |
/usr |
|||||||
Ext4
|
固定大小( Fixed size)
|
3000 MB
|
10000 MB
|
#標準分區(Standard Partition) |
#/var |
||||
#Ext4
|
# 固定大小(Fixed size)
| #1000 MB
|
8000 MB
|
標準分區(Standard Partition) |
/tmp |
||||
Ext4
|
固定大小(Fixed size)
|
#500 MB
|
7000 MB #############標準分區(Standard Partition)########### #######/data##################xfs##################固定大小(Fixed size)###### |
5000 MB |
#20000 MB |
||||
標準分區(Standard Partition) |
#/home |
Ext4 |
固定大小(Fixed size) |
剩餘全部 |
剩餘全部 |
||||
#標準分區(Standard Partition) |
/backup |
#xfs |
固定大小(Fixed size) |
#獨立磁碟全部 |
##獨立磁碟全部 |
「設定檔範例: | |
DEVICE=eth0 |
#注意:名稱和網路卡名稱必須一致 |
TYPE=Ethernet |
#網路卡類型(Ethernet | TokenRing | ATM | ADSL) |
UUID=****** |
|
UUID唯一編碼(GUI D編碼) |
|
##系統啟動時是否自動載入 |
|
#NM_CONTROLLED=no |
##是否即時生效(改為no不依賴VMware 網路管理控制) |
BOOTPROTO=static | #取得ip位址的方式(none | static | bootp | dhcp) |
HWADDR=00:50:56:3B:51:59 |
#MAC位址 |
#IPADDR=192.168.100.254 #########IP位址################# #######NETMASK=255.255.255.0###################子網路遮罩########################## ########BROADCAST=192.168.100.255##################廣播位址(可不設定)############# ############PREFIX=24################### ###################################################################################################################################### #######GATEWAY=192.168.100.1###################預設閘道################## ######DNS1=208.67.222.222###################DNS位址1######################################################################## ######DNS2=208.67.220.220###################DNS位址2###### |
|
DEFROUTE=yes |
#預設啟用路由 |
IPV4_FAILURE_FATAL=yes |
|
#IPV6INIT=no |
#IPv6設定相關 |
IPV6_AUTOCONF=yes |
#IPv6配置相關 |
##IPV6_PEERROUTES=yes |
|
IPV6_FAILURE_FATAL=no |
|
NAME =eth0 |
##USERCTL=no
是否允許非root使用者控制該裝置
PEERDNS=yes | |
是否允許自動修改/etc/resolv.conf設定檔 |
|
#/etc/init.d/networkreload 重新匯入ifcfg-eth0網路設定檔 |
#③ 修改主機名稱與網關 |
④ 修改DNS
#vim/etc/sysconfig/resolv.conf
#設定檔範例: | |
#nameserver 208.67.222.222 |
|
DNS 1 |
|
#****** |
| ******
nameserver 208.67.220.220
#DNS n |
|
#vim/etc/hosts |
#more/etc/hosts
|
設定檔範例: |
⑥ 重新啟動系統
#
命令列方式修改IP位址、閘道器、DNS:(重新啟動後失效)
① 修改IP位址:
#ifconfigeth0 192.168.100.254 netmask 255.255.25.00
② 修改閘道
#routeadd default gw 192.168.100.1
③ 修改DNS
#echo"nameserver 192.168.100.1" >> /etc/resolv.conf
#④ 重新啟動網路服務
##④ 重新啟動網路服務
#/etc/init.d/networkrestrart 或 #service network restart
##
##
##
2、虛擬機器工具安裝步驟與方式
(1)、 安裝VMware Tools 步驟
a.安裝perl腳本管理工具
# yuminstall perl
b.建立載入點目錄
mkdir/mnt/cdrom
c. 裝載CD-ROM 磁碟機
#mount/dev/cdrom /mnt/cdrom
d. 前往系統暫存目錄,並刪除先前的vmware-tools-distrib 目錄
#cd /tmp
#e. 列出裝載點目錄內容,並記下VMware Tools tar 安裝程式的檔案名稱
#ls/mnt/cdrom
f. 解壓縮安裝程式
#tar zxpf/mnt/cdrom/VMwareTools-x.x.x-yyyy.tar.gz
#g. 卸載CD-ROM磁碟機
#umount/dev/cdrom
h. 執行安裝程式(一路回車)
#cdvmware-tools-distrib
##./vmware-install.pl
i . 設定VMware Tools(一路回車)
#vmware-config-tools.pl
j.重新啟動系統
###(2)、 安裝VirtualBox 增強功能步驟############a. 安裝依賴套件#### #########yuminstall kernel-headers#############yuminstall kernel-devel#############yuminstall gcc*##### ##
#yuminstall make
b. 安裝增強功能套件
# #mkdir /mnt/cdrom # #mkdir /mnt/cdrom
of##mount/dev/cdrom /mnt/cdrom
##cd/mnt/cdrom
./ VBoxLinuxAdditions.run
c. 共享設定
① 裝置->分配資料空間
① 裝置->分配資料空間
#② 掛載/卸載指令
#mkdir/mnt/share
#mount –t vboxsfmyshare /mnt/share/
#umount -f/mnt/share
#③ 開機自動共用
vim/etc/ fstab
新增一項à myshare /mnt/share vboxsfrw,gid=100,uid=1000,auto 0 0
#啟動系統
3、Linux基礎環境設定
# 安裝wget 網路下載工具
#yum-y install wget
修改CentOS的安裝來源,可增加下載速度
① 備份原來的來源
##mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum .repos.d/CentOS-Base.repo.backup
② 安裝阿里雲源
wget -O/etc/yum. repos.d/CentOS-Base.repo
③ 產生快取
yummakecache
##安裝VIM 編輯器
#yum-y install vim*
關閉防火牆(修改SELINUX 為disabled,使用「#sestatus」可查看狀態)
#vim/etc/selinux/config
關閉iptables 篩選器(使用「#/sbin/chkconfig --list iptables 」可查看狀態)
#/sbin/chkconfigiptables off
##
三、 Linux常用指令
###### (001)終端操作終端機操作終端對Linux####### (001)終端作業管理############ (002)最基本的日常指令#######序號 |
#命令列 |
指令說明 |
備註 |
001 |
#su |
||
| #002 |
||
#passwd |
修改目前帳號密碼 |
|
003 |
##shutdown -h now |
立即關機 |
# |
004 |
##reboot |
#立即重新啟動 |
|
#005 |
#dhclient |
#自動取得IP位址 |
|
006 |
#more |
顯示更多檔案內容 |
# |
007 |
##cd .. |
退回上一層目錄 |
# |
#008 |
#cd \ |
傳回根目錄 |
# ###################009############## ####cd /etc##################進入etc目錄,依序類別推####### |
|
#010 |
#010
|
rm -rf dirName
|
|
|
011
|
#df -Th
|
|
|
|
##012 |
|
##service network status |
##查看網卡狀態
|
|
013 |
#service network stop
|
#停止網卡
|
||
#014 |
service network start |
||
|
#015 |
##service network restart |
|
016 |
#hostname |
||
| #017 |
||
###看防火牆狀態################## ## #######################018####################/sbin/chkconfig --list iptables##################查看iptables 狀態################## ###################################################################################### ##############019####################ifconfig###### |
查看目前網路(網卡)狀況 |
-a |
|
020 |
##/etc/init.d/network reload |
||
重新匯入ifcfg-eth0網路設定檔 |
# |
||
021
|
#netstat -r
|
##netstat -r |
查看目前路由及閘道資訊 |
|
022 |
|
# |
| ##
|
||
| # |||
## |
|||
# |
############ ################# # ################## ################### ########################### ########### ################### ################## #### ############### ######################### ########### ####### ################## ################## ################################################################### ################# ################### ################################# ############## ### ################### ######################### ####################################################################################### ############# ###### |
(003)新增使用者
新增帳號: #useradd userName
設定密碼: #passwd userName
(004)停用螢幕保護程式以及電源節能選項
a. 停用選項
-blank-store>>/etc/rc.local CentOS5及ubuntu10.04有效
>/etc /issue 地的parameters/consoleblank 為0表示生效
#
##> ##四、 Vim程式設計器常用指令
u 1 切換插入模式:
#命令模式下
##a , (大寫)遊標所在行尾插入
i (小寫)遊標前開始進行插頁
I 下使用「「插入」指定為「筆」符號」符號符號填盤 (小寫)且遊標所在使用後新插入一空白行進行插入############O 返回指令模式############u 2 切換到編輯模式############指令模式下按【:】進入編輯模式,鍵入指令回車後自動返回指令模式或按ESC鍵返回指令模式。 ############u 3 儲存檔案#############編輯模式下#######
:w 與寫出)保留 (小寫)儲存並退出vim
#:w 文件名1 將文件另存為文件名稱1
:ZZ :wq! (小寫)文件擁有者強制保存只讀文件,如果不是文件擁有者進行此操作,不能成功
:q! #u 4 複製(yank)
## 指令模式下
##yy或Y # # #y^ 複製到遊標所在行行尾,包括遊標位置字元
yw 複製一個字,光標必須在字首 複製到檔案尾
y1G複製到檔案首
nyy 以「 ##指令模式下
p (以大寫)黏於「標記前」
u 6 刪除
命令模式下
x ##
X , (小寫)移除光標所在整行
##dw 小寫)刪除遊標所在一個字
dG 移除遊標所在整行至檔案首
D 且且相同效果相同
d0 # 相同與d0效果相同
:n1 ,n2d 編輯模式下,刪除n1-n2行
u 7撤銷
命令模式下
u (小寫)在第二次保存前撤銷(大概500多次)
#u 8 字元替換
指令模式下
r # (小寫)替換為光標的處一個字元
R (大寫)開始替換,直到按ESC鍵退出替換,相當於按下鍵盤上到insert鍵cc #####S 與以ss(小寫)為相同與ss(小寫)效果相同######
C (大寫)取代至上尾,包含光標處字元# (小寫,數字0)取代到行首,不包括遊標處字元
c^ (小寫)與c0(小寫,數位 90(小寫, 0)效果相同
#指令模式下
/string 從遊標處開始向下開始尋找字串string
#/#/
#/找出模式。按n(小寫)查找下一個,按N(大寫)查找上一個
?string 從遊標處開始向上開始查找字元從string
#?查找模式下按n(小寫)查找上一個,按N(大寫)查找下一個
* @ ## 向下部分匹配遊標下的單字
g#向上部分匹配光標下到單詞
編輯模式下
:setic 查找時,忽略大小寫
:setnoic 取消查找時忽略大小寫
:fstring (小寫f與string有空格)搜索一行中匹配到的string
:%s/old/new/g 全文將old替換為new,不提示
:%s/old/new/c 全文將old替換為new,提示是否替換
:n1,n2s/old/new/g n1-n2行,將old替換為new,不提示
## :n1,n2s/old/new/c n1-n2行,將old替換為new,提示是否替換
在替換文字old或new有/字元時,需要用\進行轉義
u 10 顯示行號
#編輯模式下
##: setnu(mber) 顯示行號:setnonu 取消顯示行號 u 11 簡單排版 編輯模式下 :ce(nter) 以中顯示中顯示遊標所在資料列 :le(ft) 命令模式下 J ) c 且所行以增加縮排(一tab) #<< # 遊標所列開始的n行增加縮排 n<< 會在行中開始的n排減少縮排 #12121221222122122122120 1212122212212212212013201320 #1212122212212212 月12 12121模式下 mx 設定書籤,且x是任一個字母,通常小寫(a-z),x為小寫字母時,局限在一個文件之間切換大寫字母時切換大寫字母時切換大寫字母時在文件之間切換. `x (`位於數字鍵1旁邊)跳轉到書籤x 編輯模式下 #H (大寫,Head)移動至螢幕頂部第一個非空白字元# (大寫,Mid)移動到螢幕中間第一個非空白字元 L (所寫,Last)移動至螢幕底部第一個非空白字元##" (左小括號)移動到上一個句子首 ) (右小括號)移動到下一個句子 (左大括號)移動到上一個段落首 #} (右大括號)移至下一個段落偏好 遊標跳到符合到括號處,支援{}() #[[ 光標跳到代碼區塊開頭即{處,需求{ 遊標跳到局部變數定義處 #'' (兩個單引號)光標跳轉到上一個停靠處「頠」 (小寫)遊標左移一個字元,相當於左方向鍵 l ,小寫)光標右移一個字元, (小寫)遊標垂直上移一行,相當於上方向鍵 j (forword)向下整頁翻頁 ctrl+b (backward)上整頁翻頁## ##ctrl+d (down)向下翻半頁 zz 螢幕中央 zt zb (小寫)讓遊標所在行居於螢幕底部#o u 14 數字前綴與重複 #命令模式下 將數字加在指令前,標示此指令處理幾次,如5dd標示執行5次dd(刪除遊標所在整行)操作。 . (英文句號)為指令重複指令,按下一次執行一次上一次執行過的指令。 u 15 瀏覽目錄 編輯模式下 :e 目錄 列出指定目錄下的檔案與目錄 u 16 vim技巧 技巧1 匯入檔案或shell指令執行結果 :r 檔案名稱1 將檔案1內容物引入本檔案## # vim中執行shell指令,執行完後按回車會到vim介面 :r !shell指令 (r與!之間有空格)將shell指令執行的結果導入到本文件中 技巧2 自訂快速鍵操作 #編輯模式下 : map ^x 指令 (map與^之間、x與指令之間有空格,此處到^並非鍵盤上的^,而是按下ctrl+v出現到快捷鍵,表示ctrl鍵,後面到x為任意字母)按下ctrl+x後會執行對應到指令 例: :map ^pI#
技巧3 連續行註解
編輯模式下
:n1,n2/^/#/g (#號為註解符號,在shell中註解符號為#,C++中為//)
:n1,n2/^/\/\//g C++來源檔案多行連續註解
技巧4 取代
:ab string1string2 在vim中輸入string1按空格或回車後,string1會自動替換為string2
:unabstring1 string1的替換
vim設定檔
~/.vimrc
可將編輯模式下的指令寫在裡面,每個指令單獨一行,這樣每次啟動時,都會自動執行裡面的指令。
#
##五、 Linux常見問題答疑(摘抄整理^_^)
--------------------------- -------------------------------------------------- --------------------------------------------------
使用虛擬機器複製作業:
#複製虛擬機器後,網路卡的問題,導致無法上網
複製後:使用ip addr show 發現網路卡名字是eth1 不是預設的eth0
看:/etc/sysconfig/network-scripts/目錄下卻只能看到eth0的網路卡
#故障產生的原因:
由於複製後的系統,虛擬機器只是修改了虛擬機器的名字MAC等,並
在/etc/udev/rules.d/70-persistent-net.rules檔案中增加了一行名為eth1的設備名,
解決方法:
#1、修改/etc/udev/rules.d/70-persistent-net.rules文件
刪除掉關於eth0 的資訊。修改第二條eth1 的網路卡的名稱為eth0.
2、修改檔案/etc/udev/rules.d/70-persistent-net.rules中的MAC位址
與/etc/sysconfig/network-scripts/ifcfg-eth0中的MAC位址要與虛擬機器網路卡的MAC位址相對應。
問題:虛擬機器中CentOS用ifconfig指令查看,發現沒有ipv4位址!
解決方法:
步驟1:將網路連接方式從橋接改為NAT連接
步驟2:在終端機執行
#/etc/init.d/network restart
步驟3:重新啟動系統,執行ifconfig查看。
-------------------------- -------------------------------------------------- -------------------------------------------------- -
六、 隨便附錄(摘抄整理^_^)
初窺Linux 之我最常用的20條指令
1、cd指令#1 ##
這是一個非常基本,也是大家常需要使用的指令,它用來切換目前目錄,它的參數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑。如:
[plain] viewplain copy
print?
1. cd /root/Docements # 切換到目錄/root/Docements
2. cd ./path #
#3. cd ../path # 切換到上層目錄中的path目錄中,“..”表示上一層目錄
2、ls指令
這是一個非常有用的檢視檔案與目錄的指令,list之意,它的參數非常多,以下就列出一些我常用的參數吧,如下:
[plain] viewplain copy
print?
1. -l :列出長資料串,包含檔案的屬性與權限資料等
2. -a :列出全部的文件,連同隱藏檔案(開頭為.的檔案)一起列出來(常用)
3. -d :只列出目錄本身,而不是列出目錄的檔案資料
#4. -h :將檔案容量以較易讀的方式(GB,kB等)列出來
#註:這些參數也可以組合使用,以下舉兩個例子:
[plain] viewplain copy
print?
1. ls -l #以長資料串的形式列出目前目錄下的資料檔案和目錄
它的常用參數如下:
[plain] viewplain copy
print?
#1. -a :將binary檔案以text檔案的方式找出資料
2. -c :計算找出『找出字串』的次數
3. -i :忽略大小寫的差異,即將大小寫視為相同
4. -v :反向選擇,即顯示出沒有'查找字串'內容的那一行
5. # 例如:
#6. # 取出檔案/etc/ man.config包含MANPATH的行,並把找到的關鍵字加上顏色
7. grep --color=auto 'MANPATH' /etc/man.config
4、find指令
find是一個基於尋找的功能非常強大的指令,相對而言,它的使用也相對較為複雜,參數也比較多,所以在這裡將給把它們分類列出,它的基本語法如下:
[plain] viewplain copy
## print?
1. find [PATH] [option] [action]
2.
3. # 與時間有關的參數:
4. -mtime n : n為數字,以n天之前的「一天內」為「已更改」的檔案所指涉;
5. -mtime +n : 列出在n天前(不含n天本身)已更改過的檔案名稱;
# #6. -mtime -n : 列出n天之內(含n天本身)已更改過的檔案名稱;
7. -newer file : 列出比file也要新的檔案名稱
8. # 例如:
9. find /root -mtime 0 # 內有改動的文件
10.
11. # 與使用者或使用者群組名稱相關的參數:
12. -user name : 列出檔案擁有者為name的檔案
13. -group name : 列出檔案所屬使用者群組為name的檔案
14. -uid n : 列出檔案擁有者為使用者ID為n的檔案
15. -gid n : 所列文件所屬使用者群組為使用者群組ID為n的檔案
16. # 例如:
17. find /home/ljianhui -user ljianhui # 在目錄/home/ljianhui中找出所有者為ljianhui的檔案
18.
#######19. # 與檔案權限及與名稱相關的參數: ############20. -name filename :找出檔案名稱為filename的檔案 ############21. -size [+- ]SIZE :找出比SIZE還要大(+)或小(-)的文件 ############22. -tpye TYPE :找出文件的型別為TYPE的文件,TYPE的值主要有:一般文件(f)、設備文件(b、c)、 ######23. 目錄(d)、連結檔案(l)、socket(s)、FIFO管線檔案(p);
-##24.文件權限剛好等於mode的文件,mode以數字表示,如0755;25. -perm -mode :找出檔案權限必須全部包含mode權限的文件,mode用數字權限的文件,mode用數字權限表示
26. -perm +mode :尋找文件權限包含任一mode的權限的文件,mode以數字表示
#27. # 例如:
28. find / -name passwd # 尋找檔案名稱為passwd的檔案
#29. find . 查找當前目錄中文件權限的0755的文件
30. find . -size +12k # 查找當前目錄中大於12KB的文件,注意c表示byte
該指令用於複製文件,copy之意,它還可以把多個文件一次性複製到一個目錄下,它的常用參數如下:
[plain] viewplain copy
print?
##1. -a :將檔案的特性一起複製
2. -p :連同檔案的屬性一起複製,而非使用預設方式,與-a相似,常用來備份
3. -i :若目標檔案已存在時,已覆寫時會先詢問作業的進行
#4. -r :遞歸持續複製,用於目錄的複製行為
#5. -u :當目標檔案與來源檔案差異時才複製
#例如:
6、mv指令
該指令用於移動檔案、目錄或更名,move之意,它的常用參數如下:
[plain] viewplain copy
print?
1. -f :force強制的意思,如果目標檔案已經存在,不會詢問而直接覆寫
2. -i :若目標檔案已經存在,則詢問是否已覆寫
#3. -u :若目標檔案已經存在,且比目標檔案新,才會更新
註:此指令可以將一個檔案或多個檔案一次移動在一個資料夾中,但是最後一個目標檔案一定要是「目錄」。
例如:
[plain] viewplain copy
# print?
1. mv file1 file2 file3 dir # 把文件file1、file2、file3移動到目錄dir中
2. mv file1 file2 # 將檔案file1重新命名為file2
7、rm指令
此指令用於刪除檔案或目錄,remove之間,它的常用參數如下:
[plain] viewplain copy
## print?
1. -f :是force的意思,忽略不存在的文件,不會出現警告訊息
2. -i :互動模式,刪除前會詢問使用者是否操作
3. -r :遞迴刪除,最常用於目錄刪除,它是一個非常危險的參數
#例如:
[plain] viewplain copy
8、ps指令
該指令用來將某個時間點的行程執行情況選取下並輸出,process之意,它的常用參數如下:
[plain] viewplain copy
# print?
##1. -A :所有的進程都顯示出來
2. -a :所有不與terminal相關的流程
3. -u :有效使用者相關的流程
4. -x :一般與a參數一起使用,可列出較完整的資訊
5. -l :較長,較詳細將PID的資訊列出
#其實我們只要記住ps一般使用的指令參數搭配即可,它們並不多,如下:
[plain] viewplain copy
# print?
2. ps ax # 檢視所有不與terminal相關的行程
##3. ps檢視系統所有的行程資料
4. ps axjf # 檢視連同一部行程樹狀態
signal的常用參數如下:
註:最前面的數字為訊號的代號,使用時可以用代號取代對應的訊號。
[plain] viewplain copy
# print?
##1. 1: SIGHUP,啟動終止的程序
2. 2:SIGINT,相當於輸入ctrl+c,中斷一個程式的進行
##3 . 9:SIGKILL,強制中斷一個行程的進行
4. 15:SIGTERM,以正常的結束行程方式終止行程
# 5. 17:SIGSTOP,相當於輸入ctrl+z,暫停一個行程的進行
例如:
[plain] viewplain copy
print?
#1. # 以正常的結束進程方式來終於第一個後台工作,可用jobs指令檢視後台的第一個工作流程
2. kill -SIGTERM %1
3. # 重新改變進程ID為PID的進程,PID可用ps指令透過管道指令加上grep指令進行篩選獲得
#4. kill -SIGHUP PID
10、killall指令
該指令用於向一個指令啟動的程序發送一個訊號,它的一般語法如下:
##[plain ] viewplain copy
print?
1. killall [-iIe] [command name]
11、file指令
該指令用來判斷接在file指令後的檔案的基本數據,因為在Linux下檔案的型別並不是以後綴為分的,所以這個指令對我們來說就很有用了,它的用法很簡單,基本文法如下:
#[plain] viewplain copy
# print?
1. file filename
2. #例如:
#2. #例如:
#1. #3. file ./test
#12、tar指令
此指令用於對檔案進行打包,預設情況並不會壓縮,如果指定了對應的參數,它也會呼叫對應的壓縮程式(如gzip和bzip等)進行壓縮和解壓。它常用的參數如下:
[plain] viewplain copy
print?
1. -c :新包裝檔案
#2. -t :檢視包裝檔案的內容含有哪些檔案名稱
#3. -x :解打包或解壓縮的功能,可搭配-C(大寫)指定解壓縮的目錄,注意-c,-t,-x不能同時出現在同一條指令中
4. -j :透過bzip2的支援進行壓縮/解壓縮
#5. -z :透過gzip的支援進行壓縮/解壓縮
註:檔名並不確定以後綴tar.bz2結尾,這裡主要是為了說明使用的壓縮程式為bzip2
#13、cat指令
該指令用於查看文字檔的內容,後接要查看的檔名,通常可用管道與more和less一起使用,從而可以一頁頁地查看數據。例如:
[plain] viewplain copy
# print?
1. cat text | less # 查看text文件中的內容
2. # 注:這條命令也可以使用less text來代替
14、chgrp指令
該指令用來改變檔案所屬使用者群組,它的使用非常簡單,它的基本用法如下:
[plain] viewplain copy
print?
1. chgrp [-R] dirname/filename
#2. -R :進行遞迴的持續性對所有檔案和子目錄變更
#3. # 例如:
#3. # 例如:
. 4. chgrp users -R ./dir # 遞歸將dir目錄中的所有檔案和子目錄下所有檔案的使用者群組修改為users
#15 、chown指令
該指令用來改變檔案的擁有者,與chgrp指令的使用方法相同,只是修改的檔案屬性不同,不再詳述。
16、chmod指令
該指令用於改變檔案的權限,一般的使用如下:
[plain] viewplain copy
print?
同時,chmod還可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(刪除)、=(設定)跟rwx搭配來對文件的權限進行更改。
[plain] viewplain copy
print?
#1. # 例如:
2. chmod 0755 file # 把file的文件權限改變為-rxwr-xr-x
3. chmod g+w file # 加入file的檔案權限加入使用者群組可寫權限
18、vim命令
該命令主要用於文字編輯,它接一個或多個檔案名稱作為參數,如果檔案存在就打開,如果檔案不存在就以該檔案名稱建立一個檔案。 vim是一個非常好用的文字編輯器,它裡面有很多非常好用的指令,在這裡不再多說。你可以從這裡下載vim常用操作的詳細說明。
19、gcc指令
對於一個用Linux開發C程式的人來說,這個命令就非常重要了,它用於把C語言的源程序文件,編譯成可執行程序,由於g++的許多參數跟它非常相似,所以這裡只介紹gcc的參數,它的常用參數如下:
[plain] viewplain copy
# print?
##1. -o :output之意,用於指定產生一個可執行檔的檔名
#2. -c :用於將原始檔產生目標檔(.o),並阻止編譯器建立一個完整的程式
3. -I :增加編譯時搜尋頭檔的路徑
4. -L :增加編譯時搜尋靜態連線庫的路徑
#5. -S :將原始檔案產生組譯程式碼檔案
6. -lm:表示標準庫的目錄中名為libm.a的函數庫
7. -lpthread :連接NPTL實作的執行緒函式庫
#8. -std = :用來指定把使用的C語言的版本
9.
10. # 例如:
10. # 例如:
11. # 把原始檔test.c依照c99標準編譯成執行程式test
12. gcc -o test test.c -lm -std=c99
13. #把原始檔test.c轉換成對應的組合程式原始檔test.s
20、time指令
該指令用來計算一個指令(即程式)的執行時間。它的使用非常簡單,就像平常輸入指令一樣,不過在指令的前面加入一個time即可,例如:
#[plain] viewplain copy
# print?
1. time ./process
2. time ps aux
在程式或指令運行結束後,在最後輸出了三個時間,它們分別是:
user:用戶CPU時間,指令執行完成花費的用戶CPU時間,即指令在使用者狀態中執行時間總和;
system:系統CPU時間,指令執行完成花費的系統CPU時間,也就是指令在核心狀態中執行時間總和;
real:實際時間,從command命令列開始執行到執行終止的消逝時間;
附註:使用者CPU時間與系統CPU時間總和為CPU時間,即指令佔用CPU執行的時間總和。實際時間大於CPU時間,因為Linux是多任務作業系統,往往在執行一條指令時,系統還要處理其它任務。另一個需要注意的問題是即使每次執行相同命令,但所花費的時間也是不一樣,其花費時間是與系統運作相關的。
##
#50個最常用的Unix/Linux指令
#tar |
#grep |
find |
ssh |
sed |
awk |
#vim |
diff |
sort |
export |
##args
|
#ls
|
pwd
|
cd
|
#gzip
|
bzip2
|
unzip
|
shutdown
|
||
|
ftp ##########crontab############## #########service##################ps###### |
免費 |
# 頂部 |
df |
kill |
rm | #cp |
||
|
掛載 |
#chmod |
#chown |
#passwd |
mkdir |
##ifconfig
|
#uname
| 哪裡是
|
|
|
#人
|
less |
su |
mysql |
yum |
#rpm |
1. tar
建立一個新的 tar檔
$ tar cvf archive_name.tar dirname/
解壓縮tar檔案
$ tar xvf archive_name.tar
##查看tar檔案
$ tar tvf archive_name.tar
更多範例:The Ultimate Tar Command Tutorial with 10 PracticalExamples
2.grep
在檔案中尋找字串(不區分大小寫)
#$ grep -i "the" demo_file
#輸出成功符合的行,以及該行之後的三行
$ grep -A 3 -i "example" demo_text
在一個資料夾中遞迴查詢包含指定字串的檔案
$ grep -r "ramesh" *
更多範例:Get a Grip on the Grep! – 15 Practical Grep CommandExamples
3.find
#找出指定檔名的檔案(不區分大小寫)
#$ find -iname "MyProgram.c"
#對找到的檔案執行某個指令
$ find -iname "MyProgram.c" -exec md5sum {} \;
找到home目錄下的所有空白檔案
$ find ~ -empty
更多範例:Mommy, I found it! — 15 Practical Linux Find CommandExamples
更多範例:5 Basic Linux SSH Client Commands
#5. sed
當你將Dos系統中的文件複製到Unix/Linux後,這個文件每行都會以\r\n結尾,sed可以輕易將其轉換為Unix格式的文件,使用\n結尾的文件
$ sed 's/.$//' filename
#反轉檔案內容並輸出
# $ sed -n '1!G; h; p' filename
#為非空白行新增行號
## 更多範例:Advanced Sed Substitution Examples
6. awk
刪除重複行
$ awk '!($0 in array ) { array[$0]; print}' temp
#列印/etc/passwd中所有包含相同的uid和gid的行
#$ awk -F ':' '$3=$4'/etc/passwd
列印檔案中的指定部分的欄位
$ awk '{print $2,$5;}' employee.txt
更多範例:8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR,NF, FILENAME, FNR
#7. vim
##開啟檔案並跳到第10行
$ vim +10 filename.txt
開啟檔案跳到第一個符合的行
$ vim +/search-term filename.txt
#以唯讀模式開啟檔案
$ vim -R /etc/passwd
以降序對檔案內容排序
$ sort -r names.txt
以第三個欄位對/etc/passwd的內容排序
$ sort -t: -k 3n /etc/passwd | more
#10.export
輸出跟字串oracle相符的環境變數
$ export | grep ORCALE
declare -x ORACLE_BASE="/u01/app/oracle"
declare -x ORACLE_HOME="/u01/app/oracle/ product/10.2.0"
declare -x ORACLE_SID="med"
##declare -x ORACLE_TERM="xterm"
declare -x ORACLE_TERM="xterm"設定全域環境變數
$ exportORACLE_HOME=/u01/app/oracle/product/10.2.0
#11.xargs
將所有圖片檔案拷貝到外部磁碟機
##$ ls *.jpg | xargs -n1 -i cp {}/external-hard-drive/directory
將系統中所有jpd檔案壓縮打包
#$ find / -name *.jpg -type f -print |xargs tar -cvzf images.tar.gz
下載檔案中列出的所有url對應的頁面
$ cat url-list.txt | xargs wget –c
12. ls
以易讀的方式顯示檔案大小(顯示為MB,GB...)
$ ls -lh
-rw-r----- 1 ramesh team-dev 8.9M Jun12 15:27 arch-linux.txt.gz
#以最後修改時間升序列出檔案
$ ls -ltr
在檔案名稱後面顯示檔案類型
$ ls -F
更多範例:Unix LS Command: 15 Practical Examples
13.pwd
##輸出目前工作目錄
14. cd
cd -可以在最近工作的兩個目錄間切換
使用shopt-s cdspell可以設定自動對cd指令進行拼字檢查
更多範例:6 Awesome Linux cd command Hacks
#15.gzip
建立一個*.gz的壓縮檔案
#$ gzip test.txt
解壓縮*.gz檔
$ gzip -d test.txt.gz
compressed uncompressed# ratiouncompressed_name
> ## 23709 9797975 75.8% asp-patch-rpms.
##111212125.8%
$ bzip2 test.txt
解壓縮*.bz2檔案
bzip2 -d test.txt.bz2
# 更多範例:BZ is Eazy! bzip2, bzgrep, bzcmp, bzdiff, bzcat, bzless,bzmore examples
17.uzip
$ unzip test. zip
檢視*.zip檔案的內容
$ unzip -l jasper.zip
Archive: jasper .zip
Length Date Time Name
-------- ---- ---- ----
40995 11-30-98 23:50 META-INF/MANIFEST.MF
32169 08-25-98 21
32169 08-25-98 2132169 08-25-98 21:07
15964 08-25-98 21:07 classes_names
10542 08-25-98 21:07
18.shutdown關閉系統並立即關機
$ shutdown -h now
10分鐘後關機
#$ shutdown -h +10
#重啟
$ shutdown -r now
重啟期間強制進行系統檢查
$ shutdown -Fr now
#19.ftp
ftp指令和sftp指令的用法基本上相似連接ftp伺服器並下載多個檔案
$ ftp IP/hostname
ftp> mget *. html
在遠端主機上顯示檔案清單
#ftp> mls *.html -
/ftptest/features.html
/ftptest/index.html
/ftptest/othertools.html
/ftptest/samplereport.html
設定一個每十分鐘執行一次的排程任務
*/10 * * * */home/ramesh/check-disk-space
更多範例:Linux Crontab: 15 Awesome Cron Job Examples
21.service
#service指令用來執行SystemV init腳本,這些腳本一般位於/etc/init.d檔案下,這個指令可以直接執行這個資料夾裡面的腳本,不用加上路徑
查看服務狀態
$ service ssh status
查看所有服務狀態
$ service --status-all
#重啟服務
$ service ssh restart
22. ps
#ps指令用於顯示正在運行中的進程的信息,ps命令有很多選項,這裡只列出了幾個
查看目前正在運行的所有進程
$ ps -ef | more
以樹狀結構顯示目前正在運行的進程,H選項表示顯示進程的層次結構
$ ps - efH | more
23.free
#這個指令用來顯示系統目前記憶體的使用情況,包括已用記憶體、可用記憶體與交換記憶體的情況
預設情況下free會以位元組為單位輸出記憶體的使用量
$ free
total used 3566408 1580220 1986188 0 203988 #-/+ buffers/cache: 473272 3093136
Swap: 如果你想以其他單位輸出記憶體的使用量,你需要加一個選項,-g為GB,-m為MB,-k為KB,-b為位元組 $ free -g total #Mem: 3 1 0 -/+ buffers/cache: 0 2 # 0 3 ##如果你想查看所有記憶體的匯總,請使用-t選項,使用這個選項會在輸出中加一個匯總行 ramesh@ramesh-laptop:~ $ free -t total used 3566408 1592148 1974260 #-/+ buffers/cache: 475332 3091076 Swap: 400 ##Total: 7566584 1592148 5974436 24.top top指令會顯示目前系統中最多佔用資源的一些行程(預設以CPU佔用率排序)如果你想改變排序方式,可以在結果清單中點選O(大寫字母O)會顯示所有可用於排序的列,這個時候你就可以選擇你想要排序的列 Current Sort Field: P forwindow 1:Def Select sort field via field letter,type any other key to return a:PID = Process Id v: nDRT y: WCHAN = Sleeping in Function
使用-h選項可以以更符合閱讀習慣的方式顯示磁碟使用量 #$ df -h ##Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk0s2 232Gi 84Gi 148Gi 37% 21998562 38864868 36% / devfs 187Ki 187Ki 0Bi 0% /dev map -hosts 0Bi 0 100% /net ##map auto_home 0Bi 0Bi 0Bi 100%
Filesystem Type 1K-blocks Used Available Use%Mounted on ##/dev/sda1 ext4 29530400 3233120 24797216 12% / ##/dev/sda217512% 6 64082060 44% /home 26.kill kill用來終止一個行程。一般我們會先用ps -ef找出某個行程得到它的行程編號,然後再使用kill -9 行程號終止該行程。你也可以使用killall、pkill、xkill來終止行程 $ ps -ef | grep vim ramesh 7243 72222 9##ramesh 7243 72222 22:43 pts/2 00:00:00 vim $ kill -9 7243 ##$ kill -9 7243 ##$ kill -9 7243 ##$ 更多範例:4 Ways to Kill a Process – kill, killall, pkill, xkill 27. rm 刪除檔案前先確認 $ rm -i filename.txt 在檔案名稱中使用shell的元字元會非常有用。刪除檔案前先列印檔案名稱並進行確認 $ rm -i file* 遞迴刪除資料夾下所有文件,並刪除該文件夾 $ rm -r example #28. cp #拷貝檔案1到檔案2,並保持檔案的權限、屬主和時間戳 #$ cp -p file1 file2 拷貝file1到file2,如果file2存在會提示是否覆寫 ##$ cp -i file1 file2 29. mv
$ mv -i file1 file2 #注意如果使用-f選項則不會進行提示
#$ mv -v file1 file2 #30.cat -n指令可以在每行的前面加上行號 #$ cat -n /etc/logrotate.conf 1 /var/log/btmp{ 2 missingok# 5 # ##31.mount 如果要掛載一個檔案系統,需要先建立一個目錄,然後將這個檔案系統掛載到這個目錄上
# mkdir /u01 # mount /dev/sdb1 /u01
/ dev/sdb1 /u01 ext2 defaults 0 2 32.chmod 給指定檔案的屬主和屬群組所有權限(包括讀取、寫入、執行) $ chmod ug+rwx file .txt 刪除指定檔案的屬組的所有權限
$ chmod g-rwx file.txt 修改目錄的權限,以及遞歸修改目錄下方所有檔案和子目錄的權限 $ chmod -R ug +rwx file.txt 更多範例:7 Chmod Command Examples for Beginners chown用來改變檔案屬主和屬群組 同時將某個檔案的屬主改為oracle,屬組改為db #$ chown oracle:dba dbora.sh 使用-R選項對目錄和目錄下的檔案進行遞歸修改 $ chown -R oracle:dba /home/oracle
34.passwd #passwd用於在命令列修改密碼,使用這個指令會要求你先輸入舊密碼,然後輸入新密碼 $ passwd 超級使用者可以用這個指令修改其他使用者的密碼,這個時候不需要輸入使用者的密碼 # passwd USERNAME #passwd還可以刪除某個使用者的密碼,這個指令只有root使用者才能操作,刪除密碼之後,這個使用者不需要輸入密碼就可以登入系統 # passwd -d USERNAME ##35. mkdir 在home目錄下建立一個名為temp的目錄 #$ mkdir ~/temp #使用-p選項可以建立一個路徑上所有不存在的目錄 #$$ mkdir -p dir1/dir2/dir3/dir4/ 36.ifconfig #ifconfig用於檢視和設定Linux系統的網路介面 查看所有網路介面及其狀態 $ ifconfig -a 使用up和down指令啟動或停止某個介面 $ ifconfig eth0 up
37.uname #uname可以顯示一些重要的系統訊息,例如核心名稱、主機名稱、核心版本號碼、處理器類型之類的訊息
Linux john-laptop 2.6.32-24-generic #41-Ubuntu SMP Thu Aug 19 01:12:52 UTC 2010i686 GNU/Linux
38.whereis 當你不知道某個指令的位置時可以使用whereis指令,下面使用whereis找出ls的位置 #$ whereis ls ls: /bin/ls/usr/share/man/man1/ls.1.gz /usr/share/man/ man1p/ls.1p.gz 當你想找某個可執行程式的位置,但這個程式又不在whereis的預設目錄下,你可以使用-B選項,並指定目錄作為這個選項的參數。下面的指令在/tmp目錄下找lsmk指令 $ whereis -u -B /tmp -f lsmk lsmk : /tmp/lsmk 39.whatis wathis顯示某個指令的描述訊息 #$ whatis ls ls (1) -list directory contents ##$ whatis ifconfig ifconfig (8) - configure a network interface 1 下面的指令會顯示系統中所有包含crontab字串的檔案
/etc/anacrontab #/etc/crontab /usr/bin/crontab /usr/share/doc/cron/examples /crontab2english.pl.gz /usr/share/man/man1/crontab.1.gz /usr/share/man /man5/anacrontab.5.gz /usr/share/man/man5/crontab.5.gz /usr/share /vim/vim72/syntax/crontab.vim
##顯示某個指令的man頁面 $ man crontab #有些指令可能會有多個man頁面,每個man頁面對應一個指令類型 $ man SECTION-NUMBER commandname man頁面一般可以分成8種指令類型 1. 使用者指令 2. 系統呼叫 3. c函式庫函數 4. 裝置與網路介面 #5. 檔案格式 6. 遊戲與螢幕保護程式 7. 環境、表格、巨集 ##8. 系統管理員命令和後台運行命令 例如,我們執行whatiscrontab,你可以看到crontab有兩個命令類型1和5,所以我們可以透過下面的命令查看命令類型5的man頁 $ whatis crontab crontab (1) - maintain crontab files forindividual - maintain crontab files forindividual users - maintain crontab files forindividual users ##V3)。 ##crontab (5) - tables for driving cron $$ man 15 #42.tail tail指令預設顯示檔案最後的10行文字 $ tail filename.txt 你可以使用-n選項指定要顯示的行數 $ tail - n N filename.txt 你也可以使用-f選項進行即時查看,這個指令執行後會等待,如果有新行加入到檔案尾部,它會繼續輸出新的行,在查看日誌時這個選項會非常有用。你可以透過CTRL-C終止指令的執行 $ tail -f log-file 更多範例:3 Methods To View tail -f output of Multiple Log Files inOne Terminal 43.less
#$ less huge-log-file.log 當你用less指令開啟某個檔案時,下面兩個按鍵會帶給你很多幫助,他們用來向前和向後滾螢幕 CTRL+F – forward one window
更多範例:Unix Less Command: 10 Tips for Effective Navigation 44. su su指令用於切換使用者帳號,超級使用者使用這個指令可以切換到任何其他使用者而不用輸入密碼 #$ su - USERNAME 用另外一個使用者名稱執行一個指令下面的範例中使用者john使用raj使用者名稱執行ls指令,執行完後傳回john的帳號 [john@ dev-server]$ su - raj -c 'ls' [john@dev-server]$
##。
$ su -s 'SHELLNAME' USERNAME 45.mysql 連接一個遠端資料庫,需要輸入密碼 ##$ mysql -u root -p -h 192.168.1.2 連接本機資料庫 $ mysql -u root - p 你也可以在命令列中輸入資料庫密碼,只需要在-p後面加上密碼作為參數,可以直接寫在p後面而不用加空格 46.yum 使用yum安裝apache $ yum install httpd 更新apache #$ yum update httpd 卸載/刪除apache 更多範例:RPM Command: 15 Examples to Install, Uninstall, Upgrade,Query RPM Packages ##48.ping #ping一個遠端主機,只發5個封包 $ ping -c 5 gmail.com 更多範例:Ping Tutorial: 15 Effective Ping Command Examples #49.date 設定係統日期 # date -s "01/31/201023:59:53" 當你修改了系統時間,你需要同步硬體時間和系統時間 # hwclock –systohc #
#使用wget從網路下載軟體、音樂、影片
以上是CentOS 6.x是怎麼安裝與設定的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!