在linux上的一些操作

  1. scp
    scp -r '/home/usrname/project/XXXX.fa' server_username@XX.XX.X.XX:~/filename/
    scp将本地文件上传到服务器(或者是别人)。server_username是在服务器上的用户名。你要把文件传到哪里,就在哪里打开终端。比方说你要把服务器上的文件传到本地,就在本地打开终端来scp。
    scp commands总结

  2. git clone
    git clone 'clone or download按钮下的HTTPS' '要clone过来的目录'

  3. md5sum
    md5sum 'XX/XX/filename'
    输入两个文件看两个文件是否完全一样。

  4. check ubuntu version
    lsb_release -a

  5. ubuntu 16.04 更新 r-base
    试试这个:https://stackoverflow.com/questions/55929757/installing-r-3-6-on-ubuntu-disco-19-04

  6. Print出fasta文件中每个reads的count数
    grep -v '>' XXXX.fasta | awk '{print length}'

  7. 还是grep
    zgrep的时候,要查找的字符没有颜色标记
    标准输出再解压,然后pip给grep,即有标记
    gzip -cd XXX.fastq.gz | grep -n 'string'

  8. 压缩
    保留原始.gz文件 并 解压到当前路径
    gunzip -c 'XXXX.fastq.gz' > 'XXXX.fastq'
    保留原始文件 并 压缩到当前路径
    gzip -c 'XXXX.fastq.gz' > 'XXXX.fastq' 不保留原文件的话,就gzip 'XXX.fastq',默认为.gz
    参考这个连接

  9. 解压显示末10行
    unzip XXX.gz -c | tail -n 10

  10. 建软连接,用scp传输
    比方说要传输给别人的文件分布在各个文件夹里,可以先新建一个文件夹,把各个文件的软链接(像快捷方式)放在里面,再scp给别人
    ln -s 'XXX/XXX/XXX.fa' 'XXX/X/X.txt' softlinktmp/
    cd softlinktmp/
    scp * XX@....:/XX/XX/XX

  11. 在服务器上运行jupyter lab, 在本地浏览器打开并操作
    参考这个连接
    还有这个

  • 登录服务器,写一个如下所示的.json, 保存在~/.jupyter/jupyter_notebook_config.json
{
  "NotebookApp": {
    "ip": "*",
    "open_browser": false
  }
}
  • 在服务器里运行jupyter lab试一下
    我在这里报错:KeyError:'allow_remote_access'参考
    服务器中vim打开vim ~/.jupyter/jupyter_notebook_config.py, 添加 c.NotebookApp.allow_remote_access = True,保存。再试一下就可以运行了。
  • 在本地ssh:
    ssh -L 8000:127.0.0.1:8888 username@XX.XX.X.XX
    进入服务器终端后,运行jupyter lab
    会发现一个token码:
    The jupyter notebook is running at: http://...../?token=XXXXXXXXXXXX
  • 复制上述token码,在本地浏览器中http://127.0.0.1:8000,如下所示:

输入token码即login可使用了。
另外如果要access本地的文件,可以直接拖拽到jupyter lab的左侧文件栏,就将文件upload到服务器上了。

  1. 查看路径中所有文件的大小
    du -h 就显示所有文件human readable size

  2. anaconda教程:(暂时够用了)
    https://zhuanlan.zhihu.com/p/32925500
    在conda里装个qiime1虚拟环境
    conda --version 先看看你的conda装了没
    conda env list 看看已经建好的环境都是啥
    conda create --name qiime1 建个叫qiime1的conda环境
    conda activate qiime1 到qiime1环境里去
    conda list 看看里面有什么(新建的就是空的)
    conda install -c bioconda qiime 在这个环境里安装qiime1,安装好了再conda list一下看看
    print_qiime_config.py直接在终端输入看看
    conda deactivate 退出conda

  3. 一个疑惑:我用11中提到的方法在本地打开了在服务器上运行的jupyter lab,然后试图用subprocess.Popen()来运行命令行,进入服务器我账户下的一个conda环境中用qiime1,但是一直报错
    nCommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.\nTo initialize your shell, run\n\n $ conda init <SHELL_NAME>\n\nCurrently supported shells are:\n - bash\n - fish\n - tcsh\n - xonsh\n - zsh\n - powershell\n\nSee 'conda init --help' for more information and options.\n\nIMPORTANT: You may need to close and restart your shell after running 'conda init'
    即使我在subprocess.Popen()conda init bash了,也没法重启shell....?
    最后我只好写XXX.py,在服务器终端我的conda里运行。

  4. 在conda里安装了Multiqc,但是没法update,总是v1.0,要装v1.6的
    参考 https://github.com/ewels/MultiQC/issues/729
    conda config --add channels defaults
    conda config --add channels conda-forge
    conda config --add channels bioconda
    conda install -y -c bioconda multiqc multiqc=1.6

  5. 在服务器里,想把自己所有的撒比进程都kill掉
    pkill -u your_user_name
    查看进程:ps -ef
    参考

  6. 一个文件夹的大小 disk usage
    du -sh XXX/ or du -h XX/

  7. 硬盘disk free
    df -h

  8. htop的解读
    在win10的ubuntu终端

