Linux系統(tǒng)的簡單介紹
Linux是一款免費的操作系統(tǒng),用戶可以通過網(wǎng)絡(luò)或者其他途徑免費獲得,并可用任意修改其源代碼。這是其他的操作系統(tǒng)所做不到的。
特點:
1,完全免費
2,多用戶,多任務(wù)
3,支持多種平臺

入門須知:
1,linux命令是區(qū)分大小寫的,如果沒有特別的說明,保持小寫
2,命令之間是有空格的,不要擠在一塊
3,命令不是語文,背背就好,而是需要我們動手去敲,每天每個命令敲十遍,到最后,你自己能背出來這些命令是干啥的就好了。
4,自我學習能力:命令有很多,這里教大家工作中常用的。如果以后工作了,命令忘記了,有的可以翻看筆記,也可以自己百度
新手須知
1,錯誤提示:command not found,命令沒有找到,看到這個命令第一反應(yīng)應(yīng)該是去檢查命令是不是寫錯了(應(yīng)該是ifconfig:獲取虛擬機地址)

PS:
Ctrl+c 結(jié)束當前正在運行的程序
tab鍵? 使用,自動關(guān)聯(lián),快速補齊
方向鍵“上”,"下“,對歷史命令,上一個,下一個進行查找,
2,xshell連接不上:
①,ip地址變了
②,防火墻未關(guān)閉
3,亂碼
編碼格式改為UTF-8
4,xshell和xftp是什么?
連接虛擬機,這樣就可以直接操作了,免去切換的麻煩
登錄成功顯示:
@是固定符號,root表示當前登錄用戶名(root是超級管理員),@后面的192表示主機名,“~”表示當前用戶的主目錄,因為每個用戶都有自己的個人目錄地址,所以用 ~ 作為統(tǒng)一替代這個根據(jù)用戶不同而不同但有規(guī)可循的地址,來保證某些情況下的兼容問題

系統(tǒng)管理相關(guān)命令
1,su:(switch user)在不退出登陸的情況下,切換到另一個用戶的身份。
? ? ? 管理員賬號切換為普通用戶賬號無需輸入密碼,普通用戶切換管理員需要輸入密碼
? ? ? #超級用戶提示符
? ? ? $普通用戶提示符

5,uname -a查看系統(tǒng)的位數(shù)(Unix name系統(tǒng)名稱)
x86_64:64位系統(tǒng)
i386之類i開頭的:32位系統(tǒng)

6,ifconfig:顯示網(wǎng)卡信息--查看虛擬機的IP地址

7,ping:測試網(wǎng)絡(luò)連通情況
ping+ip地址/域名

8,date:顯示日期

修改時間:date -s 時間或者日期

9,kill:殺死進程(kill -進程號 ,如kill -9 強制殺死進程)
10,pwd:print working Directory 打印當前所在目錄

11,cd命令 切換目錄(change directory)
用法:cd 目錄路徑
cd /usr/etc(“/”表示系統(tǒng)根目錄,要查看文件,首先需要從根目錄進入,才能查看,就像是要查看d盤的一個文件,要先進入d盤。就是說往上級要帶/,往下級不需要帶/)


12,mkdir 創(chuàng)建目錄(make directory)
? ? ? ? 用法:mkdir 目錄名

創(chuàng)建(mkdir 目錄名)并查看(ll)
13,rmdir 刪除空目錄(remove directory)
? ? ? ? 用法:rmdir 目錄名
? ? ? ? 也可用:rm -rf 目錄名(目錄/文件都可以刪除,空的和非空的都可以刪除)

14,touch:新建文件
用法:touch lemon.txt(后綴可隨意格式)

15,vi:是linux下常用的,功能強大的文本編輯器
調(diào)用方法:vi a.txt(如果a.txt不存在,則創(chuàng)建,保存退出則創(chuàng)建成功)
按鍵盤i(insert)進入編輯狀態(tài)
退出編輯按ESC鍵,退出方法:
不保存退出: :q!
保存退出: :wq(write and quit)

輸入/,進入搜索,輸入你需要搜索的文字,按enter
輸入":set nu",顯示每一行的行數(shù)
按鍵盤G定位到最后一行,g定位到第一行
按鍵盤u撤銷上一次的命令
注意:鍵盤輸入,都是英文輸入法進行輸入
在linux系統(tǒng)中,幾乎所有內(nèi)容包括文檔,命令,設(shè)備和目錄等都組織成文件的形式,用文件來管理,常用的文件命令有:
16,ls查看目錄及文件(list列出目錄內(nèi)容)
用法:ls[選項]<路徑>(若沒有路徑則顯示當前目錄的內(nèi)容)
-a 顯示所有文件,包含隱藏的文件
-l 顯示文件屬性(等同ll命令)

