學習筆記 Day onehtml
----------2019.07.27----------linux
第一~二章 省略基礎知識部分shell
Linux發行版本選擇ubuntu
*常見Linux發行版本* Red Hat Linux *企業級應用首選* Fedora Core Red Hat Enterprise Linux CentOS *本書教程選用Centos 7* 初學者入門首選 *企業級應用首選* SuSE Linux ubuntu Linux *本人使用ubuntu 18.04* 桌面平臺首選
Linux安裝方法 步驟簡單,省略此處,教程可直接網絡搜索windows
虛擬機安裝法 光驅安裝法 U盤安裝 *本人採用U盤安裝,windows 7+Ubuntu 18.04 雙系統* ubuntu安裝過程可參考:[https://www.cnblogs.com/Duane/p/6776302.html][1] centos安裝可參考:鳥叔的私房菜_基礎篇 第四版 第三章
【注】:*安裝時注意分區的大小和網絡配置,雙系統還需注意設置雙系統引導centos
主要分區及做用: / :根目錄分區 swap:交換分區,通常爲物理內存的2倍,物理內存爲4~16G時可等於物理內存大小, /boot:存儲系統的引導信息和內核等信息 /usr:存儲系統應用軟件安裝信息 /var:存儲系統日誌信息 根據我的須要還可增長其餘分區.
第三章 Linux系統基本結構緩存
linux系統硬件資源管理
查看系統PCI設備: lspci
bash
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05) *表示集成主板設備類型爲第七代因特爾至強E3 1200 v6 很菜雞請忽略* 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 05) 表示表示點對點串行總線結構網橋設備(沒理解錯的話) 01:00.0 VGA compatible controller: NVIDIA Corporation GP106M [GeForce GTX 1060 Mobile 6GB] (rev a1) *表示VGA顯卡設備類型:英偉達影馳GTX1060 6G顯存* 00:14.00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31) *表示Inter聲卡設備* 00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31) *表示USB接口設備* 00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31) *表示電源控制設備* 00:17.0 SATA controller: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] (rev 31) *表示SATA控制器,代表系統是SATA系列硬盤* 3c:00.0 Ethernet controller: Qualcomm Atheros Killer E2500 Gigabit Ethernet Controller (rev 10) *千兆以太網設備*
查看CPU類型:more /proc/cpuinfo
網絡
解析: processor :邏輯處理器惟一標識符 vendor_id :處理器類型 若是爲因特爾處理器則字符串顯示 "GenuineIntel" physical id :物理封裝的惟一標識符,即物理cpu siblings :表示相同物理封裝中的邏輯處理器的數量 core id :內核惟一標識符 cpu cores :相同物理封裝的內核數 【注】 siblings與cpu cores存在對應關係,前者是後者兩倍,則說明系統支持超線程;若是不一致,則系統不支持超線程,或者超線程未開啓。
查看系統物理cpu個數命令:cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
查看每一個物理cpu的內核個數:cat /proc/cpuinfo | grep "cpu cores"
查看系統全部邏輯cpu的個數(全部物理cpu中內核個數加上超線程個數):cat /proc/cpuinfo | grep "processor" | wc -l
工具
查看系統內存信息:more /proc/meminfo
根據上圖能夠清楚看出系統的物理內存大約有16G,可用物理內存大約爲13G,緩衝內存爲56640KB,緩存佔用676424KB等。
查看磁盤分區信息: 步驟一:先進入root用戶模式 :su root
--> 在執行 fdisk -l
由圖能夠看出有一個固態256G的硬盤和一個1T的機械硬盤,還有一個64G的移動U盤, 固態硬盤中的156G內存分給了windows系統,100G分給了linux系統, 1T機械硬盤的機械硬盤採用了掛靠的方式共享。 其中Linux有四個分區,windows一樣也分了四個盤。
4. Linux外在設備使用
在linux系統中主要的一些設備文件被放置在`/dev`文件中,以主設備號+次設備號的形式命名,主設備號說明設備類型,次設備號指定具體設備 軟盤爲`/dev/fdx`,fd爲軟盤驅動器(floppydisk),次設備號x對應不一樣軟盤編號 U盤在linux系統中被識別爲SCSI設備,故設備文件爲`/dev/sdax`,sd表示`SCSI disk` a表示第一塊SCSI設備,x表示對應的分區編號 主分區1~4 邏輯分區從5開始,切記在整個硬盤中只可能存在四個主分區(多系統下,所有系統的主分區加起來最多隻能有4個主分區) 光驅爲`/dev/hda`,表示第一個IDE接口的光驅,SCSI光驅在linux下爲`/dev/srx`,表示`SCSI ID` 【注】新發行版本中 還有`cdrom`設備文件 `/dev/cdrom` 磁帶爲 `/dev/st0`,st表示`SCSI tape`,x表示編號。
設備掛靠:
掛靠命令格式: `mount -t 設備系統類型 設備名 掛靠點` 臨時掛靠點`/mnt`目錄下,主要是臨時手動掛靠 `/media`目錄自動掛靠目錄,若是要現windows系統和linux系統開機自動實現資源的共享,則須要經過在linux系統的`/media`文件下實現windows對應軟盤的掛靠,也能夠本身新建一個文件夾實現開機自動掛靠,但爲了方便通常掛靠在系統規定文件夾下。 (1)軟盤掛靠 `mount -t msdos /dev/fd0 /mnt/floppy` 將DOS文件格式的第一張軟盤轉載到系統,可在`/dev/floppy` 文件夾下查看 【注】書中直接採用上面代碼,可是我再ubuntu下出錯,因而我在掛靠以前經過 `mkdir -p /mnt/floppy` 先創建掛靠點 得以實現正常掛靠,多是centos系統和ubuntu的微小差異吧,下面的光盤掛靠也出現這樣的問題。 (2)掛靠U盤 先確認U盤設備名`dmesg|more` 創建對應掛靠點 `mkdir /mnt/usb` `mount -t vfat /dev/sda1 /mnt/usb` 同上,可在對應文件夾下查看內容 (3)掛靠光盤 同上先創建掛靠點 `mkdir -p /mnt/cdrom` p表示多層文件夾 `mount -t iso9660 /dev/hda /mnt/cdrom` 或者 `mount /dev/cdrom /mnt/cdrom`
設備卸載:
命令格式: `umount 掛靠目錄` eg: U盤卸載 `umount /mnt/usb` 光盤卸載 `umount /mnt/cdrom`
文件系統結構介紹
目錄功能介紹 下圖來源網絡,侵必刪
各文件夾及子文件夾功能介紹可參考 https://www.cnblogs.com/jxhd1...
/etc:主要用於存放系統管理相關的配置文件以及子目錄, eg:系統初始化文件 `/etc/re` 、用戶信息文件 `/etc/passwd`等
tree -d -L 1
tree 表示樹型結構顯示 d 只顯示目錄 L 顯示目錄深度 1 只顯示一層深度,不進行遞歸
/usr: 主要用於存放應用程序和文件
/var 主要存放系統運行以及軟件運行的日誌信息
/dev 包含系統全部設備文件
/proc:虛擬目錄,目錄中全部信息都是內存的映射,可經過虛擬目錄與內核內部數據進行交互,或許相關進程的有用信息,也能夠在系統運行中修改內核參數。 /boot:主要是鏡像文件和連接文件,啓動linux的核心文件,千萬別手賤 /bin和/sbin:/bin存放經常使用命令,/sbin存放超級用戶纔可執行的命令 /home:工做目錄 默認目錄: `/home/username` username:你的用戶名 /root:超級用戶默認目錄 /lib:存放共享程序庫和映像文件 /run:外在設備自動掛靠點目錄 /lost+found:保存丟失文件 eg:非正常關機狀況下和磁盤錯誤等 /tmp:臨時文件目錄存放臨時文件,可隨時刪除
linux發行版本運行級別:
0 表示關機模式 1 表示單用戶模式,單用戶模式只有系統管理員能夠登陸 6 表示重啓模式,自動關閉全部進程,而後從新啓動系統 2 表示多用戶類型,不支持文件共享, 3 表示徹底的多用戶模式,支持NFS服務(支持文件共享) 4 表示基本不用的用戶模式,能夠實現某些特定的登陸請求 5 表示徹底多用戶模式 ## ubuntu桌面版本默認模式
經常使用系統開關機命令: init
、 shutdown
、halt
、reboot
shutdown命令詳細語法: shutdown [-fFhknrc(參數名稱)][-t 秒數] 時間 [警告信息]
參數名稱解析: -f 重啓時不執行fsck -F 重啓時執行fsck -h 將系統關機,某種程度上至關於halt命令 -k 發送關機信息給全部用戶,但並不會真正關機 -n 不調用init程序關機,由shutdown自行關機,使用該參數能加速關機速度,可是可能有數據丟失的風險 -r shutdown以後從新啓動系統 -c 取消前一個shutdown命令 -t<秒數> 發送警告信息和關機信息之間要延遲多少秒鐘警告信息將提醒用戶保存當前進行的工做 [時間] 設置多久以後執行shutdown命令 格式有hh:mm和+m兩種,前者表示設置成具體時間點下執行該操做,後者表示在輸入該操做命令後的幾分鐘執行該命令。 [警告時間] 傳送全部登陸用戶的信息
eg
:
當即關機重啓 shutdown -r now
當即關機 shutdown -h now
設置成5分鐘後關機 shutdown +5 "System will shutdown after 5 minutes"
halt命令
語法格式:halt [-finp]
參數名稱解析: -f 無論當前處於何種運行級別,都不調用shutdown而強制關機 -i 關機以前,關掉全部網絡接口 -n halt執行時不調用系統指令sync -p 關機時調用poweroff,即關機時關閉電源 默認選項
reboot命令
語法格式: reboot
關機後重啓
init命令 用於不一樣運行級別之間的切換
語法格式 : init n
n爲0~6的7種不一樣工做模式
4.系統服務管理工具systemd
啓動命令 systemctl start httpd.service
啓動httpd服務.
中止命令 需在root身份下systemctl stop httpd.service
中止httpd服務
重啓 服務在運行則重啓,不在運行則直接啓動systemctl restart httpd.service
systemctl try-restart httpd.service
只在服務已經運行的狀態下重啓systemctl reload httpd.service
從新加載配置文件
enable/disable命令systemctl enable httpd.service
打開httpd服務實現開始自啓systemctl disable httpd.service
關閉httpd服務systemctl status httpd.service
查看運行狀態
第四章 Liunx經常使用命令及使用技巧
shell介紹:shell是圍繞在linux內核以外的「殼」程序,用戶在操做系統上完成的全部任務都是經過shell與linu系統內核的交互來實現的。
常見shell:
DOS環境下的shell:command.com、4DOS、NDOS等 linux環境下的shell:Bourne again shell (bash)、 C shell(csh)、Korn shell (ksh)、bourne sehll (sh)、Tenex C shell (tcsh)等 【注】shell是以C語言編寫的程序,是用戶和操做系統內核溝通的橋樑,shell既是命令解釋程序,有是強大的解釋型程序設計語言,做爲命令解釋程序,shell屆時用戶輸入命令,其提交到內核進行處理,最後把結果返回給用戶。 # 表示系統超級用戶 $ 表示系統普通用戶
基本語法分析:
command [options] [aeguments] 【注】:command: 表示命令的名稱 options: 命令的選項 arguments: 命令的參數
選項包含一個或者多個字母主要用於改變命令的執行方式,通常在選項前面有「-」 符號,用於區別參數
eg:
a :表示累出當前目錄下的全部文件(包含隱藏文件) l :列出文件詳細信息 注意幾種不一樣書寫形式的區別 在實際操做中不少命令度接受參數,參數就是在選項後面緊跟的一個或多個字符串,其指定了命令的操做對象,eg:
在實際操做中有些命令語句是能夠不帶參數的,可是有一部分命令必須帶參數,例如:mv命令(移動、重命名)
有時候爲了能方便,也會輸入多個命令,經過分號分隔
同時也能夠經過「」實如今多行中輸入一個命令
通配符問題:在bash中主要有「*」「?」「[]」幾種常見通配符
* 表示匹配一個或者多個字符
? 匹配任意單一字符
[] 匹配任意包含在方括號的單字符