linux的歷史與基本命令

        重新學習的這段時間裏,我又逐漸認識並加深了對linux的瞭解。並詳細瞭解了linux的發展及linux的基本使用命令。因爲接觸時間還沒多長時間,可能所述的命令並不是太全,所以請大家多多見諒。

        Linux的發展史是曲曲折折的,它是在unix的基礎上發展起來的,是與Windows不盡相同的一種操作系統;實際上linux是叫GNU/linux。linux都知道,而GNU大家都不太瞭解,GNU計劃: GNU是“GNU's NotUnix”的遞歸縮寫。2013-3-2 21:44:19Richard Stallmannet.unix新聞組上公佈該消息,並附帶一份《GNU宣言》等解釋爲何發起該計劃的文章,指導思想是“重現當年軟件界合作互助的團結精神”1984年正式啓動GUN工程,目標創建一套完全自由的類UNIX操作系統。爲保證GNU軟件可以自由地“使用、複製、修改和發佈”,所有GNU軟件都在一份在禁止其他人添加任何限制的情況下授權所有權利給任何人的協議條款,GNU通用公共許可證(GNU General Public LicenseGPL)。這個就是被稱爲“反版權”(或稱Copyleft)的概念。
        Linux的基本原則是:
1、由目的單一的小程序組成;組合小程序完成複雜任務;
2、一切皆文件;
3、儘量避免捕獲用戶接口;
4、配置文件保存爲純文本格式;
        目前最著名的發行版本:Debian,ubuntuOpenSuse(Suse)CentOSfedora等。國內比較著名的紅旗linux版本。
        下面來說說linux的基本命令;linux的基本命令格式都差不多,都是命令、選項、參數組成的。選項就是修改命令的基本方式,參數就是命令的作用對象。我們要了解的關於linux 的第一個命令就是man,你有什麼不懂的命令啊就可以man一下啦(都是英語,所以英語要好)。
 Man:
       NAME:命令名稱及其功能簡要說明
       DYNOPSIS:用法說明,包括可用的選項
       DESCRIPTION:命令功能的簡要說明,可能包括每一個選項的意義
       OPTIONS:說明每一個選項的意義
       FILES:此命令相關的配置文件
       EXAMPIES:使用示例
     實際上man命令有8頁,我們一般查看的是第一頁,其他的一般都不用,如果你想了解一下,可以試試 #: manman。
   ls :list的縮寫,列出列表。用來列出指定路徑下的文件
        -l :用於顯示具體屬性 與文件類型
   pwd:查看當前目錄
   cd:changedirectory 用於切換目錄
       cd~USERNAME:進入指定用戶的家目錄
       cd -:在當前目錄和上一次所在的目錄之間來回切換
   date: 顯示系統時間、管理時間
   clock:顯示硬件時間
   hwclock:
        -w :將系統時間同步爲硬件時間
        -s : 將硬件時間同步爲系統時間
   mkdir:創建空目錄
        -p: 連續創建多個遞歸目錄
        -v:顯示目錄的創建過程(一般與-p連用)
   rmdir:刪除空目錄
文件的創建和刪除 touch 、stat
   nano:創建空文檔
複製和移動文件:
    cp: 複製文件 -r -i -p -a(用於歸檔複製,常用於備份)
    mv:移動文件
    du:查看文件大小
        -d:用於創建目錄
        -s:統計目錄大小
        -h:用於轉換文件大小的顯示方式
常用查看文本的命令:cat  tac  more  less  head  tail
    cat:連接並顯示
        -n:自動爲在行首編號
        -E:顯示行結束符
文本統計
   wc(word count): 統計文本中共多少字符 行數 單詞數 字節數
     -l:只顯示行
     -w:顯示單詞數
     -c/-m;顯示字節數
     -L:最長的一行包含了字符數
tr: 轉換或刪除字符
     tr [OPTION]... SET1 [SET2]
     tr ‘ab’ ‘AB' <文件>
     tr 'a-z' 'A-Z'
   -d:刪除出現在字符集中的所有字符 tr -d
文本處理:cut 、join 、sed 、awk
    cut
       -d :指定分隔符
       -f :指定要顯示的字段
           -f 1,3 指的是顯示顯示1-3
文本排序:sort
    sort
        -n:數值排序
        -r:降序排序
       -t::字符分隔符
       -k:以哪個爲關鍵字進行排序
       -u:相同的只顯示一次
       -f:忽略字符大小子
