《學(xué)習(xí)小組Day2筆記--Hocchan_7》


一、學(xué)習(xí)內(nèi)容:


  1. 什么是linux,什么是服務(wù)器?
  2. 為什么學(xué)生信要用linux?
  3. 怎樣召喚linux--阿里云服務(wù)器
  4. 怎樣登錄服務(wù)器--putty和terminal
  5. linux有哪些最基本的操作?

1.linux是什么?

linux是個操作系統(tǒng)(OS)。

  • 應(yīng)用場景
  • 權(quán)限控制
  • 命令行模式
  • 目錄結(jié)構(gòu)

2. 為什么學(xué)生信的要用linux?

這是因為生物軟件基于linux,系統(tǒng)開源免費,不需要圖形界面,有效節(jié)約資源。命令行模式可以批量、高效地處理文件,滿足數(shù)據(jù)分析的要求。當(dāng)你需要跑幾十、幾百G數(shù)據(jù)的時候,用windows,電腦立刻就掛了。


3. 怎樣召喚linux?

3.1. Windows10上的linux

(1)設(shè)置-更新和安全-針對開發(fā)人員-啟用開發(fā)人員模式
(2)控制面板-控制面板-程序-啟用或關(guān)閉windows功能-適用于Linux的windows子系統(tǒng)
(3)重啟
(4)下載ubuntu。microsoft store里有
(5)啟動ubuntu 和用戶設(shè)置
正在安裝-安裝成功,設(shè)置用戶名和密碼,相當(dāng)于注冊,這里輸入密碼是沒有任何提示的,一次性打完。
(6)更新
輸入 sudo apt update
完成后輸入 sudo apt upgrade
sudo 代表管理員,apt相當(dāng)于install(安裝),下載和安裝了更新,就可以投入使用啦。

3.2. Windows7 上的linux

如果電腦配置不是很好的話,不推薦安裝虛擬機,會很耗內(nèi)存;一般的電腦配置(i3、i5CPU + 4G內(nèi)存)推薦使用git bash ,有32位和64位選擇https://git-scm.com/download/win
一路默認安裝即可。

3.3. Mac上的linux

不需要安裝任何東西,自帶terminal,直接使用

3.4. 云服務(wù)器上的linux

注冊阿里云免費服務(wù)器
https://free.aliyun.com/ntms/free/personal.html?handle=true
點免費領(lǐng)取=》登陸=》最下面支付寶圖標(biāo)(點擊使用支付寶掃碼登陸)=》實名認證=》返回領(lǐng)取
彈出的窗口是這樣:需要選擇操作系統(tǒng)(我們這里選擇CentOS/7.4 64位系統(tǒng))
【關(guān)于Linux系統(tǒng),最常見的是CentOS和Ubuntu,二者大致相同】

點擊控制臺=》選三個杠=》選云服務(wù)器ECS


需要進行修改,實例id會在你登錄服務(wù)器后顯示,總不希望是一串亂碼吧~然后登錄密碼肯定要自己設(shè)置的。



修改登錄名



需要重啟! 必須重啟!!!

重啟后,就可以遠程登錄了。
首次登陸的用戶名是root用戶,也就是管理員用戶登陸。
我們可以用Windows的putty或者Mac的terminal登陸。


4.1. 如何使用putty遠程登錄服務(wù)器?

一開始注冊的用戶名是root,登陸密碼就是你自定義的,但是輸入密碼是沒有任何顯示的(連星星符號都沒有),你只管一次性打完,不要懷疑鍵盤壞了,輸對了就能進去,輸錯了會給你三次重試的機會。
練習(xí)的時候使用云服務(wù)器的這個root用戶是可以的,因為不管你出了什么差錯,都可以重置恢復(fù),但是實際運行項目肯定不能使用root用戶,一般都是需要服務(wù)器管理員給你一個賬號密碼,讓你遠程登錄。

IP地址拷貝你的公網(wǎng)IP(用于遠程登錄) ,然后打開putty,操作流程:在主機名稱(或IP地址)輸入你的公網(wǎng)IP,點擊打開

