標籤:

Linux常用命令

登入系統

登入後的提示符:

~代表「用戶家目錄」的意思。 root的家目錄在/root, kif的家目錄在/home/kif 。 默認root 的提示字元為# ,而一般身份用戶的提示字元為$。 n

Linux Terminal --> ssh ssh username@192.168.4.101

用戶

Linux 是一個多用戶多任務操作系統。n可以根據用戶劃分許可權。n使用者標識符: UID和GID

一般不建議直接使用root 用戶

Linux文件系統 n

  • 目錄用「/」表示分級
  • 單獨的「/」表示根目錄
  • .** 為隱藏文件或目錄
  • . 表示當前目錄,一般可省略
  • .. 表示上一級目錄
  • 文件不一定需要擴展名
  • 基本文件類型有七種
    • 第一個字元代表這個檔案是『目錄、檔案或鏈接文件等等』
    • 當為[ d ]則是目錄
    • 當為[ - ]則是檔案n當
    • 為[ l ]則表示為鏈接檔(link file)
    • 當為[ b ]則表示為塊設備文件,例如硬碟,光碟
    • 當為[ c ]則表示為字元設備文件,例如鍵盤、滑鼠
    • 當為[ p ]則表示為命令管道文件
    • 當為[ s ]則表示為是sock文件

  • Linux文件許可權

    文件屬主、屬組及文件許可權位

  • 文件與路徑
    • 絕對路徑與相對路徑
    • 絕對路徑:由根目錄(/)開始寫起的文件名或目錄名稱, 例如 「/home/dmtsai/.bashrc 」
    • 相對路徑:相對於當前路徑的文件名寫法。 例如 「./home/dmtsai」 或「../../home/dmtsai/」 等
    • 如果是寫程序(shell scripts) ,一般推薦使用絕對路徑的寫n法n

個人空間

  • /home/username
  • 每個用戶的個人空間擁有最高許可權 ,只能在家目錄下創建和刪除文件

Linux命令行

Linux命令行的基本格式包括三部分:n 命令名 命令選項 命令參數

ls

  • 作用:列出文件或目錄
  • ls -a:列出所有文件,包括隱藏文件
  • ls -l :列出文件的詳細信息
    • -rw-r--r-- 1 liug liug 124 Apr 5 10:27 .bashrc
  • -F:在文件後加上類型標識
    • 「/」 :目錄
    • 「@」:鏈接
    • 「*」 :可執行文件

文件移動

  • cp (copy)n
    • cp file pathn
    • cp file1 file2n
    • cp file1 path/file2
    • cp –r filedir path/newfiledir
  • mv (move)n
    • mv path1/file path2/filen
    • mv file1 file2
  • rm (remove)n
    • rm [options] file1 file2n
    • 常用參數:n
      • -i 刪除前詢問是否真的刪除n
      • -f 刪除前不返回任何警告信息,直接刪除n
      • -r 遞歸式刪除,可以刪掉整個目錄
  • 注意: rm刪除的文件不能恢復,一定要慎用,尤其是-f參數。例如「 rm -rf * 」這樣很容易造成誤刪的命令應該盡量避免使用。

目錄操作

mkdir 創建目錄

pwd 顯示當前路徑

cd 前往其他路徑n

  • . 當前目錄n
  • .. 上一級目錄n
  • / 根目錄n
  • ~ 家目錄

文件查看

  • cat :顯示文檔的所有內容,往往與重定向配合使用,將多個文檔串聯起來。
  • more:分屏顯示文件內容。顯示過程中按「enter」顯示下一行;按「space」顯示下一頁;按「b」鍵顯示上一頁;按「/」鍵可以執行查找功能;按「q」鍵退出。
  • less -S:分列顯示,通過左右鍵移屏。
  • head -n file:顯示頭幾行,n默認為10。
  • tail -n file: 顯示文件末尾幾行,n默認為10。
  • grep 「keyword」 file:顯示帶有關鍵字的行。

統計命令

wc 統計文件的位元組數、字數、行數

du 文件大小統計

  • du -sh dir

df 磁碟空間統計

  • df -h

cut

cut:按指定條件從文件的每一行提取字元、欄位

  • -b: 選擇的位元組
  • d:自定義分隔符
  • -f:與-d一起使用,指定顯示區域 n

sort

sort:將文本文件內容進行排序

  • n:按照數值大小進行排序
  • -r:相反的順序排序
  • -t:指定分隔符
  • -k:指定區域 n

uniq

