生信學(xué)習(xí)筆記Day2——圖鬼狐

image.png

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


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

1.linux是什么?

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

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

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

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


3. 怎樣召喚linux?

3.1. Windows10上的linux

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

3.2. Windows7 上的linux

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

3.3. Mac上的linux

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

如何使用putty遠(yuǎn)程登錄服務(wù)器?
一開(kāi)始注冊(cè)的用戶名是root,登陸密碼就是你自定義的,但是輸入密碼是沒(méi)有任何顯示的(連星星符號(hào)都沒(méi)有),你只管一次性打完,不要懷疑鍵盤(pán)壞了,輸對(duì)了就能進(jìn)去,輸錯(cuò)了會(huì)給你三次重試的機(jī)會(huì)。
練習(xí)的時(shí)候使用云服務(wù)器的這個(gè)root用戶是可以的,因?yàn)椴还苣愠隽耸裁床铄e(cuò),都可以重置恢復(fù),但是實(shí)際運(yùn)行項(xiàng)目肯定不能使用root用戶,一般都是需要服務(wù)器管理員給你一個(gè)賬號(hào)密碼,讓你遠(yuǎn)程登錄。

IP地址拷貝你的公網(wǎng)IP(用于遠(yuǎn)程登錄) ,然后打開(kāi)putty,操作流程:在主機(jī)名稱(或IP地址)輸入你的公網(wǎng)IP,點(diǎn)擊打開(kāi)
登陸后會(huì)彈出一個(gè)對(duì)話框,選擇yes ,然后彈出一行字:login as ,在后面輸入root(也就是你的用戶名)【當(dāng)然如果你自己有服務(wù)器的話,申請(qǐng)時(shí)管理員會(huì)告訴你用戶名和密碼】,接著他會(huì)讓你輸入密碼,你只需要輸入自己剛才在阿里云改好的密碼就行

<meta charset="utf-8">

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

4.1目錄管理

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

    image

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

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

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

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

  1. cd 接一個(gè)目錄名,進(jìn)入該目錄

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

image
  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 ##存放生信項(xiàng)目
mkdir tmp ##存放一些雜七雜八
mkdir src ##存放源代碼
mkdir del ##過(guò)會(huì)要用
‘#’后面是注釋?zhuān)褪墙忉尨a的文字。是不參與運(yùn)行的

image

4.2文件管理

  1. rm 刪除操作

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

image
  1. touch通過(guò)改時(shí)間戳來(lái)創(chuàng)建新的空文件,可連續(xù)創(chuàng)建。

  2. vi 新建腳本或者文本文檔(vi是linux中的文本編輯器)

    image
  3. stat 用于顯示文件的屬性/狀態(tài)信息。能看到那三個(gè)時(shí)間戳 [訪問(wèn)、更改、改變]。

  4. cp 復(fù)制文件
    使用:cp file1 file2
    多個(gè)文件到一個(gè)目錄
    使用:cp {file1, 2,3} /dir/ --> 花括號(hào)展開(kāi)機(jī)制

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

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

    image

4.3 文本查看

【只用于文本!不要用來(lái)打開(kāi)二進(jìn)制文件】

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

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

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

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

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

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

image

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

  1. less 逐頁(yè)顯示文本

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

4.4 文本處理

  1. cut 用來(lái)分割字段

cut -d (delimiter)指定分隔符, 默認(rèn)tab?!静恍枰崭?,直接加分隔符即可】
cut -f 顯示第幾個(gè)字段
cut -f 1,3 顯示第1和第3個(gè)
cut -f 1-3 顯示第1-3個(gè)
例如 cut -d: -f1 /etc/passwd 就抽取了這個(gè)文件的第一列

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

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

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

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

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

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

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

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

例如: tr 'ab' 'AB' 引號(hào)中的叫做字符集
這樣就把包含字符集a、b的文件對(duì)應(yīng)替換為A、B
但是tr不能直接加文件,如果想對(duì)一個(gè)文件中字符進(jìn)行替換
使用輸入重定向<
tr 'ab' 'AB' < /etc/passwd
將所有小寫(xiě)都換成大寫(xiě):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(jué)
sed ‘1,2a A\nB\nC’ 在1-2行的下邊分別添加3行,3行內(nèi)容分別是A、B、C,\n是換行
sed -i 行上添加
sed 'i X' 在每一行上面添加X(jué)
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行沒(méi)用的,并輸出至txt文件中
sed '1,7d' *.gff3 > test.txt

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

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

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

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

  1. awk 目前只會(huì)提取符合要求的列,默認(rèn)分隔符是空格

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)容
>字符輸出到哪里(覆蓋原文件)
>> (添加到原文件底部)

4.5 解壓

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輸出的是橫向的列表,怎樣輸出長(zhǎng)格式列表(提示:搜索ls)
    ls -l

    image
  2. 如何查看長(zhǎng)格式列表中文件的大?。浚ㄌ崾荆簂s)
    ls -lh

    image
  3. 查看Linux系統(tǒng)版本、內(nèi)存與硬盤(pán)空間?(提示:分別是三個(gè)命令)
    lsb_release -a
    free -m
    df -lm

    image
  4. 怎樣建立類(lèi)似/tmp/tmp1/tmp1.1 這樣的層級(jí)目錄(提示:搜索mkdir)
    mkdir -p tmp/tmp1/tmp1.1

    image
  5. 怎樣刪除這些層級(jí)目錄(提示:搜索rm)
    rm -r tmp*

    image
  • 切記
    rm -rf tmp* 不要使用

5.實(shí)用小技能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)境變量呢,簡(jiǎn)單說(shuō)一下:

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/

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 基礎(chǔ)命令 主要的命令和快捷鍵 Linux系統(tǒng)命令由三部分組成:cmd + [options]+[operation...
    485b1aca799e閱讀 1,234評(píng)論 0 0
  • 一、學(xué)習(xí)內(nèi)容: 什么是linux,什么是服務(wù)器? 為什么學(xué)生信要用linux? 怎樣召喚linux--阿里云服務(wù)器...
    Hocchan_7閱讀 814評(píng)論 0 50
  • 本文筆記源自這里——[實(shí)驗(yàn)樓]歡迎大家在下面交流其中有問(wèn)題的地方喜歡請(qǐng)點(diǎn)收藏,每日更新(全部已親自實(shí)踐). 一. ...
    東皇Amrzs閱讀 4,334評(píng)論 7 54
  • 第 2 章 SHELL 基礎(chǔ)知識(shí)2.1 shell腳本我們?cè)谏厦婧?jiǎn)單介紹了一下什么是shell腳本,現(xiàn)在我們來(lái)進(jìn)一...
    LiWei_9e4b閱讀 1,652評(píng)論 0 0
  • 昨天晚上兒子回來(lái)后給我說(shuō)他是跟其他兩位同學(xué)一起回家的。我知道他一直跟住在一個(gè)小區(qū)的同學(xué)蒲回家,后來(lái)有一段時(shí)間兒子總...
    過(guò)眼耳走心思閱讀 121評(píng)論 0 0

友情鏈接更多精彩內(nèi)容