命令別名: alias
         alias  CMDALIAS(別名)=“COMMAND(本身命令)”把前一次輸入的字符變爲後面的命令
        只有當前shell生命週期有效
命令替換:把命令中某個子命令替換爲其執行結果的過程
       例:touch  /file -$(date +%F-%H-M%-S%).txt    創建一個以當前時間爲名字的txt文件
文件名通配 globbisg
     *: 任意長度的任意字符
     ?:任意單個字符
     []:匹配指定範圍內的任意單個字符
     [abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]
     [:space:]:空白字符
     [:punct:]:標點符號
     [:lower:]:小寫字母
     [:upper:]: 大寫字母
     [:alpha:]: 大小寫字母
     [:digit:]: 數字
     [:alnum:]: 數字和大小寫字母
用戶管理:useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage
useradd +新用戶名  創建用戶
    -M:不創建家目錄
    -G:指定其額外的(附加)組
    -u:手動指定UID
    -g:GID指定基本組(必須事先存在)
    -C:指定註釋信息
    -S:指定shell路徑
    -m:強制爲用戶創建家目錄
修改用戶賬戶屬性:usermod
  usermod與創建用戶賬戶相識,可查看man
組管理:創建組:groupadd
groupadd
  -g GID
  -r:添加爲系統組
groupmod
  -g GID
  -n GRPNAME
groupdel
    gpasswd:爲組設定密碼
環境變量:

命令搜索路徑
HISTSIZE:命令歷史緩衝區大小

 

命令行編輯

光標跳轉:
     Ctrl+a: 跳到命令行首
     Ctrl+e:跳到命令行尾
     Ctrl+u:刪除光標至命令行首的內容
     Ctrl+k: 刪除光標至命令行尾的內容
     Ctrl+l:清屏
 

    !n:執行命令歷史中的第n條命令
    !-n:執行命令歷史中的倒數第n條命令
    !!:執行上一條命令
    !string:執行命令歷史中最近一個指定字符串開頭的命令
    !$ / Esc .:引用上一個命令的最後一個參數 Alt+.:終端部不支持

命令補全: 搜索 PASH環境變量所指定的每個路徑下以我們給出的字符串開頭的可執行文件。
cl 兩次Tab鍵,
路徑補全:
搜索我們給出的起始路徑下的每個文件名,並試圖補全

I/O重定向:
     改變了輸入輸出的來源
    linux:
       >:覆蓋輸出
         >>:追加輸出(保留原先的內容)
       set -C:不允許對已存在文件覆蓋重定向:
            強制覆蓋輸出 使用 >|
            +C:關閉以上功能
      2>:重定向錯誤輸出
      2>>:追加方式
   &>:重定向標準輸出或錯誤輸出至同一文件
 <:輸入重定向
 <<:here document 此處文檔
管道:前一個命令的輸出,作爲後一個命令的輸入
    命令1|命令2|命令3|...
文本查找的需要
 grep:根據模式搜索文本,並將符合模式的文本行顯示出來
pattern:文本字符和正則表達式的元字符組合而成匹配條件
   grep
        -i
  --color
  -v:顯示沒有被比配到的行
  -o:只顯示被模式匹配的字符串

正則表達式():Regular EXPression REGEXP
    元字符:
     .:任意單個字符
     *:表示比配前面的字符任意次
        .*:任意長度的任意字符
        \?:匹配前面的字符一次或0次   
  \{M,N\}匹配前面的字符至少M次,至多N次
 字符錨定:
        ^:錨定行首,此字符後面的 任意內容必須出現在行首 
        &:錨定行尾,此字符後面的 任意內容必須出現在行尾
  ^&:空白行
  \<或\b:錨定詞首,其後面的任意字符必須作爲單詞首部出現
  \>或\b:錨定詞尾,其前面的任意字符必須作爲單詞尾部出現
[]:匹配指定範圍內的任意單個字符
[^]:匹配指定範圍外的任意單個字符
    [:space:]:空白字符
 [:punct:]:標點符號
 [:lower:]:小寫字母
 [:upper:]: 大寫字母
 [:alpha:]: 大小寫字母
 [:digit:]: 數字
 [:alnum:]: 數字和大小寫字母

在此聲明:如有不明白的請詳看附件。

 
 
 
 
 
 
 
  

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章