uniq:處理重複行,n不加任何參數,去除重複行

  • -c:顯示每行連續出現的次數
  • -d:僅顯示連續重複出現的行
  • -u:僅顯示沒有連續出現的行 n

awk

AWK是一種用於處理文本的編程語言工具

awk默認域分隔符:

  • 空格或Tab;$0則表示所有域,$1表示第一個域,$n表示第n個域

-F:指定分隔符

簡單的if判斷 n

進程式控制制 n

topn

  • top -u user 只顯示某一帳號的進程

psn ps -ef

  • 顯示所有帳號的進程詳細列表nkilln

kill -9

  • pid(kill -KILL pid)

bg/fgn

  • 將正在運行的命令轉後台或者前台

qdel jobIDn----刪除某個任務

qdel -u usernamen------刪除某個用戶的所有任務

qmod -s jobID ----------掛起某個任務

qmod -us jobID--------n繼續運行某個掛起的任務n

更改文件屬性

chmod

  • chmod nnn file(s) n從0到7,用戶、組成員、其他
    • 0 :無任何許可權
    • 1 :可執行
    • 2 :可寫
    • 4 :可讀
  • chmod aob file(s)
    • a :u g o
    • o :+ - =
    • b :r w x

eg:

  • chmod 700 file 將文件的許可權改成用戶有所有許可權,其他人沒有許可權
  • chmod g+rw file 增加文件組內可讀寫的許可權
  • chmod o=rx file 更改文件的許可權,使其他用戶可讀可執行

chown

  • chown UID:GID files

壓縮和解壓縮 n

gzip (gunzip) ->.gz

tar

  • -f 必加參數
  • -c 創建備份文件
  • -x 從備份文件中還原文件
  • -z 調用 gzip/gunzip 來壓縮/解壓縮文件
  • -j 調用 bzip2/bunzip2 來壓縮/解壓縮文件
  • -v 顯示命令執行過程n

    • tar -zcvf file.tar.gz file 壓縮為file.tar.gz

    • tar -jcvf file.tar.bz2 file 壓縮為file.tar.bz2n

    • tar -zxvf file.tar.gz 解壓file.tar.gzn

    • tar -jxvf file.tar.bz2 解壓file.tar.bz2

特殊符號---流處理

流處理

  • 從鍵盤輸入給 Shell 或命令的字元串,命令返回的輸出,都可以認為是由字元組成的字元流(streams of characters)
  • 程序是按行(line)來處理這些字元流的,在字元流中,用字元 n 分割成行

<:將文件內容作為標準屏幕輸入反饋給命令行。

|:管道符,將左邊命令的標準輸出傳遞給右邊命令作為其標準輸入。

>:重定向。可以將字元流進行重定向,要麼重定向到指定文件,要麼重定向到程序輸入 (使用 > 或 >> 將程序輸出重定向指定文件)

&:後台符,將一個命令直接放到後台運行。 eg: $ blastall -p blastn -i query -d nr -o result & jobs查看運行情況,轉到前台用命令fg %num

nohup:不掛斷的運行命令,與&配合使用,運行的程序可以在終端關閉後繼續運行,所有輸出重定向到nohup.out文件中。 n

其他命令

find dir -name file

  • -amin n 查找系統中最後n分鐘訪問的文件
  • -atime n 查找系統中最後n天訪問的文件
  • -cmin n 查找系統中最後n分鐘被改變的文件
  • -ctime n 查找系統中最後n天被改變狀態的文件
  • -empty 查找系統中空白的文件或目錄

ln [source] [file or dir]

  • -s 對源文件建立符號連接。
  • -i 覆蓋既有文件之前先詢問用戶。 n

su user 改變用戶

  • su - user

asswd 改變密碼

history 顯示操作歷史記錄

幫助

man ( manual )

  • man 就是用來讓使用者在使用時查詢指令、系統呼叫、標準程序庫函數、各種表格等的使用方法的。

man 的用法如下:

  • man 命令(想要查詢的命令)
  • eg:$man ls

Ctrl+f 後翻一頁

Ctrl+B 前翻一頁

q 離開

最常用的十個

les

less

scp

ssh

cd

cd..

vim


推薦閱讀:

System V 共享內存 原理 疑惑求解?
Linux下用戶空間的可執行程序代碼段、數據段以及堆棧空間可否安置在hugepage中?
學習linux大致分哪些步驟?
在學習linux下的C編程,想下載一些linux下的程序源碼研究學習,應該去哪獲得?
自我組建殭屍網路的Linux木馬

TAG:Linux |