Linux基本概念及操作
Linux终端1.Terminal(终端)通常在我们使用 Linux时,我们并不是直接与系统打交道,而是通过一个叫做 Shell的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成接受用户输入和显示输出,Linux系统还提供了一个叫做终端模拟器的程序终端本质上是对应着 Linux上的 /dev/tty设备,Linux的多用户登陆就是通过不同的 /de
Linux终端
1.Terminal(终端)
通常在我们使用 Linux时,我们并不是直接与系统打交道,而是通过一个叫做 Shell的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成接受用户输入和显示输出,Linux系统还提供了一个叫做终端模拟器的程序,终端本质上是对应着 Linux上的 /dev/tty设备,Linux 的多用户登陆就是通过不同的 /dev/tty设备完成的,Linux默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6个 virtual consoles)来让用户登录,在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换,不过在我们的在线实验环境中可能无法切换,因为特殊功能按键会被你主机系统劫持。当你切换到其中一个终端后想要切换回图形界面,你可以按下[Ctrl]+[Alt]+[F7]来完成。
2.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启动和很多其他实用工具的脚本解释程序。
命令行操作体验
1.重要快捷键:
真正学习命令行之前,你先要掌握几个十分有用,必需掌握的小技巧:
[Tab]
使用Tab键来进行命令补全,当然不止补全命令,补全目录,补全命令参数都是没问题的:
[Ctrl+c]
当你在 Linux命令行中无意输入了一个不知道的命令,或者错误的使用了一个命令,导致在终端里出现了你无法预料的情况,比如,只有光标在闪烁无法继续输入命令,或者不停地在输出一大堆你不想要的结果。你想要立即停止并恢复到你可控的状态,那该怎么办呢。这时候你就可以使用Ctrl+c键来强行终止当前程序(你可以放心它并不会使终端退出)。
其他一些常用快捷键
2.学会使用通配符
符是一种特殊语句,主要有星号(*)和问号(?),用来对对字符串进行模糊匹配(比如文件名,参数名)。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。
终端里面输入的通配符是由 Shell处理的,不是由所涉及到命令语句处理的,它只会出现在命令的“参数值”里(它不用在命令名称里,命令不记得,那就用Tab补全)。当 Shell 在“参数值”中遇到了通配符时,Shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后再由命令进行处理。总之,通配符实际上就是一种 Shell 实现的路径扩展功能。在通配符被处理后, Shell会先完成该命令的重组,然后再继续处理重组后的命令,直至执行该命令。
先使用 touch命令创建 2 个文件,后缀都为 txt:
$touch adsfasd.txt wergjlkas.txt
可以给文件随意命名,假如过了很长时间,你已经忘了这两个文件的文件名,现在你想在你大堆其他文件中找到这两个文本文件,就可以使用通配符:
$ls *.txt
在创建文件的时候,如果需要一次性创建多个文件,比如:“love_1_linux.txt,love_2_linux.txt,...love_10_linux.txt”。在 Linux 中十分方便:
$touch love_{1..10}_linux.txt
Shell常用通配符:
3.学会在命令行中获取帮助
在 Linux 环境中,如果你遇到困难,可以使用man命令,它是Manual page的缩写。
Manual pages是在 UNIX 或类 UNIX 操作系统在线软件文档的一种普遍的形式。内容包括计算机程序(包括库和系统调用),正式的标准和惯例,甚至是抽象的概念。用户可以通过执行 man命令调用手册页。
你可以使用如下方式来获得某个命令的说明和使用方式的详细介绍:
$man <command_name>
比如你想查看 man命令本身的使用方式,你可以输入:
man man
通常情况下,man手册里面的内容都是英文的,这就要求你有一定的英文基础。man手册的内容很多,涉及了 Linux使用过程中的方方面面,为了便于查找,是做了分册(分区段)处理的,在Research UNIX、BSD、OS X 和 Linux 中,手册通常被分为8个区段,安排如下:
要查看相应区段的内容,就在 man 后面加上相应区段的数字即可,如:
$man1 ls
会显示第一区段中的ls命令man页面。
所有的手册页遵循一个常见的布局,其为通过简单的 ASCII文本展示而优化,而这种情况下可能没有任何形式的高亮或字体控制。一般包括以下部分内容:
NAME(名称)
该命令或函数的名称,接着是一行简介。
SYNOPSIS(概要)
对于命令,正式的描述它如何运行,以及需要什么样的命令行参数。对于函数,介绍函数所需的参数,以及哪个头文件包含该函数的定义。
DESCRIPTION(说明)
命令或函数功能的文本描述。
EXAMPLES(示例)
常用的一些示例。
SEE ALSO(参见)
相关命令或函数的列表。
也可能存在其他部分内容,但这些部分没有得到跨手册页的标准化。常见的例子包括:OPTIONS(选项),EXIT STATUS(退出状态),ENVIRONMENT(环境),BUGS(程序漏洞),FILES(文件),AUTHOR(作者),REPORTING BUGS(已知漏洞),HISTORY(历史)和COPYRIGHT(版权)。
通常 man手册中的内容很多,你可能不太容易找到你想要的结果,不过幸运的是你可以在 man中使用搜索,/<你要搜索的关键字>,查找到后你可以使用n键切换到下一个关键字所在处,shift+n为上一个关键字所在处。使用Space(空格键)翻页,Enter(回车键)向下滚动一行,或者使用j,k(vim编辑器的移动键)进行向前向后滚动一行。按下h键为显示使用帮助(因为man使用less作为阅读器,实为less工具的帮助),按下q退出。
想要获得更详细的帮助,你还可以使用info命令,不过通常使用man就足够了。如果你知道某个命令的作用,只是想快速查看一些它的某个具体参数的作用,那么你可以使用--help参数,大部分命令都会带有这个参数,如:
$ls --help
更多推荐
所有评论(0)