linux指令2
FHS
在早期的 UNIX 系統中,各個廠家各自定義了自己的 UNIX 系統文件目錄,比較混亂。Linux 面世不久後,對文件目錄進行了標準化,於1994年對根文件目錄做了統一的規範,推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系統層次結構標準。FHS 標準規定了 Linux 根目錄各文件夾的名稱及作用,統一了Linux界命名混亂的局面。
FHS
是根據以往無數 Linux 用戶和開發者的經驗總結出來的,並且會維持更新!
無論何種版本的 Linux 發行版,桌面、應用是 Linux 的外衣,文件組織、目錄結構才是Linux的內心。
與windows的區別
windows系統下,通常會有多個盤符,路徑的起始是盤符,而在linux中,沒有盤符一切都從根開始,
這看起來就像一棵樹形結構,就像下圖:
掛載
那其他磁盤的數據如何訪問呢?,通過掛載到某個目錄下來訪問外置的設備,通常掛載到在mnt或是media目錄下
掛載指的是使操作系統可以訪問某一個存儲設備的的過程,簡單的是說就是分配一個路徑給存儲設備,等同於windows下的指定盤符!
目錄詳解:
目錄 說明 備註 bin 存放普通用戶可執行的指令 boot 開機引導目錄 包括Linux內核文件與開機所需要的文件 dev 設備目錄 所有的硬件設備及周邊均放置在這個設備目錄中 etc 各種配置文件目錄 大部分配置屬性均存放在這裏 lib/lib64 開機時常用的動態鏈接庫 bin及sbin指令也會調用對應的lib庫 media 可移除設備掛載目錄 類似軟盤 U盤 光盤等臨時掛放目錄 mnt 用戶臨時掛載其他的文件系統 額外的設備可掛載在這裏,相對臨時而言 opt 第三方軟件安裝目錄 現在習慣性的放置在/usr/local中 proc 虛擬文件系統 通常是內存中的映射,特別註意在誤刪除數據文件後,比如DB,只要系統不重啟,還是有很大幾率能將數據找回來 root 系統管理員主目錄 除root之外,其他用戶均放置在/home目錄下 run 系統運行是所需文件 以前防止在/var/run中,後來拆分成獨立的/run目錄。重啟後重新生成對應的目錄數據 sbin 只有root才能運行的管理指令 跟bin類似,但只屬於root管理員 snap ubunut全新軟件包管理方式 snap軟件包一般在/snap這個目錄下 srv 服務啟動後需要訪問的數據目錄 lost+found這個目錄平時是空的,系統非正常關機而留下“無家可歸”的文件(windows下叫什麽.chk)就在這裏 sys 跟proc一樣虛擬文件系統 記錄核心系統硬件信息 tmp 存放臨時文件目錄 所有用戶對該目錄均可讀寫 usr 應用程序放置目錄 var 包括系統一般運行時要改變的數據.例如各種日誌記錄,郵件來往等,每個系統是特定的,不通過網絡與其他計算機共享.
etc下文件的重要文件
網卡配置詳解
DNS也可以在/etc/resolv.conf中進行配置
註意key的名稱
當在network-scripts下配置之後,重啟網卡會自動覆蓋resolv.conf中的配置,我們可以用PEERDNS參數指定是否覆蓋resolv.conf中的信息,但是最終使用的還是resolv.conf中的信息
另外resolv.conf中的配置修改了之後是立即生效的
主機名稱的獲取與修改
獲取主機名稱
uname -n
hostname
獲取全部系統信息
uname -a
hostnamectl #更詳細
設置主機名稱
hostnamectl set-hostname name
重新連接生效 也可以使用bash創建子shell 是一個新的會話環境所以可以立即顯示新的主機名稱
字符編碼設置
查看當前字符集
? echo $LANG
? $表示表示要查看某個環境變量 變量名稱為LANG
臨時修改字符集
? export LANG=en_US.UTF-8
? export 命令可以修改當前會話下某個環境變量的值,登出後失效
測試是否生效
? type if
? type 是用於輸出某個值的類型 與py的type類似,查看其是否顯示英文/中文
永久修改字符集
? 1.修改配置文件
? vim /etc/locale.conf
? 2.命令行修改
? localectl set-locale LANG=en_US.UTF-8
? 註意:以上兩種方式修改後都不會立即生效,需要重新加載配置文件
? source /etc/locale.conf # 當然重新啟動也可以
修改運行級別
運行級別用於控制系統運行在何種狀態下
查看當前級別
? 查看詳細信息
? ll /etc/systemd/system/default.target
? vim /etc/systemd/system/default.target
? 僅級別
? systemctl get-default
runlevel #centos 6
查看所有可用級別
? ll /usr/lib/systemd/system/runlevel*.target
? ll /etc/inittab #centos 6
修改當前級別
? init 5 # 修改為第五個級別,使用systemctl get-default來查看效果,發現該方式在centos7下不生效
? systemctl set-default graphical.target
? graphical.target 也可以修改為文件名稱
? systemctl set-default runlevel3.target
? 註意:通常運行在3級別
?
設置別名
別名指的是 給某個指令設置別名,可用簡化命令的編寫,或是提供額外的功能
例如 系統的在執行刪除指令前都會先提示,其實就是使用了別名,
查看別名
? alias
設置新的別名(臨時)
? alias rm=‘echo rm is dangerouse be careful‘ # 執行rm時僅提示信息
? 註意:被替換的也一定是一個命令,所以當你要輸出內容時,就用echo
? alias rm=‘echo rm is dangerouse be careful;rm -f‘ # 執行rm時提示信息 並刪除
設置新的別名(永久)
? 在配置文件中編寫 設置別名的指令
? vim /etc/profile
?
退出vmi,重新加載文件
source /etc/profile
如果別名與系統重復,需要註釋其中一個
vim ~/.bashrc
註釋同名的 #alias rm =‘rm -i‘
source ~/.bashrc
設置變量
查看所有變量
env
查看某個變量
echo $變量名稱
設置臨時變量
export 變量名=值
設置永久變量
將變量的定義放到某個環境變量文件中
vim /etc/profile
MYNAME=jerry
測試
echo $MYNAME
取別名的優化案例:
cat >>/etc/profile.d/color.sh<<"EOF"
alias ll='ls -l --color=auto --time-style=long-iso'
PS1='\[\e[32;1m\][\[email protected]\h \W]\$ \[\e[0m\]'
EOF
source? /etc/profile
usr目錄
/usr/local 編譯安裝軟件默認的路徑
/usr/src 存放源碼文件的路徑
軟件安裝
yum方式
yum是通常發行版的linux系統都內置了yum包管理器,使用它可以很方便的管理軟件包,必須聯網使用
安裝
yum install -y sl
搜索
yum search sl
刪除
yum remove sl
查看命令所在軟件包
yum provides sl
查看源倉庫
yum repolist
rpm方式
全稱 redhat packages manager ,是一個本地的包管理器,需要提供安裝文件
1.安裝一個rpm包:
用法:rpm -ivh rpm_name
參數解釋:
-i(install):安裝軟件包。
-v(verbose):顯示安裝的過程信息。可視化。
-h(hash):軟件安裝的時候列出哈希標記。即顯示安裝進度。
另外在安裝一個rpm包時常用的附帶參數有:
--force : 強制安裝,即使覆蓋屬於其他包的文件也要安裝
2.卸載一個rpm包
命令:rpm -e filename
3.查詢一個包是否安裝:
命令:rpm -qa rpm包名
4.列出一個rpm包安裝的所有文件
命令 rpm -ql 包名
5.列出一個rpm包的配置文件
命令 rpm -qc 包名
6.查看命令所在的絕對路徑
which netstat
7.查看文件歸屬軟件包
rpm -qf /usr/bin/netstat
編譯安裝源碼
當我們下載的是一個tar的源碼文件時,需要先編譯後才能進行安裝,詳見筆記:
var
porc
查看負載信息
? w
? uptime
dev
zero 可以用中讀取任一大小的null 空數據,用於模擬數據流,或是作為黑洞設備,創建大文件,測試傳輸速率等
null 將一些不需要的數據重定向到該設備,以減少平均打印
centOS啟動流程
純了解
https://blog.csdn.net/qq_27754983/article/details/75212666
https://www.processon.com/view/link/5bffde0ae4b0f012f2382181
linux指令2