Linux學習整理(一)

自學Linux已經兩個星期了(不算之前的水課),之前也學過一些Linux,但不像現在這種學習狀態。這幾天除了上課,我的首要任務就是學習Linux!
在這兩個星期的學習中,通過看馬哥教育的視頻和鳥哥的私房菜,大致學到了這些東西:
1.計算機的基礎知識
2.操作系統的相關知識
3.Linux命令行的常用命令
4.Linux用戶的認識


一、計算機的基礎知識

  • 計算機的體系結構:運算器,控制器,存儲器,輸入輸出
  • 機算計上電後如何識別硬件部分?上電自檢
  • 前端總線:南橋北橋 固態硬盤 機械硬盤
  • 什麼事CPU的主頻,什麼是緩存
  • 內核kernel,操作系統,API,shell之間的關係
  • 內核功能:進程管理,內存管理,文件系統,網絡功能,硬件驅動,安全機制
  • 批處理系統是什麼? jobs1$$$$$$$jobs2$$$$$$$$單進程
  • GUI和CLI:圖形交互界面和命令行交互界面

二、Linux操作系統相關知識

  • GUN,GPL
  • 操作系統的發展歷史
  • Linux的最新內核版本 www.kernel.org
  • Linux的發行廠商release:Debian,RedHat,Ubuntu,CentOS,Fedora,Mandriva
  • 開放源代碼:自由獲取,自由修改,自由學習
  • 瞭解GPL, BSD, Apache三個開源協定(版權描述)的大體聯繫及區別
  • 發行版:Fedora, RedHat(CentOS), SUSE, Debian(Ubuntu, Mint), Gentoo, LFS(Linux From Scratch)

    Linux的基本原則:
    1、由目的單一的小程序組成;組合小程序完成複雜任務;
    2、一切皆文件;
    3、儘量避免捕獲用戶接口;
    4、配置文件保存爲純文本格式;

Linux文件系統
文件系統層級標準FHS(Filesystem Hierarchy Standard):Linux標準委員會規定了根文件目錄標準
/boot: 系統啓動相關的文件,如內核、initrd,以及grub(bootloader)
/dev: 設備文件
設備文件:
塊設備:隨機訪問,數據塊
字符設備:線性訪問,按字符爲單位
設備號:主設備號(major)和次設備號(minor)
/etc:配置文件
/home:用戶的家目錄,每一個用戶的家目錄通常默認爲/home/USERNAME
/root:管理員的家目錄;
/lib:庫文件
靜態庫, .a
動態庫, .dll, .so (shared object)
/lib/modules:內核模塊文件
/media:掛載點目錄,移動設備
/mnt:掛載點目錄,額外的臨時文件系統
/opt:可選目錄,第三方程序的安裝目錄
/proc:僞文件系統,內核映射文件
/sys:僞文件系統,跟硬件設備相關的屬性映射文件
/tmp:臨時文件, /var/tmp
/var:可變化的文件
/bin: 可執行文件, 用戶命令
/sbin:管理命令

/usr:shared, read-only
/usr/bin
/usr/sbin
/usr/lib

/usr/local:
/usr/local/bin
/usr/local/sbin
/usr/local/lib

命名規則:
1、長度不能超過255個字符;
2、不能使用/當文件名
3、嚴格區分大小寫


三、Linux基礎命令(重點)
命令類型:
內置命令(shell內置),內部,內建
外部命令:在文件系統的某個路徑下有一個與命令名稱相應的可執行文件

命令行展開{ }

1.man命令:
Linux的命令手冊:manual
man COMMAND

NAME:命令名稱及功能簡要說明
SYNOPSIS:用法說明,包括可用的選項
DESCRIPTION:命令功能的詳盡說明,可能包括每一個選項的意義
OPTIONS:說明每一個選項的意義
FILES:此命令相關的配置文件
BUGS:
EXAMPLES:使用示例
SEE ALSO:另外參照

翻屏:
向後翻一屏:SPACE
向前翻一屏:b
向後翻一行:ENTER
向前翻一行:k

查找:
/KEYWORD: 向後
n: 下一個
N:前一個
?KEYWORD:向前
n: 下一個
N:前一個

退出:q

獲得命令的使用幫助:
內部命令:
    help COMMAND
外部命令:
    COMMAND --help

2.ls命令:
list 列表 目錄

