【Linux】->Linux基本概念及操作

Ⅰ Linux终端

通常我们在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成用户输入和显示输出,Linux 系统还提供了一个叫做终端模拟器的程序(Terminal)。

如我在C语言的博文里,编译的窗口,就是Windows的PowerShell。
在这里插入图片描述
下面是几个比较常见的终端模拟器:
gnome-terminal,Konsole,xterm,rxvt,kvt,nxterm 和 eterm 。
不过要注意的是这里所说的终端(Terminal)和控制台(Console)是有区别的。

终端的概念:

终端(Terminal)也称终端设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。随着移动网络的发展,移动终端(如手机、PAD)等得到了广泛的应用。此时,终端不仅能承担输入输出的工作,同时也能进行一定的运算和处理,实现部分系统功能。

终端本质上是对应着 Linux 上的 /dev/tty 设备,Linux 的多用户登录就是通过不同的 /dev/tty 设备完成的,Linux 默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6 个 virtual consoles)来让用户登录。在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换。

Ⅱ Shell

通常在图形界面中对实际体验带来差异的不是上述的不同发行版的各种终端模拟器,而是这个 Shell(壳)。有壳就有核,这里的核就是指 UNIX/Linux 内核,Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe 。普通意义上的 Shell 就是可以接受用户输入命令的程序。它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。同样的 UNIX/Linux 下的图形用户界面 GNOME 和 KDE,有时也被叫做“虚拟 shell”或“图形 shell”。

UNIX/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的脚本语言。当然这一点也有别于 Windows 下的命令行,虽然该命令行也提供了很简单的控制语句。在 Windows 操作系统下,有些用户从来都不会直接使用 Shell,然而在 UNIX 系列操作系统下,Shell 仍然是控制系统启动、X11 启动和很多其它实用工具的脚本解释程序。

在 UNIX/Linux 中比较流行的常见的 Shell 有 bash、zsh、ksh、csh 等等,Ubuntu 终端默认使用的是 bash,默认的桌面环境是 GNOME 或者 Unity(基于 GNOME)。

Ⅲ Linux常用快捷键

A. 输入输出说明

Linux中,最重要的就是命令。其包含了两个过程,一个是输入,一个是输出。
输入就是打开终端,键盘输入后按回车,这里主要提一下输出。

输出会返回你要的结果,如果你要查看文件,就会返回文件的内容。如果只是执行,失败了会给出提示,成功了则不会有输出。因为Linux的哲学是,没有结果就是最好的结果。

B. 主要快捷键

a. 补全命令

Tab键。

使用Tab键来进行命令补全,这个技巧给你带来的最大的好处就是当你忘记某个命令的全称时可以只输入它的开头的一部分,然后按下Tab键就可以得到提示或者帮助完成。
不止补全命令,补全目录、补全命令参数也是可以做到的。

b. 结束程序

[Ctrl+c]

相信大家都遇到过写程序时,可能出现了逻辑问题,或者递归太深循环停不下来,程序要么一动不动,要么疯狂地动停不下来。这时候需要用Ctrl+c将正在进行的命令停下来。

C. 其他快捷键

按键 作用
Ctrl+c 键盘输入结束或退出终端
Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a 将光标移至输入行头,相当于Home键
Ctrl+e 将光标移至输入行末,相当于End键
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动
PgUp 上一条命令
PgDn 下一条命令

D. 通配符

a. 通配符介绍

通配符是一种特殊语句,主要有星号(*)和问号(?),用来对字符串进行模糊匹配(比如文件名、参数名)。 当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正字符。

终端里面输入的通配符是由 Shell 处理的,不是由所涉及的命令语句处理的,它只会出现在命令的“参数值”里(它不能出现在命令名称里, 命令不记得,那就用Tab补全)。当 Shell 在“参数值”中遇到了通配符时,Shell 会将其当作路径或文件名在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后再由命令进行处理。总之,通配符实际上就是一种 Shell 实现的路径扩展功能。在通配符被处理后, Shell 会先完成该命令的重组,然后继续处理重组后的命令,直至执行该命令。

比如我先建立两个文件,asd.txt和fgh.txt
在这里插入图片描述
如果我忘记了这两个文件名,这时候我只需要通配符就可以找到它们。
在这里插入图片描述

b. Shell常用通配符

字符 含义
* 匹配0或者多个字符
匹配任意一个字符
[list] 匹配 list 中的任意单一字符
[^list] 匹配 除list 中的任意单一字符以外的字符
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
{string1,string2,…} 匹配 string1 或 string2 (或更多)其一字符串
{c1…c2} 匹配 c1-c2 中全部字符 如{1…10}

比如我们要创建tyz_1_yzh.java,tyz_2_yzh.java,……tyz_10_yzh.java,我们只需要一个命令就可以创建这十个文件了。

tyz_{1..10}_yzh.java在这里插入图片描述

Ⅳ 帮助命令

在 Linux 环境中,如果你遇到困难,可以使用man命令,它是Manual pages的缩写。

Manual pages 是 UNIX 或类 UNIX 操作系统中在线软件文档的一种普遍的形式, 内容包括计算机程序(包括库和系统调用)、正式的标准和惯例,甚至是抽象的概念。用户可以通过执行man命令调用手册页。

你可以使用如下方式来获得某个命令的说明和使用方式的详细介绍:

man <commend_name>

发布了30 篇原创文章 · 获赞 84 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_45627684/article/details/104445288