1. 程式人生 > >linux指令2

linux指令2

srv redhat 新的 python res ack 臨時變量 app color

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