登陸后會彈出一個對話框,選擇yes ,然后彈出一行字:login as ,在后面輸入root(也就是你的用戶名)【當(dāng)然如果你自己有服務(wù)器的話,申請時管理員會告訴你用戶名和密碼】,接著他會讓你輸入密碼,你只需要輸入自己剛才在阿里云改好的密碼就行!

4.2. 如何使用terminal遠程登錄服務(wù)器?

mac terminal使用 ssh 用戶名@IP地址 進行登錄

5. linux有哪些最基本的操作?

目錄管理

  1. pwd : print working directory,也就是打印當(dāng)前路徑,
    /root 就是當(dāng)前路徑【路徑就是你的位置】

/boot:系統(tǒng)啟動相關(guān)文件,如內(nèi)核,initrd,以及grub(BootLoader)
/dev:設(shè)備文件 — 體現(xiàn)了LInux的“一切皆文件”思想
/etc : 配置文件。大多數(shù)為純文本文件
/home:用戶的家目錄
/root:管理員的家目錄
/lib:公共庫文件(不能單獨執(zhí)行, 只能被調(diào)用)
/lib/modeles:內(nèi)核模塊文件。
/media:掛載點目錄,掛載移動設(shè)備(如U盤)
/mnt: 掛載額外的臨時文件(如第二塊硬盤)
/opt:可選目錄(現(xiàn)在基本沒用)
/proc:偽文件系統(tǒng),內(nèi)核映射文件,系統(tǒng)啟動后才出現(xiàn)文件, 關(guān)機就空
/sys:偽文件系統(tǒng),跟硬件設(shè)備相關(guān)的屬性映射文件,關(guān)機就空
/tmp:臨時文件,/var/tmp是另一個臨時文件目錄
【所有用戶都可以操作,但只能刪自己的,不能刪別人的】
/var:可變化的文件
/bin:(binary) 可執(zhí)行文件,用戶命令
/sbin:管理命令
/bin、/sbin都是可執(zhí)行程序,運行時依賴的庫都放在/lib下,配置文件放在/etc
/usr:(universal shared readonly,只讀文件)

/usr下也有/bin,/sbin,/lib,與系統(tǒng)提供基本功能相關(guān);
根目錄下的/bin,/sbin,/lib與系統(tǒng)啟動相關(guān),必需的;
/usr/local:/bin,/sbin,/lib,第三方軟件存放路徑,非必需

  1. ls 顯示列表,不管是文件夾還是文件,都能顯示

ls -l使用ls的長格式,可以顯示更多的信息,包括文件的權(quán)限、所有者、大小、最后更改日期等。
ls -a查看包含以.開頭的隱藏文件
ls -lh顯示文件大小

  1. cd 接一個目錄名,進入該目錄

cd -cd .. 返回剛才的目錄
cd . "."表示當(dāng)前目錄
cd / "/"表示根目錄
主目錄(家目錄):直接cd 或者cd ~(波浪線)
練習(xí):進入tmp目錄,然后查看當(dāng)前路徑,然后返回主目錄

  1. mkdir :make directory-- 創(chuàng)建你的空目錄

mkdir -p ~/MM/NN :建立主目錄下的MM包含的子目錄NN
mkdir -p mnt/test/{x/m,y} 在mnt/test/文件夾下創(chuàng)建x和y文件夾,x文件夾下創(chuàng)建m文件
mkdir biosoft ##存放生信軟件
mkdir project ##存放生信項目
mkdir tmp ##存放一些雜七雜八
mkdir src ##存放源代碼
mkdir del ##過會要用
‘#’后面是注釋,就是解釋代碼的文字。是不參與運行的


文件管理

  1. rm 刪除操作

