Linux基础入门:掌握系统核心概念与常用命令

技术教程 11评选 0

我们在使用Linux时,并非直接与系统交互,而是通过名为Shell(壳)的中间程序来完成。在图形界面下,为实现用户输入和显示输出,Linux系统还提供了终端模拟器程序(Terminal)。常见的终端模拟器包括gnome-terminal、Konsole、xterm、rxvt、kvt、nxterm和eterm等。

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

终端本质上对应着Linux上的/dev/tty设备,Linux的多用户登录通过不同的/dev/tty设备实现,Linux默认提供6个纯命令行界面的“terminal”(准确说是6个virtual consoles)供用户登录。在物理机系统上,可通过[Ctrl]+[Alt]+[F1]~[F6]进行切换,切换到其中一个终端后,按下[Ctrl]+[Alt]+[F7]可返回图形界面。

终端(Terminal):提供给计算机输入和输出功能
控制台(Console):显示系统消息的终端
控制台是终端的特例,是终端的真子集,它是虚拟的终端
Linux 默认所有虚拟终端都是控制台

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

Linux基本命令

在Linux中,命令是极为重要的,包含输入和输出两个过程。输入即打开终端后按键盘输入并回车,输入格式如:

#创建一个名为file的文件,touch是一个命令$ touch file #进入一个目录,cd是一个命令$ cd /etc/#查看当前所在目录$ pwd#显示当前目录下内容$ ls

输出会返回想要的结果,若执行成功可能无输出,因Linux的哲学是没有结果就是最好的结果;若执行失败会告知错误之处。

其他常用快捷键

  • Ctrl+d:键盘输入结束或退出终端

  • Ctrl+s:暂停当前程序,暂停后按下任意键恢复运行

  • Ctrl+z:将当前程序放到后台运行,恢复到前台为命令fg

  • Ctrl+a:将光标移至输入行头,相当于Home键

  • Ctrl+e:将光标移至输入行末,相当于End键

  • Ctrl+k:删除从光标所在位置到行末

  • Alt+Backspace:向前删除一个单词

  • Shift+PgUp:将终端显示向上滚动

  • Shift+PgDn:将终端显示向下滚动

通配符的使用

通配符是特殊语句,主要有星号(*)和问号(?),用于对字符串进行模糊匹配,比如文件名、参数名。查找文件夹时,可代替一个或多个真实字符;不知真实字符或懒得输入完整名字时常用。终端里输入的通配符由Shell处理,而非命令语句。当Shell在“参数值”中遇到通配符,会当作路径或文件名搜寻匹配,有匹配则代换(路径扩展),否则作为普通字符传递给“命令”处理。总之,通配符是Shell实现的路径扩展功能。处理后,Shell重组命令并执行。

#显示当前目录下所有后缀名为.txt的文件$ ls *.txt#创建“love_1_linux.txt,love_2_linux.txt,... love_10_linux.txt”多个文件$ touch love_{1..10}_linux.txt

Shell常用通配符

  • *:匹配0或多个字符

  • ?:匹配任意一个字符

  • [list]:匹配list中的任意单一字符

  • [^list]:匹配除list中的任意单一字符以外的字符

  • [c1-c2]:匹配c1-c2中的任意单一字符,如:[0-9] [a-z]

  • {string1,string2,...}:匹配string1或string2(或更多)其一字符串

  • {c1..c2}:匹配c1-c2中全部字符,如{1..10}

查看帮助文档

在Linux环境中,遇到困难可使用man命令(Manual pages的缩写)。Manual pages是UNIX或类UNIX操作系统中在线软件文档的常见形式,包含计算机程序、标准和惯例等内容。可通过man命令调用手册页。如查看man命令本身使用方式,输入:$ man man。通常man手册内容为英文,需有一定英文基础。手册分8个区段:

  • 1:一般命令

  • 2:系统调用

  • 3:库函数,涵盖C标准函数库

  • 4:特殊文件(通常是/dev中的设备)和驱动程序

  • 5:文件格式和约定

  • 6:游戏和屏保

  • 7:杂项

  • 8:系统管理命令和守护进程

查看相应区段内容,在man后加对应区段数字,如$ man 1 ls会显示第一区段中的ls命令man页面。手册页有NAME、SYNOPSIS、DESCRIPTION、EXAMPLES、SEE ALSO等部分内容。查找时可使用搜索/<要搜索的关键字>,用n键切换到下一个关键字处,shift+n为上一个,Space翻页,Enter向下滚动一行,k,j向前向后滚动一行,h键显示帮助,q退出。

想获得更详细帮助可用info命令,大部分命令带有--help参数查看具体参数作用,如$ ls --help。