主要內容
Linux 安裝
常用命令
VI編輯器的使用
遠程登錄
主機名的設置
IP的設置
防火牆的設置
用戶和組賬戶管理
文件權限管理
RPM軟件包管理
軟件的安裝
Jdk,tomcat, eclipse
第一章:Linux簡介
Linux是一種自由和開放源碼的操作系統,存在着許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬件設備中,比如手機、平板電腦、路由器、台式計算機
Linux介紹
Linux出現於1991年,是由芬蘭赫爾辛基大學學生Linus Torvalds和后來加入的眾多愛好者共同開發完成
Linux介紹
Linux出現於1991年,是由芬蘭赫爾辛基大學學生Linus Torvalds和后來加入的眾多愛好者共同開發完成
Linux特點
多用戶,多任務,豐富的網絡功能,可靠的系統安全,良好的可移植性,具有標准兼容性,良好的用戶界面,出色的速度性能
開源
CentOS
主流:目前的Linux操作系統主要應用於生產環境,主流企業級Linux系統仍舊是RedHat或者CentOS
免費:RedHat 和CentOS差別不大,基於Red Hat Linux 提供的可自由使用源代碼的企業CentOS是一個級Linux發行版本
更新方便:CentOS獨有的yum命令支持在線升級,可以即時更新系統,不像RedHat 那樣需要花錢購買支持服務!
CentOS 6.x
CentOS官網:http://www.centos.org/
CentOS搜狐鏡像:http://mirrors.sohu.com/centos/
CentOS網易鏡像:http://mirrors.163.com/centos/
CentOS北京理工大學鏡像:http://mirror.bit.edu.cn/centos/
第二章:Linux安裝
環境:Windows7 ,Oracle VirtualBox, CentOS6.7
Linux目錄結構
bin (binaries)存放二進制可執行文件
sbin (super user binaries)存放二進制可執行文件,只有root才能訪問
etc (etcetera)存放系統配置文件
usr (unix shared resources)用於存放共享的系統資源
home 存放用戶文件的根目錄
root 超級用戶目錄
dev (devices)用於存放設備文件
lib (library)存放跟文件系統中的程序運行所需要的共享庫及內核模塊
mnt (mount)系統管理員安裝臨時文件系統的安裝點
boot 存放用於系統引導時使用的各種文件
tmp (temporary)用於存放各種臨時文件
var (variable)用於存放運行時需要改變數據的文件
第三章:Linux常用命令
命令格式:命令 -選項 參數
如:ls -la /usr
ls:顯示文件和目錄列表(list)
常用參數:
-l (long)
-a (all) 注意隱藏文件、特殊目錄.和..
-t (time)
Linux命令的分類
內部命令:屬於Shell解析器的一部分
cd 切換目錄(change directory)
pwd 顯示當前工作目錄(print working directory)
help 幫助
外部命令:獨立於Shell解析器之外的文件程序
ls 顯示文件和目錄列表(list)
mkdir 創建目錄(make directoriy)
cp 復制文件或目錄(copy)
查看幫助文檔
內部命令:help + 命令(help cd)
外部命令:man + 命令(man ls)
操作文件或目錄常用命令
pwd 顯示當前工作目錄(print working directory)
touch 創建空文件
mkdir 創建目錄(make directoriy)
-p 父目錄不存在情況下先生成父目錄 (parents)
cp 復制文件或目錄(copy)
-r 遞歸處理,將指定目錄下的文件與子目錄一並拷貝(recursive)
mv 移動文件或目錄、文件或目錄改名(move)
操作文件或目錄常用命令
rm 刪除文件(remove)
-r 同時刪除該目錄下的所有文件(recursive)
-f 強制刪除文件或目錄(force)
rmdir 刪除空目錄(remove directoriy)
cat顯示文本文件內容 (catenate)
more、less 分頁顯示文本文件內容
head、tail查看文本中開頭或結尾部分的內容
haed -n 5 a.log 查看a.log文件的前5行
tail -F b.log 循環讀取(follow)
常用命令
wc 統計文本的行數、字數、字符數(word count)
-m 統計文本字符數
-w 統計文本字數
-l 統計文本行數
find 在文件系統中查找指定的文件
find /etc/ -name "aaa"
grep 在指定的文本文件中查找指定的字符串
ln 建立鏈接文件(link)
-s 對源文件建立符號連接,而非硬連接(symbolic)
top 顯示當前系統中耗費資源最多的進程
ps 顯示瞬間的進程狀態
-e /-A 顯示所有進程,環境變量
-f 全格式
-a 顯示所有用戶的所有進程(包括其它用戶)
-u 按用戶名和啟動時間的順序來顯示進程
-x 顯示無控制終端的進程
kill 殺死一個進程
kill -9 pid
df 顯示文件系統磁盤空間的使用情況
du 顯示指定的文件(目錄)已使用的磁盤空間的總
-h文件大小以K,M,G為單位顯示(human-readable)
-s只顯示各檔案大小的總合(summarize)
free 顯示當前內存和交換空間的使用情況
netstat 顯示網絡狀態信息
-a 顯示所有連接和監聽端口
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數字的全部轉化成數字。
-p 顯示建立相關鏈接的程序名
ifconfig 網卡網絡配置詳解
ping 測試網絡的連通性
備份壓縮命令
gzip 壓縮(解壓)文件或目錄,壓縮文件后綴為gz
bzip2 壓縮(解壓)文件或目錄,壓縮文件后綴為bz2
tar 文件、目錄打(解)包
gzip命令
命令格式:gzip [選項] 壓縮(解壓縮)的文件名
-d將壓縮文件解壓(decompress)
-l顯示壓縮文件的大小,未壓縮文件的大小,壓縮比(list)
-v顯示文件名和壓縮比(verbose)
-num用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統缺省值為6
bzip2命令
命令格式:bzip2 [-cdz] 文檔名
-c將壓縮的過程產生的數據輸出到屏幕上
-d解壓縮的參數(decompress)
-z壓縮的參數(compress)
-num 用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統缺省值為6
tar命令
-c 建立一個壓縮文件的參數指令(create)
-x 解開一個壓縮文件的參數指令(extract)
-z 是否需要用 gzip 壓縮
-j 是否需要用 bzip2 壓縮
-v 壓縮的過程中顯示文件(verbose)
-f 使用檔名,在 f 之后要立即接檔名(file)
關機/重啟命令
shutdown系統關機
-r 關機后立即重啟
-h 關機后不重新啟動
halt 關機后關閉電源 shutdown -h
reboot 重新啟動 shutdown -r
學習Linux的好習慣
善於查看man page(manual)等幫助文檔
利用好Tab鍵
掌握好一些快捷鍵
ctrl + c(停止當前進程)
ctrl + r(查看命令歷史)
ctrl + l(清屏,與clear命令作用相同)
第四章:VIM文本編輯器
vi / vim是Unix / Linux上最常用的文本編輯器而且功能非常強大。
只有命令,沒有菜單。
《大碗》編輯器版
周圍的同事不是用VI就是Emacs,你要是用EltraEdit都不好意思跟人家打招呼...什么插件呀、語法高亮呀、拼寫檢查呀,能給它開的都給它開着,就是一個字:酷!你說這么牛X的一東西,怎么着學會也得小半年吧。半年!?入門都遠着呢!能學會移動光標就不錯了,你還別說耗不起,就這還是左右移動!!!
VIM工作模式
插入命令
定位命令
替換和取消命令
刪除命令
常用快捷鍵
第五章:用戶和組賬戶管理
linux操作系統是一個多用戶操作系統,它允許多用戶同時登錄到系統上並使用資源。系統會根據賬戶來區分每個用戶的文件,進程,任務和工作環境,使得每個用戶工作都不受干擾。
配置文件
保存用戶信息的文件:/etc/passwd
保存密碼的文件:/etc/shadow
保存用戶組的文件:/etc/group
保存用戶組密碼的文件:/etc/gshadow
用戶配置文件:/etc/default/useradd
/etc/passwd格式
Linux用戶分類
超級用戶:(root,UID=0)
普通用戶:(UID在500到60000)
偽用戶:(UID在1到499)
系統和服務相關的:bin、daemon、shutdown等
進程相關的:mail、news、games等
為用戶不能登陸系統,而且沒有宿主目錄
/etc/shadow格式
用戶組
每個用戶至少屬於一個用戶組
每個用戶組可以包含多個用戶
同一個用戶組的用戶享有該組共有的權限
/etc/group格式
操作用戶命令
添加用戶命令:useradd
-u 指定組ID(uid)
-g 指定所屬的組名(gid)
-G 指定多個組,用逗號“,”分開(Groups)
-c 用戶描述(comment)
-e 失效時間(expire date)
例子:
useradd -u 888 -g users -G sys,root -c "hr zhang" zhangsan
passwd zhangsan
修改用戶命令:usermod(user modify)
-l 修改用戶名 (login)usermod -l a b(b改為a)
-g 添加組 usermod -g sys tom
-G添加多個組 usermod -G sys,root tom
–L 鎖定用戶賬號密碼(Lock)
–U 解鎖用戶賬號(Unlock)
刪除用戶命令:userdel(user delete)
-r 刪除賬號時同時刪除目錄(remove)
操作用戶組命令
添加組:groupadd
-g 指定gid
修改組:groupmod
-n 更改組名(new group)
刪除組:groupdel
groups 顯示用戶所屬組
第六章:權限管理
三種基本權限
r 讀權限(read)
w 寫權限(write)
x 執行權限 (execute)
第1位:文件類型(d 目錄,- 普通文件,l 鏈接文件)
第2-4位:所屬用戶權限,用u(user)表示
第5-7位:所屬組權限,用g(group)表示
第8-10位:其他用戶權限,用o(other)表示
第2-10位:表示所有的權限,用a(all)表示
完整信息:一個文件,所屬用戶具有讀寫執行權限;所屬組的用戶
有讀寫權限,沒有執行權限;其他用戶只有讀權限
更改操作權限
chmod修改文件權限命令(change mode)
參數:-R 下面的文件和子目錄做相同權限操作(Recursive遞歸的)
例如:chmod u+x a.txt
用數字來表示權限(r=4,w=2,x=1,-=0)
例如:chmod 750 b.txt
rwx用二進制表示是111,十進制4+2+1=7
r-x用二進制表示是101,十進制4+0+1=5
第七章: RPM軟件包管理
RPM是RedHat Package Manager(RedHat軟件包管理工具)的縮寫,這一文件格式名稱雖然打上了RedHat的標志,但是其原始設計理念是開放式的,現在包括RedHat、CentOS、SUSE等Linux的分發版本都有采用,可以算是公認的行業標准了。RPM文件在Linux系統中的安裝最為簡便
RPM命令使用
rpm的常用參數
i:安裝應用程序(install)
e:卸載應用程序(erase)
vh:顯示安裝進度;(verbose hash)
U:升級軟件包;(update)
qa: 顯示所有已安裝軟件包(query all)
結合grep命令使用
例子:rmp -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm
YUM命令
Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE、CentOS中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
例子(需要上網,沒有網絡可以建本地源):
yum install gcc-c++
yum remove gcc-c++
yum update gcc-c++