『Linux 干货』#1 终端与Shell(简明)

『Linux 干货』#1 终端与Shell(简明),第1张

继 Git 后贵系的另一个暑培项目,讲授 Linux 的基本用法,恰好这学期「 *** 作系统」课程实验需要用到 Linux,而且实验室的服务器也需要学习相关用法,故学之。

本文部分内容参考了清华 ZAH 同学的教程,部分参考了 刘遄 老师的《 Linux 就该这么学 》, 菜鸟教程-Linux 。

Linux,全称 GNU/Linux,是一套免费使用和自由传播的类 Unix *** 作系统。相比于其他系统,Linux 更加稳定且有效率、更加安全、相对不耗资源……以至于几乎所有 长期稳定运行的网站服务器 上、在 处理大数据的集群系统 中,以及需要 协同工作的服务器环境 都采用 Linux 系统。

Linux 严格来说是单指 *** 作系统的 内核 ,因 *** 作系统中包含了许多用户图形接口和其他实用工具。如今 Linux 常用来指「基于 Linux 的完整 *** 作系统」,内核则改以「Linux 内核」称之。

一些组织或厂商将 Linux 内核与各种软件和文档 包装 起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了 Linux 的发行版本。

在学习 Linux 的过程中,有几个易混淆的概念:

命令行界面(Command-Line Interface,CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(Character User Interface,CUI)。

一般来说,在 服务器 中较多采用的是 CLI 界面,或许有以下几点原因:

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 等系统的桥梁,如同「 」一般。它的本质是一个 命令解释器 ,将用户输入的命令(符合 Shell 语法)处理成对应 *** 作系统的控制命令 ,处理完毕后再将结果反馈给用户。

不同 *** 作系统下面的 Shell 种类众多,常见的有:

Ken Thompson 的 sh 是第一种 Unix Shell,本教程关注的是 Bash,也就是 Bourne Again Shell,Bash 也是大多数 Linux 系统默认的 Shell。

终端 (Terminal),是一种用来让用户输入数据至计算机,以及显示其计算结果的机器。早期的终端通常就是一台 电子打字机 (Teletypewriter, TTY),后来随着计算机的发展,打字机被键盘和显示器取代,而 GUI 界面也成了主流。

于是,这时候我们就需要一个程序来模拟传统终端的行为,即 终端模拟器 (Terminal Emulator),当用户打开终端模拟器时,实际上是进入一个 会话进程 (Session)。终端模拟器有很多,这里举几个经典的例子:

在 Linux 系统中打开终端时,会看到一个提示符,通常类似 hewei@hewei-VirtualBox ~$ 。在提示符下,命令会被 Shell 环境 解析并反馈 到终端中。

提示符是 Shell 最主要的 文本接口 。它告诉你,你的主机名是 hewei-VirtualBox ,你现在的身份是 hewei 并且你当前的 工作目录 (Current working directory)是 ~ (默认在 /home/hewei/ 用户目录)。

$ 符号表示您现在的身份不是 root ,输入如下命令可以暂时切换到 root 权限:

输入密码后,可以看到提示符变成了 root@hewei-VirtualBox:/home/hewei# ,其中 # 符号就是超级用户权限的标志。再输入 exit 即可退回普通用户身份。

在 Git学习笔记 #1 基础知识介绍 中,已经简单介绍了命令行界面的一些使用技巧,这些命令在 Linux 系统的 Bash 中同样使用。这里罗列出 Linux 常用快捷键:

常见的执行 Linux 命令的格式是这样的: 命令名称 [命令参数] [命令对象] 。其中,命令参数用于对命令进行调整,使之更好地贴近需求,参数分为 长格式 短格式 ,如: man --help , man -h 。短格式之间可以合并,合并后仅保留一个减号即可。

在 Linux 相关的手册中,我们会约定俗成地将可选择的、非必需的参数使用 中括号 引起来,而命令所要求的、必须有的参数或对象值,则不带中括号。

此外,要注意 Linux 系统中的命令、参数、对象都是 严格区分大小写 的。

Shell 除了是一个 交互式 (Interactive)的命令解释器,它还是一种 程序设计语言 (Shell Script)。它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

用 Shell 编写的 脚本文件 即 .sh 文件,它能在 Shell 环境下运行,fork 出一个 子进程 ,调用系统内核来执行 批处理 (Batch)的系统控制。在文件的第一行,通常是 #!/bin/bash ,这句话约定了这个脚本需要哪种 Shell 环境来执行。

通过如下命令就可以执行一个 Shell 脚本:

下面罗列了部分常用指令与参数的介绍,更多功能请在帮助手册中检索。

编写好的shell脚本(如:test),可以采取两种方式进行运行:\x0d\x0a一、 $ sh test\x0d\x0a一般不采用这种调用方式,尤其不采用“sh<test”的调用方式,因为这种方式将禁止shell读取标准输入。\x0d\x0a也可以采用 $ ksh test\x0d\x0a这种方式要求shell具有“可读”的访问权限。\x0d\x0a二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。\x0d\x0achmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限)\x0d\x0achmod +rx test(同上)\x0d\x0achmod u+rx test(只有文件属主具有读和执行的访问权限)\x0d\x0a按照上述要求设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚本了。\x0d\x0a1、test(如果命令检索路径包含当前目录)\x0d\x0a2、./test(如果命令减缩路径不包含当前目录)\x0d\x0a*说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。

怎么用shell格机

1. 首先,打开您的shell终端,比如Linux或Mac OS X下的Terminal,Windows下的CMD或PowerShell。

2. 使用cd命令切换到您想要使用shell的目录。

3. 使用ls命令列出当前目录下的文件和文件夹。

4. 使用mkdir命令创建新的文件夹。

5. 使用rm命令删除文件和文件夹。

6. 使用cat命令查看文件的内容。

7. 使用cp命令复制文件和文件夹。

8. 使用mv命令移动文件和文件夹。

9. 使用grep命令搜索文件内容。

10. 使用man命令查看shell命令的帮助文档。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7942090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存