初入linux_基礎(一)

初入Linux知識點總結(一)
一、理論知識
1、時間點:
    1946年   第一代計算機ENIAC誕生于美國賓州大學,特點:塊頭大、效率低
        數學家馮諾?依曼提出計算機體系結構組成部分:計算器、運算器、存儲器、輸入設備、輸出設備
    1969年  UNIX在美國貝爾實驗室誕生
    1984年  GNU項目和軟件基金會成立
    1991年  Linux在芬蘭赫爾辛基誕生
2、計算機的組成
    硬件組成:CPU、內存、主板、硬盤、IO設備、電源
    軟件組成:操作系統、應用軟件
3、服務器的分類
    按規模:巨型機、大型機、小型機、微型機
    按服務:Web服務器、文件服務器、云存儲服務器、郵件服務器、DNS解析服務器、數據庫服務器、監控服務器、日志服務器等......
    按外形:塔式服務器、機架式服務器、刀片服務器
    按架構:X86服務器、非X86服務器
4、常見硬件設備
    機架:高度--xxU(1U=44.5mm),寬度48.26cm
    CPU:主頻、高速緩存(L1/L2/L3)、地址總線寬度
           架構:X86 X64 Power ARM...
           品牌:Inter(至強、安騰)、IBM(Power)、AlthonMP
    內存: DDR、DDR2、DDR3、DDR4
                品牌:金士頓、威剛、三星......
    硬盤: 轉速、容量(MB、GB、TB)、傳輸速率
        接口:IDE/SATA/SCSI/SAS
        固態、邏輯
5、操作系統
    分類: 服務器----Redhat、centos、windows server、AIX
        桌面------Windows、MacOS、Fedra
        移動設備---安卓、IOS、YunOS
    功能: 驅動硬件、進程管理、內存管理、網絡管理、安全管理、文件管理
6、Linux發行版
    slackware:SUSE、opensuse,在歐洲流行
    debian:     ubuntu、mint
    redhat:       RHEL、Fedra、Centos、國產(中標、紅旗)
    gentoo:       性能極致、操作復雜
    Archlinux:    輕量簡潔
    LFS:          自制系統。
7、Linux系統哲學思想
    一切皆文件(硬件、驅動、系統、程序......)
    有很多用途單一、高效的工具、程序
    若干程序組合可解決復雜的任務
    配置文件數據都保存于文本中,方便配置、更改
    非圖形操作界面,使系統更加高效、穩定運行
8、文件系統
特征:
    根為起點的樹形結構
    文件名區分大小寫(有些特殊情況除外)
    以.開頭的都是隱藏文件
    路徑間以/分隔
    所有文件都有兩類數據:元數據(metadata)、數據(data)
    文件系統分層結構:LSB linux Standard  Base
目錄結構
    /boot       存放引導文件、內核文件
    /bin        用戶使用的常用命令,不能獨立分區
    /sbin       管理類命令,不能獨立分區
    /lib        程序共享庫及內核模塊文件
    /lib64      64位系統共享庫
    /etc/       存放配置文件
    /home       用戶家目錄
    /root       root用戶家目錄
    /media      掛載點
    /mnt        臨時文件掛載點
    /dev        設備文件、特殊文件存儲位置
    /opt        第三方應用程序安裝位置
    /srv        進程文件用到的數據
    /tmp        臨時文件存放處
    /usr        /bin  /sbin  /lib  /lib64  /include  /share  /local
    /var        /cache  /lib  /local  /lock  /log  /opt  /run  /spool  /tmp
    /proc       輸出內核與進程信息相關的虛擬文件系統
    /sys        輸出當前硬件設備相關信息虛擬文件系統
    /selinux        selinux相關安全策略存儲位置
    二進制程序   /bin  /sbin  /usr/bin  /usr/sbin  /usr/local/bin  /usr/local/sbin
    庫文件     /lib  /lib64  /usr/lib  /usr/lib64
    配置文件    /etc  /user/local/etc/
    幫助文件    /usr/share/man  /user/share/doc   /user/local/share/man   /user/local/share/man 
