参考资料中的Linux命令手册可以帮助我们快速查阅linux相关命令,上游分析相对来说比较枯燥,很没有互动感,但不管怎么样这也是必学的部分之一。
常见命令:
ls(List):
列出当前目录或指定目录下的文件和子目录。
ls 显示当前目录中的所有文件;ls /home/user 显示 /home/user 目录中的文件。
pwd(Print Working Directory):
显示当前所在的工作目录(即当前路径)。
执行 pwd 将显示当前目录的完整路径,例如 /home/user/documents。
cd(Change Directory):
切换当前工作目录。
cd /home/user 将切换到 /home/user 目录;cd .. 切换到上一级目录。
cp(Copy):
复制文件或目录。
cp file1.txt file2.txt 将 file1.txt 复制为 file2.txt;cp -r dir1 dir2 将目录 dir1 及其内容复制到 dir2。
mv(Move):
移动或重命名文件或目录。
mv file1.txt file2.txt 将 file1.txt 重命名为 file2.txt;mv file.txt /home/user/ 将 file.txt 移动到 /home/user/ 目录。
rm(Remove):
删除文件或目录。
rm file.txt 删除 file.txt;rm -r dir/ 递归删除目录 dir 及其所有内容。rm 删除是不可恢复的,请谨慎使用。
touch:
创建一个新的空文件,或更新现有文件的时间戳。
touch file.txt 将创建一个名为 file.txt 的空文件,如果文件已存在,则更新其时间戳。
mkdir(Make Directory):
创建新目录。
mkdir newdir 创建一个名为 newdir 的目录。
rmdir(Remove Directory):
删除空目录。
rmdir emptydir 删除一个名为 emptydir 的空目录。如果目录不为空,可以使用 rm -r 来递归删除。
ln(Link):
为文件或目录创建链接。可以创建硬链接或符号链接(软链接)。
硬链接:ln file1.txt file2.txt 创建 file1.txt 的硬链接 file2.txt,两者共享同一文件数据。符号链接:ln -s /path/to/original /path/to/link 创建一个指向原始文件或目录的符号链接(类似于快捷方式)。
查看:
head/tail:查看文件的开头(head)或结尾(tail)几行内容。
head filename:查看文件的前 10 行。
tail filename:查看文件的后 10 行。
cat/tac:
cat:从头到尾显示文件内容。
tac:从尾到头显示文件内容。
less/more:
less:逐页查看文件内容,支持向前向后滚动。
more:逐页查看文件内容,支持向前滚动。
zcat/zless:
zcat:显示压缩文件(.gz)的内容。
zless:逐页查看压缩文件的内容。
统计、排序、去重相关:
wc:统计文件中的行数、单词数、字节数等。
wc -l filename:统计文件的行数。
|(管道符):将前一个命令的输出作为下一个命令的输入。
cat filename | grep "pattern":将文件内容通过管道传递给 grep 命令。
sort:对文件内容进行排序。
sort filename:对文件进行字母顺序排序。
uniq:去除重复的行,通常与 sort 配合使用。
sort filename | uniq:对文件排序并去除重复行。
tr:替换或删除字符。
tr 'a-z' 'A-Z':将小写字母转换为大写字母。
paste:将多个文件的对应行合并输出。
剪切、黏贴、分割相关:
cut:剪切文件中的指定列或字段。
cut -d ',' -f 1 filename:按逗号分隔,提取第一列。
split:将文件按行数或字节数分割为多个小文件。
split -l 1000 filename:将文件按每 1000 行进行分割。
comm:比较两个已排序的文件,输出它们的不同之处。
xargs:将标准输入转换为命令行参数,常与管道符 | 配合使用。
cat filelist | xargs rm:读取文件列表并逐个删除文件。
高级处理:
grep:搜索文本中的指定模式(正则表达式)。
grep "pattern" filename:搜索文件中包含 pattern 的行。
sed:流编辑器,用于文本替换、插入、删除等操作。
sed 's/old/new/g' filename:将文件中的 old 替换为 new。
awk:强大的文本处理工具,常用于字段提取和格式化输出。
awk '{print 2}' filename:输出文件中的第一和第二列。
环境部署:
尝试使用ARM架构(M1/M2芯片)去安装fastqc trim-galore hisat2 subread multiqc samtools salmon fastp,但这些软件中有几个是不兼容的。所以需要改回原来的x86_64架构(Intel芯片)
CONDA_SUBDIR=osx-64 conda create -n rna_x86_64 python=3.9
conda activate rna_x86_64
conda install -y sra-tools
conda install -y fastqc trim-galore hisat2 subread multiqc samtools salmon fastp
conda install -y -c hcc aspera-cli
参考资料:
Linux命令手册:http://linux.51yip.com/ 生信技能树: https://mp.weixin.qq.com/s/XD46-lAt87FJXEpupmdTHQ https://mp.weixin.qq.com/s/TPpyEl04CuDhyShsX_exEQ https://mp.weixin.qq.com/s/UQT2NDXGeRDSLrQhuyu1xQ 生信技能树课程时间线: https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&__biz=MzAxMDkxODM1Ng==&scene=24&album_id=2201138830328528899&count=3&uin=&key=&devicetype=iMac+Mac14%2C7+OSX+OSX+14.6.1+build(23G93)&version=13080810&lang=zh_CN&nettype=WIFI&ascene=1&fontScale=100
致谢:感谢曾老师以及生信技能树团队全体成员。
注:若对内容有疑惑或者有发现明确错误的朋友,请联系后台(欢迎交流)。更多内容可关注公众号:生信方舟
- END -