初入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 17:38
下一篇 2017-02-18 20:08

相關推薦

  • redis-cli的一些有趣也很有用的功能

    redis-cli我們最常用的三個參數就是-h、-p、-a選項,分配用來指定連接的redis-server的host、port和登錄密碼。 通過redis-cli –help發現,redis-cli還提供了其他很多的參數和功能。 1)-x-x選項從標準輸入(stdin)讀取最后一個參數。 比如從管道中讀取輸入: echo -en “chen.qun” | r…

    Linux干貨 2015-03-16
  • N25-第五周作業

    第五周作業 1、顯示當前系統上root、fedora或user1用戶的默認shell; grep "^\(root|fedora|user1\)" /etc/passwd | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello(); grep "…

    Linux干貨 2017-02-14
  • 8.5_Linux習題練習和作業

    課堂練習題 1、找出ifconfig命令結果中本機的所有IPv4地址 # ifconfig | grep -oE "([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|2…

    Linux干貨 2016-08-10
  • shell四劍客之sed

    概述 Stream EDitor, 行編輯器 sed是一種流編輯器,它一次處理一行內容。處理時,把 當前處理的行存儲在臨時緩沖區中,稱為“模式空間”( pattern space),接著用sed命令處理緩沖區中的內容 ,處理完成后,把緩沖區的內容送往屏幕。接著處理下一 行,這樣不斷重復,直到文件末尾。文件內容并沒有改變 ,除非你使用重定向存儲輸出。Sed主要…

    Linux干貨 2016-08-15
  • ?源碼編譯安裝LNMP

    源碼編譯安裝LNMP 環境:CentOS6.6 IP: 172.16.10.10/16 GW:172.16.0.2 主機名稱: lnmp.test.net 一、常規設置: 網卡: 臨時 ifconfig eth0 172.16.10.10/16 up 永久 [root@www ~]# vim /etc/sysconfig/network-scripts/if…

    Linux干貨 2016-11-14
  • 設計模式 ( 十二 ) 職責鏈模式(Chain of Responsibility)(對象行為

    1.概述        你去政府部門求人辦事過嗎?有時候你會遇到過官員踢球推責,你的問題在我這里能解決就解決,不能解決就推卸給另外個一個部門(對象)。至于到底誰來解決這個問題呢?政府部門就是為了可以避免屁民的請求與官員之間耦合在一起,讓多個(部門)對象都有可能接收請求,將這些(部門)對象連接成一條鏈,并且沿著這條鏈傳遞…

    Linux干貨 2015-07-15
欧美性久久久久