1 Linux安裝
1.1 安裝環境
環境:window7、VMware12 pro、CentOS6.5-desktop-64bit
1.2 為什麼選擇CentOS
- 主流:目前Linux作業系統主要應用于生産環境,主流企業級Linux系統仍是用RedHat或者CentOS
- 免費:RedHat和CentOS差别不大,CentOS是一個基于RedHat Linux提供的可自由使用源代碼的企業級Linux發行版本
- 更新友善:CentOS獨有的yum指令支援線上更新,可以及時更新系統,不像RedHat那樣需要花錢購買支援的服務
1.3 安裝步驟
略。安裝步驟特别簡單,step by step 即可。在設定硬體時,網絡擴充卡我們選擇【host-only】模式。
- VMnet0:這是VMware用于虛拟橋接網絡bridge下的虛拟交換機;
- VMnet1:這是VMware用于虛拟Host-Only網絡下的虛拟交換機;
- VMnet8:這是VMware用于虛拟NAT網絡下的虛拟交換機;
- VMware Network Adapter VMnet1:這是Host用于與Host-Only虛拟網絡進行通信的虛拟網卡;
- VMware Network Adapter VMnet8:這是Host用于與NAT虛拟網絡進行通信的虛拟網卡;
1.4 Linux的目錄結構
即Linux根下的目錄結構,如下:
即:
- bin(binaries):存放可執行的二進制檔案
- sbin(super user binaries):存放可執行的二進制檔案,隻有root使用者才能通路
- boot:存放用于系統引導時使用的的各種檔案
- dev(devices):用于存放裝置檔案
- etc(etcetera):存放系統配置檔案【重要】
- root:超級使用者(管理者)目錄
- home:存放使用者檔案的根目錄
- lib(library):存放根檔案系統中的程式運作所需要的共享庫及核心子產品
- mnt(mount):系統管理者安裝臨時檔案系統的安裝點
- tmp(temporary):用于存放各種臨時檔案
- usr(Unix share resource):用于存放共享的的系統資源【重要】,一般我們都會把檔案安裝在該目錄下
- var(variable):用于存放運作時需要改變資料的檔案
2 Linux常見指令
2.1 指令格式以及分類
2.1.1 指令分類
- 内部指令:屬于shell解析器的一部分,例如:cd、pwd、help
- 外部指令:獨立與shell解析器之外的檔案程式,例如:ls、mkdir、cp
- 檢視幫助文檔
- 内部指令:help + 指令,例如help cd
- 外部指令:man + 指令,例如 man ls
2.1.2 指令格式
格式:指令 –選項 參數
例如:ls –la /usr 顯示/usr下的目錄結構,-la l(long):長格式 a(all):隐藏檔案夾
2.1.3 操作檔案或目錄常用指令
- cd ~:進入到使用者的根目錄,cd -:傳回到原來目錄
- pwd:print working directory,顯示目前工作目錄
- ls:檢視目前目錄下的所有檔案,ls –la或者ll
- touch:建立空檔案
- echo:向指定的檔案中添加内容,例如:echo “content” > x.txt;向指定的檔案中追加資料:echo “content” >> x.txt
- mkdir:make directory,建立目錄
- cp:copy,複制檔案或者目錄
- mv:move,移動檔案或者目錄、檔案或者目錄改名(同一目錄下可以改名)
- rm:remove,删除檔案
-r:recursive,同時删除該目錄下的所有檔案
-f:force,強制删除檔案或目錄
- rmdir:remove directory,删除空目錄
- cat:catenate,顯示檔案檔案内容
- more、less:分頁顯示文本檔案内容 空格:翻頁
- head、tail:檢視文本中開頭或者結尾部分的内容
head –n 5 a.log:檢視a.log的前5行資料
tail –f b.log:循環讀取
- stat:檢視檔案詳情
2.1.4 常用指令
- wc:word count,統計文本的字元個數、單詞個數、行數
-m:統計該文本的字元個數
-w:統計該文本的單詞個數
-l:統計該文本的行數
- find:在檔案系統中查找指定的檔案,例:find /usr/ -name “xxx.txt”
- grep:在指定的文本檔案中查找指定的字元串,例如:grep “hello” x.txt
- du:顯示指定的檔案(目錄)已使用的磁盤空間的總數
- free:顯示目前記憶體和交換空間的使用情況
- netstat:顯示網絡狀态資訊
- ifconfig:網卡的網絡配置資訊
- ping:測試網絡的連通性
- ps:顯示瞬間的程序狀态
- kill:殺死一個程序,kill -9 pid
- df:顯示檔案系統磁盤空間的使用情況
- ln:link,建立連接配接檔案(link),例如:ln –s family/son lnson
2.1.5 解壓縮指令
- gzip:壓縮檔案(xxx.gz),例:gzip 1.txt;解壓:gzip –d xxx.gz或者gunzip xxx.gz
- bzip2:壓縮檔案(xxx.bz2)例如:bzip2 1.txt;解壓:bzip2 –d xxx.bz2或者bunzip2 xxx.bz2
- tar:
-c 建立一個壓縮檔案的參數指令(create)
-x 解開一個壓縮檔案的參數指令(extract)
-z 是否需要用 gzip 壓縮
-j 是否需要用 bzip2 壓縮
-v 壓縮的過程中顯示檔案(verbose)
-f 使用檔名,在 f 之後要立即接檔名(file)
- 将目前目錄打包: tar –cvf bak.tar bak/
- 解壓:tar –xvf bak.tar
- 打包并壓縮成gzip:tar –zcvf bak.tar.gz bak.tar
- 解壓gzip:tar –zxvf bak.tar.gz [-c /usr 解壓到該目錄下]
- 打包并壓縮成bz2:tar -jcvf a.tar.bz2
- 解壓bz2:tar -jxvf a.tar.bz2
2.1.6 其他指令
- shutdown:系統關機
-r:關機後立即重新開機
-h:關機後不啟動 shutdown –h now
- halt:關機後關閉電源
- reboot:重新開機
- 學習Linux的好習慣:善于使用幫助指令、善用tab鍵、掌握一些快捷鍵:Ctrl+c(停止目前程序)、history(檢視曆史指令)、Ctrl+l(清屏,與clear指令作用相同)、Ctrl+r(搜尋曆史指令) su root
3 vim編輯器
3.1 概念
- vi/vim是Unix/Linux上最常用的文本編輯器而且功能非常強大
- 隻有指令,沒有菜單
3.2 vim工作模式
3.3 常用指令
3.3.1 插入指令
- i:在目前光标前插入
- I:在目前光标行首插入
- a:在目前光标後插入
- A:在目前光标行尾插入
- o:在目前光标的下一行插入新行
- O:在目前光标的上一行插入新行
3.3.2 定位指令
- :set nu:顯示行号
- :set nonu:取消行号
- gg:到文本第一行
- G:到文本的最後一行
- :n:到文本的第n行
3.3.3 删除指令
- x:删除光标所在處的字元
- nx:删除光标所在處的n個字元
- dd:删除光标所在行,ndd删除n行
- dG:删除光标所在行到末尾行的所有内容
- D:删除光标所在處到行尾的内容
- :n1,n2d:删除指定範圍的行
3.3.4 複制粘貼指令
- yy:複制目前光标行;nyy複制n行
- p(小寫):粘貼到該行下
- P(大寫):粘貼到該行上
3.3.5 替換和取消指令
- u:undo,取消上一步操作
- ctrl+r:redo,傳回到undo之前
- r:替換光标所在處的字元
- R:從光标所在處開始替換,按Esc鍵結束
3.3.6 常用快捷鍵
- ZZ(Shift+zz):儲存并退出,與”:wq”作用相同
- tab:自動補全
- Ctrl+c:結束目前程序
- Ctrl+r:搜尋曆史指令
4 關于Linux的配置(可選)
4.1 修改主機名
vim /etc/sysconfig/network
修改hostname=master即可,需要注意的是:主機名不能包含下劃線或者中劃線
4.2 修改ip
如果安裝完成後内外主機能夠ping 通 則不需要設定下面的資訊。
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static" #修改
HWADDR="00:0C:29:7D:A4:4E"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="f804bacc-f3e8-452b-ae55-3f97d3bf5108"
IPADDR="192.168.31.251" #添加 與net1在同一網段下
NETMASK="255.255.255.0" #添加
GATEWAY="193.168.31.250" #添加
4.3 修改主機名和IP的映射關系
vim /etc/hosts
最後一行添加 192.168.31.251master
4.4 關閉防火牆
- 檢視防火牆強狀态:service iptables status
- 關閉防火牆:service iptables stop
- 檢視防火牆是否開機啟動:chkconfig iptables --list
- 檢視該系統已哪種方式啟動:vim /etc/inittab 1:單使用者啟動 3:多使用者啟動,server版 5:圖形界面方式啟動
- 關閉防火牆開機關閉:chkconfig iptables off
5 權限管理
5.1 三種基本權限
- r:read,讀權限
- w:write,寫權限
- x:execute,執行權限
說明:
- 第1位: ,- 普通檔案,l 連結檔案)
- 第2-4位:所屬使用者權限,用u(user)表示
- 第5-7位:所屬組權限,用g(group)表示
- 第8-10位:其他使用者權限,用o(other)表示
- 第2-10位:表示所有的權限,用a(all)表示
完整資訊:一個檔案,所屬使用者具有讀寫執行權限;所屬組的使用者
有讀寫權限,沒有執行權限;其他使用者隻有讀權限
5.2 更改操作權限
- chmod:修改檔案權限指令(change mode)
參數:-R 下面的檔案和子目錄做相同權限操作(Recursive遞歸的)
例如:chmod u+x a.txt
- 用數字來表示權限
r=4,w=2,x=1,-=0
例如:chmod 750 a.txt
rwx用二進制表示是111,十進制4+2+1=7
r-x用二進制表示是101,十進制4+0+1=5
6 Linux下安裝軟體
6.1 jdk安裝
- 設定執行權限:chmod u+x jdk-7u45-linux-i586.bin
- 解壓縮:tar -zxvf jdk-7u79-linux-x64.gz -C /usr/programfile/java/
- 添加環境變量
1、vim /etc/profile
2、*在/etc/profile檔案最後添加
JAVA_HOME=/usr/programfile/java/jdk1.7.0_45
export PATH=$JAVA_HOME/bin:$PATH
- 更新配置:source /etc/profile
6.2 eclipse安裝
- 解壓縮:tar -zxvf eclipse-java-luna-SR2-linux-gtk-x86_64.tar.gz -C /usr
- 在linux桌面空白處,點選滑鼠右鍵,彈出一個對話框,選擇“create Launcher”:設定name、command(eclipse安裝目錄)、圖示(icon.xpm)
6.3 tomcat安裝
- 解壓縮
- 運作 ./startup.sh
6.4 mysql的安裝
6.4.1 RPM軟體包管理
RPM是RPM package manager(RPM軟體包管理器),是一種用于網際網路下載下傳包的打包及安裝工具,它包含在某些Linux發行版本中。它生成具有.RPM擴充名的檔案。它的主要功能:安裝、解除安裝、更新和管理軟體
6.4.2 RPM常用參數介紹
i:安裝應用程式(install)
e:解除安裝應用程式(erase)
vh:顯示安裝進度;(verbose hash)
U:更新軟體包;(update)
qa: 顯示所有已安裝軟體包(query all)
-ql:顯示軟體安裝的目錄
6.4.3 RPM安裝mysql
步驟:這裡使用的是32位的mysql的RPM軟體包,是以該Linux也應為32位
- 上傳mysql所需的RPM軟體包
- RPM檔案安裝順序
- rpm -ivh perl-DBI-1.609-4.el6.i686.rpm
- rpm -ivh perl-DBD-MySQL-4.013-3.el6.i686.rpm
- rpm -Uvh openssl-1.0.1e-16.el6_5.14.i686.rpm
- rpm -Uvh mysql-libs-5.1.73-3.el6_5.i686.rpm
- rpm -ivh mysql-5.1.73-3.el6_5.i686.rpm
- rpm -ivh mysql-server-5.1.73-3.el6_5.i686.rpm
- 啟動mysql服務
- service mysqld start
- 設定mysql密碼:mysqladmin -u root password 'root'
- 登入:mysql –u root –p
- 退出:quit
- 進入mysql資料庫:show databases; use mysql; show tables; 等。
6.5 注意
需要保證Linux的系統的位數與該軟體的位數一緻。這裡我們的mysql的RPM軟體包為32為,是以需要安裝在32為的Linux系統上。