rm file刪除文件直接
rmdir刪除空文件夾
rm -r刪除有內(nèi)容的文件夾,逐級刪除目錄下的子目錄
rm * 刪除當(dāng)前目錄下所有文件
rm –f 強制刪除文件,刪除時,不提出任何警告訊息。
rm –i 刪除文件前均會詢問是否刪除,y/n指示下一步。
rmdir dirname 刪除空目錄。
練習(xí):刪除剛才的del空目錄

  1. touch通過改時間戳來創(chuàng)建新的空文件,可連續(xù)創(chuàng)建。
  2. vi 新建腳本或者文本文檔(vi是linux中的文本編輯器)
  3. stat 用于顯示文件的屬性/狀態(tài)信息。能看到那三個時間戳 [訪問、更改、改變]。
  4. cp 復(fù)制文件
    使用:cp file1 file2
    多個文件到一個目錄
    使用:cp {file1, 2,3} /dir/ --> 花括號展開機制

cp –i 覆蓋相同名稱文件前先詢問用戶
cp –R 遞歸拷貝,即拷貝時將所有目錄一并拷貝
cp -p 保留源文件或目錄的屬性
cp -d 當(dāng)復(fù)制鏈接文件時,把指向的文件一并復(fù)制。簡而言之,保持鏈接
cp -a(= -dpR) 保留所有原始屬性,比-p保留的更多,常用于備份目錄或文件
練習(xí):將剛才新建的文件復(fù)制一個,叫做new_file.txt

  1. mv 將文件移入文件夾,或者重命名
    使用:mv file 路徑
    練習(xí):將新文件new_file.txt,重命名為home.txt ,移動到主目錄下(路徑是~)

文本查看【只用于文本!不要用來打開二進制文件】

  1. cat 查看并直接將內(nèi)容輸出到屏幕

cat > file.txt
.....(輸入內(nèi)容)【按Ctrl+c 可結(jié)束輸入】

cat –n file.txt 在顯示內(nèi)容前加上行號
cat -ns file1 > file2 將1文件拷貝到2中,并加上行號(-n),遇到多行空格只顯示一行(-s)

nl -n ln -b t file : file中的每行最前邊顯示行號(-n ln),并且空格不加行號
(-b t), 如果想在空格處加上,用-b a

  1. tac 反向顯示cat
  2. head 默認輸出前10行
  3. tail 默認輸出后10行

tail -n 自定義輸出幾行
例如:head -n 3 hello_world.txt
【注意-n與head之間有空格,-n和3之間空格可有可無】
練習(xí): 查看剛才自己的文件


tail -f 查看文件尾部,不退出,等待顯示后續(xù)追加至此文件的新內(nèi)容
【用途:監(jiān)控web服務(wù)器中哪個用戶正在訪問哪個網(wǎng)頁】

  1. less 逐頁顯示文本

less -S 規(guī)則輸出
less -N 顯示行號

文本處理

  1. cut 用來分割字段

cut -d (delimiter)指定分隔符, 默認tab。【不需要空格,直接加分隔符即可】
cut -f 顯示第幾個字段
cut -f 1,3 顯示第1和第3個
cut -f 1-3 顯示第1-3個
例如 cut -d: -f1 /etc/passwd 就抽取了這個文件的第一列

  1. sort 默認根據(jù)ASCII表中的順序升序排序

sort -n 按照數(shù)值大小排序,而非字母
sort -r (reverse) 降序排序
sort -t 指定字段分隔符 【等同于cut -d
sort -k 指定字段【等同于cut -f
sort -u 不管是否相鄰,只要重復(fù),行就顯示一次
sort -f 排序時忽略字符大小寫

  1. uniq
    【與sort不同。在它看來,只有相鄰的重復(fù)行才算做重復(fù)行。所以常與sort連用】

uniq -c 每列旁邊顯示該行重復(fù)出現(xiàn)的次數(shù)
uniq -d 僅顯示重復(fù)出現(xiàn)的行列 (一個代表)
uniq -D 顯示所有的重復(fù)行列 (全部)

  1. wc word count 文本統(tǒng)計
    結(jié)果依次顯示為:行數(shù)、單詞數(shù)、字節(jié)數(shù)

wc -l 只顯示行數(shù)
wc -w 只顯示單詞數(shù)
wc -c 顯示字節(jié)
wc -L 最長的一行包含了多少個字符

