实验1:Linux常用命令练习(1):基础命令

一、实验目的
1. 掌握Linux登录、退出方法;
2. 掌握常用Linux文件操作和目录操作命令;
			
二、实验环境
1. 操作系统:客户端Windows,服务器端Linux
2. 主要软件:putty
			
三、实验原理
1. 文件内容查看
(1)cat
[功能]
显示文件内容
[命令格式]
cat [option] [file]
[常用选项] 
[其它用法] 
新建文件:$cat <file
合并文件:$cat file1 file2 >file3
管道用法:$cat file |sort
(2)zcat
[功能]
	显示压缩文件内容
[命令格式]
zcat [option] [file]
[常用选项]
(3)head
[功能]
	显示文件头部内容
[命令格式]
	head [option] [file]
[常用选项]
	-n number或-number:显示前number行
(4)tail
[功能]
	显示文件尾部内容
[命令格式]
	tail [option] [file]
[常用选项]
	-n number或-number:显示最后number行
(5)more
[功能]
分页显示文件内容
[命令格式]
	more [option] [file]
[常用选项]
(6)less
[功能]
分页显示文件内容(功能比more强大)
[命令格式]
	less [option] [file]
[使用技巧]
①搜索
当使用命令 less file-name 打开一个文件后,可以使用下面的方式在文件中搜索。
搜索时整个文本中匹配的部分会被高亮显示。 向前搜索
/ - 使用一个模式进行搜索,并定位到下一个匹配的文本
n - 向前查找下一个匹配的文本
N - 向后查找前一个匹配的文本 
向后搜索
? - 使用模式进行搜索,并定位到前一个匹配的文本
n - 向后查找下一个匹配的文本
N - 向前查找前一个匹配的文本 
②全屏导航
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏 
③单行导航
j - 向前移动一行
k - 向后移动一行 
④其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令
⑤其它有用的命令
v - 使用配置的编辑器编辑当前文件
h - 显示 less 的帮助文档
&pattern - 仅显示匹配模式的行,而不是整个文件
2. 文件操作
(1)cp
[功能]
	复制文件或目录
[命令格式]
	cp [option] source_file	target_file
[常用选项]
	-r:复制目录
	-f:如果目标文件已存在,不提示直接覆盖
	-i:覆盖之前提示
(2)mv
[功能]
	移动或重命名文件或目录
[命令格式]
	mv [option] source_file	target_file
[常用选项]
	-f:如果目标文件已存在,不提示直接覆盖
	-i:覆盖之前提示
(3)rm
[功能]
	删除文件或目录
[命令格式]
	rm [option] file
	rm –r directory
[常用选项]
	-f:如果目标文件已存在,不提示直接覆盖
	-i:覆盖之前提示
	-r:删除目录及其中的内容
(4)ln
[功能]
	建立连接
[命令格式]
	ln [option] file link
[常用选项]
	-s:建立软连接
(5)touch
[功能]
	修改文件或目录的时间戳
[命令格式]
	touch [option] file
[常用选项]
	-t stamp:使用时间(格式[[CC]YY]MMDDhhmm[.ss])代替当前时间戳
[其它用法]
	生成新的空文件(touch后面的文件不存在的话)
(6)chown
[功能]
	修改文件或目录的属主
[命令格式]
	chown [option] user file
[常用选项]
	-R:修改目录及其中的所有文件和目录的属主
(7)chmod
[功能]
	修改文件或目录的权限
[命令格式]
	chmod mode file
[常用选项]
	-R:修改目录及其中的所有文件和目录的权限
[示例]
	chmod 755 at_cds.fa
	chmod +x blast_parser.pl
	chmod go-w index.php
(8)locate
[功能]
	通过文件名查找文件
[命令格式]
	locate [option] patern
[常用选项]
(9)find
[功能]
	查找文件(功能比locate强大)
[命令格式]
	find [option] expression
[常用选项]
	-anewer file:查找比文件file修改时间晚的文件
	-name pattern:查找文件名包含pattern的文件
3.文件内容处理
(1)grep
[功能]
	显示匹配特定模式的行
[命令格式]
	grep [option] pattern file
[常用选项]
	-E:使用扩展的正则表达式匹配
	-c:只显示匹配的行数
	-i:匹配时忽略大小写
(2)sort
[功能]
	排序文件内容
[命令格式]
	sort [option] file
[常用选项]
	-k:设定排序的字段
	-n:按数字大小(而不是ASCII码顺序)排序
	-r:反向排序
[示例]
	sort –k2,2 pt.gff
	sort –k2,2n –k3,3nr pt.gff
(3)cut
[功能]
	从文件的每一行中取出特定的列(默认为制表符分隔)
[命令格式]
	cut [option] file
