大數據學習系列(二)需要掌握的Linux命令及功能

Filesystem Hierarchy Standard(文件系統層次化標準)
    -/boot: 系統啓動相關的文件,如內核、initrd,以及grub(bootloader)
    -/dev: 設備文件	
    -/etc:配置文件
    -/home:用戶的家目錄,每一個用戶的家目錄通常默認爲/home/USERNAME
    -/root:管理員的家目錄;
    -/lib:庫文件
    -/media:掛載點目錄,移動設備
    -/mnt:掛載點目錄,額外的臨時文件系統
    -/opt:可選目錄,第三方程序的安裝目錄
    -/proc:僞文件系統,內核映射文件
    -/sys:僞文件系統,跟硬件設備相關的屬性映射文件
    -/tmp:臨時文件, /var/tmp
    -/var:可變化的文件
    -/bin: 可執行文件, 用戶命令
    -/sbin:管理命令

系統操作命令:

type:顯示命令類型
       -t:輸出“file”、“alias”或者“builtin”,分別表示給定的指令爲“外部指令”、“命令別名”或者“內部指令”;
       -p:如果給出的指令爲外部指令,則顯示其絕對路徑;
       -a:在環境變量“PATH”指定的路徑中,顯示給定指令的信息,包括命令別名

練習:

help  命令:用於顯示內部命令的幫助信息
        -s:輸出短格式的幫助信息。僅包括命令格式。

練習:展示cd 後面可接的選項

man:幫助手冊manual,顯示外部命令的幫助手冊,功能等同help
        -a:在所有的man幫助手冊中搜索;
        -f:等價於whatis指令,顯示給定關鍵字的簡短描述信息;
        -P:指定內容時使用分頁程序;
        -M:指定man手冊搜索的路徑

若沒有此命令,安裝:yum install man man-pages -y

練習:

whereis : 定位命令位置
file:文件類型
echo:打印到標準輸出
舉例:echo  "hello world"
$PATH: 輸出環境變量:路徑
cat  /etc/profile  :輸出此文件
》 這個文件是一些人機交互的配置,不要亂動 ,(bash啓動(交互方式))
ps :顯示當前進程列表
    -ef:顯示所有進程列表
echo $$  :當前shell的PID
hash -r :清除緩存
shell文件:是一個bash(程序)

/etc/profile:是bash(程序)的配置文件

source  a.sh :執行這個bash(程序),在當前bash環境下讀取並執行FileName中的命令

練習:

df:顯示磁盤使用情況,默認顯示單位爲KB
    選項: 
        -h :以可讀性較高的方式來顯示信息,格式化
du:du會顯示指定的目錄或文件所佔用的磁盤空間。
   : du -sh :顯示當前目錄總的大小
   : du -a  :顯示當前目錄下所有文件的大小
stat  文件名:輸出文件的元數據(屬性:大小,修改時間等屬性)

練習:

touch 文件名  :觸摸文件
    對於已經存在的文件,會修改文件的元數據(修改時間等屬性)
    對於未存在的文件,會創建文件

文件操作命令

cat : 輸出文件內容,打印到屏幕上,並退出。
      
    缺點:內容比較多時展示不全
more 文件A : 輸出內容,分屏展示,空格鍵切一屏,回車下一行

less 文件A : 道理同上
head  -10  文件A :顯示前10行
tail  -10  文件A : 顯示後10行
| :管道,左右都爲命令,原理爲先執行左邊的,然後在左邊的基礎上執行右邊的

練習:顯示文件的第八行內容,先輸出前8行,再在此基礎上輸出最後一行。

vim  文件A: 打開文件A,進入編輯模式

按i : 進入輸入模式

按Esc: 進入編輯模式

shift+:   : 進入末行模式

vim +3 文件A : 打開文件A,並把光標定位到第三行

vim +/PATTERN : 打開文件,定位至第一次被PATTERN匹配到的行的行首

ZZ: 編輯模式,保存並退出   不需要冒號,

編輯模式下:

i : 在當前光標字符的前面轉成輸入模式
a : 在當前光標字符的後面轉成輸入模式
o : 在當前光標所在行的下方,新建一行,並轉爲輸入模式
O :大寫的o,在當前光標所在行的上方,新建一行,並轉爲輸入模式
編輯模式下:

    移動光標:
        h: 左;j: 下;k: 上;l: 右
    單詞
        w: 移至下一個單詞的詞首
        e: 跳至當前或下一個單詞的詞尾
        b: 跳至當前或前一個單詞的詞首
    行內
        0: 絕對行首
        ^: 行首的第一個非空白字符
        $: 絕對行尾
    行間
        G:文章末尾
        3G:第3行
        gg:文章開頭
    翻屏
        ctrl:f,b
刪除&替換單個字符
    x:刪除光標位置字符
    3x:刪除光標開始3個字符
    r:替換光標位置字符
刪除命令(相當於剪切) : d 
      dw:刪除一個單詞
      dd:刪除一行
複製粘貼:
    yw :複製一個單詞
    yy :複製一行
    p  : 粘貼
編輯模式下:
撤銷&重做
    u : 撤銷上一個操作
    ctrl+r : 重新執行上一個已撤銷的操作
    . : 再次執行上個操作
末行模式下:快捷鍵:  shift+:

        set nu  : 顯示行號
        set nonu  : 不顯示行號
        set readonly : 設置只讀
末行模式下:
    查找某字符的位置  : /
        /abc : 查找abc的位置  按n 查看上一個  按N查看下一個
末行模式下:
    替換:
        s/abc/123/gi :   將當前光標行abc全部替換成123
            
             g : 替換當前行全部
             i :不區分大小寫

正則表達式

grep:強大的文本搜索工具,顯示匹配行
    v:反顯示
    e:使用擴展正則表達式,指定字符串作爲查找文件內容的範本樣式

匹配操作符
    \  :轉義字符
    .  :匹配任意單個字符
    [1249a],[^12],[a-k] :字符序列單字符佔位
    ^  :行首
    $  : 行尾
    \<,\>  :單詞首尾邊界
    |  : 連接操作符
    (,)  :選擇操作符
    \n   :反向引用

重複操作符:
    ?      	匹配0到1次。
    *      	匹配0到多次。
    +     	匹配1到多次。
    {n}   	匹配n次。
    {n,}  	匹配n到多次。
    {n,m}      匹配n到m次。

舉例

   51  grep "a" test
   52  grep  "a\{3\}"  test
   53  grep  "\<aaa"  test
   54  grep  "\<aaa\>"  test
   55  grep "b" test
   56  grep  "b\{2,3\}" test 
   57  clear
   58  cat test
   59  grep "god" test
   60  grep "godgood" test
   61  grep "god*good" test
   62  grep "god.*good" test
   63  grep "god.*good.*god.*good" test
   64  grep "god.*good+" test
   65  grep "\(god.*good\)+" test
   66  grep "\(god\).*good.*\1" test
   67  grep "\(god\).*\(good\).*\1.*\2" test
   68  vi test 
   69  grep "\(god\).*\(good\).*\1.*\2" test
   70  grep "\(god\).*\(good\).*\2.*\1" test

高級命令

sed :查找、替換

cut :用來顯示行中的指定部分,刪除文件中指定字段,連接兩個或多個文件

sort: 給文件內容排序輸出

wc :用來計算數字。利用wc指令我們可以計算文件的Byte數、字數或是列數,若不指定文件名稱,或是所給予的文件名爲“-”,則wc指令會從標準輸入設備讀取數據。

awk:  重要 ,必須掌握

 

 

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