歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux系統學習

Linux系統學習

日期:2017/3/1 13:39:53   编辑:關於Linux

1 歷史

Linux:Linux Is Not Unix

Unix:是Linux的前身,因為收費,只有在公司和學校才能用到,一位高手在學校用到以後覺得非常好就寫了一個Linux。

Linux核心:基於內核的操作系統,Linux兄弟只寫內核(管理硬件的程序)

Linux發行版本:debian,slackware,suse,紅旗,turbolinux,redhat,fedora,mandrake(依賴於內核的工具),在linux內核上寫了外圍的依賴程序,根據依賴程序又寫了許多許多管理硬件工具

Linux版本:r.x.y,r:release version,x:偶數,穩定版本,奇數,開發中的版本,y:錯誤修補的次數 eg:2.0.38

2 分區:

VFS:虛擬文件系統,所有文件系統統一的接口,可以根據接口編程(多態)

分區表:如圖,記錄了分區的信息,一般位於對應分區的開始,最多只能記錄四條記錄,所以主分區加擴展分區最多不能超過四個(一般用來裝系統),下面那張表記錄了邏輯分區(不同的文件系統)

格式化:建立不同的文件系統,就是對應數據不同的存儲規格。

為什麼要分區:可以在同一塊硬盤上裝各種各樣的文件系統,各種各樣的小格,不同的文件系統的擁有不同的小格。更加容易管理

windows:c:(主分區),d:(擴展分區/邏輯分區),e:(擴展分區/邏輯分區)

linux分區的命名:所有的設備在Linux看來都是文件,分為字符設備(如鍵盤)和塊設備(如硬盤)

--/dev/xxyN,/dev/:所有設備文件所在的目錄名,xx:分區名的前兩個字母標明分區所在的設備的類型。通常是hd(IDE磁盤)或sd(SCSI磁盤)。y:這個字母標明分區所在的設備,代表第幾個硬盤。N:代表分區,前四個分區(主分區和邏輯分區)是從1到4,邏輯分區從5開始。例如:/dev/hda3:第一個IDE硬盤上的第三個主分區或邏輯分區,/dev/sdb6:在第二個SCSI硬盤上的第二個邏輯分區。

訪問分區:通過掛載(mount)實現,掛載是將分區關聯到某一目錄的過程。掛載分區使起始於這個指定目錄(稱為掛載點)的貯存能夠被使用。如:mount /dev/cdrom /mnt/cdr

至少兩個分區:/分區,SWAP分區:把硬盤當內存使用(虛擬內存),實際物理內存的兩倍

3 目錄結構:google

4 linux啟動過程(boot sequence)

load bios(hardware information)

read MBR‘s config to find out the OS:根據MBR的配置找到啟動哪個操作系統

load the kernel of the OS:這個操作系統啟動的核心文件

init process starts:init進程啟動

execute /etc/rc.d/sysinit:運行命令

start other modules (etc/modules.conf):read讀取系統各種模塊

execute the run level scripts:,啟動級別,啟動到哪個層次,分層結構,分為6層,每層之間互不影響,可以修改(/etc/inittab)

execute /etc/rc.d/rc.local:執行腳本

execute /bin/login

shell started..

5 linux幫助

命令 --help

man 命令

6 command(常用)

ls:列出當前目錄下的文件和目錄,ls -l:顯示詳細信息,ls -R:樹狀遞歸顯示目錄下的所有文件和目錄下的目錄

tree:樹狀顯示

cd:進入目錄,cd ..返回上層路徑

pwd:當前路徑

mkdir:建目錄

rmdir:刪除空目錄

rm -rf:遞歸強制刪除目錄或文件,強制刪除不跳出確認信息

touch:創建文件

cp:復制,cp -r:遞歸拷貝目錄

mv:移動,改名

vi:文本編輯器(跨平台,遠程),vi 文件名(創建或編輯文件)

一進去為命令模式:只能敲命令

a:追加

切換為命令模式:esc

:w 存盤,:q 退出

more:查看文件內容

cat:查看文件內容

tac:逆序查看文件內容

head:查看文件,head -3:查看文件前三行

tail:查看文件,tail -3:列出最後三行

clear:清屏

find:查找文件在什麼位置上,find / -name my*

grep(常用):grep 字符串 文件名,查找對應字符串在文本文件的哪一行

whereis:查看命令是由誰執行的以及命令的文檔

echo:echo $PATH:查看PATH

ln:鏈接,兩個文件保持同步,與copy不同。ln -s:軟鏈接,相當於windows的快捷方式

useradd:增加用戶,在/home增加對應文件夾,默認和用戶名相同的組,-g 組名

usermod:修改用戶名,-g:修改組名

userdel:刪除用戶

su 用戶名:切換用戶

passwd:指定用戶密碼

more /etc/passwd:所有的用戶

more /etc/group:組的信息

ls -l:顯示詳細信息(詳解):

第一位:分為-:文件,l:鏈接,d:目錄

第二位到第四位:文件/目錄的所有者,擁有者的權限

第五位到第七位:文件/目錄所有者同組的其他人的權限

第八位到第十位:剩下的人的權限

chmod:修改權限,chmod u+x 文件名:修改當前用戶的權限,chmod g+x 文件名:修改同組權限,chmod 777:高級操作,第一個7代表用戶權限,第二個7為同組權限,第三個7為剩下人權限,把7對應的二進制來表示讀寫執行(1為有,0為沒有)如:7:111,5:101

chown:修改所有者,chown 所有者 文件名

wc:統計指定文本文件的行數,字數,字符數wordcount

col:過濾控制字符

管道:將一個命令的輸出傳送給另一個命令,作為另一個命令的輸入,命令1|命令2|...命令n

ls -Rl /etc | more

cat /etc/passwd | wc

cat /etc/passwd | grep lrj

dmesg | grep eht0

man bash | col -b > bash .txt

ls -l | grep "^d":之列出目錄

ls -l * | grep "^-" | wc -l:當前目錄下有多少文件

wall:wall ’命令‘ ,將命令執行的結果發送給每個登錄到shell上來的人

命令替換:將’命令‘替換為命令

重定向:將命令輸出寫入文件,或將文件讀取輸入命令

輸出:ls > cmd.txt , ls >> cmd.txt ,>代表替換,>>代表追加

輸入:wall < aa.txt

export:當linux下設定環境變量之後想讓其他人使用則需要使用該命令,如:export PATH=/home/yyz/Applications/adt-bundle-linux-x86_64-20130917/sdk/tools:$P
ATH

ps:觀察下面有哪些進程,ps -ef:當前用戶下的所有的進程,ps -ef | grep 進程名

kill:殺進程,kill -9 進程名,強制殺進程

service:服務管理,service 服務名 start:啟動服務。service 服務名 stop:關閉服務,常用:service iptables stop,關防火牆

wget 網址:本地連接網站(其中一個功能),測試

7 搭建部署環境

必須使用純命令行操作,因為server使用純命令行

服務自啟動:chkconfig命令的使用 (啟動級別和防火牆的設置(iptables))

Copyright © Linux教程網 All Rights Reserved