Linux系統(tǒng)快速入門
1學(xué)習(xí)目標(biāo):
對(duì)linux的基本認(rèn)識(shí)
常用linux命令的使用
JAVAEE?:后臺(tái)應(yīng)用都會(huì)涉及到linux系統(tǒng)钮孵,應(yīng)用程序的部署,運(yùn)維帮掉,分布式集群誊辉,大數(shù)據(jù),云計(jì)算
Linux基本概念:
什么是linux:Linux是一種自由和開放源碼的操作系統(tǒng)
應(yīng)用在哪里:服務(wù)器操作系統(tǒng)(比如數(shù)據(jù)庫服務(wù)器:安裝了“oracle服務(wù)軟件”的計(jì)算機(jī))
UNIX封閉恼蓬、收費(fèi)的惊完,跟硬件捆綁銷售的;LINUX自由和開源处硬,兼容性非常好
Linux的發(fā)行版(封裝版):企業(yè)市場(chǎng)占有率最高:redhat企業(yè)版 小槐,次之:社區(qū)版centos
個(gè)人市場(chǎng):Ubuntu
2 linux系統(tǒng)安裝
下載linux發(fā)行版光盤鏡像
在物理機(jī)或者虛擬機(jī)上安裝linux系統(tǒng)
虛擬機(jī):用軟件模擬出來的一臺(tái)虛擬計(jì)算機(jī)
虛擬機(jī)軟件:用來創(chuàng)建和運(yùn)行虛擬計(jì)算機(jī)的一個(gè)軟件
步驟:
[if !supportLists]1、?[endif]啟動(dòng)vmware
[if !supportLists]2荷辕、?[endif]點(diǎn)擊新建虛擬計(jì)算機(jī)
[if !supportLists]3凿跳、?[endif]給虛擬計(jì)算機(jī)做各種硬件配置,其中疮方,虛擬網(wǎng)絡(luò)模式一定要選擇:
[if !supportLists]4控嗜、?[endif]所有硬件設(shè)備配置完成后,勾上power on
2.2如何使用一臺(tái)已經(jīng)安裝好的虛擬機(jī)
1骡显、把安裝好的虛擬機(jī)的文件夾拷貝到windows的某個(gè)目錄疆栏,比如C:\CentOS32\CentOS
2、啟動(dòng)vmware軟件
3惫谤、從vmware的菜單中點(diǎn)擊file壁顶,然后選擇open
[if !supportLists]5、?[endif]在彈出的文件選擇框中:
[if !supportLists]6溜歪、?[endif]然后博助,vmware會(huì)彈出一個(gè)提示“i moved it “?or ?“i copied it”,建議選擇“i moved it “
[if !supportLists]7痹愚、?[endif]然后富岳,vmware的虛擬機(jī)列表中會(huì)多出一臺(tái)虛擬機(jī)
[if !supportLists]8蛔糯、?[endif]選擇這一臺(tái)虛擬機(jī),對(duì)它的硬件進(jìn)行修改
9窖式、啟動(dòng)centos就可以了
3 linux系統(tǒng)的遠(yuǎn)程登陸
[if !supportLists]l?[endif]計(jì)算機(jī)網(wǎng)絡(luò)基本常識(shí)
TCP/IP協(xié)議:是計(jì)算機(jī)網(wǎng)絡(luò)的傳輸層及路由層全球通用的協(xié)議
TCP:傳輸層的協(xié)議 ???IP:網(wǎng)絡(luò)層協(xié)議——根據(jù)IP地址來在網(wǎng)絡(luò)中查找路由
IP地址配置:
[if !supportLists]1蚁飒、?[endif]網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)都需要至少一個(gè)ip地址
[if !supportLists]2、?[endif]網(wǎng)絡(luò)中的ip地址不能重復(fù)
[if !supportLists]3萝喘、?[endif]配置格式:
???Ip ?: ?192.168.2.171
網(wǎng)關(guān): ?192.168.2.1
子網(wǎng)掩碼:255.255.255.0
——子網(wǎng)掩碼是用來區(qū)分網(wǎng)段(跟ip地址與操作得到網(wǎng)段192.168.2.0)
域名服務(wù)器:8.8.8.8 ??(默認(rèn)情況下就填網(wǎng)關(guān)的地址也可以192.168.2.1)
4淮逻、內(nèi)網(wǎng)域名的配置:在訪問端(客戶機(jī))上的hosts文件中,配置目標(biāo)主機(jī)的ip和自定義域名
網(wǎng)關(guān)——路由器/交換機(jī)
主機(jī)名
[if !supportLists]l?[endif]如何遠(yuǎn)程登錄linux服務(wù)器
1阁簸、要知道目標(biāo)linux服務(wù)器的ip地址
2爬早、客戶端跟目標(biāo)服務(wù)器兩者要能聯(lián)網(wǎng)
3、要有一款ssh登錄的客戶端軟件
4启妹、啟動(dòng)ssh客戶端軟件進(jìn)行登錄
[if !supportLists]l?[endif]虛擬網(wǎng)絡(luò)配置
虛擬出來的linux服務(wù)器可通過vmware提供的虛擬網(wǎng)絡(luò)進(jìn)行組網(wǎng)筛严,組網(wǎng)的方式主要有兩種:
[if !supportLists]1.?[endif]NAT模式
[if !supportLists]2.?[endif]橋接模式
建議采用NAT方式,NAT組網(wǎng)方式如下:
[if !supportLists]ü?[endif]要點(diǎn):vmware會(huì)虛擬出一臺(tái)“虛擬交換機(jī)”饶米,所有的虛擬主機(jī)以及宿主物理機(jī)都通過虛擬網(wǎng)卡連接到了這臺(tái)交換機(jī)上桨啃,如圖:
[if !supportLists]ü?[endif]配置步驟:
首先,要在vmware中給虛擬計(jì)算機(jī)選擇虛擬網(wǎng)絡(luò)模式NAT
接下來檬输,要在vmware中為NAT虛擬網(wǎng)絡(luò)配置一下虛擬網(wǎng)關(guān)的地址
[if !supportLists]l?[endif]在彈出的窗口中選擇NAT項(xiàng)
[if !supportLists]l?[endif]點(diǎn)擊NAT Settings照瘾,彈出一個(gè)虛擬網(wǎng)關(guān)地址配置窗口,填入自己想要的虛擬網(wǎng)關(guān)地址 ?
[if !supportLists]l?[endif]然后回到linux服務(wù)器丧慈,配置linux服務(wù)器的ip地址析命,先通過圖形界面配置
[if !supportLists]l?[endif]選擇Manual來手動(dòng)指定ip地址:
?這里的網(wǎng)關(guān)地址要與VMWARE模擬的那臺(tái)虛擬交換機(jī)的地址一致
配置完成以后,要在網(wǎng)絡(luò)連接小圖標(biāo)上“禁用”網(wǎng)絡(luò)逃默,然后再“啟用”網(wǎng)絡(luò)鹃愤,才能讓配置生效
[if !supportLists]l?[endif]Linux服務(wù)器的ip地址配置好后,還要配置物理宿主機(jī)windows的ip地址
進(jìn)入網(wǎng)絡(luò)連接配置笑旺,選擇VMNET8這塊網(wǎng)卡(由vmware虛擬出來的一塊NAT模式網(wǎng)卡)
[if !supportLists]l?[endif]在VMNET8上點(diǎn)擊右鍵,彈出屬性配置窗口
[if !supportLists]l?[endif]配置IP地址馍资,如下:
[if !supportLists]??[endif]Ip地址配好以后筒主,就可以遠(yuǎn)程登錄服務(wù)器進(jìn)行操作管理了
對(duì)服務(wù)器的管理,都是通過遠(yuǎn)程登錄來進(jìn)行鸟蟹,遠(yuǎn)程登錄的常用軟件有以下3款:
xshell
putty
secureCRT ?----recommend推薦
這些軟件都是基于一種通信協(xié)議來進(jìn)行遠(yuǎn)程登錄:SSH協(xié)議
(這種協(xié)議要求遠(yuǎn)程登錄者進(jìn)行身份驗(yàn)證
有兩種認(rèn)證方式——“用戶名+密碼”機(jī)制<默認(rèn)機(jī)制>乌妙,密鑰機(jī)制<需要事先配置才有>)
啟動(dòng)crt遠(yuǎn)程登錄軟件,點(diǎn)擊閃電圖標(biāo)建钥,進(jìn)行連接配置
在彈出的連接配置窗口中藤韵,把地址配成我們的虛擬linux服務(wù)器的地址
**登錄之后的提示符:
[renwoxing@localhost ~]$
其中renwoxing是當(dāng)前登陸者的用戶名
localhost是本服務(wù)器的主機(jī)名
~是表示登陸者目前所處的目錄,~就是指該登陸者的主目錄/home/renwoxing
4 linux文件系統(tǒng)常用管理操作命令
[if !supportLists]ü?[endif]Linux的文件系統(tǒng)跟windows有一個(gè)最顯著的區(qū)別:
文件系統(tǒng)有一個(gè)統(tǒng)一的根目錄:“/” 熊经,所有存儲(chǔ)資源(磁盤分區(qū)泽艘,光驅(qū)欲险,usb外部存儲(chǔ)等等全部都掛載在根目錄下)
系統(tǒng)剛安裝好時(shí),都會(huì)有這樣一些文件夾:
要認(rèn)識(shí)這幾個(gè):
/bin可執(zhí)行的命令|程序
/sbin系統(tǒng)管理命令所在的目錄匹涮,此目錄中的命令天试,默認(rèn)只有root才能執(zhí)行
/home是所有普通用戶的家目錄的上級(jí)目錄,比如angelababy的家目錄:/home/angelababy
/root是超級(jí)用戶root的家目錄
/etc是系統(tǒng)配置文件所在的目錄
/tmp是系統(tǒng)的臨時(shí)文件夾
/usr ???unix shared resource各用戶之間共享資源存放的目錄
[if !supportLists]ü?[endif]Linux系統(tǒng)的關(guān)機(jī)或重啟或睡眠
[if !supportLists]ü?[endif]Linux系統(tǒng)時(shí)間修改
彈出一個(gè)設(shè)置窗口:
4.1日常文件管理命令
tips:輸入命令的時(shí)候要常用tab鍵來補(bǔ)全
ls ?查看目錄信息(ls /)
ls -l等價(jià)于 ?ll ?<l是L的小寫然低,不是數(shù)字1>
pwd查看當(dāng)前所處目錄的絕對(duì)路徑 ??
cd切換工作目錄 (cd /) ,如果不帶參數(shù)則切換到用戶主目錄 ~
?
路徑的表示方法有“相對(duì)路徑”和“絕對(duì)路徑”
比如如果當(dāng)前所處目錄為/home/angelababy喜每,要查看/home目錄下的信息,可以有兩種方法:
ls??../
ls??/home
mkdir創(chuàng)建文件夾
mkdir -p a/b/c如果要?jiǎng)?chuàng)建的文件夾的父目錄不存在雳攘,則自動(dòng)創(chuàng)建
rmdir刪除空文件夾 ?(只能刪除空文件夾)
rm -r ?/a/b ?(刪除非空文件夾)
刪除文件
rm filename ?(rm -r刪除文件夾 ????rm -rf 強(qiáng)制刪除文件或文件夾)
創(chuàng)建文件
touch a.avi創(chuàng)建一個(gè)空文件
echo "angelababy,zhen de hen xihuan ni" > qingshu.txt把左邊的輸出放到右邊的文件里去
echo "huangxiaoming,gun cu" >> qingshu.txt往已經(jīng)存在的文件中追加內(nèi)容
移動(dòng)文件修改文件名
mv a/wenjian1.txt ?b/file1.txt ??(移動(dòng)文件的同時(shí)還修改了文件名)
拷貝文件带兜,如:
cp ?./a/srcfile ?./b/destfile
查看文本文件內(nèi)容
cat??wodeqingshu.txt一次性將整個(gè)文件內(nèi)容全部顯示在屏幕上
more ?wodeqingshu.txt可以分頁看(翻頁:空格, 往回翻:b ,退出: q或者 Ctrl+C)
less ?wodeqingshu.txt 不僅可以分頁吨灭,還可以方便地搜索刚照,回翻等操作(翻頁:空格,往回翻頁:b ???往回一行:↑,往下一行:↓,退出:q或者 Ctrl+C)
tail -10 wodeqingshu.txt查看文件的尾部的10行
程序打出的日志在生產(chǎn)實(shí)踐中具有非凡的debug的意義
tail -f user.log實(shí)時(shí)刷新顯示文件的尾部
head -20 wodeqingshu.txt查看文件的頭部20行
4.2文件歸檔壓縮(1:打包--歸檔; 2:壓縮)
1沃于、歸檔
打包:
tar??-cvf ?testdir.tar??testdir/
參數(shù)解釋:c:create ???v:verbose顯示進(jìn)度 ?f:file
解包:
tar??-xvf ?testdir.tar
參數(shù)解釋:x:extract
2涩咖、壓縮
gzip testdir.tar ?
gzip ?file
bzip ?file
解壓縮:gzip ?-d ?testdir.tar.gz
歸檔壓縮一次完成:
tar -czvf ?testdir.tar.gz testdir/
tar -xzvf testdir.tar.gz解壓到當(dāng)前目錄下
tar -xzvf testdir.tar.gz -C Downloads/解壓到指定的Downloads目錄下
4.3文件權(quán)限管理
linux系統(tǒng)中對(duì)文件權(quán)限的描述機(jī)制:
d ?r??w ?x???r ?w ?x????r ?-??x
所有者所屬組其他人
可以表示為二進(jìn)制:111 111 101
也可以表示為十進(jìn)制:7 ??7 ??5
修改權(quán)限
chmod ?u+rwx ?file為file添加或取消所屬用戶的權(quán)限
(u代表所屬用戶 ?o代表其他用戶 ?g代表所屬組的成員用戶)
chmod ?567 ?file用數(shù)字也可以表示權(quán)限 ?
5 ---> ?101 ---> r-x
6 ---> ?110 ---> rw-
7 ---> ?111 ---> rwx
修改文件的所有者owner(只能由root權(quán)限才能操作)
chown ?root:root ?file#將file的所有者改成hadoop用戶,所屬組改成hadoop組
[if !supportLists]??[endif]rwx權(quán)限的含義:
r:對(duì)文件---可以讀取文件的內(nèi)容 ??cat ???
對(duì)文件夾——可以查看文件夾的子節(jié)點(diǎn)信息ls
w:對(duì)文件——可以修改文件的內(nèi)容
對(duì)文件夾——可以增減文件夾中的子節(jié)點(diǎn)(文件或子文件夾)
x:對(duì)文件——是否可運(yùn)行
對(duì)文件夾——是否可cd進(jìn)入
5用戶管理
5.1添加用戶
useradd ?itcast0526
必須設(shè)置密碼才能正常登陸passwd ?itcast0526
5.2刪除用戶
userdel??itcast0526----這樣刪除的時(shí)候繁莹,用戶的主目錄會(huì)被保留
userdel ?-r ?itcast0526-----刪除用戶的同時(shí)刪除用戶的主目錄
5.3修改用戶屬性(******了解*******)
usermod-l ?itcast ?itcast0526將itcast0526的登陸名改為itcast
usermod ?-g ?angelababy ?diadia將diadia的primary組改為angelababy ?組
usermod ?-G ?hadoop,hellogrp ?itcast給itcast添加兩個(gè)組hadoop,root
usermod ?-d ?/home/itcast ?itcast0526將itcast0526的主目錄改成/home/itcast
(要事先創(chuàng)建itcast目錄檩互,并且拷入環(huán)境變量文件)
----****----修改用戶的密碼
passwd??itcast0526
5.4用戶組管理
創(chuàng)建用戶組
groupadd??heros
刪除用戶組
groupdel ?beauties
查看當(dāng)前登陸者的身份
whoami
查看用戶所屬組
groups??angelababy
6常見系統(tǒng)管理
****(凡是涉及到修改,就一定要用root權(quán)限)
輕易不要使用su去切換到root的身份
普通用戶使用sudo來執(zhí)行root權(quán)限的命令
如咨演,將heima16?用戶添加到sudoers文件中去vi /etc/sudoers
root ???ALL=(ALL) ??????ALL
heima16??ALL=(ALL) ??????ALL
6.2磁盤空間信息查看
df ?-h查看磁盤空間狀態(tài)信息
du ?-sh ?./*查看指定目錄下所有子目錄和文件的匯總大小 ???
6.3進(jìn)程管理
free查看內(nèi)存使用狀況 ??可以帶單位闸昨,比如,顯示M薄风, ??free ??-m
top查看實(shí)時(shí)刷新的系統(tǒng)進(jìn)程信息
ps -ef查看系統(tǒng)中當(dāng)前瞬間的進(jìn)程信息快照
ps -ef | grep myshell.sh搜索myshell進(jìn)程的信息
kill -9 pid殺掉進(jìn)程 ?(-9 表示強(qiáng)制殺死)
6.4網(wǎng)絡(luò)管理
[if !supportLists]ü?[endif]查看ip地址
ifconfig
修改ip地址的配置
[if !supportLists]ü?[endif]vi /etc/sysconfig/network-scripts/ifcfg-eth0修改該配置文件即可改ip地址;
[if !supportLists]ü?[endif]或者在root權(quán)限下用setup指令通過一個(gè)帶提示的偽圖形界面來修改;
[if !supportLists]ü?[endif]修改主機(jī)名
sudo vi ?/etc/sysconfig/network修改其中的hostname配置項(xiàng)
[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=heima16-server-01
要想立即生效可以執(zhí)行指令
[root@localhost ~]#?hostname ?heima16-server-01
執(zhí)行完后重登陸可以立刻看到效果
[if !supportLists]ü?[endif]管理內(nèi)網(wǎng)的"主機(jī)名---ip地址"本地映射
[if !supportLists]ü?[endif]查看當(dāng)前的進(jìn)程連接網(wǎng)絡(luò)的信息
netstat -nltp???獲取系統(tǒng)當(dāng)前正在監(jiān)聽端口tcp協(xié)議的進(jìn)程
netstat -natp
獲取系統(tǒng)當(dāng)前所有網(wǎng)絡(luò)監(jiān)聽進(jìn)程以及建立了連接的網(wǎng)絡(luò)進(jìn)程
[if !supportLists]ü?[endif]網(wǎng)絡(luò)服務(wù)管理(root權(quán)限下)
重啟網(wǎng)絡(luò)服務(wù)service ?network ?restart
關(guān)閉防火墻服務(wù)service ?iptables ?stop
關(guān)閉防火墻自動(dòng)啟動(dòng)chkconfig ?iptables ?off
指定運(yùn)行級(jí)別下的自啟動(dòng)chkconfig ?--level ?2345??iptables ?on
查看防火墻運(yùn)行狀態(tài):service??iptables??status
查看防火墻的自動(dòng)啟動(dòng)配置:chkconfig??iptables??--list
防火墻開啟端口:
iptables ?-I ?INPUT??-p ?tcp??-j ?ACCEPT --dport ?8080
service ?iptables ?save
6.5修改系統(tǒng)的默認(rèn)啟動(dòng)級(jí)別(****了解******)
vi /etc/inittab
# ??0 - halt (Do NOT set initdefault to this)
# ??1 - Single user mode
# ??2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# ??3 - Full multiuser mode
# ??4 - unused
# ??5 - X11
# ??6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
~
用level 3就啟動(dòng)全功能狀態(tài)的字符界面
注:在命令行模式下饵较,用startx可以手動(dòng)啟動(dòng)圖形界面(在服務(wù)器上操作)
7常用工具指令
[if !supportLists]ü?[endif]wc ??#統(tǒng)計(jì)文本信息(行數(shù),詞數(shù)遭赂,字符數(shù))
[if !supportLists]ü?[endif]date ?#查看或者修改系統(tǒng)的日期和時(shí)間
date -s 2015-08-03
date -s 14:15:00
date -s "2015-08-03 14:15:00"
把系統(tǒng)時(shí)間寫入CMOS
clock -w
[if !supportLists]ü?[endif]echo ?#輸出字符串或者變量的值
[if !supportLists]ü?[endif]vi ??#linux系統(tǒng)中最常用的文本編輯器
vi ?hello.world進(jìn)入文件編輯
進(jìn)去之后處于非編輯模式循诉,此時(shí),要按一個(gè)i進(jìn)入insert模式
在insert模式下撇他,可以跟普通文本編輯器一樣編輯內(nèi)容
編輯完成之后茄猫,先按Esc退出insert模式,進(jìn)入非編輯模式
然后再按:進(jìn)入底行命令模式困肩,在底行命令中敲入wq并回車划纽,即可保存
(保存文件的另一種模式:按Esc退出insert模式,然后直接按快捷鍵保存—— shift + zz)
如果不保存锌畸,底行命令就用q!
[if !supportLists]ü?[endif]grep在文本中搜索關(guān)鍵詞
grep ?“common”??install.log
通常將grep跟別的命令組合使用來搜索我們感興趣的信息
比如勇劣,我要在進(jìn)程信息中找到某個(gè)特定進(jìn)程:
?ps ?-ef ?| grep ?“hello”
[if !supportLists]ü?[endif]find查找文件
find ?/home/angelababy ?-name ?“qingshu”
8 linux中的軟件安裝
8.1 java軟件安裝
[if !supportLists]ü?[endif]Jdk安裝
將安裝包解壓到你的安裝路徑下
然后修改環(huán)境變量
vi ?/etc/profile
修改保存退出vi編輯器后,執(zhí)行命令:
source ?/etc/profile ?#用以讓環(huán)境配置生效
[if !supportLists]ü?[endif]Eclipse安裝
選擇正確的版本拖到linux系統(tǒng)中潭枣,解壓即可執(zhí)行
8.2 RPM包安裝
redhat公司的RPM方式的包管理 也是很常用的軟件包管理器
示例:Mysql安裝
先刪除系統(tǒng)中自帶的殘存mysql庫
rpm -qa | grep mysql#查看系統(tǒng)中已有的mysql相關(guān)的庫
rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps#刪除老的庫
rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm #安裝mysql服務(wù)器
rpm -ivh MySQL-client5.1.73-1.glibc23.i386.rpm #安裝mysql客戶端
64位 MySql安裝后的密碼修改步驟:
/root/.mysql_secret#安裝后生成的mysql中root用戶的隨機(jī)密碼
service mysql start#啟動(dòng)mysql服務(wù)
mysql -uroot -p randomp#使用隨機(jī)密碼登陸
>set password=password("root");
>flush privileges;
>exit;
開啟遠(yuǎn)程訪問權(quán)限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES
8.3網(wǎng)絡(luò)版RPM----yum(Yellow dog Updater)
1比默、列出所有可以安裝的軟件包幻捏,從其中查找tomcat相關(guān)的包
yum??list?| grep tomcat
2、安裝軟件包(比如tomcat)
yum??-y??install ?tomcat6.i686
yum會(huì)自動(dòng)解決依賴退敦,如下:
3粘咖、查詢yum所安裝的軟件的安裝目錄
[if !supportLists]ü?[endif]先查詢所安裝的軟件包的名稱:
rpm -qa | grep vsftp
[if !supportLists]ü?[endif]再查詢安裝目錄
[root@notrue-centos ~]# rpm -qa | grep vsftp
vsftpd-2.2.2-14.el6.x86_64
[root@notrue-centos ~]# rpm -ql vsftpd-2.2.2-14.el6.x86_64
4、更新軟件包
yum update tomcat