Linux所有目錄都在根目錄下,用/表示。在訪問目錄是一般加上/指示相對於絕對路徑。登錄上之後即在家目錄下(~或/home/ct)
一、目錄結構
- /:根目錄,所有的目錄、文件、設備都在/之下,/就是Linux文件系統的組織者,也是最上級的領導者
- /bin:bin就是二進制的引文縮寫,在一般的系統當中,都可以在這個目錄下找到Linux常用的命令。系統所需要的那些命令位於此目錄。/usr/bin/usr/local/bin
- /etc (Editable Text Configuration): 這個目錄是最重要的目錄之一,存放了系統管理時要用到的各種配置文件和子目錄。
- /home:如果建立一個用戶,用戶名是“XX”,那麼在/home目錄下就有一個對應的/home/XX的路徑,用來存放用戶的主目錄
- /lib: lib是庫(library)的英文縮寫,主要用來存放系統動態連接共享庫。千萬不要對這個目錄進行操作,發生問題時系統將無法工作
- /mnt: 用於存放掛載儲存設備的掛載目錄,比如磁盤陣列、U盤等。
Linux基本命令: [ngs0@localhost ~]$ 命令[-選項] 參數1 參數2 ……
說明:命令永遠以可執行程序開始;[-選項]的方括號表示該項目是可選的,不需實際輸入;不同項之間以空格分隔,命令行以回車結束並即刻執行;Linux區分大小寫
二、常用命令
pwd #顯示當前工作目錄(print working directory)
cat #查看文件(concatenate files and print),與<<END連用用於讀入大段數據。輸入cat <<END之後,回車,會看到終端出現一個大於號,大於號後面可以輸入內容,再回車,繼續輸入內容,直到我們輸入END (大寫的,與上面一致),輸入過程結束,我們輸入的內容都顯示在了屏幕上
ls #顯示當前文件夾(list)
ls -l #列表顯示
ls –l dir #顯示目錄下dir下的文件
mkdir #新建文件夾 (make directory)
mkdir test #創建目錄
cd #切換工作目錄(change dir)
cd test #進入test目錄
cd ..#後退到上一級目錄,.代表上級目錄,..代表上一級目錄,../../表示上兩層目錄
cd ./test 等同於cd test
cp #拷貝文件,原文件移動到目標位置(copy)
cp test.sh.file_temp.txt #複製文件
cp test.sh test #複製文件到指定目錄
mv #移動或改名文件(move)
mv test.sh temp.sh #移動,不更改目錄則爲改名
rm #刪除文件(remove)
rm test/test.sh #刪除文件
rm –r test #刪除文件夾
Fastq文件操作
gunzip:解壓文件
head example.fq 顯示文件頭,查看錢6行可使用-n 6
tail example.fq 顯示文件尾
less –S example.fq 按頁查看文件,-S不換行,空格翻頁,q退出
獲取所有樣品名字
cut -f 1 metadata.txt
獲取所有樣品名字時跳過第一行
tail -n +2 metadata.txt | cut –f 1
sed替換文字內容
sed ‘s/original/new’文件A:文件A中的原始的替換成新的
例:metadata中Beijing寫錯了,需要替換爲Nanjing
sed ‘s/Beijing/Nanjign/’ metadata.txt
tr:字符替換工具
程序中幾個符號
=:一個等號表示賦值
==:表示判斷兩側的變量是否相等,如FNR==1,若相等返回True
!=:表示判斷兩側的變量是否不相等,若不等,返回False
+=:自加操作a+=1等同於a=a+1
%:取餘數
+,-,*,/:加減乘除
&&,||,!:邏輯與,邏輯或,邏輯非
():一般用於函數中,傳遞參數
[]:一般用於索引列表或字典,取出列表中第幾位元素,或字典中某個key對應的value
{}:代碼塊,多行語句放在一起,屬於一個層級
“”,‘’:雙引號和單引號括起的是字符串,bash中雙引號中的變量可以解析,單引號不可以。同樣的引號不可以嵌套,如awk“{print“ehbio”}”是不對的,要寫成awk‘{print“ehbio”}’或awk“{print‘ehbio’}”
/t:代表TAB鍵
*:代表任意字符
|:管道符,傳遞數據,上一條命令的輸出作爲下一條命令的輸入
`>`是一個重定向符號,即把前面命令的輸出寫入到`>`後面的文件中
-:表示標準輸入,一般用於1個程序需要多個輸入的時候
<:標準輸入,後面可以跟可以產生輸出的命令,一般用於1個程序需要多個輸入的時候
# cat命令之前也用過,輸出一段文字
# diff是比較2個文件的差異的,需要2個參數
# - (短橫線)表示上一個命令的輸出,傳遞給diff
# < 表示其後的命令的輸出,也重定向給diff
快捷鍵:
Tab鍵:自動補全或提示相關結果
Ctrl+C:中止命令
Ctrl+A:回到命令的行首,用於修改命令或註釋掉命令
!!:表示上一條命令
which:表示查看命令的路徑
注意:命令跟參數之間要有空格