课前预热
课件准备工作:安装软件
心理建设:
linux系统介绍
实战1:登录服务器
填表法
命令法
ssh June16@192.144.162.230;密码是: pd29769
ssh June16@192.144.162.230 #输好就按回车键,然后输入密码:pd29769
可能遇到的问题
网络异常:重新登录
校园网不行就换下手机热点
拒绝访问:设置登录端口
如何退出登录
重新登录
正确填写范例
练习1
让工具更好用
1.修改命令行配色
echo 'export PS1="\[\033]2;\h:\u \w\007\033[33;1m\]\u \033[35;1m\t\033[0m \[\033[36;1m\]\w\[\033[0m\]\n\[\e[32;1m\]$ \[\e[0m\]"' >> ~/.bashrc source ~/.bashrc
2.修改字体
3.修改复制粘贴快捷方式
Linux系统简介
/bin,/sbin--存放工具
超级用户登陆后在root文件夹下,普通用户在home文件夹下,目前设置在biotrainee文件夹下
命令格式:命令 + 选项 +文件
如何传输数据
windows: xftp,filezilla,winscp
Mac
练习2
文件夹与文件管理命令
## 工作目录 pwd ## print working directory 打印工作目录 ls ## list 列出文件 cd ## change directory 切换目录 ## 创建 mkdir ## make directory 建立一个新的目录 touch ## 创建文件 (“摸”一个文件出来) ## 操作文件 mv ## move 移动和重命名 rm ## remove 删除 ## 链接 ln ## link 链接文件 ## 压缩 tar ## tape archive 压缩或解压文件
场景1: 打开指定的文件夹并查看内容
Linux里一些默认的符号
绝对路径和相对路径
常用Linux快捷键
Tab:
正则表达式
* 匹配任意多个字符(0到正无穷)
?匹配任何单个字符
文件夹与文件管理命令
d:文件夹;-普通文件; l:链接文件
理解权限
1.pwd
2.cd: change the shell working directory
cd .. ## 切换到上层目录,相对路径 cd ../.. ## 切换到上上层目录,相对路径 cd / ## 切换到根目录 cd /bin ## 切换到根目录下的bin,绝对路径 cd ~ ## 回到用户家目录 cd ## 同上,回到用户家目录 cd - ## 返回上一次的工作目录
3.ls:list information about the FILEs
常见参数:
-a ## 列出全部的文件,连同隐藏文件也一起列出来(防止这些文件被改动或复制黏贴等,常常以 . 开头) -l ## 列出目录的详细信息 ##以下几个参数需要联合 -l一起使用 -h ## 将目录容量转换为以人类易读的方式(例如 GB, KB 等等) -S ## 以文件大小排序 (大写!!!) -t ## 以时间排序
常见用法
ls ## 列出当前目录的文件 ls ./ ## 同上,‘.’号代表当前目录 ls ./*txt ## 列出当前目录下以 txt 结尾的文件 ls ../ ## 列出上层目录的文件 ls -a ## 列出当前目录下的所有文件,包括隐藏文件 ls -l ## 列出当前目录下文件的详细信息 ll ## 等同ls -la ,自定义的别名 ls -lh ## 加上 -h 参数,以 K、M、G 的形式显示文件大小 ls -lh / ## 列出根目录下文件的详细信息 ls -th ## 按照时间排列文件(以人类易读方式)(常用于查看新生成的文件,最新的文件会在最上面) ## 大多数情况下,参数的位置可以互换
练习3
家目录:自己家,随便操作(创建、删除也可)
根目录:最最上层
场景2: 新建一个文件夹, 在里面创建文件
mkdir: make a directory---建立一个新的目录
命名文件、文件夹规则
驼峰命名法:从第二个单词开始首字母大写
蛇形命名法:下划线隔开单词
tree命令: 以树的结构展示文件目录结构
tree命令并不是所有的系统版本都自带,有的版本需要安装
##常用参数 -L level1 Descend only level directories deep. -p Print the protections for each file. -u Displays file owner or UID number. -g Displays file group owner or GID number. -s Print the size in bytes of each file. -h Print the size in a more human readable way. -D Print the date of last modification or (-c) status change. tree -pughsD -L 1 /
touch: “摸”一个文件出来,新建文件
touch:新建文件
常见参数:没有
常见用法:touch file
练习4
cd后接一个ls--查看(形成肌肉记忆)
场景3:文件搬搬搬——移动、重命名、复制和删除
在Windows下是如何操作的呢? 拖拽、右键选择“复制/粘贴/删除”
mv:移动或者重命名
注意:重命名时需要注意名字是否使用过,有可能误操作会导致重名文件丢失
cp:copy and paste
常见参数:-r, copy directories recursively
常见用法:cp [OPTION] SOURCE DIRECTORY
把文件夹及其包含的文件都拷贝过去
rm:remove
##常见参数: -f ##force 强制删除不显示警告讯息 -i ##在删除前会先询问用户 -r ## 递归删除文件夹 ##常见用法: rm [-option] file
常见用法:
练习4
场景4:创建软连接
1.相当于windows下的快捷方式,方便操作。
2.节约空间,cp是复制粘贴
ln:link 链接,分软链接(常用)和硬链接(默认)
常见参数:不加参数即为硬链接,加上 –s 参数即为软链接,软链接的作用类似快捷方式 常见用法:ln –s TARGET DIRECTORY (软链接)
删除软链接(不管软链接的对象是文件还是文件夹):rm ; 千万不要rm -r:会递归的把所在文件夹整个删除!!!
如图所示:蓝色表示链接成功,红色不成功
场景5:压缩文件怎么处理呢?
tar:tape archive 压缩或者解压文件.
##常见参数: -c ## 创建一个新的tar归档文件(创建压缩文件) -x ## 从已有tar归档文件中提取文件(解压缩) -f ## 输出结果到文件或设备 -v ## 在处理文件时显示文件(显示处理进度) -j ## 将输出重定向给bzip2命令 -z ## 将输出重定向给gzip命令 ## 常见用法 解压:tar [参数] [待解压包] 压缩:tar [参数] <压缩后文件名> [待压缩文件/目录] #zxvf顺序最好不要改变,即使改变f也要放在最后
zx/cvf 注意键盘顺序
解压
压缩
其他压缩和解压命令
打包和压缩的区别
小技巧
文本查看、操作、统计命令
文件查看
标准输出流
cat: concatenate 查看文本文件的内容,输出到屏幕
不能正常删除的话就 ctrl+del !!!
head / tail:查看文件的前/后 n 行,默认 10 行
more:逐页查看,按空格翻页,按回车换行,q退出
less [参数] 文件名
n往下翻,N往上翻
练习6
less也可以查看压缩文件
##1. $ cat > file 12345 un deux trois quatre cinq ^C June16 15:32:30 ~ $ cat file 12345 un deux trois quatre cinq ##2. $ cd Data/ -bash: cd: Data/: No such file or directory June16 15:35:23 ~/Data $ ls bashrc_bk example.fq Homo_sapiens.GRCh38.102.chromosome.Y.gff3.gz example.fa example.gtf readme.txt June16 15:35:43 ~/Data $ head -12 example.fq @ERR329499.1 HWUSI-EAS697:8:115:13414:19955#ACAGTG/1 AAAAAATTGGTGTTATAAGACTTCTGGACCCTGAAGATGTCGATGTCTCCTCACCTGATGAAAAATCAGT + HIIIIIIHIIHIHIIIGEIIIIIIIIIIIIIIHEHIGIIHHHIIIHIGIIIIIIGGIEHIDEIHBEBEFB @ERR329499.2 HWUSI-EAS697:8:116:12001:8002#ACAGTG/1 CATGTTGTCACTTTTTCCATGAGCCACGTAGTACAGAGAACGCGGCACTCCATAAGGACCATTTGTCCTG + GGEECDGGE@GGGGGGGGBGEDBGGHHGHGEBGDDDB@DGHDHFBGBDBDD@D2DCECEB@>?C@BECEC @ERR329499.3 HWUSI-EAS697:8:109:15856:9893#ACAGTG/1 GCCAGATCCATTTTCAGTGGTCTGGATTTCTTTTTATTTTCTTTTCAACTTGAAAGAAACTGGACATTAG + IIIIIIIIIGIIIIHBIBFFBBDBB=DGGBA:>=:1@D<A>><=CA@@@A@@79===...9=98=@CC@@ June16 15:36:06 ~/Data $ tail -12 example.fq @ERR329499.998 HWUSI-EAS697:8:110:6476:20240#ACAGTG/1 GTGCGTTCTGGTGGGAGGGTAGGAGGTGCAGCCCCAAGCCCCCCCCCCCCCCCCCCCCCCCACGCCCGCC + GHHHHHDHHHGBGGD;D==;CEC?BA*?A==@?==DEEGEC<8A########################## @ERR329499.999 HWUSI-EAS697:8:105:13870:5157#ACAGTG/1 CTTCGGTGTGTCCTTCAAAGATTTACACAACATTGTCCTAAAGGGAAGTCACAGCAGCTTAGCTGTTTCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIII @ERR329499.1000 HWUSI-EAS697:8:113:1532:14172#ACAGTG/1 CAGATTACTTTTAACTNCATGGGTTAAATTCCTGTGGGAGTCTTACAGGCAGTGTTTGGACCTTCTTAGA + IHIIIIIIIIIIIIID#DBEBBC?BHIGIIIIHIIHHHHIGIIIIGIHGHIIDDGFFFCDGIGIFGHDFG ##3. June16 15:36:24 ~/Data $ less example.gtf June16 15:37:26 ~/Data $ less -S example.gtf June16 15:38:03 ~/Data $ less -SN example.gtf
文件操作
wc:统计文本
常见参数:(不加参数的话输出的三个数值就是 行数、字符数、字节数)
-l 统计行数 (小写的L)
-w 统计字符串数 (前后是空格就认为是一个字符)
-c 统计字节数
cut :文本切割
常见参数:
-d 指定分隔符,默认\t(Tab键);
-f 输出哪几列(字段fields)
指定分隔符只能单个字符
-f 不论写的顺序,都会按照从小到大的列数输出
sort:排序
常见参数:
-n:按照数值从小到大进行排序
-V:字符串中含有数值时,按照数值从小到大排序
-r:逆向排序
-k:指定区域
-t:指定分隔符
(1)-k -r
-k 3是一对,-r要么放前面要么放后面,不要放中间
(2)-k -n
只有-k不是按照数值大小排序,是比较每一位的数值
加上-n即可按数值大小排序
(3) -V
uniq:取出重复行
常见参数:
-c 统计每个字符串连续出现的行数
-c
paste:文本合并
常见参数:
-d:指定分隔符
-s:按行合并
常见用法:
1. paste file1 file2
2. seq 20 | paste - -
相当于R里的cbind
上下合并
paste 左右合并
指定分隔符 -d
按行合并 -s
seq 20 | paste - -
tr:字符替换
常见参数:
-d:删除指定字符
-s:缩减连续重复字符
"被替换" "要替换": 替换
(1) -d
tr -d " "--去除空格
tr -d "\n"------去除分行(\n--回车)
^i (或者\t)——Tab键
(2)-s
(3) 替换 tr "被替换" "要替换的"
练习7
##1.用 cat 查看 example.gtf,通过管道符传递给wc,统计行数 cat example.gtf | wc -l ##2.截取 example.gtf 第 9列的内容 cat example.gtf | cut -f 9 | head ##3.在第2步的基础上以分号作为分割符,截取第1列 cat example.gtf | cut -f 9 |cut -d ";" -f 1 | head ##4.在第3步的基础上排序、去重复并统计行数 cat example.gtf | cut -f 9 |cut -d ";" -f 1 | sort -n | uniq -c ##5.在第4步的基础上,将空格替换成冒号 cat example.gtf | cut -f 9 |cut -d ";" -f 1 | sort -n | uniq -c | tr " " ":"
小结
cut后面的行数无论何种顺序,输出结果都是按照从大到小,awk命令可以按照书写顺序输出
拓展
http://man.linuxde.net/Linux命令大全
linux命令在线中文手册linux命令手册
鸟哥的Linux私房菜:基础学习篇 第四版 | 鸟哥的 Linux 私房菜:基础学习篇 第四版鸟哥的Linux私房菜:基础学习篇 第四版(在线阅读版)