-l:長格式
    文件類型:
        -:普通文件 (f)
        d: 目錄文件
        b: 塊設備文件 (block)
        c: 字符設備文件 (character)
        l: 符號鏈接文件(symbolic link file)
        p: 命令管道文件(pipe)
        s: 套接字文件(socket)
        文件權限:9位,每3位一組,每一組:rwx(讀,寫,執行), r--
        文件硬鏈接的次數
        文件的屬主(owner)
        文件的屬組(group)
        文件大小(size),單位是字節
        時間戳(timestamp):最近一次被修改的時間
        訪問:access
        修改:modify,文件內容發生了改變
        改變:change,metadata,元數據
-h:做單位轉換
-a: 顯示以.開頭的隱藏文件
    . 表示當前目錄
    .. 表示父目錄
-A
-d: 顯示目錄自身屬性
-i: index node, inode
-r: 逆序顯示
-R: 遞歸(recursive)顯示

3.cd命令:change directory
家目錄,主目錄, home directory
cd ~USERNAME: 進入指定用戶的家目錄
cd -:在當前目錄和前一次所在的目錄之間來回切換
cd:回到家目錄

4.type命令: 查看命令屬於哪種類型
內置命令還是外部命令

5.date命令:時間管理
hwclock命令
cal命令: calendar

6.whatis命令:
查看命令手冊的章節

分章節:
1:用戶命令(/bin, /usr/bin, /usr/local/bin)
2:系統調用
3:庫用戶
4:特殊文件(設備文件)
5:文件格式(配置文件的語法)
6:遊戲
7:雜項(Miscellaneous)
8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin)

7.info命令:在線文檔

8.file命令:查看文件類型

9.mkdir命令:創建空目錄

10.rmdir命令:刪除空目錄

11.touch命令:修改文件時間或創建新文件
touch後面直接接文件,該文件的三個時間都會被更新爲目前時間,如果文件不存在,則主動創建一個新的文件。

文件的三個時間參數:
    modification time(mtime):該文件的內容數據更改時更新的時間
    status time(ctime):文件的狀態改變時更新的時間,像是權限與屬性被更改了
    access time:該文件被訪問時更新的時間
-a:僅修改訪問時間
-c:僅修改文件時間(ctime)
-m:僅修改mtime
-t:後面可接欲修改時間而不用目前的時間格式爲YYMMDDhhmm

12.stat命令:

13.tree命令:查看目錄樹

14.nano命令:超簡單文本編輯器

15.rm命令:移除文件或目錄
-i:互動模式,在刪除時詢問用戶是否操作
-f:強制(force)
-r:遞歸刪除

16.cp命令:複製文件或目錄
cp 源文件(source) 目標文件(destination)
cp除了單純的複製之外,還可以創建連接文件(即快捷方式)
-r:遞歸持續複製,用於目錄的複製行爲
-i:若目標文件(destination)已存在,在覆蓋時會詢問操作的進行
-f:爲強制(force)的意思
-p:連同文件的屬性一起復制,而非使用默認屬性(備份常用)
-a:歸檔複製,常用於備份

17.mv命令:移動文件與目錄,或更名

18.install命令:複製文件和指定屬性
-d:後面只有一個文件,創建目錄
-m:複製後製定權限

19.cat命令:concatenate
cat:由第一行開始顯示文件內容
tac:由最後一行開始顯示文件內容

20.more:一頁一頁的顯示文件內容
21.less:和more類似,但它比more更好的是可以往前翻頁

22.head:只看頭幾行
23.tail:只看後幾行

文本處理:
cut、join、sed、awk
database:數據庫

關係型數據庫:
表:二維表

文本文件:
Tom:23:male:2013/05/06

cut:
    -d: 指定字段分隔符,默認是空格
    -f: 指定要顯示的字段
        -f 1,3
        -f 1-3

文本排序:sort
    -n:數值排序
    -r: 降序
    -t: 字段分隔符
    -k: 以哪個字段爲關鍵字進行排序
    -u: 排序後相同的行只顯示一次
    -f: 排序時忽略字符大小寫

uniq: 
    -c: 顯示文件中行重複的次數
    -d: 只顯示重複的行

文本統計:wc (word count)
    -l 
    -w
    -c
    -L

字符處理命令:tr —— 轉換或刪除字符
tr [OPTION]... SET1 [SET2]
    -d: 刪除出現在字符集中的所有字符
tr ab AB
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章