PID:进程编码
USER:用户名:开这个进程的人
PR:进程的优先级
NI:进程的优先级:最小-20,最大20
VIRT:进程占用的虚拟内存值 (kb, =SWAP+RES)
RES:进程占用的物理内存值(kb)
SHR:进程使用的共享内存值(kb)
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
%CPU:进程占用的CPU使用率
%MEM:进程占用的物理内存占总内存的百分比
TIME+:该进程启动后占用的总的CPU时间
COMMAND:进程启动的启动命令名称
只看某个user的进程:u 然后选择user, Enter

  1. conda install出现报错:Segmentation fault(core dumped)
    不用把conda清空重新装:
    conda install spyder
    然后再install一次即可

  2. Linux系统图形界面卡死,kill掉进程
    你手贱点错了东西,linux的图形界面卡死了。终端ctrl + alt + t也打不开,这周你暴力关主机重启两次了,不想再折腾命苦的电脑了。
    Ctrl + Alt + F1(F1-6都行)打开终端字符界面,整个显示屏变成黑底白字。不要孩怕,输入你的用户名和密码进入终端,和图形界面上的终端一样的使用。通过top或者htop找到你要kill的PID:
    kill -9 PID
    然后再top或者htop一下,看看内存还在不在。
    还在的话切换回图形界面Ctrl + Alt + F7
    要是你问我Ctrl + Alt + F1都没有反应怎么办,等我遇到了再说。
    ....没想到这么快就遇到了,彻底卡死,只好按关机键暴力重启了=_=

  3. tmux
    https://linuxize.com/post/getting-started-with-tmux/
    分屏之后如果要调整各屏幕的大小:
    Ctrl+b + Alt+↑ 向上调整,就向下调整,左右同理。
    要退出(但是不关闭)sessions,则Ctrl+b +d ,然后想再进入则tmux attach即可

  4. 一个文件夹里有多少个文件
    cd XX/
    ls | wc -l

  5. 在ENA上下载数据
    下载整个project的序列数据用这个脚本试试:
    https://github.com/EnzoAndree/getENA
    下载samples的metadata:
    通过biosample的API获取json文件,比方说:
    https://www.ebi.ac.uk/biosamples/api/samples/SAMEA104228123

response = requests.get('https://www.ebi.ac.uk/biosamples/api/samples/{0}'.format('SAMEA104228123'))
content = response.content.decode('utf-8')
content_js = json.loads(content)['description']
# json.loads(content) 是一个字典,可以在里面找你要的Metadata了
  1. 在服务器上安装conda
    参考https://stackoverflow.com/questions/54226763/installing-anaconda-on-server

  2. 在服务器上运行jupyter lab, 想要用某个conda的kernel
    参考这个连接https://medium.com/@nrk25693/how-to-add-your-conda-environment-to-your-jupyter-notebook-in-just-4-steps-abeab8b8d084
    conda install -c anaconda ipykernel
    python -m ipykernel install --user --name=conda的名称
    重启一下jupyter lab的kernel,然后在kernel选择里选择你的conda即可 (好炫啊...还能这样搞)

  3. 在conda里pip install
    你想用conda安装一个包,但是这个包似乎没有conda安装的途径。conda之外是python3.5, conda里是3.6的环境。你想在conda里安装3.6的版本。
    先进到conda里来:
    (condaname)$ python3 -m pip install XXXX --user (在conda里python3是3.6的。 --user是因为我在服务器里,不能sudo)

  4. htop kill 进程
    F6 sort: 按照左边的提示选择按照什么来sort,enter
    F9 选中某个进程之后,快速按两下F9,按9,看到左边显示“Sigkill”,enter即可kill掉该进程

  5. Ctrl + Z
    将正在运行的东西挂起(stopped),然后按fg 后回车恢复。

  6. 在服务器上用别人的conda
    问到别人conda的路径:
    conda activate /XX/username/anaconda/envs/conda_name/

  7. print出一个directory里有多少个file
    ls -1 | wc -l

  8. 把shell中的Output输出到file
    $ cmd... >> XX.txt 是标准输出,要输出error:
    $ cmd... &>> XX.txt

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容