Linux是一个自由、免费、源码开放的操作系统,最初是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学学习Minix操作系统时出于个人爱好而编写的一个简易系统内核。
将其开发的内核发布到开源新闻组,随后吸引了大量的开源爱好者加入其中不断贡献想法和代码,推动Linux系统不断发展,并围绕Linux内核形成了一个具有众多衍生版本、持续发展的生态系统,应用遍及各行各业的,尤其在服务器操作系统等领域占据主导地位。
对Linux系统的使用是程序员必须掌握的基本技能之一,本实训主要通过一个个的关卡来带领大家学习和掌握Linux的基本使用等。
第1关:Linux初体验
任务描述
欢迎进行Linux
世界,当你下载、安装了某个Linux
发行版(笔者喜欢使用Ubuntu
),体验了Linux
桌面并安装了一些你喜爱和需要的软件之后,应该去了解下Linux
真正的魅力所在:命令行。每一个Linux
命令其实就是一个程序,借助这些命令,我们可以办到非常多的事情。
你的第一个任务就是切换当前工作目录为根目录/
,列出根目录下所有的文件信息。
相关知识
Linux目录结构介绍
对Linux
文件系统目录结构的了解是学习和掌握Linux
系统的基础。Linux
文件系统是树形层次结构,具体如下图所示。
Linux用户介绍
Linux
用户通常分为两类:
-
管理员用户(
root
); -
普通用户(类似
Windows
上的普通用户)。
Linux
登录系统后,默认当前所在目录为用户主目录,类似Windows
登录系统后,默认的所在目录为桌面。
-
管理员(
root
)登录系统后默认目录为/root
; -
普通用户登录系统后默认目录为
/home/username
,username
为用户名。 例如:笔者用普通用户fzm
登录系统后,那么当前所在目录为。/home/fzm
。
Linux 常用命令介绍
pwd命令
pwd(Print Working Directory )
:显示当前所在目录。
例如:笔者用普通用户fzm
登录系统后,那么当前所在目录为/home/fzm
。
cd命令
cd(Change Directory)
: 切换当前目录。
常用特殊目录表示:
- cd 进入用户主目录;
- cd ~ 进入用户主目录;
- cd - 返回进入此目录之前所在的目录;
- cd .. 返回上级目录(若当前目录为”/“,则执行完后还在”/“;”..”为上级目录的意思);
- cd ../.. 返回上两级目录;
- cd !$ 把上个命令的参数作为
cd
参数使用。
例如:切换当前目录为/bin
目录。
ls命令
ls(list)
: 列出指定目录列表信息,如果没有参数默认列出当前目录下的所有文件和文件夹(隐藏文件和文件夹除外)。
常见ls
命令选项:
-
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-
-a:显示所有文件和文件夹(包括隐藏文件/文件夹)。
例如:显示根目录下所有文件和文件夹。
编程要求
根据右侧窗口命令行内的提示,在Begin - End
区域内进行命令行语句补充,具体任务如下:
-
切换当前目录到根目录;
-
列出根目录下所有文件和文件夹(包括隐藏文件/文件夹)。
评测说明
补充完命令行后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
开始你的任务吧,祝你成功!
人若有志,万事可为!
#!/bin/bash
#在以下部分写出完成任务的命令
#*********begin*********#
cd /
ls -a
#********* end *********#
第2关:Linux常用命令
任务描述
恭喜你已经通过了第一关的实训,现在你掌握了pwd
、cd
和ls
命令的基本使用方法。接下来你应该学会关于文件和文件夹的常用操作。
本关你的任务是创建一个文件和一个文件夹,并且将新创建的文件拷贝到新建的文件夹下并重新命名。
相关知识
为了掌握本关知识,你需要掌握:
Linux
文件操作之创建文件,删除文件;Linux
文件夹操作之创建文件夹、删除文件夹、文件和文件夹拷贝、移动/重命名。
Linux文件操作
Linux
系统中最常用的文件操作有创建、删除文件等。
创建文件
linux中创建文件的常用命令是touch
,命令格式如下:
touch filename
有时可能需要创建一个空的文件的情况。在这种情况下,可以使用touch
命令来轻松创建一个空文件。
例如:创建一个新的文件testfile
可以使用如下命令。
touch testfile
如果想同时创建多个文件也可以使用touch
命令完成,具体格式如下:
touch file1 file2 ...
只需将不同的文件名用空格分隔即可完成创建多个文件。
删除文件
Linux
中常用的删除文件的命令是rm
,使用格式如下:
rm [命令选项] filename
常用命令选项:
-f:强制删除文件或目录;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
-i:删除已有文件或目录之前先询问用户。
例如,删除我们刚刚创建的文件testfile
可以使用如下命令。
rm -f testfile
Linux文件夹操作
Linux
中关于文件夹的操作主要包括创建和删除等。
创建文件夹
Linux
中创建文件夹命令是mkdir
,命令格式如下:
mkdir [命令选项] dirname
常用命令选项: -p或--parents
若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
例如:我们新创建一个文件夹testdir
可以使用如下命令。
mkdir testdir
因为新创建的文件夹是一个空的文件夹,所以使用ls -l
显示的结果是空。
删除文件夹
Linux
中删除文件夹的命令是rmdir
或者rm -r
,命令格式如下:
rmdir [命令选项] dirname
常用命令选项:-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
例如:将刚刚新创建的文件夹testdir
删除可以使用如下命令。
rmdir testdir
Linux文件和文件夹拷贝
Linux
使用cp
命令用来将一个或多个源文件或者目录复制到指定的目录中,命令格式如下:
cp [命令选项] 源文件 目的文件
常用命令选项:
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理。
例如:新建一个文件newfile
和一个文件夹newdir
,将newfile
复制到newdir
目录下。具体命令如下。
touch newfile
mkdir newdir
cp newfile newdir
Linux文件和文件夹移动/重命名
Linux使用mv
命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中,命令格式如下:
mv [命令选项] 源文件 目标文件
常用命令选项:
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理'。
例如:新建一个文件newfile
和一个文件夹newdir
,将newfile
剪切到newdir
目录下,并重新命名为newfileCpy
。具体命令如下。
touch newfile
mkdir newdir
mv newfile newdir/newfileCpy
编程要求
根据右侧窗口命令行内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
- 在当前目录下新建一个新的文件(名称为
newfile
); - 在当前目录下新建一个新的文件夹(名称为
newdir
); - 将
newfile
文件复制一份到newdir
目录下并命名为newfileCpy
。
评测说明
补充完命令行后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
开始你的任务吧,祝你成功!
你认为自己行就一定行,每天要不断向自己重复。
#!/bin/bash
#在以下部分写出完成任务的命令
#*********begin*********#
touch newfile
mkdir newdir
cp newfile newdir/newfileCpy
#********* end *********#
第3关:Linux 查询命令帮助语句
任务描述
恭喜你已经通过了第二关的实训,现在你掌握了Linux
常用命令的基本使用方法,Linux
中有上千个命令,背命令这条路是相当的坎坷;如果不背的话,那咱们就查命令呗。这时候就要祭奠出命令神器 man
与 info
。
本关你的任务是学会离线在Linux
系统上查询命令的使用方法。
相关知识
Linux man命令
linux中使用man
命令来查询命令的帮助文件,命令格式如下:
man [章节] command
常用命令如下:
d, Ctrl+D: 向文件尾部翻半屏;
u, Ctrl+U: 向文件首部翻半屏;
q: 退出;
#:跳转至第#行;
home: 回到文件首部;
end:翻至文件尾部。
命令的帮助文件通常存放在/usr/share/man
目录下。
man
包含9
个章节,章节用数字表示,分别是:
用户命令
系统调用
C库调用
设备文件及特殊文件
配置文件格式
游戏
杂项
管理类的命令
Linux 内核API
如果查询命令的时候不追加章节,则默认从第一个章节开始查询,以此类推,直到找到对应要查询的命令为止。
例如:使用man
命令查询open
命令的使用方法。
man open
如果想查询系统库函数的open
函数的使用方法,则使用如下命令:
man 2 open
使用man
搜索命令 以KEYWORD
指定的字符串为关键字,从当前位置向文件首部搜索,不区分字符大小写;
n: 下一个
N:上一个
Linux info命令
linux中使用info
命令来查询命令的帮助文件。info
页面比man page
编写得要更好、更容易理解,也更友好,但man page
使用起来确实要更容易得多。一个man page
只有一页,而info
页面几乎总是将它们的内容组织成多个区段(称为节点),每个区段也可能包含子区段(称为子节点)。
命令格式如下:
info [命令参数] command
常用命令参数选项:
-d:添加包含info格式帮助文档的目录;
-f:指定要读取的info格式的帮助文档;
-n:指定首先访问的info帮助文件的节点;
-o:输出被选择的节点内容到指定文件。
常见命令如下:
?键:它就会显示info的常用快捷键;
N键:显示(相对于本节点的)下一节点的文档内容;
P键:显示(相对于本节点的)前一节点的文档内容;
U键:进入当前命令所在的主题;
M键:敲M键后输入命令的名称就可以查看该命令的帮助文档了;
G键:敲G键后输入主题名称,进入该主题;
L键:回到上一个访问的页面;
SPACE键:向前滚动一页;
BACKUP或DEL键:向后滚动一页;
Q:退出info。
例如:我们使用info
来查询info
的帮助手册。
info info
Linux whatis命令
whatis
用来显示命令的简短描述。
命令格式如下:
whatis command
例如:我们使用whatis
来查询ls
的使用方法。
编程要求
根据右侧窗口命令行内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
- 使用man查询
C
库中的fopen
函数使用方法。
评测说明
补充完命令行后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
开始你的任务吧,祝你成功!
真正的才智是刚毅的志向。
#!/bin/bash
#在以下部分写出完成任务的命令
#*********begin*********#
man 3 fopen
#********* end *********#