1. 程式人生 > >Linux基本知識點整理(持續更新中..)

Linux基本知識點整理(持續更新中..)

用戶登陸 擴展分區 獨立分區 https 搜索 pac 情況 編譯 ignore

基本的一些變量 :

將變量內保存的字符內容表示出來用$符號(也可以加上花括號${###})
註意它和命令優先級符號$()(同反向單引號)的區別:一個內容是變量,一個內容是語句。

SHELL: 用的shell類型    
PS1:命令提示符格式
LANG:語言格式 
PATH:命令搜索路徑 
HISTSIZE:內存中輸出的歷史命令行記錄數量(最後的多少行) 保存在/etc/profile
HISTTIMEFORMAT:歷史命令的時間格式  
HISTFILE:歷史命令記錄的文件路徑,默認為~/.bash_history  
HISTFILESIZE:歷史文件中歷史命令行記錄數量
HISTINGORE:不記錄入歷史中的變量

HISTCONTROL:控制記錄歷史的格式

基本的一些目錄,文件等等的位置還有用法:

/proc/meminfo :內存信息位置 可用cat /proc/meminfo
/proc/cpuinfo:CPU信息
/proc/partitions:分區信息
/etc/shells :本機所裝的shells 可用cat /etc/shells查看
/etc/profile.d/###.sh:開機存入內存,控制環境變量
> 寫在這裏可以更改系統提示符PS1
> 還可以更改歷史命令的格式HISTTIMEFORMAT,
> 還有就是不記錄歷史的忽略變量HISTIGNORE
> 以及HISTCONTROL,HISTFILESIZE

> > 註意:這個###.sh是自己建立的文件,環境參數也可以寫在/etc/profile 或者 ~/.bash_profile中,但有可能影響其他內容,所以最好自己建一個。

/etc/bashrc:整機配置文件,可以存入alias別名信息,整機有效
~/.bashrc:當前用戶家目錄下的配置文件,可以存入alias別名信息,只對當前用戶有效(~代表當前用戶家目錄)
/etc/motd :命令行界面登陸後歡迎界面提示字符保存文件 
/etc/issue:命令行界面預登陸(登陸前)顯示的字符
/etc/profile:可以修改歷史命令行記錄數量 HISTSIZE  
~/.bash_history:存儲當前保存的歷史命令行記錄默認文件

/usr/share/man :man幫助文件目錄
/etc/os-release:linux發行版本的信息
/etc/centos-release:centos發行版本信息

Linux的哲學思想:

  1. 一切都是一個文件(包括硬件)
  2. 小型,單一用途的程序
  3. 鏈接程序,共同完成復雜的任務
  4. 避免令人困惑的用戶界面
  5. 配置數據存儲在文本中

Linux的目錄解釋:

/根分區

/home 家目錄:

多個賬號的目錄就放在這裏面,比如/home/zhang(有些環境中建議將家目錄也獨立一個分區)

/dev 硬件目錄:

/dev/sda /dev/sdb .... 多個硬盤的表示

/dev/sda1 /dev/sda2 .... 一個硬盤的分區

註意:

主分區:一個硬盤,最多有四個主分區(MBR格式),不能再劃分為更小的分區了 編號:1--4

擴展分區:可有可無,一塊硬盤最多一個,但是如果有了它,和主分區加起來也不能超過4個
主分區+擴展<=4,可以劃分更小分區(邏輯分區)編號1--4

邏輯分區:編號5以上,其中擴展分區包含著邏輯分區

/etc 配置文件:

相當於windows下的註冊表,不能和根分開,不能獨立分區

/data:

自己規劃的一個文件目錄,希望獨立出來一個分區用來存放用戶的數據

swap:

它是一個用分區方式來模擬出來一個虛擬內存,像windows裏面的頁面文件,它並不是一個文件目錄,一般分物理內存的2倍左右。

kdump:

這個其實不算分區,主要是為了崩潰的時候存儲錯誤信息用的,看情況自己需要不需要。

更多待更新補充中...

掛載的概念:

mount:就是說把一個分區掛載到一個目錄(或者說目標文件夾)上, 比如說把硬盤 sda1分區掛載到 /boot 啟動目錄上 ,windows上也有掛載的概念。

 /boot  <==  /dev/sda1

但不是所有的目錄都可以當做掛載點,比如說 /etc 目錄,它不能獨立作為一個分區出來,必須和根目錄/ 在一起,但是 根分區/ 必須獨立掛載一個分區。

 /   <==  /dev/sda2

這樣的話根分區/就掛載到一塊硬盤的第二個分區,文件就會放在這裏面,但是/boot已經掛載到1分區上,所以啟動文件會在1分區上面。

裝機部分註意事項:

  1. 裝機分區的時候至少要把 /boot 根/ /data swap 這4塊部分給掛載獨立分區
    其他的看情況而定,分塊格式老板ext4,新版用xfs
  2. 裝機後快照一下,最好直接考盤備份也行。
  3. Ubantu裝機別忘了裝openssh sever,不然無法遠程控制。用空格別用回車。

一些零碎基本知識點:

  • 命令提示符 root用戶為#,普通用戶為$ ,root賬號家目錄為 ~ . 命令提示符格式可以更改 ,存儲在變量PS1(大寫)中.
echo $PS1
PS1="\[\033[01;35m\]\A[\u@\h \w]\\$\[\033[00m\] "

紫色高亮顯示時間,如果只在PS1修改,僅僅是內存中存入,開機無法存入,必須寫入文件中,後綴必須sh,文件名可以自己寫。

/etc/profile.d/####.sh 
  • 切換圖形接口界面和命令行接口界面 ctrl+alt+F1,F2,F3,F4
    相當於增加了多個終端,且每個終端都可以登錄同一個賬號或者不同賬號,linux天生支持多用戶登陸。
    但是要註意它並沒有關閉圖形界面或者任何界面,他僅僅是增加了一個終端。
  • 圖形界面的右下角有4個工作區域(centos7),centos6有倆。
  • linux裏面的root和user的權限不是看名字決定的,而是看編號名決定,管理員id都是0,user不是0. 可以用 id -u (id -u zhang) 來查看用戶ID.
  • 終端:不論用什麽界面登陸都需要一個終端。遠程基本是虛擬終端/dev/pts/# ,機上基本是/dev/tty#. 可以用tty指令來查看

whoami 可以查看當前賬戶
who am i可以查看當前賬戶和終端號等詳細信息
who 可以查看當前所有終端和賬戶信息
w 則還可以查看當前各個終端用戶的操作

技術分享圖片

  • shell:也被稱為系統編譯器(計算機中均為二進制0101存儲數據,必須用編譯器將人類能理解的字符翻譯為機器用的0101底層指令)
    它是linux下的一種交互式接口,也可以用來編程腳本。
    因為開源,所以有很多種shell。linux主要用bash shell, 在sh上的升級版。
    可以用 echo ${SHELL} 來查詢本機所用的shell 。(shell大寫,花括號可以不敲入)可以用 cat /etc/shells查看本機所裝的所有shells.
    不同的shell命令有些不一樣,shell集成的命令都是內部命令。

技術分享圖片

  • 內部命令和外部命令,外部命令的速度很快是因為有搜索路徑,存儲在PATH變量中,可以用echo $PATH 查看。
     優先級:別名》內部命令》外部命令》直接寫地址
    內部命令速度快,優先級高,如果有一個外部命令和它重名,也是先執行內部命令。 enable 或者 help可查看內部命令
    外部命令第一次執行是按照PATH來尋找,如果找到了,第一次執行後就把位置存在內存中了(緩存),之後就不再尋找了,這個緩存便存儲在hash表中,一但註銷便清空hash表,hash本身也是一個命令
  • 別名 alias ~/.bashrc(只對當前用戶) /etc/bashrc(所有用戶)
  • 硬件時間和系統時間,時區
  • 切換工作模式init: init 3:字符界面 init 5:圖形界面 init 0 :關機 init 6:重啟
  • screen多用戶共同連接工作,遠程操作防掉線(這個功能在工作中很常用)或者多用戶相互幫助操作。 需要先安裝 找到光盤掛載點 然後用 rpm -ivh ........Packages/screen
    註意:必須是連接的同一臺電腦,同一個用戶賬戶
  • TAB按鍵用來補全,一級命令補全,子命令補全(centos7),路徑和文件名補全。
    技術分享圖片

  • 命令的格式:
    技術分享圖片

Linux基本知識點整理(持續更新中..)