參考資料:http://www.92csz.com/study/linux/
【Linux系統目錄結構】
登錄系統后,在當前命令窗口下輸入 ls / 你會看到
以下是對這些目錄的解釋:
/bin bin是Binary的縮寫。這個目錄存放着最經常使用的命令。
/boot這里存放的是啟動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件。
/dev dev是Device(設備)的縮寫。該目錄下存放的是Linux的外部設備,在Linux中訪問設備的方式和訪問文件的方式是相同的。
/etc這個目錄用來存放所有的系統管理所需要的配置文件和子目錄。
/home用戶的主目錄,在Linux中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的。
/lib這個目錄里存放着系統最基本的動態連接共享庫,其作用類似於Windows里的DLL文件。幾乎所有的應用程序都需要用到這些共享庫。
/lost+found這個目錄一般情況下是空的,當系統非法關機后,這里就存放了一些文件。
/media linux系統會自動識別一些設備,例如U盤、光驅等等,當識別后,linux會把識別的設備掛載到這個目錄下。
/mnt系統提供該目錄是為了讓用戶臨時掛載別的文件系統的,我們可以將光驅掛載在/mnt/上,然后進入該目錄就可以查看光驅里的內容了。
/opt 這是給主機額外安裝軟件所擺放的目錄。比如你安裝一個ORACLE數據庫則就可以放到這個目錄下。默認是空的。
/proc這個目錄是一個虛擬的目錄,它是系統內存的映射,我們可以通過直接訪問這個目錄來獲取系統信息。這個目錄的內容不在硬盤上而是在內存里,我們也可以直接修改里面的某些文件,比如可以通過下面的命令來屏蔽主機的ping命令,使別人無法ping你的機器:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all。
/root該目錄為系統管理員,也稱作超級權限者的用戶主目錄。
/sbin s就是Super User的意思,這里存放的是系統管理員使用的系統管理程序。
/selinux 這個目錄是Redhat/CentOS所特有的目錄,Selinux是一個安全機制,類似於windows的防火牆,但是這套機制比較復雜,這個目錄就是存放selinux相關的文件的。
/srv 該目錄存放一些服務啟動之后需要提取的數據。
/sys 這是linux2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統 sysfs ,sysfs文件系統集成了下面3種文件系統的信息:針對進程信息的proc文件系統、針對設備的devfs文件系統以及針對偽終端的devpts文件系統。該文件系統是內核設備樹的一個直觀反映。當一個內核對象被創建的時候,對應的文件和目錄也在內核對象子系統種被創建。
/tmp這個目錄是用來存放一些臨時文件的。
/usr 這是一個非常重要的目錄,用戶的很多應用程序和文件都放在這個目錄下,類似與windows下的program files目錄。
/usr/bin:系統用戶使用的應用程序。
/usr/sbin:超級用戶使用的比較高級的管理程序和系統守護程序。
/usr/src:內核源代碼默認的放置目錄。
/var這個目錄中存放着在不斷擴充着的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日志文件。
在linux系統中,有幾個目錄是比較重要的,平時需要注意不要誤刪除或者隨意更改內部文件。/etc: 上邊也提到了,這個是系統中的配置文件,如果你更改了該目錄下的某個文件可能會導致系統不能啟動。/bin, /sbin, /usr/bin, /usr/sbin: 這是系統預設的執行文件的放置目錄,比如 ls 就是在/bin/ls 目錄下的。值得提出的是,/bin, /usr/bin 是給系統用戶使用的指令(除root外的通用戶),而/sbin, /usr/sbin 則是給root使用的指令。 /var: 這是一個非常重要的目錄,系統上跑了很多程序,那么每個程序都會有相應的日志產生,而這些日志就被記錄到這個目錄下,具體在/var/log 目錄下,另外mail的預設放置也是在這里。
【Linux遠程終端登錄】
Linux大多應用於服務器,而服務器不可能像PC一樣放在辦公室,它們是放在IDC機房的,所以我平時登錄linux系統都是通過遠程登錄的。如果你是windows的操作系統,則Linux遠程登錄需要在我們的機器上額外安裝一個終端軟件。目前比較常見的終端登錄軟件有SecureCRT, Putty, SSH Secure Shell等。
這里,我使用的是Xshell,下載安裝完成之后需要輸入用戶名和密碼進行登錄,如果需要進行文件的上傳等操作,則需要在Xshell中安裝lrzsz這個軟件,直接在Xshell中使用命令yum -y install lrzsz進行安裝,安裝完成之后可以直接通過拖拽的方式來上傳文件都指定的服務器目錄下。
【War包部署至服務器】
CP到tomcat/webapps目錄下,tomcat會自動解壓War包,瀏覽器訪問的根路徑以“/項目名稱”開頭;
如果把解壓之后文件全部移動到tomcat/webapps/ROOT目錄下,瀏覽器訪問的路徑以“/”開頭。
【Vim文本編輯器】
vim的三種模式:一般模式、編輯模式、命令模式。
* 一般模式: 當你vim filename 編輯一個文件時,一進入該文件就是一般模式了。在這個模式下,你可以做的操作有,上下移動光標;刪除某個字符;刪除某行;復制、粘貼一行或者多行。
* 編輯模式:一般模式下,是不可以修改某一個字符的,只能到編輯模式了。從一般模式進入編輯模式,只需你按一個鍵即可(i,I,a,A,o,O,r,R)。當進入編輯模式時,會在屏幕的最下一行出現“INSERT或REPLACE”的字樣。從編輯模式回到一般模式只需要按一下鍵盤左上方的ESC鍵即可。
* 命令模式:在一般模式下,輸入”:”或者”/”即可進入命令模式。在該模式下,你可以搜索某個字符或者字符串,也可以保存、替換、退出、顯示行號等等。
下面教你如何在一個空白文檔中寫入一段文字,然后保存。
輸入vim test.txt直接回車進入一般模式。然后按"i" 字母進入編輯模式
會看到窗口的左下方出現”INSERT”字樣,說明已經進入了編輯模式,此時就可以寫入內容了。
等編輯完內容后,按ESC退出編輯模式,進入一般模式。此時在左下方的”INSERT”字樣消失,然后按”:”進入命令模式,最后輸入wq保存並退出vim。
這時,看一下test.txt文檔的內容吧。
其實vim為全鍵盤操作的編輯器,所以在各個模式下都有很多功能鍵盤的。下面列舉一下,其中常用的會用紅色標出。
一般模式下移動光標
|
h或向左方向鍵
|
光標向左移動一個字符
|
j或者向下方向鍵
|
光標向下移動一個字符
|
K或者向上方向鍵
|
光標向上移動一個字符
|
l或者向右方向鍵
|
光標向右移動一個字符
|
Ctrl + f 或者pageUP鍵
|
屏幕向前移動一頁
|
Ctrl + b 或者pageDOWN鍵
|
屏幕向后移動一頁
|
Ctrl + d
|
屏幕向前移動半頁
|
Ctrl + u
|
屏幕向后移動半頁
|
+
|
光標移動到非空格符的下一列
|
-
|
光標移動到非空格符的上一列
|
n空格(n是數字)
|
按下數字n然后按空格,則光標向右移動n個字符,如果該行字符數小於n,則光標繼續從下行開始向右移動,一直到n
|
0(數字0)或者Shift+6
|
移動到本行行首
|
Shift+4
|
即’$’移動到本行行尾
|
H
|
光標移動到當前屏幕的最頂行
|
M
|
光標移動到當前屏幕的中央那一行
|
L
|
光標移動到當前屏幕的最底行
|
G
|
光標移動到文本的最末行
|
nG(n是數字)
|
移動到該文本的第n行
|
gg
|
移動帶該文本的首行
|
n回車(n是數字)
|
光標向下移動n行
|
一般模式下查找與替換
|
/word
|
向光標之后尋找一個字符串名為word的字符串,當找到第一個word后,按”n”繼續搜后一個
|
?word
|
想光標之前尋找一個字符串名為word的字符串,當找到第一個word后,按”n”繼續搜前一個
|
:n1,n2s/word1/word2/g
|
在n1和n2行間查找word1這個字符串並替換為word2,你也可以把”/”換成”#”
|
:1,$s/word1/word2/g
|
從第一行到最末行,查找word1並替換成word2
|
:1,$s/word1/word2/gc
|
加上c的作用是,在替換前需要用戶確認
|
一般模式下刪除、復制粘貼
|
x,X
|
x為向后刪除一個字符,X為向前刪除一個字符
|
nx(n為數字)
|
向后刪除n個字符
|
dd
|
刪除光標所在的那一行
|
ndd(n為數字)
|
刪除光標所在的向下n行
|
d1G
|
刪除光標所在行到第一行的所有數據
|
dG
|
刪除光標所在行到末行的所有數據
|
yy
|
復制光標所在的那行
|
nyy
|
復制從光標所在行起向下n行
|
p,P
|
p復制的數據從光標下一行粘貼,P則從光標上一行粘貼
|
y1G
|
復制光標所在行到第一行的所有數據
|
yG
|
復制光標所在行到末行的所有數據
|
J
|
講光標所在行與下一行的數據結合成同一行
|
u
|
還原過去的操作
|
進入編輯模式
|
i
|
在當前字符前插入字符
|
I
|
在當前行行首插入字符
|
a
|
在當前字符后插入字符
|
A
|
在當前行行末插入字符
|
o
|
在當前行下插入新的一行
|
O
|
在當前行上插入新的一行
|
r
|
替換光標所在的字符,只替換一次
|
R
|
一直替換光標所在的字符,一直到按下ESC
|
命令模式
|
:w
|
將編輯過的文本保存
|
:w!
|
若文本屬性為只讀時,強制保存
|
:q
|
退出vim
|
:q!
|
不管編輯或未編輯都不保存退出
|
:wq
|
保存,退出
|
:e!
|
將文檔還原成最原始狀態
|
ZZ
|
若文檔沒有改動,則不儲存離開,若文檔改動過,則儲存后離開,等同於:wq
|
:w [filename]
|
編輯后的文檔另存為filename
|
:r [filename]
|
在當前光標所在行的下面讀入filename文檔的內容
|
:set nu
|
在每行的行首顯示行號
|
:set nonu
|
取消行號
|
n1,n2 w [filename]
|
將n1到n2的內容另存為filename這個文檔
|
:! command
|
暫時離開vim運行某個linux命令,例如 :! ls /home 暫時列出/home目錄下的文件,然后會提示按回車回到vim
|
【壓縮與打包】
在windows下我們接觸最多的壓縮文件就是.rar格式的了。但在linux下這樣的格式是不能識別的,它有自己所特有的壓縮工具。但有一種文件在windows和linux下都能使用那就是.zip格式的文件了。
在linux下最常見的壓縮文件通常都是以.tar.gz 為結尾的,除此之外還有.tar, .gz, .bz2, .zip等等。以前也介紹過linux系統中的后綴名其實要不要無所謂,但是對於壓縮文件來講必須要帶上。這是為了判斷壓縮文件是由哪種壓縮工具所壓縮,而后才能去正確的解壓縮這個文件。以下介紹常見的后綴名所對應的壓縮工具。
.gz gzip 壓縮工具壓縮的文件
.bz2 bzip2 壓縮工具壓縮的文件
.tar tar 打包程序打包的文件(tar並沒有壓縮功能,只是把一個目錄合並成一個文件)
.tar.gz 可以理解為先用tar打包,然后再gzip壓縮
.tar.bz2 同上,先用tar打包,然后再bzip2壓縮
【gzip】
語法: gzip [-d#] filename 其中#為1-9的數字
-d :解壓縮時使用
-# :壓縮等級,1壓縮最差,9壓縮最好,6為默認
壓縮test.txt后,則變成了test.txt.gz
用-d解壓縮
要注意的是,gzip不可以壓縮目錄
【bzip2】
語法:bzip2 [-dz] filename
-d :解壓縮
-z :壓縮
其實-z參數是可以省略掉的,你不妨試試
跟gzip的解壓類似,也是用-d解壓。
【tar】
語法:tar [-zjxcvfpP] filename
-z :是否同時用gzip壓縮
-j :是否同時用bzip2壓縮
-x :解包或者解壓縮
-t :查看tar包里面的文件
-c :建立一個tar包或者壓縮文件包
-v :可視化
-f :后面跟文件名,壓縮時跟-f文件名,意思是壓縮后的文件名為filename,解壓時跟-f文件名,意思是解壓filename。請注意,如果是多個參數組合的情況下帶有-f,請把f寫到最后面。
-p :使用原文件的屬性,壓縮前什么屬性壓縮后還什么屬性。(不常用)
-P :可以使用絕對路徑。(不常用)
--exclude filename :在打包或者壓縮時,不要將filename文件包括在內。(不常用)
首先在test目錄下建立test111目錄,然后在test111目錄下建立test2.txt,並寫入”nihao”到test2.txt中,接着是用tar把test111打包成test111.tar。請記住-f參數后跟的是打包后的文件名。
刪除原來的test111目錄,然后解包test111.tar,不管是打包還是解包,原來的文件是不會刪除的。
打包的同時使用gzip壓縮
用-tf 跟包名來查看包或者壓縮包內的文件都有哪些
先刪除test111,然后用tar -zxvf 來解壓.tar.gz的壓縮包。
-jcvf 打包的同時用bzip2壓縮,-tf同樣可以查看.tar.bz2的壓縮包
-jxvf解壓縮.tar.bz2的壓縮包
--exclude參數的作用就是打包的時候過濾掉某些文件,如果想過濾多個文件怎么辦
只能是繼續跟 --exclude filename了。
【配置tomcat】
Tomcat的安裝分為兩個步驟:安裝JDK;安裝Tomcat。
JDK(Java Development Kit)是Sun Microsystems針對Java開發員的產品。自從Java推出以來,JDK已經成為使用最廣泛的Java SDK。JDK 是整個Java的核心,包括了Java運行環境,Java工具和Java基礎的類庫。所以要想運行jsp的程序必須要有JDK的支持,理所當然安裝Tomcat的前提是安裝好JDK。
1. 安裝JDK
下載jdk-6u23-linux-i586.bin
cd /usr/local/src/
wget http://dl.dropbox.com/u/182853/jdk-6u23-linux-i586.bin
(如果該版本不合適請到下面的官方網站下載適合你的版本):
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u23-oth-JPR@CDS-CDS_Develope
chmod a+x jdk-6u23-linux-i586.bin
sh jdk-6u23-linux-i586.bin
此時會出現JDK 安裝授權協議。可以一路按Enter瀏覽,當出現Do you agree to the above license terms? [yes or no] 的字樣,輸入yes即可。
mv jdk1.6.0_23 /usr/local/
2. 設置環境變量
vim /etc/profile
在末尾輸入以下內容
#set java environment
JAVA_HOME=/usr/local/jdk1.6.0_23/
JAVA_BIN=/usr/local/jdk1.6.0_23/bin
JRE_HOME=/usr/local/jdk1.6.0_23/jre
PATH=$PATH:/usr/local/jdk1.6.0_23/bin:/usr/local/jdk1.6.0_23/jre/bin
CLASSPATH=/usr/local/jdk1.6.0_23/jre/lib:/usr/local/jdk1.6.0_23/lib:/usr/local/jdk1.6.0_23/jre/lib/charsets.jar
export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH
執行命令source /etc/profile,使配置立即生效
source /etc/profile
檢測是否設置正確:
java –version
如果顯示如下內容,則配置正確。
java version "1.4.2"
gij (GNU libgcj) version 4.1.2 20080704 (Red Hat 4.1.2-46)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
3.安裝Tomcat
cd /usr/local/src/
wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14.tar.gz
如果覺得這個版本不適合你,請到tomcat官方網站下載適合你的版本。
tar zxvf apache-tomcat-7.0.14.tar.gz
mv apache-tomcat-7.0.14 /usr/local/tomcat
cp -p /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat
vim /etc/init.d/tomcat
在第二行加入以下內容:
# chkconfig: 2345 63 37
# description: tomcat server init script
JAVA_HOME=/usr/local/jdk1.6.0_23/
CATALINA_HOME=/usr/local/tomcat
chmod 755 /etc/init.d/tomcat
chkconfig --add tomcat
chkconfig tomcat on
啟動tomcat:
service tomcat start
查看是否啟動成功:
ps aux |grep tomcat
如果有進程的話,請在瀏覽器中輸入http://IP:8080/ 你會看到tomcat的主界面。
在配置tomcat前,先來看看tomcat的幾個目錄:
find /usr/local/tomcat/ -maxdepth 1 -type d (-maxdepth的作用指定目錄級數,后邊跟1代表只查找1級目錄)
/usr/local/tomcat/
/usr/local/tomcat/lib # tomcat的庫文件目錄
/usr/local/tomcat/temp # 臨時文件存放目錄
/usr/local/tomcat/webapps # web應用目錄,也就是我們訪問的web程序文件所在目錄
/usr/local/tomcat/conf # 配置文件目錄
/usr/local/tomcat/logs # 日志文件所在目錄
/usr/local/tomcat/work # 存放JSP編譯后產生的class文件
/usr/local/tomcat/bin # tomcat的腳本文件
Tomcat的主配置文件為/usr/local/tomcat/conf/server.xml
1. 配置tomcat服務的訪問端口。
默認是8080,如果你想修改為80,則需要修改server.xml文件。
找到 <Connector port="8080" protocol="HTTP/1.1"
修改為:<Connector port="80" protocol="HTTP/1.1"
2. 配置新的虛擬主機
cd /usr/local/tomcat/conf/
vim server.xml
找到</Host>,下一行插入新的<Host>,內容如下:
<Host name="www.example.cn" appBase="/data/tomcatweb"
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="./" debug="0" reloadable="true" crossContext="true"/>
</Host>
完成后,重啟tomcat
service tomcat stop; service tomcat start
測試新建的虛擬主機,首先需要修改你電腦的hosts文件
vim /data/tomcatweb/test.jsp 加入以下內容:
<html><body><center>
Now time is: <%=new java.util.Date()%>
</center></body></html>
保存后,在你的瀏覽器里輸入 http://www.example.cn/test.jsp 看是否訪問到如下內容:
Now time is: Thu Jun 02 14:32:34 CST 2011
上面的test.jsp就是要顯示當前系統的時間。