二、常見命令
1、命令提示符修飾符格式:$PS1
    PS1="\[\e[31m\][\u@\h \W]\\$\[\e[0m\]"
    \e  \[\e[F;Bm\],顏色修改符,F為字體顏色(30-37),B為背景色(40-47),分別代表(黑、紅、綠、黃、藍、紫、青藍、白)
    d :#代表日期,格式為weekday month date,例如:"Mon Aug 1"
    \H :#完整的主機名稱
    \h :#僅取主機的第一個名字
    \t :#顯示時間為24小時格式,如:HH:MM:SS
    \T :#顯示時間為12小時格式
    \A :#顯示時間為24小時格式:HH:MM
    \u :#當前用戶的賬號名稱
    \v :#BASH的版本信息
    \w :#完整的工作目錄名稱
    \W :#利用basename取得工作目錄名稱,所以只會列出最后一個目錄
    \# :#下達的第幾個命令
    \$ :#提示字符,如果是root時,提示符為:# ,普通用戶則為:$
2、hash  :外部命令緩存表
            -l      顯示緩存列表
    -r      清除緩存
    -d  name    清除單個命令緩存    
    -t  name    顯示單個命令緩存
    -p path name    將命令全路徑path起別名為name
3、screen    
    -ls     查看所有會話
    -S name 創建新會話
    -x name     加入name會話
    -r name     恢復某個會話
    Ctrl+a,d        臨時退出會話,先按“Ctrl+a",松手,按d 
4、echo  :   echo [-neE] [string]
     -n     不自動換行
    -e      啟用\字符解釋功能
        \a  發出警告聲
        \b  退格鍵
        \c  最后不加上換行符號
        \n  換行且光標移至行首
        \r  回車,光標移至行首,不換行
        \t  插入"tab"鍵
        \\  插入"\"符
        \0nnn   插入"nnn"(八進制)所代表的ASCII碼
        \xHH    插入"HH"(十六進制)所代表的ASCII碼  
5、history
    用法: history [-c] [-d offset] [n]
        history -anrw [filename]
        history -ps arg [arg......]
        #   顯示最近的#條歷史
        -c  清空命令歷史
        -d  刪除指定的命令
        -a  追加新的緩存命令到歷史文件
        -n  讀取歷史文件中未讀取的命令到命令緩存當中
        -r  將文本中命令追加到命令緩存
        -w  將緩存命令另存到某個文件
        -p  展開歷史參數成多行,不存在歷史列表
        -s  展看歷史參數為一行,附加在歷史列表后
6、man手冊
    NAME        名稱
    SYNOPSIS    用法格式說明
        []  可有可無
        <>    必須存在
        a|b a或b
        {}  分組
        .....   各組可出現多次
    DESCRIPTION 詳細說明
    OPTIONS 選項說明
    EXAMPLES    示例
    FILES       相關文件
    AUTHOR  作者
    COPYRIGHT   版本信息
    SEE ALSO    其他幫助參考
    REPORTING BUGS  bug信息   
7、man命令
    +[章節]  cmd  查看某章手冊
    -a      詳細查看手冊          
    -k
    -f
    -w
    
    space/^v/^f/^F  向下翻屏(^代表Ctrl)
    b/^b        向上翻屏
    d/^d        向下翻半屏
    u/^u        向上翻半屏
    Enter       向下翻一行
    y/k     向上翻一行
    q       退出
    #       跳到#行
    1G      回到文件首部
    G       切到文件尾部
    /string     以字符串查找
        n   下一個
        N   上一個
    ?string     與上一命令相反
8、ls
    用法:ls  [optios]  /path-file
    -a      查看所有文件(包括.和..)
    -A      查看所有文件(不包括.和..)
    -R      遞歸顯示整個目錄
    -ld     目錄和符號鏈接信息
    -1      文件分行顯示
    -S      按從大到小排序
    -t      按mtime排序
    -X      按文件后綴排序
    -U      不排序顯示
    -u      配合-t,顯示并按atime從新到舊排序
9、stat
    atime       acess time,訪問時間,讀取文件內容
    mtime       modify time,修改時間,改變文件內容
    ctime       change time,改變時間,元數據發生改變
10、通配符
    *       匹配0或多個任意字符
    ?       匹配任意單個字符
    ~       當前用戶家目錄
    ~name       name用戶家目錄
    ~+      當前工作目錄
    ~-      前一個工作目錄 
    [0-9]       匹配數字范圍
    [a-z]       字母(不只是小寫字母,a/A/b/B...... ,是按這個排序的)
    [A-Z]       字母(同樣不只是大寫字母)
    [wang]      匹配列表中的任何一個字符
    [^aaa]      匹配列表中以外的所有字符
    [[:digit:]] 任意數字,同[0-9]
    [[:lower:]] 任意小寫字母
    [[:upper:]] 任意大寫字母
    [[:alpha:]] 任意大小寫字母
    [[:alnum:]] 任意數字或字母
    [[:blank:]] 空格
    [[:space:]] 空格或空行
    [[:punct:]] 標點符號
    [[:print:]] 可打印字符
    [[:cntrl:]]     控制字符
    [[:graph:]] 圖形字符
    [[:xdigit:]]    十六進制字符
11、touch
    語法:touch  [option]....  file....
    -a      僅改變atime 
    -m      僅改變mtime
    -t      
    -c      如果文件不存在,則不予創建
12、cp
    -i      交互式
    -r,-R       遞歸復制整個目錄
    -a      歸檔(在生產環境中多用于備份)
    -d      不復制原文件,只復制鏈接名
    -p      等同--preserv=mode,ownership,timestamp
    -v      --verbose,顯示復制過程
    -f      --force,強制復制
    --preserv=
        mode    權限
        owership    屬主屬組
        all
        timestamp
        links
        xattr
        context
13、mv
    -i      交互式
    -f      強制
14、rm
    -i      交互式
    -f      強制刪除
    -r      遞歸
    --no-preserve-root  忽略root警告   如:rm -rf --no-preserve-root /
        
15、命令簡述
    type        判斷內部命令或外部命令
    enable cmd  啟用內部命令
        -n  查看所有內部命令
        -n cmd  禁用內部命令  
    alias       查看別名,定義別名格式:alias name='value'
            配置文件.bashrc、/etc/bashrc
    unalias     撤銷別名
        -a  撤銷所有別名
    \alias_name 執行別名原命令
    'alias_name'    執行別名原命令
    clock/hwclock   顯示硬件時鐘
        -s  系統時鐘同步硬件時鐘
        -w  硬件時鐘同步系統時鐘
    cal     打印日期(默認打印當月)
        -y  打印當年日期
    halt,poweroff   關機
    reboot      重啟
        -f  強制重啟
        -p  切斷電源
    shutdown    關機
        -r  重啟
        -h  等價于halt
        -c  取消定時關機
        time    now  & +m & hh:mm
    whoami      只打印當前登錄用戶   
    who     打印:用戶+登錄終端+時間
    w       打印更詳細的登錄信息
    help cmd    獲取內部命令幫助
    man bash    內部命令幫助手冊
    cmd -h      查看外部命令幫助文檔
    man cmd         外部命令man手冊
    info  cmd   外部命令info手冊
    自身幫助文檔  :Readme、INSTALL、Changelog
    basename    提取基名
    dirname         提取目錄名
16、快捷按鍵
    !#      調用history第#個命令
    !-n     重復n個命令之前的那個命令
    !string     重復最近一個以該字符串開頭的命令
    !?string        重復前一個包含string的命令
    !string:p   僅打印命令歷史,而不執行
    !$:p        打印輸出最后的命令,不執行
    !*:p        打印輸出最后一個命令的參數,不執行
    ^string     刪除上一個命令的第一個參數,執行命令
    ^string1^string2    將上一條命令中的string1替換為string2
    !!:gs/string1/string2   將上一條命令中所有的string1都替換為string2
    Ctrl+r      在命令歷史中搜索命令
    Ctrl+g      從歷史搜索模式退出
    
    cmd !^      調用上一個命令的第一個參數
    cmd !$      調用上一個命令的最后一個參數
    cmd !*      調用上一個命令的全部參數
    cmd !:n     調用上一個命令的第n個參數
    cmd !n:^    調用第n條命令的第一個參數
    cmd !n:$    調用第n條命令的最后一個參數
    cmd !n:m    調用第n條命令的第m個參數
    cmd !n:*    調用第n條命令的全部參數
    cmd !string:^   調用以string開頭的命令第一個參數
    cmd !string:$   調用以string開頭的命令最后一個參數
    cmd !string:n   調用以string開頭的命令第n個參數
    cmd !string:*   調用以string開頭的命令全部參數
    
    Ctrl+l      清屏,相當于clear命令
    Ctrl+s      鎖屏
    Ctrl+q      解鎖
    Ctrl+c      終止命令
    Ctrl+z      掛起命令
    Ctrl+a      移到命令行首
    Ctrl+e      移到命令行尾
    Ctrl+u      從光標處,清除命令到行首
    Ctrl+k      從光標處,清除命令到行尾
    Ctrl+f      右移一個字符
    Ctrl+b      左移一個字符
    Ctrl+xx     光標處和行首來回移動
    Ctrl+w      從光標處向左刪除至單詞首
    Ctrl+d      刪除光標處的字符
    Ctrl+h      刪除光標前的字符
    Ctrl+y      將刪除的字符粘貼至光標后
    Ctrl+t      交換光標處和之前的字符;    


    Ctrl+o      執行當前命令,并重新顯示該命令
    Alt+f       按單詞右移
    Alt+b       按單詞左移
    Alt+d       從光標處向右刪除至字尾
    Alt+c       從光標處更改為首字母大寫的單詞
    Alt+u       從光標處更改為全部大寫的單詞
    Alt+l       從光標處更改為全部小寫的單詞
    Alt+t       交換光標處和之前的單詞
    Alt+N       
        
17、環境變量
    export var="值"  聲明變量
    HISTSIZE    命令歷史記錄的條數
    HISTFILE    指定歷史文件,默認~/.bash_history
    HISTFIELSIZE    指定歷史文件中保存命令的數量
    HISTCONTROL=
        ignoredups  去除連續重復的命令
        ignorespace 忽略所有以空白開頭的命令
        erasedups   刪除重復命令(包括不連續的)
        ignoreboth  ==ignoredups+ignorespace        
    HISTTIMEFORMAT="%F %T"  顯示時間
    HISTIGNORE="str1:str2:......"   忽略string1,string2歷史
    PWD     當前目錄路徑
    OLDPWD          上一次目錄路徑
18、文件
    source  name        重新讀取配置文件(或者使用.)
    ~/.bashrc       定義當前用戶別名信息
    /etc/profiel        定義全局別名信息
    ~/.bash_history     當前用戶歷史命令存儲位置        
    ~/.bash_profile     定義當前用戶環境變量
    /etc/profile        定義所有用戶環境變量
    文件類型
    -       普通文件    
    d       目錄文件
    b       塊設備
    c       字符設備
    l       符號鏈接文件
    p       管道文件 
    s       套接字文件

19、常見符號
    $()     命令替換
    ··      反引號,命令替換
    {}  
       echo {1..10} 打印1~10個數字
       echo {a..z}  打印小寫字母
       file{1,3,5}  創建文件file1,file3,file5
       echo {000..20..2}  創建20以內以2遞增的三位數

原創文章,作者:Abigheart,如若轉載,請注明出處:http://www.www58058.com/69314

(0)
AbigheartAbigheart
上一篇 2017-02-18
下一篇 2017-02-18

相關推薦

  • 譯文-Symbolic一個基于func集中式管理平臺[原創]

    Symbolic是一個開源的企業平臺,旨在建立、配置和管理您的龐大分布式數據中心為目的開源框架,代表了目前最先進的數據中心解決方案的集中管理平臺。 特征 屬于RedHat認證協議棧的應用 具于func后端應用 支持 RHEL、Centos及Fedora 先進的拖放標簽管理(Ajax) 提供Cobbler支持 靈活管理操作用戶、主機 組和權限管理標記 先進的基…

    Linux干貨 2015-03-27
  • varnish詳解

      第一章    http緩存的基礎概念 1、程序運行時具有局部性特征 時間局部性緩存的數據往往被打有時間綴,具有定期失效的特征,過期后會從源服務器檢驗請求驗證是否需要重新拉取數據,某數據被訪問后,該數據往往會再次在短時間內被訪問到。 空間局部性被訪問數據的周邊數據被訪問的概率會比其它常規數據訪問大很多,所以這些訪問數…

    Linux干貨 2016-11-15
  • mysqld_multi 多實例部署

    序言:多實例?Why?   隨著硬件層面的發展,linux系統多核已經是普通趨勢,而mysql是單進程多線程,所以先天上對多進程的利用不是很高,雖然5.6版本已經在這方面改進很多,但是也沒有達到100%,所以為了充分的利用系統資源,mysql有自己的補充,那就是可以部署多實例,一個實例一個端口。     1,準備好mysql環境…

    2017-11-16
  • 筆記整理:權限管理2-特殊權限(sst)和隱藏屬性

    特殊權限 進程訪問文件時的權限,取決于進程的發起者和其所在的屬組。還有其他權限,包括SST(Suid【可以更改進程發起者】,Sgid【可以更改進程發起者屬組】,Sticky) 查詢SUID/SGID文件   find / -perm +6000 SUID 使用特點 SUID只能作用在二進制文件上。 執行者需要對該文件具有可執行權限 只在程序運行過程…

    Linux干貨 2016-08-05
  • 馬哥教育網絡19期+第十六周課程練習

    編譯安裝LNMP 一、安裝Nginx: 1、解決依賴關系 編譯安裝nginx需要事先需要安裝開發包組"Development Tools"和 "Development Libraries"。同時,還需要專門安裝pcre-devel包: # yum -y ins…

    Linux干貨 2016-08-22
  • linux基礎第二周

    1.?用chattr命令防止系統中某個關鍵文件被修改:# chattr +i /etc/resolv.conf 然后用mv /etc/resolv.conf等命令操作于該文件,都是得到Operation not permitted 的結果。vim編輯該文件時會提示W10: Warning: Changing a readonly file錯誤。要想修改此文件…

    2017-09-09
欧美性久久久久