17,cp 復(fù)制命令(copy復(fù)制黏貼)
用法:cp[選項,可選可不選]<文件名或目錄><目標地址>(只復(fù)制當前目錄,不包括目錄下的子文件)
-R 拷貝目錄及目錄下所有目錄和文件(復(fù)制當前目錄和目錄下子文件)

cp a.txt b.txt 將a文件復(fù)制,且另命名為b文件(目錄名)

18,mv 移動命令(move,類似于剪切黏貼)
用法:mv[選項]<文件名或目錄><目標地址>
mv a.txt../ 將a文件移動到上級目錄

mv a.txt b.txt 將a文件改為b文件(目錄名更改)

19,rm 刪除文件或目錄(i:操作時進行查詢,rm -i等同rm)
-f 強制刪除
-r 刪除目錄
常用:rm -rf 文件或目錄
20,find命令查找文件
用法:find[路徑][選項]關(guān)鍵字
常用選項有:
find.-name *.log 在當前目錄查找以.log結(jié)尾的文件
find /-name log 在根目錄查找log命名的目錄,

21,grep命令(檢索目標行命令)
功能:過濾,在指定文件中查找字符(串)并打印該行;經(jīng)常跟管道符號“|”配合使用
用法:grep 字符串 文件名
grep band file 在file文件中尋找band字符串

22,cat:一次顯示整個文件(Concatenate ?串聯(lián))
用法:cat 文件名 cat filename

