计算机专业实用技能导引 (4).pdf
《计算机专业实用技能导引 (4).pdf》由会员分享,可在线阅读,更多相关《计算机专业实用技能导引 (4).pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Introduction to Linux1Prologue1.1What is Linux图 1:Linux 的官方吉祥物 TuxLinux 是一种自由和开放源码的类 UNIX 操作系统,其内核由 Linus Torvalds在 1991 年发布。Linux 也是自由软件和开放源代码软件发展中最著名的例子,只要遵循 GNU,任何个人和机构都可以自由地使用 Linux 的所有底层源代码,这使得它得到来自全世界软件爱好者和组织的开发支持。Linux 以各种形式被广泛应用在各个领域,包括但不限于:服务器、主机、超级计算机 嵌入式系统(机顶盒、移动设备等)基础设施(红绿灯、工业传感器)1.2Linu
2、x Distros我们平时使用的“Linux”严格来说是 Linux 发行版本,而 Linux 狭义上单指操作系统的内核。发行版本在内核的基础上还包括安装工具、系统配置、图形桌面界面、各种 GNU 软件等,使得这个系统能够适用于各种使用目的。常见的 Linux 发行版有 Debian、Ubuntu、Fedora、CentOs、Arch Linux 等。不同的发行版使用的软件不同,有些发行版本是设计成专门的目的(比如 Kali 用于网安)我们提供的服务器安装的发行版是 Ubuntu 20.041.3Ways to Use Linux我们接触 Linux 的方式通常有以下几种:安装 Linux 系
3、统(单系统、Windows&Linux 双系统)WSL(Windows Subsystem for Linux)虚拟机(Virtualbox、Docker)服务器远程连接(SSH、RDP)我推荐有条件的同学给电脑装一个 Linux 系统(这样你就能在各种配置中度过一段漫长而有趣的时光了)12BASIC CONCEPTS22Basic ConceptsGUI:Graphical User Interface.图形用户界面,如其名。CLI:Command-Line Interface.命令行界面,如其名。Shell:一种软件,我们可以将它视为“用户到内核之间的中介”,它接受并解析(Parse)用户
4、输入命令行的 指 令,并 调 用 内 核 所 提 供 的 对 应 服 务。与 之 对 应 的,内 核 并 不 提 供 与 用 户 交 互 的 方 式。其实 Shell 还分为图形界面和命令行界面两种,比如 Windows 的文件浏览器、程序管理器都可以算是 GUI Shell,但用 Linux 时我们一般说的都是 CLI Shell。常见的 shell 包括 sh,bash,zsh,fish 等。Terminal:终端的名字来源于它在用户和机器交互过程中所处的位置:用户在终端输入、机器通过终端输出,现在我们已经不再需要专门的硬件充当终端,而是利用一个程序来模拟其行为。当我们打开一个终端模拟器(
5、如 Windows 的 cmd,Linux的 Konsole、gnome-terminal)时,一个 shell 随即被运行,我们就可以通过这个 shell所提供的 CLI 输入指令了。一个简单区分上述术语的回答:https:/ 101打开终端,界面上会出现类似于下面样子的提示符:trainingSAST-Training:$从左到右依次是当前身份 training,主机名 SAST-Training,和当前工作目录 以及一个美元符号(fish下是 号),这个美元符号表明当前用户不是 root。如果你用 root 身份打开 shell,呈现的提示符大概是这样rootSAST-Training:
6、#即#符号表明了 root 身份。3.1How does shell run command?在 shell 中你每次输入一个命令,这个命令被 shell 解析、运行,并将结果输出到终端。trainingSAST:$echo Hello SAST!Hello SAST!Shell 的命令由空格分割,第一个是要运行的程序(如上例 echo),后面跟它的参数(Hello World!)。注意到我们把想输出的 Hello SAST!用引号扩了起来,这样本来空格分隔的两个词就合并成了一个参数。(其实这个例子中并不需要将它们合并,因为 echo 指令可以接受多个字符串输入。)可是 shell 怎么知道
7、echo 指的是什么呢?这些程序都是 shell 内置的吗?其实当 shell 遇到它不认识的程序关键字时,会查询环境变量$PATH,在里面记录的路径中寻找 echo 这个程序,如果找到便执行。如果我们想知道这个程序实际所在的位置,可以使用 which echo。3SHELL 1013trainingSAST:$echo$PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bintrainingSAST:$which echo/usr/bin/echo所以当我们执行 echo Hello 时,实质上等价于执行/usr/bin
8、/echo Hello,后者明确指定了要执行程序的所在目录和它的名字。3.2Basic Commands接下来我们看一些基本指令。CommandDescription目录相关pwd当前目录cd切换目录ls查看目录列表mkdir创建目录find在层级目录下搜索文件文件相关touch创建mv移动(可用于重命名)cp拷贝rm删除chmod更改文件权限chown更改文件所属echo输出提供的文本file查看文件类型cat将文件内容输出到标准输出用户和组相关useradd创建用户groupadd创建组passwd更改密码chpasswd批量更改密码su一般用于切换用户sudo一般用于执行 root 权限
9、指令表 1:常用指令其他一些可能用到的指令包括 grep,ps,systemctl,ip 等。3SHELL 10143.3File System现在我们可以用 ls 和 cd 来翻阅系统里的文件了!首先是一些基本的表示:/表示根路径,表示家路径(/home/username/,如果是 root 则为/root/),.表示当前目录,.表示上一级目录。这些表示省去了很多写绝对路径的麻烦。你可以试试 cd 到这些地方,然后用 ls 查看目录里的内容。我们来看看根路径下都有哪些文件夹:图 2:List of root dir/etc 目录是系统根路径下最重要的目录之一,它是用来存储操作系统文件的公共区
10、域,比如/etc/sudoers,/etc/passwd 分别记录了拥有 root 权限的用户、系统内的所有用户信息。/var 目录是系统的服务或应用频繁写入的地方,比如/var/log 存储了程序的 log 文件。/tmp 里是一些程序只需要访问一两次的文件,每当系统重启时,这里的文件都会被清空。注意这个文件夹默认可被任何用户写入。/home 这个文件夹下是各个用户的家目录/mnt 是数据卷的挂载点;通过 usb 等接口连接的外部媒体也可能出现在/media 文件夹中/srv 存放这个服务器提供的服务所需的文件(如网站资源)3.4PermissionsLinux 系统支持多用户同时登录并执行
11、各自的任务。为了对不同用户进行管理控制,可以定义用户组(group)来划分不同的访问权限。我们通过具体例子来理解。trainingSAST:/Documents/sast-training$ls-ltotal 8drwxrwxr-x 2 training training 4096 7 月11 22:31 folder-rw-rw-r-1 training training0 7 月11 20:16 hello.txt-rwxrwxr-x 1 training training27 7 月11 22:33 program.sh对于目录中每一项开头的”-rw-rw-r”(以文本 hello.tx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机专业实用技能导引 4 计算机专业 实用 技能 导引
限制150内