1.1 如何選擇linux系統發行版本?
1.2 32位系統和64位系統的區別?
1.3 ssh連接不上如何排查?
1.4 linux的7種運行級別,及其應用?
1.5 linux從系統開機到登陸之前的啟動流程。
你的系統是什麼版本的?[root@oldboyedu ~]
CentOS release 6.7 (Final) ç這是系統版本信息
[root@oldboyedu ~]
2.6.32-573.el6.x86_64 ç這是內核kernel的版本號
[root@oldboyedu ~]
x86_64 這表示為64位系統
linux/unix是一個多用戶、多任務的作業系統。
超級管理員(root): root默認在unix/linux作業系統中擁有最高的管理權限。
普通用戶:管理員或者具備管理權限的用戶創建的。權限:系統管理僅可以讀、看,不能增、刪、改。
權限越大,責任越大。
可使用如下命令添加一個普通用戶帳號,並為其設置口令:
[root@oldboyedu ~]
[root@oldboyedu ~]
Changing password for user oldboy.
New password:
BAD PASSWORD: it is too simplistic/systematic **
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
提示:
echo "123456"|passwd --stdin oldboy && history -c
嘗試切換用戶角色,命令如下:
[root@oldboyedu ~]
[oldboy@oldboyedu ~]$ whoami <==查看當前用戶是什麼
oldboy
[oldboy@oldboyedu ~]$ su - root <==切回到root用戶
Password:
說明:
1)超級用戶root切換到普通用戶下面,無需輸入對應用戶密碼,這相當於「皇帝」去「大臣」家裡。
2)普通用戶切換到root或其他普通用戶下,需要輸入切換的對應用戶密碼。
3)普通用戶的權限比較小,只能進行基本的系統信息查看等操作,無法更改系統配置和管理服務。
4)$符號是普通用戶的命令行提示符,#符號是超級管理員的提示符。示例如下:
[oldboy@oldboyedu ~]$
[root@oldboyedu ~]
5)提示符@前面的字符代表當前用戶(可用whoami查詢),後面的為主機名(可用hostname查詢),~所在的位置是窗口當前用戶所在的路徑。示例如下:
6)Linux命令提示符由PS1環境變量控制。示例如下:
[root@oldboyedu ~]# echo $PS1
[\u@\h \W]$
這裡的PS1='[\u@\h \W]$ ',可以通過全局變量配置/etc/profile文件調整PS1='[\u@\h \W\t]$ '。
注意:PS1必須大寫的。
PS1---變量的名字-藏經閣裡面的武功秘籍(葵花寶典) 秘籍名字(書名)
$PS1---查看變量裡面的內容---手端著書(葵花寶典) 看書的內容(讀書)
PS1=新的內容 ---向變量裡面放入東西----修改書的內容(升級書)
欲練此功,必先自宮,若不自宮,也能成功。
linux變量名字(書名)大寫的一般是自己用(linux環境變量),在哪裡都可以用的變量。
默認國外的yum源(軟體倉庫)比較慢,所以換成國內的。
[root@oldboyedu ~]# cd /etc/yum.repos.d/
[root@oldboyedu yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo
[root@oldboyedu yum.repos.d]#cp CentOS-Base.repo CentOS-Base.repo.ori #改配置文件要備份
[root@oldboyedu yum.repos.d]# wget -O CentOS-Base.repo [http://mirrors.aliyun.com/repo/Centos-6.repo](http://mirrors.aliyun.com/repo/Centos-6.repo)
安裝必要的軟體包
補充yum命令
yum install -y tree lrzsz
SELinux(Security-Enhanced Linux)是美國國家安全局(NSA)對於強制訪問控制的實現,這個功能讓系統管理員又愛又恨,這裡我們還是把它給關閉了吧,至於安全問題,後面通過其他手段來解決,這也是大多數生產環境的做法,如果非要開啟也是可以的。關閉方式如下。
第一個腳印-永久關閉selinux第一個裡程碑-操作前備份[root@oldboyedu ~]
[root@oldboyedu ~]
[root@oldboyedu ~]
[root@oldboyedu ~]
[root@oldboyedu ~]
SELINUX=disabled
臨時關閉SElinux,可在命令行執行如下命令: ###****命令行修改,重啟失效
[root@oldboyedu ~]
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
ç數字0表示Permissive,即給出警告提示,但不會阻止操作,相當於disabled。
數字1表示Enforcing,即表示SElinux為開啟狀態。
[root@oldboyedu ~]
[root@oldboyedu ~]
Permissive
命令說明:
提示:修改配置SElinux後,要想使其生效,必須要重啟系統。因此,可配合使用setenforce 0這個臨時使其關閉的命令,這樣在重啟前後都可以使得SElinux關閉生效了,也就是說無須立刻重啟伺服器了,在生產場景下Linux機器是不能隨意重啟的(不要給自己找任何理由重啟)。
總結selinux關閉:
第一個裡程碑-操作前備份cat,cp,sed -i.bak
第二個裡程碑-永久的修改
a) cat/vim 先看一眼-找目標
b) sed 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
c) 執行成功了 再加上-i參數
d) 再查看,cat /grep
第三個裡程碑-臨時生效
a) setenforce
設定運行級別(runlevel)為3,即表示使用文本命令行模式管理Linux,如果按照前面要求完成的系統安裝,則無需設置,檢查一下即可。檢查命令如下:
[root@web01 ~]# cat /etc/inittab
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
**#linux不同狀態,用不同數字表示。**
# Default runlevel. The runlevels used are:
# 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:
[root@oldboyedu ~]# runlevel #<==查看當前系統運行級別
N 3
切換運行級別:
init 6 ##重啟電腦
init 0 ##關機
id:3:initdefault: <==這裡的3就是Linux默認的運行級別,如果有需求可以將其修改為其他級別。工作中常用3級別,即文本模式。
[root@oldboyedu ~]# init 5 <==切換運行級別為5,只有在安裝了桌面程序時才可以執行startx命令切換。
命令說明:
q runlevel:查看當前系統運行級別。
q init:切換運行級別,後面接對應級別的數字,例如:init 6就是重啟linux伺服器了。
關機命令
shutdown -h now
halt
重啟
shutdown -r now
reboot
關閉防火牆的目的是為了讓初學者學習更方便,將來在學了iptables****技術後可再統一開啟。
在企業環境中,一般只有配置外網****IP的linux伺服器才需要開啟防火牆,但即使是有外網IP,對於高並發高流量的業務伺服器仍是不能開的,因為會有較大性能損失,導致網站訪問很慢,這種情況下只能在前端加更好的硬體防火牆了。
關閉防火牆的具體操作過程如下:
臨時關閉
[root@oldboyedu ~]
[root@oldboyedu ~]
[root@oldboyedu ~]
徹底的讓一個服務,不再運行
關閉當前正在運行的進程(服務)=====>/etc/init.d/iptables stop
讓他在開機不啟動======>chkconfig iptables off
[root@oldboyedu37 ~]
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@oldboyedu37 ~]
[root@oldboyedu37 ~]
[root@oldboyedu37 ~]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@oldboyedu37 ~]
[root@oldboyedu37 ~]
八、Linux中文顯示設置(如何防止顯示中文亂碼)
此項優化為可選項,即調整Linux系統的字符集設置,那麼,什麼是字符集呢?
簡單的說,<u>字符集就是一套文字符號及其編碼</u>。目前Linux下常用的字符集有:
GBK:定長,雙字節,不是國際標準,支持的系統不少,實際企業用的不多。
UTF-8:非定長,1~4位元組,廣泛支持,MYSQL也使用UTF-8,企業廣泛使用。
可通過快捷的命令方式在/etc/sysconfig/i18n中添加如下內容,使其支持中文顯示:
[root@oldboyedu ~]
en_US.UTF-8
[root@oldboyedu ~]
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@oldboyedu ~]
[root@oldboyedu ~]
[root@oldboyedu ~]
[root@oldboyedu ~]
zh_CN.UTF-8
提示:
q 亂碼的核心解決方法:
系統字符集(utf-8)
xshell軟體的字符集保持一致(utf-8)
文件使用的字符集一致
zh_CN.GBK
q 注意「zh_CN.UTF-8」的大小寫字母。
q 這個中文顯示配置要跟你自己的SSH客戶端的配置一致。
q 調整SSH客戶端CRT的字符集,使其和Linux服務端一致(UTF-8)。
查看字符集設置的結果。
[root@oldboyedu ~]
LANG="zh_CN.UTF-8"
登錄Linux系統查看中文字符正常顯示的步驟如下:
1)將伺服器端字符集(/etc/sysconfig/i18n)改為LANG="zh_CN.UTF-8"。
2)將客戶端字符集(CRT)調整為UTF-8。
3)命令行執行setup命令看到原來中文亂碼的窗口不亂了,正確顯示中文字符了(如圖所示)。
九、linux特殊變量===調整歷史記錄以及終端超時
9.1 命令行臨時生效:export TMOUT=300
export TMOUT=3
export HISTSIZE=5
export HISTFILESIZE=5
放入到/etc/profile
source 生效
了解如何配置即可,我們學習環境可以不配置。
270 shutdown -h 10
271 tree
272 history
273 history -d 270
274 history
[root@oldboyedu-30 ~]# !271
tree
.
├── anaconda-ks.cfg
├── a.txt
├── ett.txt
├── install.log
├── install.log.syslog
└── test.txt
0 directories, 6 files
<v:shape id="圖片_x0020_7" o:spid="_x0000_i1025" type="#_x0000_t75" style="width:294.6pt;
height:53.4pt;visibility:visible;mso-wrap-style:square"><v:imagedata src="file:///C:/Users/lee/AppData/Local/Temp/msohtmlclip1/01/clip_image009.png" o:title=""></v:imagedata></v:shape>
在登錄到Linux主機本地(非CRT連接的窗口)前,會顯示系統的版本和內核,如圖所示。
登錄後執行如下命令上產上述登錄Linux前的終端內容顯示的實際存放文件。
[root@oldboyedu ~]
CentOS release 6.7 (Final)
Kernel \r on an \m
[root@oldboyedu ~]
CentOS release 6.7 (Final)
Kernel \r on an \m
執行如下命令清除Linux系統版本及內核信息
[root@oldboyedu ~]
[root@oldboyedu ~]
[root@oldboyedu ~]
[root@oldboyedu ~]
老男孩教育作為率先開展Linux和Python培訓的領跑者,
Linux雲計算&&安全運維工程師2019重磅升級,持續領跑高端IT教育:
課程更新7大亮點:
1、增加Python自動化CMDB平臺實戰項目(約4-10天);
2、增加大量網絡安全課程(約10-20天);
3、增加阿里雲企業級雲服務實戰環境項目實踐(約2-4天);
4、增加個人成長、職場高薪、成為管理者職場思想課(約10-20天);
5、增加Docker、K8S企業級實戰實戰項目(約5-10天);
6、增加ELK日誌收集項目實戰(約2天);
7、全程提供教學教材、習題、考試,學生人手多本;
將Linux運維工程師、網絡安全工程師、雲計算工程師、運維開發、高級架構師、資料庫管理員全運維類技術崗位一網打盡。
老男孩IT教育【Linux雲計算運維&網絡安全】課程,開設有全日制脫產班、周末班和網絡在線班,以幫助更多有需要的盆友們提升技能。了解更多課程內容及資料,請點擊本文左下方「閱讀原文」~
看完本文有收穫?那就分享給更多朋友吧~
長按下方二維碼,關注我喲
我知道你【在看】