Linux簡介(操作系統)
Linux發展史(了解)
Linux出現於1991年,是由芬蘭赫爾辛基大學學生李納斯·托瓦茲(Linus Torvalds)偶然發現的,他當時是為了方便下載學校網站的一些視頻與新聞資料,自己開發的一套程序,后來加入美國自由軟件基金組織協會,和眾多愛好者共同開發完成 。
Linux介紹 (了解)
(1)Linux是一種自由和開放源碼的操作系統,存在着許多不同的Linux發行版本,但它們都使用了Linux內核。
(2)Linux內核網站:www.kernel.org
(3)基於內核,再增加一些桌面,應用程序,就可以發行,稱為開發版。
Linux兩大陣營:
(1)Redhat系列 redhat,suse,CentOS,Fedora等
(2)Debian系列 debian,ubuntu等
區別: 命令細微的區別, 安裝方式
Linux應用領域(了解)
(1)Linux企業服務器
(2)嵌入式系統:Linux可安裝在各種計算機硬件設備中,比如手機、平板電腦、路由器、智能家電等嵌入式系統。
(3)電影娛樂行業:電影后期特效處理。
Linux特點(掌握)
(1)開源
源代碼開放,多用戶,多任務,豐富的網絡功能,良好的可移植性,具有標准兼容性,良好的用戶界面,出色的速度性能
(2)安全
服務器不使用圖形化界面:
圖形化占用資源
機房部署方便,無需配置操作界面
(3)穩定
一般不會出現藍屏,死機,卡機的現象
(4)免費
最主要的特點
CentOS 社區版(了解)
主流:目前的Linux操作系統主要應用於生產環境,主流企業級Linux系統仍舊是CentOS(大多數使用)或者RedHat
免費:RedHat 和CentOS差別不大,CentOS是一個基於Red Hat ,Linux 提供的可自由使用源代碼的企業級Linux發行版本
更新方便:CentOS獨有的yum命令支持在線升級,可以即時更新系統,不像RedHat 那樣需要花錢購買支持服務!
CentOS官網:http://www.centos.org/
1 Linux安裝
安裝環境:Windows7/win10 , VMware Workstation14, CentOS 6.7
VMware
VMware是一個虛擬PC的軟件,可以在現有的操作系統上虛擬出一個新的硬件環境,相當於模擬出一台新的PC ,以此來實現在一台機器上真正同時運行多個獨立的操作系統 。
VMware主要特點:
1、不需要分區或重新開機就能在同一台PC上使用兩種以上的操作系統
2、本機系統可以與虛擬機系統網絡通信
3、可以設定並且隨時修改虛擬機操作系統的硬件環境
2 Linux目錄結構(掌握)
/bin: (binaries) 存放系統命令的目錄,所有用戶都可以執行。
/sbin : (super user binaries) 保存和系統環境設置相關的命令,只有超級用戶可以使用這些命令,有些命令可以允許普通用戶查看。(root)
/root: 存放root用戶的相關文件,root用戶的家目錄。宿主目錄 超級用戶
/home:用戶缺省宿主目錄 eg:/home/spark /home/pengfei
/tmp:(temporary)存放臨時文件
/etc:(etcetera)系統配置文件 profile
/usr:(unix software resource)系統軟件共享資源目錄,存放所有命令、庫、手冊頁等
/boot:系統啟動目錄
/dev:(devices)存放設備文件
/lib:存放系統程序運行所需的共享庫 jar包
/var:(variable) 動態數據保存位置,包含經常發生變動的文件,如郵件、日志文件、計划任務等
3 Linux常用命令(熟練)
cd
英文:change directory 執行權限:所有用戶
作用: 切換目錄
語法:cd [目錄]
/ 切換到根目錄
.. 回到上一級目錄
. 當前目錄
絕對路徑與相對路徑的區別
ls 與ll
英文:list 執行權限:所有用戶
作用:顯示目錄文件 語法:ls [-alrRt]
-a all 顯示所有文件,注意隱藏文件,特殊目錄
-l(long) 顯示詳細信息
-R(recursive) 遞歸顯示當前目錄下所有目錄
-r (reverse) 逆序排序
-t(time) 按修改時間排序(降序)
ll 相當於 ls –l (一般常用命令)
pwd
英文:print working directory 執行權限:所有用戶
作用:顯示當前工作目錄的路徑
語法:pwd
mkdir
英文:make directories 執行權限:所有用戶
作用:創建新目錄
語法:mkdir [-p] 目錄名
-p 父目錄不存在情況下先生成父目錄,遞歸創建 (parents)
touch
執行權限:所有用戶
作用:創建空文件或更新已存在文件的時間
語法:touch 文件名
創建一個空文件: touch a.txt
同時創建多個文件: touch a.txt b.txt 或者 touch {a.txt,b.txt}
注意:生產環境中,文件名,一定不要加空格
rm
英文:remove 執行權限:所有用戶
作用:刪除文件
語法: rm [-rf] 文件或目錄
-r (recursive)刪除目錄,同時刪除該目錄下的所有文件
-f(force) 強制刪除文件或目錄 即使原檔案屬性設為唯讀,直接刪除,不需要逐一確認(不需要輸入yes或者y)
注意:工作中,謹慎使用rm –rf 命令。
mv
英文:move 執行權限:所有用戶
作用:移動文件或目錄、文件或目錄改名
語法:mv 源文件或目錄 目的目錄
cp
英文:copy 執行權限:所有用戶
作用:復制文件或目錄
語法:cp [–rp] 源文件或目錄 目的目錄
-r 遞歸處理,復制目錄
-p 保留文件屬性 (原文件的時間不變)
cat
英文:concatenate 執行權限:所有用戶
作用:顯示文件內容
語法:cat [-n] [文件名]
-n 顯示行號
head
執行權限:所有用戶
作用:查看文件前幾行(默認10行)
語法:head -n 指定行數 [文件名]
tail
執行權限:所有用戶
作用:查看文件的后幾行(默認10行)
語法:tail -n 指定行數 [文件名]
追加數據 > 或者 >>
獲取一個大文件的部分文件,可使用head或tail命令
head -n 100 原文件名 > 目標文件
help幫助命令
help 查看shell內置命令的幫助信息
內置命令,使用whereis,which,man都不能查看
文件搜索命令
find
執行權限:所有用戶 作用:查找文件或目錄
語法:find [搜索路徑] [匹配條件]
如果沒有指定搜索路徑,默認從當前目錄查找
find命令選項
-name 按名稱查找 精准查找
find 目錄 -name “a.txt” 在目錄中查找文件a.txt
find查找中的字符匹配:
?:匹配單個字符
*:匹配所有(模糊匹配)
find /root -name “a.???” 在目錄/root中查找以a.開頭的,且后面有三位的文件
find /root –name “a*”
find查找的基本原則:
占用最少的系統資源,即查詢范圍最小,查詢條件最精准
如果明確知道查找的文件在哪一個目錄,就直接對指定目錄查找,不查找根目錄
grep命令
執行權限:所有用戶 作用:在文件中搜尋字串匹配的行並輸出
語法:grep [-cinv] '搜尋字符串' filename
選項與參數:
-c :輸出匹配行的次數(是以行為單位,不是以出現次數為單位)
-i :忽略大小寫,所以大小寫視為相同
-n :顯示匹配行及行號
grep -c“hadoop”/root /wc.txt 顯示在wc.txt文件中,hadoop匹配了多少次
grep -ic“hadoop”/root/wc.txt 顯示在wc.txt文件中,hadoop (忽略大小寫)匹配了多少次
grep -n “hadoop” /root/wc.txt 顯示在wc.txt文件中,hadoop匹配行及行號
which
執行權限:所有用戶 作用:顯示系統命令所在目錄(絕對路徑及別名)
which命令的作用是,在PATH變量指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。
也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令
# which ls
alias ls='ls --color=auto'
/bin/ls
whereis
執行權限:所有用戶
作用:搜索命令所在目錄 配置文件所在目錄
which mkdir 和 whereis mkdir
壓縮解壓縮命令
gzip
英文:GNU zip 執行權限:所有用戶
作用:壓縮(解壓)文件,壓縮文件后綴為.gz
gzip只能壓縮文件,不能壓縮目錄,不保留原文件
語法:gzip 文件名
-d將壓縮文件解壓(decompress)
解壓使用gzip –d
zip
執行權限:所有用戶
作用:壓縮(解壓)文件,壓縮文件后綴為.zip
語法:zip 選項[-r] [壓縮后文件名稱] [文件或目錄]
-r壓縮目錄
zip wc.zip /root 壓縮文件;
zip -r test.zip /root 壓縮目錄
如果不加-r選項,壓縮后的文件沒有數據。
解壓使用unzip
tar (最常用的解壓命令)
source.tar.gz:源碼包
tar.gz
執行權限:所有用戶
作用:文件、目錄打(解)包
語法:tar [-zxcvf] 壓縮后文件名 文件或目錄
-c 建立一個壓縮文件的參數指令(create),后綴是.tar
-x 解開一個壓縮文件的參數指令(extract)
-z 以gzip命令壓縮/解壓縮
-v 壓縮的過程中顯示文件(verbose)
-f file 指定文件名,必選項
tar –zcvf 壓縮 -C /指定的壓縮路徑
tar –zxvf 解壓 -C /指定的解壓路徑
tar –zxvf jdk1.8.0_102 –C /usr/local/
系統關機命令
shutdown [選項] 時間
選項: -r: 重啟
-h: 關機
shutdown -h now 立即關機 shutdown -h 20:30 定時關機
其他關機命令 poweroff
其他重啟命令 reboot
6 VIM文本編輯器
vim/vi是Unix / Linux上最常用的文本編輯器而且功能非常強大。
VI工作模式
插入命令
命令 |
作用 |
a |
在光標后附加文本 |
A(shift + a) |
在本行行末附加文本 行尾 |
i |
在光標前插入文本 |
I(shift+i) |
在本行開始插入文本 行首 |
o |
在光標下插入新行 |
O(shift+o) |
在光標上插入新行 |
定位命令
命令 |
作用 |
:set nu |
設置行號 |
:set nonu |
取消行號 |
gg G |
到第一行 到最后一行 |
nG |
到第n行 |
:n |
到第n行 |
保存和退出命令
命令 |
作用 |
:w |
保存修改 |
:w new_filename |
另存為指定文件 |
:w >> a.txt |
內容追加到a.txt文件中 文件需存在 |
:wq |
保存修改並退出 |
shift+zz(ZZ) |
快捷鍵,保存修改並退出 |
:q! |
不保存修改退出 |
:wq! |
保存修改並退出(文件所有者可忽略文件的只讀屬性) |
不保存並退出:
1, 有修改,但是修改后的內容是不保存的
2, 有突發情況,導致窗口退出。修改文件之后,直接刪除同名的.swp文件
刪除命令
命令 |
作用 |
x |
刪除光標所在處字符 nx 刪除光標所在處后n個字符 |
dd |
刪除光標所在行,ndd刪除n行 |
:n1,n2d |
刪除指定范圍的行(eg :1,3d 刪除了123這三行) |
dG |
刪除光標所在行到末尾的內容 |
D |
刪除從光標所在處到行尾 |
復制和剪切命令
命令 |
作用 |
yy、Y |
復制當前行 |
nyy、nY |
復制當前行以下n行 |
dd |
剪切當前行 |
ndd |
剪切當前行以下n行 |
p、P |
粘貼在當前光標所在行下 或行上 |
替換和取消命令
命令 |
作用 |
r |
取代光標所在處字符 |
R(shift + r) |
從光標所在處開始替換字符,按Esc結束 |
u |
undo,取消上一步操作 |
ctrl+r |
redo,返回到undo之前 |
搜索和替換命令
命令 |
作用 |
/string |
向后搜索指定字符串 搜索時忽略大小寫 :set ic |
?string |
向前搜索指定字符串 |
N |
搜索字符串的下一個出現位置,與搜索順序相同 |
N(Shift + n) |
搜索字符串的上一個出現位置,與搜索順序相反 |
:%s/old/new/g |
全文替換指定字符串 |
:n1,n2s/old/new/g |
在一定范圍內替換指定字符串 |
% 指全文,s 指開始,g 指全局替換
網絡通信命令
ifconfig
英文:interface configure 執行權限:root
作用:查看和設置網卡網絡配置
語法:ifconfig -a:顯示所有網卡信息
ping
執行權限:所有用戶
作用:測試網絡的連通性
語法:ping 選項 IP地址
-c 指定發送次數
ping 命令使用的是icmp協議,不占用端口
ping -c 3 127.0.0.1
netstat
查詢端口號占用情況
英文:network statistics 執行權限:所有用戶
作用:主要用於檢測主機的網絡配置和狀況
-a all顯示所有連接和監聽端口
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 使用數字方式顯示地址和端口號
-l (listening) 顯示監控中的服務器的socket
netstat -tlnu 查看本機監聽的端口
進程管理命令
進程和程序的區別:
1、程序是靜態概念,本身作為一種軟件資源長期保存;而進程是程序的執行過程,它是動態概念,有一定的生命期,是動態產生和消亡的。
2、程序和進程無 一 一 對應關系。一個程序可以由多個進程共用;另一方面,一個進程在活動中有可順序地執行若干個程序。
進程和線程的區別:
進程: 就是正在執行的程序或命令,每一個進程都是一個運行的實體,都有自己的地址空間,並占用一定的系統資源。
線程: 輕量級的進程;進程有獨立的地址空間,線程沒有;線程不能獨立存在,它由進程創建;相對講,線程耗費的cpu和內存要小於進程。
進程管理的作用?
判斷服務器的健康狀態
查看系統所有的進程
殺死進程
ps命令
作用:查看系統中的進程信息
語法:ps [-auxle]
常用選項
a:顯示所有用戶的進程
u:顯示用戶名和啟動時間
x:顯示沒有控制終端的進程
e:顯示所有進程,包括沒有控制終端的進程
l:長格式顯示
查看系統中所有進程(jps)
# ps -ef #查看系統中所有進程,使用Linux標准命令格式
ps應用實例
# ps -ef | grep init 查看指定進程信息
pstree
作用:查看當前進程樹
語法:pstree [選項]
-p 顯示進程PID
-u 顯示進程的所屬用戶
kill
作用:關閉進程
語法:kill [-選項] pId
kill -9 進程號(強行關閉) 常用
用戶管理命令
useradd
添加用戶
語法:useradd [選項] 用戶名
passwd
修改密碼命令
語法:passwd [選項] [用戶名]
用戶密碼:生產環境中,用戶密碼長度8位以上,設置大小寫加數字加特殊字符,要定期更換密碼。
userdel(user delete)
刪除用戶 userdel 用戶名
再次創建時,匯報異常,需要遞歸刪除 –r
-r 刪除賬號時同時刪除宿主目錄(remove)
組管理命令
groupadd
添加組
語法:groupadd [選項]組名
groupdel
刪除組
語法:groupdel [選項] 組名
創建用戶時直接指定組
Useradd 用戶名 –g 組名
查看組 cat /etc/group
磁盤空間命令(了解)
df命令
作用:用於查看Linux文件系統的狀態信息,顯示各個分區的容量、已使用量、未使用量及掛載點等信息。看剩余空間
語法:df [-hkam] [掛載點]
-h(human-readable)根據磁盤空間和使用情況 以易讀的方式顯示 KB,MB,GB等
-k 以KB 為單位顯示各分區的信息,默認
-M 以MB為單位顯示信息
-a 顯示所有分區包括大小為0 的分區
du命令
作用:用於查看文件或目錄的大小(磁盤使用空間)
語法:du [-abhs] [文件名目錄]
-a 顯示子文件的大小
-h以易讀的方式顯示 KB,MB,GB等
-s summarize 統計總占有量
eg:
du -a(all) /home 顯示/home 目錄下每個子文件的大小,默認單位為kb
du -b /home 以bytes為單位顯示/home 目錄下各個子目錄的大小
du -h /home 以K,M,G為單位顯示/home 文件夾下各個子目錄的大小
du -sh /home 以常用單位(K,M,G)為單位顯示/home 目錄的總大小 -s summarize
df命令和du命令的區別:
df命令是從文件系統考慮的,不僅考慮文件占用的空間,還要統計被命令或者程序占用的空間。
du命令面向文件,只計算文件或目錄占用的空間。
#df –h /
#du –sh /
free
作用:查看內存及交換空間使用狀態
語法: free [-kmg]
選項:
-k: 以KB為單位顯示,默認就是以KB為單位顯示
-m: 以MB為單位顯示
-g: 以GB為單位顯示
防火牆
查看防火牆
Service iptables status
開啟防火牆(不用)
Service iptables start
臨時關閉防火牆(下次重新啟動linux,防火牆開啟)
Service iptables stop
永久關閉防火牆(建議全部永久關閉)
Chkconfig iptables off