在早期的 UNIX 系統中,各個廠家各自定義了本身的 UNIX 系統文件目錄,比較混亂。Linux 面世不久後,對文件目錄進行了標準化,於1994年對根文件目錄作了統一的規範,推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系統層次結構標準。FHS 標準規定了 Linux 根目錄各文件夾的名稱及做用,統一了Linux界命名混亂的局面。python
FHS
是根據以往無數 Linux 用戶和開發者的經驗總結出來的,而且會維持更新!linux
不管何種版本的 Linux 發行版,桌面、應用是 Linux 的外衣,文件組織、目錄結構纔是Linux的心裏。shell
windows系統下,一般會有多個盤符,路徑的起始是盤符,而在linux中,沒有盤符一切都從根開始,vim
這看起來就像一棵樹形結構,就像下圖:windows
那其餘磁盤的數據如何訪問呢?,經過掛載到某個目錄下來訪問外置的設備,一般掛載到在mnt或是media目錄下centos
掛載指的是使操做系統能夠訪問某一個存儲設備的的過程,簡單的是說就是分配一個路徑給存儲設備,等同於windows下的指定盤符!bash
目錄 說明 備註 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 包括系統通常運行時要改變的數據.例如各類日誌記錄,郵件來往等,每一個系統是特定的,不經過網絡與其餘計算機共享.
DNS也能夠在/etc/resolv.conf中進行配置網絡
注意key的名稱ide
當在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\][\u@\h \W]\$ \[\e[0m\]' EOF source /etc/profile
/usr/local 編譯安裝軟件默認的路徑
/usr/src 存放源碼文件的路徑
yum是一般發行版的linux系統都內置了yum包管理器,使用它能夠很方便的管理軟件包,必須聯網使用
yum install -y sl
yum search sl
yum remove sl
yum provides sl
yum repolist
全稱 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的源碼文件時,須要先編譯後才能進行安裝,詳見筆記:
查看負載信息
w
uptime
zero 能夠用中讀取任一大小的null 空數據,用於模擬數據流,或是做爲黑洞設備,建立大文件,測試傳輸速率等
null 將一些不須要的數據重定向到該設備,以減小平均打印
純瞭解
https://blog.csdn.net/qq_27754983/article/details/75212666
https://www.processon.com/view/link/5bffde0ae4b0f012f2382181