[常用选项]
	-f:(后跟数字n)取出第n列
	-d:(后跟字符x)定义列的界定符
	-b:取出特定字节
	-c:取出特定字符
[示例]
cut –f2 pt.gff
cut –d’ ’ –f3 pt_modified.gff
cut –b2-10 pt.gff
cut –c11- pt.gff
(4)paste
[功能]
	按列合并文件
[命令格式]
	paste [option] file1 file2
[常用选项]
	-d:定义合并时的分隔符(默认为制表符)
(5)sed
[功能]
	过滤或转换文本的流编辑器
[命令格式]
	sed [option] command file
[常用选项]
[示例]
	sed 1,4d pt.gff
	sed s/A/a/g at.gff
(6)tr
[功能]
	转换或删除字符
[命令格式]
	cat file |tr pattern1 [pattern2]
[常用选项]
	-d:删除pattern1
(7)awk
[功能]
	awk本身是一门脚本语言,有控制结构及变量定义。但常见的用法为重新排列一个文件的列。
[命令格式]
	awk program-text file
[常用选项]
	-F:定义输入文件的列分隔符
	-f:执行脚本文件,而不是执行program-text脚本
[示例]
	awk -F'\t' -v OFS='\t' ’{print $2,$3,$1}’ pt.gff
(8)comm
[功能]
	对两个已经排好序的文件进行比较。其中file1 和file2 是已排序的文件。comm 读取这两个文件,
然后生成三列输出:仅在file1 中出现的行;仅在file2 中出现的行;在两个文件中都存在的行。如果文件名
用“- ”,则表示从标准输入读取。
[命令格式]
	comm [-123] file1 file2
[常用选项]
	-1 
	-2 
	-3
选项1 、2 或3 抑制相应的列显示。例如
comm - 12 就只显示在两个文件中都存在的行;
comm - 23 只显示在第一个文件中出现而未在第二个文件中出现的行;
comm - 123则什么也不显示。
(9)diff
[功能]
	逐行比较两个文本文件,列出其不同之处。它比comm 命令完成更复杂的检查。它对给出的文件进行
系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。结果为将文件1改成文件2
需要的步骤。
[命令格式]
diff [option] file1 file2 
[常用选项]

4. 目录操作
(1)ls
[功能]
    显示目录内容
[命令格式]
    ls [option] [dirs]
[常用选项]
-l:显示详细信息
-a:显示所有文件(包括隐藏文件)
(2)cd
[功能]
	改变当前目录
[命令格式]
	cd [dir]
[常用选项]

(3)mkdir
[功能]
	新建目录
[命令格式]
	mkdir [option] directory
[常用选项]
	-p:在目录中新建目录
(4)rmdir
[功能]
	删除空目录。如果目录中有文件或目录,该命令无效,如果要删除非空目录及其内容,需使用rm –r。
[命令格式]
	rmdir [option] empty-directory
[常用选项]
	-p:删除目录及其父目录
			
四、实验内容
1. Linux服务器的远程登录
(1)在Windows下运行SSH客户端程序PuTTY;
(2)主机一栏填服务器IP或域名,字符编码设置选UTF-8;
(3)点击Open按钮,输入用户名(在该服务器上的帐号)和密码(注意:输入过程不显示*)。
2. 文件内容查看
(1)在个人主目录下新建目录linux(如果已有就忽略该步骤),并在其中新建目录exp,在exp目录中新建目录exp_1;
(2)将/home/pub/seq/目录下的文件at_LEC1_CDS.fa和pt_partial.gff.gz复制到exp_1目录中;
(3)分别用cat、zcat、head、tail、more、less查看两个文件内容,比较各程序的异同。
3. 文件及目录操作
(1)在目录exp_1下新建目录tmp;
(2)将文件at_LEC1_CDS.fa复制到目录tmp中,并命名为at_LEC1_CDS_backup.fa;
(3)将目录tmp复制到exp_1下,并命名为tmp1;
(4)将目录tmp复制到exp_1下,并命名为tmp2;
(5)使用rmdir删除目录tmp1和tmp2,看是否能成功;
(6)删除tmp1中的文件at_LEC1_CDS_backup.fa;
(7)再次使用rmdir删除目录tmp1,看是否能成功;;
(8)使用rm -r删除目录tmp2;
(9)在目录exp_1中,为文件at_LEC1_CDS.fa建立软连接和硬链接,比较二者的异同。
4. 文件内容处理
将文件pt_partial.gff.gz中包含CDS的行取出,并且只保留序列名、起始位置和终止位置3列,
再按序列名大小升序、起始位置降序排列,利用awk将起始位置和终止位置放到1、2列,序列名放到第三列,
最后将结果保存到pt_result。
			
五、实验报告
1.实验环境(包括操作系统和软件),实验步骤,结果文件记录; 
2.实验中遇到的问题,如何解决的。