lscpu #查看服务器信息 pic1
free -h #查看内存 pic2
df -h #查看硬盘信息 pic3
du -h -d 1 pic4
Mar402 15:45:28 ~
$ du -sh ~ #显示文件大小的总数
4.0G /trainee/Mar402
top # 查看系统进程与任务 pic5 (q退出)
htop #是top的高级版 自己的服务区用conda安装 pic6
ps -ef #pic7
变量:环境变量、状态变量、位置参数变量、自定义变量,
调用变量时,要在变量前面加一个 $ 符号
• 环境变量:用于存储有关shell会话和工作环境的系统变量 • 状态变量:用于记录命令的运行结果
• 位置参数变量:用于向命令或程序脚本中传递信息
• 自定义变量:由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等
自定义变量:由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等(注:= 前后不要有空格)
Mar402 16:15:45 ~
$ a=gene
Mar402 16:25:21 ~
$ echo 1234
1234
Mar402 16:25:30 ~
$ echo
Mar402 16:25:32 ~
$ echo $a
gene
Mar402 16:25:44 ~
$ echo 'This is a $a' #单引号里变量不会被解释
This is a $a
Mar402 16:27:05 ~
$ echo "This is a $a" #双引号里 变量会被解释,$a原本被赋予的值(gene)
This is a gene
环境变量:用于存储有关shell会话和工作环境的系统变量
常见环境变量:
• $HOME:当前用户的主目录
• $PATH:shell查找命令的目录列表,由冒号(:)分隔。
• $SHELL:bash shell的全路径名
• $LOGNAME:当前用户的登录名
• $PS1:shell命令行界面的主提示符
Mar402 16:27:29 ~
$ ls # 为什么输入ls就有内容,它需要满足环境变量的三个条件 pic9
bget file3 Miniconda3-latest-Linux-x86_64.sh tmp2
bget_0.3.2_Darwin_64-bit.tar.gz gi mydir tmp2.fa
bin hisat2-2.1.0 README.md tmp.fa
catfile hisat2-2.1.0-Linux_x86_64.zip readme.txt Trimmomatic-0.39
Data LICENSE RNA.env.txt Trimmomatic-0.39.zip
file md5 samtools-1.14
file2 miniconda3 tmp1
Mar402 16:34:02 ~
$ which ls #条件1 ls真实存在于这个服务器上,在bin下面
/bin/ls
Mar402 16:34:10 ~
$ ll /bin/ls #条件2 有可执行权限
-rwxr-xr-x 1 root root 133792 Jan 18 2018 /bin/ls*
Mar402 16:36:14 ~
$ echo $PATH | tr ':' '\n' #条件3 存在的路径在PATH这个变量中
/trainee/Mar402/bin
~/bin
/trainee/Mar402/miniconda3/condabin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin
-----满足上面三个条件才可调用(全局调用脚本)-----
-rw-rw-r-- 1 Mar402 Mar402 33 Mar 27 15:55 file3
ar402 16:55:53 ~
$ chmod u+x file3 #ch(change) u(用户者) +文件名
Mar402 16:56:38 ~
$ ll file3
-rwxrw-r-- 1 Mar402 Mar402 33 Mar 27 15:55 file3*
Mar402 16:56:48 ~
$ chmod 777 file3 #开到最大权限
Mar402 17:36:44 ~
$ ll file3
-rwxrwxrwx 1 Mar402 Mar402 33 Mar 27 15:55 file3*
#删除权限用 “-”号 pic10
Mar402 17:36:53 ~
$ echo $? #$?上一个命令是否执行成功 0 为成功,非零则是出错了
0
if 条件语句常见的格式 pic12
if 语句数值判断 pic13
Mar402 18:10:14 ~
$ if [ 1 -eq 1 ] #[] 里要打空格 1-eq1可以连着写
> then
> echo "ok"
> else
> echo "???"
> fi
ok
例子见ppt
Mar402 18:10:51 ~
$ for i in 1 2 3 4 5
> do
> echo ${i} 'hi'
> sleep 3s #中间暂停3秒在输出下一个
> done
1 hi
2 hi
3 hi
4 hi
5 hi
(base) Mar402 19:06:15 ~
$ for i in ${list}
> do
> echo "This is a ${i}"
> done
This is a CDS
This is a exon
This is a gene
(base) Mar402 19:07:00 ~
$ for i in {1..5}
> do
> touch file${i}
> done
(base) Mar402 19:18:14 ~
$ ls file*
file file1 file2 file3 file4 file5
(base) Mar402 19:18:38 ~
$ for i in `ls file*`
> do
> mv ${i} ${i}.txt
> done
(base) Mar402 19:19:40 ~
$ ls file*
file1.txt file2.txt file3.txt file4.txt file5.txt file.txt
(base) Mar402 19:19:40 ~
$ ls file*
file1.txt file2.txt file3.txt file4.txt file5.txt file.txt
(base) Mar402 19:19:47 ~
$ ls file* | while read id
> do
> mv ${id} ${id}.txt
> done
(base) Mar402 19:23:02 ~
$ ls file*
file1.txt.txt file2.txt.txt file3.txt.txt file4.txt.txt file5.txt.txt file.txt.txt
(base) Mar402 19:26:35 ~
$ cat config
file1.txt.txt
file2.txt.txt
file3.txt.txt
file4.txt.txt
file5.txt.txt
file.txt.txt
(base) Mar402 19:26:45 ~
$ cat config | while read id
> do
> mv ${id} ${id%.txt} #加了个%删掉一个txt
> done
(base) Mar402 19:28:15 ~
$ ls file*
file1.txt file2.txt file3.txt file4.txt file5.txt file.txt
例子 pic 16
(base) Mar402 19:28:50 ~
$ id=example.txt.fa
(base) Mar402 19:33:09 ~
$ echo ${id}
example.txt.fa
(base) Mar402 19:33:16 ~
$ echo ${id#*.}
txt.fa
(base) Mar402 19:33:43 ~
$ echo ${id#*e}
xample.txt.fa
(base) Mar402 19:34:44 ~
$ echo ${id##*.}
fa
(base) Mar402 19:34:53 ~
$ echo ${id%.*}
example.txt
(base) Mar402 19:35:57 ~
$ echo ${id%%.*}
example
(base) Mar402 19:36:19 ~ #从尾巴开始去,再添加
$ echo ${id%.*}.fq
example.txt.fq
(base) Mar402 19:42:18 ~
$ echo ${id/fa/fq}
example.txt.fq
#查询有多少个字符
(base) Mar402 19:42:43 ~
$ echo ${#id}
14
(base) Mar402 19:46:53 ~
$ echo ${id:3} $Linux是从0开始,从第4个字符取到最后
mple.txt.fa
(base) Mar402 19:48:31 ~
$ echo ${id:3:5} #从第4个字符开始往后取5个字符
mple.
(base) Mar402 19:48:38 ~
$ echo ${id:3:-1}
mple.txt.f
(base) Mar402 19:50:06 ~
$ for i in {1..10}
> do
> touch SRR12345${i}.fastq
> done
(base) Mar402 19:59:02 ~
$ ls *fastq
SRR1234510.fastq SRR123453.fastq SRR123456.fastq SRR123459.fastq
SRR123451.fastq SRR123454.fastq SRR123457.fastq
SRR123452.fastq SRR123455.fastq SRR123458.fastq
(base) Mar402 20:00:28 ~
$ ls *fastq | while read id; do echo "fq2fa.sh ${id} > ${id%.*}.fasta"; done
fq2fa.sh SRR1234510.fastq > SRR1234510.fasta
fq2fa.sh SRR123451.fastq > SRR123451.fasta
fq2fa.sh SRR123452.fastq > SRR123452.fasta
fq2fa.sh SRR123453.fastq > SRR123453.fasta
fq2fa.sh SRR123454.fastq > SRR123454.fasta
fq2fa.sh SRR123455.fastq > SRR123455.fasta
fq2fa.sh SRR123456.fastq > SRR123456.fasta
fq2fa.sh SRR123457.fastq > SRR123457.fasta
fq2fa.sh SRR123458.fastq > SRR123458.fasta
fq2fa.sh SRR123459.fastq > SRR123459.fasta
# 方法二替换
(base) Mar402 20:07:35 ~
$ ls *fastq | while read id; do echo "fq3fa.sh ${id} > ${id/fastq/fasta}"; done
fq3fa.sh SRR1234510.fastq > SRR1234510.fasta
fq3fa.sh SRR123451.fastq > SRR123451.fasta
fq3fa.sh SRR123452.fastq > SRR123452.fasta
fq3fa.sh SRR123453.fastq > SRR123453.fasta
fq3fa.sh SRR123454.fastq > SRR123454.fasta
fq3fa.sh SRR123455.fastq > SRR123455.fasta
fq3fa.sh SRR123456.fastq > SRR123456.fasta
fq3fa.sh SRR123457.fastq > SRR123457.fasta
fq3fa.sh SRR123458.fastq > SRR123458.fasta
fq3fa.sh SRR123459.fastq > SRR123459.fasta
(base) Mar402 20:08:22 ~
$ id=example
(base) Mar402 20:09:29 ~
$ fastqc ~/Data/${id}.fq
null
Started analysis of example.fq
Approx 100% complete for example.fq
Analysis complete for example.fq
(base) Mar402 20:10:58 ~
$ if [ $? -eq 0 ]
> then
> echo "yes!"
> else
> echo "no"
> fi
yes!
(base) Mar402 20:15:42 ~
$ for i in {1..10}
> do
> touch file${i}
> done
(base) Mar402 20:16:16 ~
$ ls file*
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
(base) Mar402 20:19:01 ~
$ ls file*
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
(base) Mar402 20:19:18 ~
$ ls file* | while read id
> do
> echo "hi!" > ${id}
> done
(base) Mar402 20:20:06 ~
$ ll -thr file*
-rw-rw-r-- 1 Mar402 Mar402 4 Apr 4 20:20 file8
-rw-rw-r-- 1 Mar402 Mar402 4 Apr 4 20:20 file7
-rw-rw-r-- 1 Mar402 Mar402 4 Apr 4 20:20 file6
-rw-rw-r-- 1 Mar402 Mar402 4 Apr 4 20:20 file5
-rw-rw-r-- 1 Mar402 Mar402 4 Apr 4 20:20 file4
-rw-rw-r-- 1 Mar402 Mar402 4 Apr 4 20:20 file3
-rw-rw-r-- 1 Mar402 Mar402 4 Apr 4 20:20 file2
-rw-rw-r-- 1 Mar402 Mar402 4 Apr 4 20:20 file10
-rw-rw-r-- 1 Mar402 Mar402 4 Apr 4 20:20 file1
-rw-rw-r-- 1 Mar402 Mar402 4 Apr 4 20:20 file9
(base) Mar402 20:20:28 ~
$ cat file10
hi!
---来自生信技能树---
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。