統(tǒng)計/bin目錄下命令個數(shù):ls /bin | wc -l

  1. tr 字符轉(zhuǎn)換或刪除 translate or delete characters

例如: tr 'ab' 'AB' 引號中的叫做字符集
這樣就把包含字符集a、b的文件對應(yīng)替換為A、B
但是tr不能直接加文件,如果想對一個文件中字符進行替換
使用輸入重定向<
tr 'ab' 'AB' < /etc/passwd
將所有小寫都換成大寫:tr 'a-z' 'A-Z'
tr -d 刪除出現(xiàn)在字符集中的所有字符
如: tr -d 'ab'

  1. sed 編輯工具

sed -s 替換
sed 's/A/B/' A替換成B
sed -a 行下添加
sed 'a X' 在每一行下面添加X
sed ‘1,2a A\nB\nC’ 在1-2行的下邊分別添加3行,3行內(nèi)容分別是A、B、C,\n是換行
sed -i 行上添加
sed 'i X' 在每一行上面添加X
sed -c 行替換
sed ‘c A’ 所有的行內(nèi)容都分別替換為A
sed ‘1,2c A’ 1-2行作為整體替換為A
sed ‘1,2c A\nA’ 1-2行分別替換為A
sed -d 行刪除
sed -y 字符替換

sed 'y/a:/f@/' a.txt a替換為f,:替換為@
刪除前7行沒用的,并輸出至txt文件中
sed '1,7d' *.gff3 > test.txt

  1. grep 查找文件里符合條件的字符串
    主要有兩種,一種基礎(chǔ)模式就是grep,一種拓展模式叫做egrep。
    egrep的特點就是支持更多的元字符

正則表達式:
它的語法結(jié)構(gòu)有兩套系統(tǒng)組成,元字符(metacharacters) + 普通字符
元字符主要由以下字符組成:
^ $ . [] {} - ? + () | \

grep -n 輸出包含匹配字符串的行數(shù)。
grep -c 顯示有多少行被匹配到(count)
grep -i 忽略匹配字段和匹配內(nèi)容的大小寫
grep -o 只打印匹配到的內(nèi)容
grep -A/B n 顯示搜索內(nèi)容后面n行/顯示搜索內(nèi)容的前面n行
grep -v 反轉(zhuǎn)查找。即顯示出沒有 '搜尋字符串' 內(nèi)容的那一行。
grep --color=always 始終高亮顯示搜索字段
【~/.bashrc 內(nèi)加上這行:alias grep='grep --color=auto 再以 source ~/.bashrc來立即生效即可,這樣每次運行g(shù)rep都會自動加上顏色顯示。】
grep -E 將范本樣式為延伸的普通表示法來使用。(即使用擴展正則表達式)

行首字節(jié) ^
行尾字節(jié) $
^[0-9] 以數(shù)字開始的行,[]內(nèi)可列舉字母
^[124ab] 以1,2,4,a,或b開頭的行
grep \'^.\' myfile.txt 列出所有以句點開頭的行
ls -l | grep '^a'
通過管道過濾ls -l輸出的內(nèi)容,只顯示以a開頭的行。
grep '[a-z]{5}' aa
顯示所有包含每個字符串至少有5個連續(xù)小寫字符的字符串的行。
grep \'w(es)t.*1\' aa
如果west被匹配,則es就被存儲到內(nèi)存中,并標(biāo)記為1,然后搜索任意個字符(.*),這些字符后面緊跟著另外一個es(1),找到就顯示該行。

  1. awk 目前只會提取符合要求的列,默認分隔符是空格

awk {’print $1‘} test.txt 提取第一列

awk -F : '{print $2}' 以‘:’為分隔符 提取第二列

  1. echo 打印到終端

echo -e "Hello world\nI love bioinformatics" > test.txt
-e 內(nèi)容中有特殊字符就需要加(比如換行符\n)處理特殊字符
""中就是打印的內(nèi)容
>字符輸出到哪里(覆蓋原文件)
>> (添加到原文件底部)

解壓

