1.1.Basic Command
特别注意: 在Linux中空格有着专门的意义,所以要特别关注教程中列出的命令行中的空格符,不可以省略空格,否则Terminal里的命令会无法正确执行。
本节我们学习一些 Linux 的基本操作
man
查询某一命令的具体参数,例如:man wget
mkdir
创建文件夹
cd
目录切换(注意区别相对路径与绝对路径)
ls
显示文件夹中文件列表
cat
直接查看文件
wc
查看文件行数、字数
cut
取出文件中的特定列或字符
sort
排序
uniq
去重复
grep
文件中关键词搜索,返回行
chmod
修改文件的访问权限
0) 获取文件用于练习
1) 基本知识
linux 路径
相对路径(从当前目录开始)
file_name
:当前目录下的文件folder_name/
:当前目录下的文件夹..
:上一级目录../file_name2
:指上一级目录下的文件
绝对路径(从根目录
/
开始)/home/test
:用户家目录
2) 基本操作
对接下来介绍的所有命令不理解时,均可使用 --help
来查询,如 ls --help
pwd
显示当前目录
ls
显示文件夹中文件(夹)列表
tree
以树形结构显示文件夹
接下来的每步操作后,同学们都可以跑一遍 pwd
, ls
和 tree
,加深对路径和命令的理解
cd
目录切换
3) 创建、删除与复制文件(夹)
touch
创建文件
mkdir
创建文件夹
cp
复制文件(夹),用法:cp SOURCE DEST
注意:当 DEST
为文件夹且已存在时,会把 SOURCE
整个(包括其自身)复制到 DEST
中
mv
重命名或移动文件(夹)
rmdir
删除文件夹
rm
删除文件(夹)
4) 查看文件
注:
我们准备了一个文件"test.gtf"用于下面的练习,把下文中的file_name替换为test.gtf即可。
获取文件的方法见上文中的 “0) 获取文件用于练习”。
cat
直接查看文件
wc
查看文件行数、字数
head
查看文件前几行
tail
查看文件后几行
more/less
翻页查看文件
5) 文件信息提取和操作
cut
取出文件中的特定列或字符
sed
编辑文件
grep
文件中关键词搜索,返回行
sort
排序
uniq
去重复
Tips
file_name
中没有重复的行,该命令的效果要在下一节的最后一条命令中才能直观地看到。
6) 压缩和数据流重定向
gzip
压缩文件
gunzip
解压缩文件(.gz
文件)
tar
打包压缩、解压缩文件(夹)
-c
打包压缩-x
解压-t
查看压缩包里的文件名-z
.gzip
格式-f
指定压缩文件名
>
将终端结果输出给文件,会创建新文件或者覆盖原文件
>>
将终端结果输出给文件,内容会加在原文件尾部
|
管道,将左边命令的标准输出(standard output)作为右边命令接受的标准输入(standard input)
Tips 1. 管道命令只处理前一个命令正确输出,不处理错误输出(standard error)。 1. 管道命令右边命令,必须能够接收标准输入流命令才行。
7) 查看、修改文件权限
本节的操作前后要注意使用 ls -hl
,对比操作前后文件权限的变化
用户及用户组:文件所有者 u(user),用户组 g(group),其他人 o(other),所有人 a(all)
chmod
修改文件的访问权限,分为数字模式和符号模式。
数字模式:
三位数分别表示文件所有者,用户组,其他人
r
表示可读,w
表示可写,x
表示可执行
用数字表示:可读 r
=4,可写 w
=2,可执行 x
=1
例如:777
表示所有用户对文件具有读、写、执行权限;755
表示文件所有者对文件具有可读、可写、可执行权限,其他用户只具有可读、可执行权限。
符号模式:
+
加入-
除去=
设置
8) 其他命令
top
监视计算机使用情况(按 q 退出)
date
显示系统的时间和日期,可用于为程序运行时长进行计时
which
寻找可执行文件,显示路径
ctrl-c 终止当前进程
ctrl-z 暂停当前进程
9) 清理
10) 更多推荐阅读
《鸟哥的Linux私房菜-基础学习篇》 (5-10章推荐章节)
Linux 推荐章节:
第5章: 5.3.1 man page; 第6章: 6.1用户与用户组; 6.2 LINUX文件权限概念; 6.3 LINUX目录配置
第7章: 7.1目录与路径; 7.2文件与目录管理; 7.3文件内容查阅; 7.5命令与文件的查询; 7.6权限与命令间的关系; 第8章: 8.2文件系统的简单操作
第9章: 9.1压缩文件的用途与技术; 9.2 Linux系统常见的压缩命令; 9.3打包命令:tar
第10章 vim程序编辑器
11) 课后作业
对于示例文件(test_command.gtf),尝试使用相关命令或命令组合分别统计文件的行数以及字符数。
利用
grep
等命令尝试筛选并输出示例文件中以 chr_ 起始,并且基因id为 YDL248W 的行。利用
sed
等命令将示例文件中的 chr_ 替换为 chromosome_ 并输出每行的第1,3,4,5列。(无需改动原文件,只输出结果)通过
man
命令以及更多的资料学习简单的awk
命令,尝试互换示例文件的第2列和第3列,并且对输出结果利用sort
命令依照第4和第5列数字大小排序,将最终结果输出到result.gtf文件中。更改示例文件的权限,使得文件所有者及所在用户组用户可读、写、执行而其他用户只可读,展示权限修改前后的权限变化。
所需的 test_command.gtf 文件可以从链接 Files Needed 的
Files
路径下的相应文件夹中下载。注意首先要学会如何把 host (例如,你的 MacOS 或者 Windows 11)里面的文件共享给 Docker 里面的 Linux。
把上面题目所需的输入命令行和输出结果整理到一个文本文件提交即可,文件格式: md(推荐),word, pdf, txt。
Last updated