第二期 深度操作系统与开源社区

MidYouth



一、课程目标

  1. 了解Linux基本内容,明白Linux内核及其操作系统的理论。
  2. 掌握Linux基本命令行指令及使用。
  3. 学习编写shell脚本,并能够如何在终端中运行。
  4. 学习使用开源平台GitHub。

二、课程任务

1. Linux文件与目录

1.1 目录

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。

1.2 路径

对一个目录路径对表示有两种方法:
绝对路径
路径的写法,由根目录 / 写起,例如:

$ /usr/share/doc

这个目录。
相对路径
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:

$ cd ../man

这就是相对路径的写法啦!

1.3 文件的ownership

我们电脑中的每一个文件/文件夹都有着它自己的拥有者和用户组,我们通过命令

$ ls -lah

可以查看当前工作路径下所有文件以及他们的所有者、群组和权限,如下:
ownership

其中第一列表示权限,apple一列表示文件的所有者,staff一列表示文件所在的群组,7 17 15:45一列表示上一次的修改时间,最后一列表示文件或目录的名字,其他不要求掌握。

选做:查询权限一列的十个字母分别代表什么含义

2. Linux相关命令

2.1 命令的基本构成

$ ls(命令体) -l(选项) /var(参数/对象)

2.2 目录相关命令:

命令 用法(注意空格) 作用
cd cd ./目录1/目录2 进入当前目录下的子目录(相对路径)
cd .. 返回上一级目录
pwd pwd 显示当前工作路径
ls ls 选项 目录或文件名 列出目录下所有的文件
file file 文件或目录 显示文件的类型(目录、text、zip、shell脚本等)
mkdir mkdir dir1 创建目录(dir1)

2.3 文件相关命令:

命令 用法(注意空格) 作用
touch touch a.txt 创建文件a.txt(文件类型也可以是sh、py、word等)
rm rm 文件 删除文件(注意写文件名时一定要带上后缀)
mv mv 文件或目录1 文件或目录2 移动或者重命名一个文件或者目录(存在即移动目录或覆盖文件,不存在即改名)
mv /目录1/目录2/文件1 /目录1/文件或目录2 移动文件1到目录1下并改名为文件2(若为目录则为移动文件1到目录2下)
cp cp -i /目录1/目录或文件 /目录1/目录2/ 复制目录(或文件)到目录2下(选项i表示覆盖前询问)
cat cat -n 文件名 显示文件内容,连行号一起显示
head head -n 文件名 显示文件头n行内容,n指定显示多少行
tail tail -n 文件名 显示文件尾几行内容,n指定显示多少行
nano nano 文件名 打开文件并进行编辑
tree tree -L number 显示当前路径下的“number”层文件

2.4 常用快捷键与history命令

快捷键 作用
tab 命令行自动补全
ctrl+c 强制退出当前进程
ctrl+l 清空当前界面
up/down 历史中的上一条/下一条命令

在Linux中,当你想要调取之前的命令时,你除了可以使用up/down键,还可以使用history命令显示更多的历史命令,如下:

$ history

得到history
想使用之前的命令方法如下

$ !509

这样Linux就会执行第509条命令。

2.5 ">"符号

$ ls -lah > /desktop/a.txt

利用“>”符号可以将输出结果输入到a.txt文件中。