tar結(jié)尾 tar -xvf
gz 結(jié)尾 gunzip
tar.gz結(jié)尾 tar -xzvf
bz2結(jié)尾 tar -jxvf
zip結(jié)尾 unzip
rar結(jié)尾 unrar e


  • 附加
  1. ls輸出的是橫向的列表,怎樣輸出長格式列表(提示:搜索ls)
    ls -l
  2. 如何查看長格式列表中文件的大小?(提示:ls)
    ls -lh
  3. 查看Linux系統(tǒng)版本、內(nèi)存與硬盤空間?(提示:分別是三個命令)
    lsb_release -a
    free -m
    df -lm
  4. 怎樣建立類似/tmp/tmp1/tmp1.1 這樣的層級目錄(提示:搜索mkdir)
    mkdir -p tmp/tmp1/tmp1.1
  5. 怎樣刪除這些層級目錄(提示:搜索rm)
    rm -r tmp*
    切記
    rm -rf tmp* 不要使用

實用小技能

tree

下載安裝:

http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz
tar -zxvf tree-1.7.0.tgz
cd tree-1.7.0.tgz && make install

記得將安裝完的程序?qū)胱约旱沫h(huán)境變量
那么如何設(shè)置自己的環(huán)境變量呢,簡單說一下:

mkdir -p /place you like/soft (這里命名和存放位置自定義)
echo export PATH=/your install environment path/bin:$PATH >> ~/.bashrc
source ~/.bashrc

設(shè)置好后,將軟件copy到環(huán)境變量

cp tree /your environment PATH/

使用就很簡單啦:tree -h dir
(-h 意思是-human-readable,很方便地將文件大小表示出來)

常用Linux查看配置tip

  • df : disk free 顯示磁盤空余
  • du: disk usage 是對文件和目錄磁盤使用的空間的查看

du -ch file1 file2 顯示幾個文件大小并count總和
du -h | sort -nr | head -10 列出前10個占空間最大的文件,降序排列
cat /proc/cpuinfo | grep process | wc -l 查看cpu個數(shù),方便以后跑程序設(shè)置線程數(shù)
uname -a 查看linux 內(nèi)核/操作系統(tǒng)/CPU信息

grep練習(xí)

1. 搜索特定信息

搜索基因組注釋文件.gff中特定基因信息
grep "AT1G01680" *.gff | head -n5

2. 排除特定信息

搜索AT1G01680這個基因,但排除其中feature項的protein
grep "AT1G01680" *.gff | grep -v "protein" | head -n5

3. 查找特定序列并計算出現(xiàn)了幾次

grep -c "CAAATTGAATTAAG" *.fas
或者: grep "CAAATTGAATTAAG" *.fas | wc -l
如果單純輸出 就用grep -o

4. 精準匹配某個基因

搭配正則表達式。要匹配開頭為AT1G250,結(jié)尾為3的基因名
grep "AT1G250.*3$" *.gff

  1. 非空行計數(shù)
    grep -c "[^ \\n\\t]"

grep并非完美

查找TAIR10_chr_all.fas 中95-100之內(nèi)的‘CCACT’堿基

  • 先查看一下
    tail -n100 TAIR10_chr_all.fas | head -n5
  • 用肉眼就能看到'CCACT',但是如果用grep搜索 是沒有結(jié)果的
    tail -n100 TAIR10_chr_all.fas | head -n5 | egrep 'CCACT'
  • 用grep還是能實現(xiàn),就是不那么優(yōu)雅:
    tail -n100 TAIR10_chr_all.fas | head -n5 | tr -d '\n' | egrep 'CCACT'
    【tr -d(delete) 是刪除特定字段】
    更快捷的辦法
    可以使用emboss套件下的dreg, 它是針對核酸;如果是氨基酸序列和翻譯后的蛋白序列,使用preg
    tail -n 1000 chr22.fa | head -n 5 | dreg -filter -pattern 'TAATA'
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,363評論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,497評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,305評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,962評論 1 311
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,727評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,193評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,257評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,411評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,945評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,777評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,978評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,519評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,216評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,642評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,878評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,657評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,960評論 2 373

推薦閱讀更多精彩內(nèi)容