23,more:用于顯示內(nèi)容超過一屏的文件
用法:more 文件名 (只能往后翻,用空格鍵往后翻一頁,回車鍵一行行下翻)
24,less:用于顯示內(nèi)容超過一屏的文件
用法:less 文件名
(可以往前往后翻,空格鍵往后翻一頁,回車鍵一行行下翻,按下b鍵往上翻一頁,按Q結(jié)束)
25,head:查看前幾行 用法:head -n 5 文件名(查看前五行信息

26,tail (尾部)從指定點開始將文件寫到標準輸出,使用tail命令的-f選項可以方便的查閱正在改變的日志文件
tail -n 5 文件名 查看后幾行

tail -f error.log 不斷刷新,看到最新內(nèi)容
管道符號
管道使用“|"符號,并且在命令之間建立管道,將前面命令的輸出作為后面命令的輸入
如,ll |grep abc(前面是字母L的小寫)
管道前面的命令顯示當前目錄下的文件,后面從列出的文件名中尋找含有abc字符串

工作常見情況
①殺死服務(wù)進程
ps -ef|grep tomcat(Process Status ?進程狀態(tài),-e:顯示所有程序,-f :顯示uid,ppid,c與stime欄位)

kill -9 pid(服務(wù)停止后前端是訪問不了的)

②查看端口占用,干掉這個程序
netstat -apn|grep 8080 查找出對應(yīng)的進程名及pid

ps -aux|grep 進程名 查找被哪個程序占用
kill -9 pid? ? ? ? ? ? ? ? ? ? ? 干掉這個程序
③查看實時日志 指定查看關(guān)鍵字信息
tail -f error.log|grep 用戶id
系統(tǒng)資源查詢
ps查看進程(Processes Status動態(tài))
-aux 顯示系統(tǒng)所有進程,包含其他使用者的進程
user 進程擁有者pid:進程id%cpu:cpu占比例,%mem:內(nèi)存占用率
vsz:占用的虛擬內(nèi)存大小,rss:占用內(nèi)存大小,tty:終端號,stat:進程狀態(tài)(s 中斷,sleeping)
start:進程開始的時間,time:執(zhí)行的時間,command:所執(zhí)行的命令

-ef 顯示所有運行進程,并顯示啟動進程的命令
Uid:用戶ID,PID:進程id,PPID:父進程,C:進程cpu占有率,Stime:進程啟動的時間
TTY:終端號,CMD:命令名稱和參數(shù)

netstat 在內(nèi)核中訪問網(wǎng)絡(luò)及相關(guān)信息的命令(net status的簡寫)
netstat -apn 查看所有端口

netstat -tulpn(更推薦使用這個,顯示網(wǎng)絡(luò)連接數(shù)量最少,同時顯示最有價值的信息) / netstat -ano

top查看進程(動態(tài),cpu,內(nèi)存使用情況,按使用資源情況排序:性能監(jiān)控命令)
PR:優(yōu)先級;NI:nice值,nice值為正表示優(yōu)先級低,負值表示優(yōu)先級高;
VIRT:進程使用的虛擬內(nèi)存總量;RES:進程使用的,未被換出的物理內(nèi)存大小;
SHR:共享內(nèi)存大小;S:進程狀態(tài);TIME+: 進程使用的CPU時間總計;COMMAND:命令名/命令行。

權(quán)限賦予命令
數(shù)字表示法:4-讀(r,read),2,-寫(w write),1-執(zhí)行(x,execute)
將這幾個數(shù)字任意兩個或者三個相加可得到相應(yīng)的多種權(quán)限

如,6-讀寫,3-寫的執(zhí)行,7-讀,寫,執(zhí)行
例:chmod 600 filename 為用戶自己增加讀寫權(quán)限,其他任何用戶沒有任何權(quán)限。其中
第一個位置的值6是用戶自己的權(quán)限為讀寫,第二個位置的0代表所屬用戶所在組內(nèi)用戶沒有權(quán)限,第三個位置的0代表所在組之外其他用戶沒有權(quán)限
chmod 777-R 文件及目錄名(表示更改三個所屬組的權(quán)限)
-R表示遍歷文件夾下面所有的子目錄以及文件
chmod是賦值符(Change mode 改變模式)
0表示沒有權(quán)限?

chown:更改對應(yīng)文件或目錄的屬主或用戶組
具體命令:# chown 新屬主賬戶名:組名 目錄名-->? # chowm d1:developer dev-document
調(diào)整文件的訪問權(quán)限;
$ vim code.md --> 創(chuàng)建文本文件
命令:$ chmod 770 code.md

讓一個用戶擁有兩個以上用戶組的方法:命令:# usermod -G developer,testor d1 (修改用戶組時會先將之前的用戶組刪掉,重新分配)注意,修改用戶的用戶組后,需要退出重新登錄。切換用戶組命令:$ newgrp testor

安裝命令
yum自動下載安裝(前提:能訪問外網(wǎng),可以先ping下:ping www.baidu.com)
Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器?;?a target="_blank">RPM包管理,能夠從指定的服務(wù)器自動下載RPM包并且安裝,可以自動處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
yum[操作][package]
如:yum -y install mysql-server

rpm安裝
rpm -ivh軟件包名 (ivh:安裝顯示安裝進度)
rpm -ivh MySQL-server-4.0.14-0.i386.rpm
解壓命令
tar(Tape archive 解壓文件)
-c 建立壓縮檔案
-x 解壓
-z (有g(shù)zip屬性)-j(有bz2屬性)-Z(有compress屬性的)
-v 顯示所有過程
-f 使用檔案名字,必須項,是最后一個參數(shù),接文件名
解壓 tar -zxvf abc.tar.gz(常用形式)將abc.tar.gz解壓到當前目錄
壓縮tar -zxvf test.tar.gz. test? 將test目錄壓縮為test.tar.gz
總結(jié)
*.tar用tar -xvf解壓
*tar.gz和*.tgz用tar -xzvf解壓
*.gz用gzip -d或者gunzip解壓
*.zip用unzip解壓
關(guān)閉防火墻
1. 防火墻是借助硬件和軟件對內(nèi)外部網(wǎng)絡(luò)環(huán)境的保護措施
2. centos7基于firewall實現(xiàn)應(yīng)用層防火墻,功能更加強大。centos6基于iptables
即時生效,重啟后失效
centos7命令:
firewall -cmd是firewall的核心命令
查看防火墻狀態(tài):firewall-cmd --state?
查看防火墻允許的端口號:firewall-cmd --list-ports?
采用tcp方式進行通信時,設(shè)置防火墻允許訪問的端口號是8080 :?firewall-cmd --zone=public --permanent?--add-port=8080/tcp??
zone:訪問區(qū)域:防火墻默認區(qū)域,表示都允許訪問
permanent :表示永久進行變更
add-port:添加端口號
對防火墻進行配置重載?: firewall-cmd --reload(永久變更的都需要有這一步操作,無論添加還是移除!!)
查看允許訪問的端口號: firewall-cmd --list-ports?
放行已有單個端口號: firewall-cmd --zone=public --permanent --remove-port=8080/tcp
放行范圍內(nèi)的端口號:firewall-cmd zone=public --permanent --remove-port=8000-9000/tcp?

下面基于centos6:
開啟:service iptables start
關(guān)閉:service iptables stop
永久關(guān)閉防火墻(輸入這個以后還需要做其他設(shè)置,有時候也會出現(xiàn)重啟后失效的情況)
開啟:chkconfig iptables on (其他設(shè)置)
關(guān)閉:chkconfig iptables off
重啟和關(guān)閉命令
重啟命令:reboot
# reboot
其它還有:shutdown -r now

關(guān)機命令:halt
其它:shutdown -h now(推薦)
poweroff

強制執(zhí)行某個操作? sudo
sudo mkdir xxx
查詢 man
man ls