1. 程式人生 > >第一周計算機Linux基礎及簡單命令

第一周計算機Linux基礎及簡單命令

Linux基礎

馮·諾伊曼計算架構:運算器,控制器,存儲器,輸入輸出設備。
計算機最小單位是位bit
8bits=1byte(字節)
1024bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB 等等
每1024個就上升1個計數單位。而硬盤廠商采用的是1000進制的,所以1T硬盤的實際大小是1000/1024*1000=976GB.
x8664表示計算機可在同一時間內處理64位的整數運算,並兼容x86_32架構。
Linux哲學思想:
1.一切都是一個文件。(包括硬件)
2.小型單一用途的程序。
3.連接程序,共同完成復雜的任務。
4.避免令人困惑的用戶界面。
5.配置數據存儲在文本中。
Linux操作系統:Linux內核(kernel)+ GNU工具。
Shell 是 Linux 系統的用戶界面,提供了用戶與內核進行交互操作
的一種接口。它接收用戶輸入的命令並把它送入內核去執行
Shell 也被稱為 LINUX 的命令解釋器( command interpreter )
技術分享圖片
linux下命令的格式:command [options] [arguments]
command:命令
options:選項,啟用命令的某項功能,從而改變命令的功能
argument:參數,改變命令作用的對象
linux內的命令很多,記得不清楚的時候,用man命令查詢。
在 shell 中可執行的命令有兩類
內部命令:由 shell 自帶的,而且通過某命令形式提供
help 內部命令列表
enabled cmd 啟用 內部命令
enable – n cmd 禁用 內部 命令
enable – n 查看所有禁用的內部命令
外部命令:在文件系統路徑下有對應的可執行程序文件
查看路徑: which - - a | -- skip- -s alias ; whereis
命令執行的順序:別名>內部命令>外部命令(hash>PATH)每個命令之間用";"隔開。如要向下傳道命令的數據用管道符“ | ”傳遞。
command:echo ,cat ,date ,clock ,cal ,halt,poweroff,reboot ,shutdown ,init ,whoami ,who ,w ,screen ,ls ,touch ,history ,whatis ,which ,help ,man ,ls ,pwd ,cd ,stat ,cp ,mv ,rm ,tree ,mkdir ,file ,rename ,ln

LINUX文件系統結構!

? /boot:引導文件存放目錄,內核文件(vmlinuz)、引導加載器(bootloader, grub)都存放於此目錄
? /bin:供所有用戶使用的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序
? /sbin:管理類的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序
? /lib:啟動時程序依賴的基本共享庫文件以及內核模塊文件(/lib/modules)
? /lib64:專用於x86_64系統上的輔助共享庫文件存放位置
? /etc:配置文件目錄
? /home/USERNAME:普通用戶家目錄
? /root:管理員的家目錄
? /media:便攜式移動設備掛載點
? /mnt:臨時文件系統掛載點
? /dev:設備文件及特殊文件存儲位置
b: block device,隨機訪問
c: character device,線性訪問
? /opt:第三方應用程序的安裝位置
? /srv:系統上運行的服務用到的數據
? /tmp:臨時文件存儲位置
? /usr: universal shared, read-only data
bin: 保證系統擁有完整功能而提供的應用程序
sbin:
lib:32位使用
lib64:只存在64位系統
include: C程序的頭文件(header files)
share:結構化獨立的數據,例如doc, man等
local:第三方應用程序的安裝位置
bin, sbin, lib, lib64, etc, share
? /var: variable data files
cache: 應用程序緩存數據目錄
lib: 應用程序狀態信息數據
local:專用於為/usr/local下的應用程序存儲可變數據;
lock: 鎖文件
log: 日誌目錄及文件
opt: 專用於為/opt下的應用程序存儲可變數據;
run: 運行中的進程相關數據,通常用於存儲進程pid文件
spool: 應用程序數據池
tmp: 保存系統兩次重啟之間產生的臨時數據
? /proc: 用於輸出內核與進程信息相關的虛擬文件系統
? /sys:用於輸出當前系統上硬件設備相關信息虛擬文件系統
? /selinux: security enhanced Linux,selinux相關的安全策略等信息的存儲位置
Linux上的應用程序的組成部分
? 二進制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
? 庫文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
? 配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
? 幫助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc
Linux下的文件類型
? -:普通文件
? d: 目錄文件
? b: 塊設備
? c: 字符設備
? l: 符號鏈接文件
? p: 管道文件pipe
? s: 套接字文件socket
文件通配符
? * 匹配零個或多個字符
? ? 匹配任何單個字符
? ~ 當前用戶家目錄
? ~mage 用戶mage家目錄
? ~+ 當前工作目錄
? ~- 前一個工作目錄
? [0-9] 匹配數字範圍
? [a-z]:字母
? [A-Z]:字母
? [wang] 匹配列表中的任何的一個字符
? [^wang] 匹配列表中的所有字符以外的字符
? 預定義的字符類:man 7 glob
[:digit:]:任意數字,相當於0-9
[:lower:]:任意小寫字母

[:alnum:]:任意數字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:標點符號
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:圖形字符
[:xdigit:]:十六進制字符
inode,block,bitmap
索引節點
? inode(index node)表中包含文件系統所有文件列表
? 一個節點 (索引節點)是在一個表項,包含有關文件的信息( 元數據 ),包括:
文件類型,權限,UID,GID
鏈接數(指向這個文件名路徑名稱個數)
該文件的大小和不同的時間戳
指向磁盤上文件的數據塊指針
有關文件的其他數據
目錄
? 文件引用一個是 inode號
? 人是通過文件名來引用一個文件
? 一個目錄是目錄下的文件名和文件inode號之間的映射
技術分享圖片
硬鏈接
? 創建硬鏈接會增加額外的記錄項以引用文件
? 對應於同一文件系統上一個物理文件
? 每個目錄引用相同的inode號
? 創建時鏈接數遞增
? 刪除文件時:
rm命令遞減計數的鏈接
文件要存在,至少有一個鏈接數
當鏈接數為零時,該文件被刪除
? 不能跨越驅動器或分區
? 語法:
ln filename [ linkname ]
符號(或軟)鏈接
? 一個符號鏈接指向另一個文件
? ls - l的 顯示鏈接的名稱和引用的文件
? 一個符號鏈接的內容是它引用文件的名稱
? 可以對目錄進行
? 可以跨分區
? 指向的是另一個文件的路徑;其大小為指向的路徑字符串的長度;不增加或減少目標文件inode的
引用計數;
? 語法:
ln -s filename [linkname]

第一周計算機Linux基礎及簡單命令