热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2610_lab2命令行与快捷键

1.桌面环境相对于现在的Windows系统,UNIXLinux本身是没有图形界面的,我们通常在UNIXLinux发行版上看到的图形界面实际都只是运行在

1. 桌面环境

相对于现在的 Windows 系统,UNIX/Linux 本身是没有图形界面的,我们通常在 UNIX/Linux 发行版上看到的图形界面实际都只是运行在 Linux 系统之上的一套软件,类似 Windows95 之前的 Windows 的图形界面实则也只是运行在 DOS 环境的一套软件。

在这里插入图片描述

1.1 窗口系统:

而 Linux 上的这套软件以前是 XFree86,现在则是 xorg(X.Org),而这套软件又是通过 X 窗口系统(X Window System,也常被称为 X11 或 X)实现的,X 本身只是工具包及架构协议,而 xorg 便是 X 架构规范的一个实现体,也就是说它是实现了 X 协议规范的一个提供图形界面服务的服务器,就像实现了 http 协议提供 web 服务的 Apache 。

1.2 桌面环境客户端

如果只有服务器也是不能实现一个完整的桌面环境的,当然还需要一个客户端,我们称为 X Client,像如下几个大家熟知也最流行的实现了客户端功能的桌面环境 KDE,GNOME,XFCE,LXDE 。其中就有你看到的,实验楼目前使用的 XFCE 桌面环境,部分老用户可能可以回想起,实验楼之前使用的环境是 LXDE 。这也意味着在 Linux 上你可以自己选择安装不同的桌面环境,甚至可以定制自己的专属桌面。

这里讲这么多,主要是为了帮助你更好地理解 Linux 的桌面环境是一个怎样的概念,以及它跟 Windows 操作系统桌面的差异,实际它们之间是有着本质的差别的,希望清楚这些内容之后可以让你忽略那些体验上的差异,专心把精力放到 Linux 系统本身或者你正准备学习的某一门技术之上,这门实验课后面的内容和实验楼的其它课程便是为了帮助你实现以上两个目标

2. 终端

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

下面是几个比较常见的终端模拟器: gnome-terminal,Konsole,xterm,rxvt,kvt,nxterm 和 eterm 。目前我们的实验中的终端程序是 xfce 桌面环境自带的 xfce-terminal 。不过要注意的是这里所说的终端(Terminal)和控制台(Console)是有区别的。

终端本质上是对应着 Linux 上的 /dev/tty 设备,Linux 的多用户登录就是通过不同的 /dev/tty 设备完成的,Linux 默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6 个 virtual consoles)来让用户登录。

在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换,当你切换到其中一个终端后想要切换回图形界面,你可以按下[Ctrl]+[Alt]+[F7]来完成。

2.1 壳

通常在图形界面中对实际体验带来差异的不是上述的不同发行版的各种终端模拟器,而是这个 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),但我们的环境中使用的分别是 zsh 和 xfce。

2.2 新建文件

如果只是执行,执行失败会告诉你哪里错了,如果执行成功那么会没有输出,因为linux的哲学就是:没有结果就是最好的结果

新建一个 file 文件;touch file;

2.3 快捷键


  1. Tab 键: Tab 键 最大的好处,就是当忘记某个命令的全称时, 只需要输入开头的一部分, Tab 键 可以补全 或提示;
    不止补全命令,补全目录、补全命令参数都是没问题的:

  2. [Ctrl+c]:当你在 Linux 命令行中无意输入了一个不知道的命令,或者错误地使用了一个命令,导致在终端里出现了你无法预料的情况这时候你就可以使用Ctrl+c键来强行终止当前程序(你可以放心它并不会使终端退出)。


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

2.4 通配符

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

通配符, 是出现 命令行的 “参数中的”, 而非命令本身, 命令本身记不全时,使用Tab 键补全;

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

  1. ,假如过了很长时间,你已经忘了这两个文件的文件名,现在你想在一大堆文件中找到这两个文件,就可以使用通配符:

$ ls *.txt

  1. 同时创建多个文件,比如:“love_1_linux.txt,love_2_linux.txt,… love_10_linux.txt”。在 Linux 中十分方便:

touch love_{1..10}_linux.txt

  1. 常用通配符

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

2.5 获取命令行帮助

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

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

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

$ man <command_name>
copy
比如你想查看 man 命令本身的使用方式&#xff0c;你可以输入&#xff1a;man man

通常情况下&#xff0c;man 手册里面的内容都是英文的&#xff0c;这就要求你有一定的英文基础。man 手册的内容很多&#xff0c;涉及了 Linux 使用过程中的方方面面。为了便于查找&#xff0c;man 手册被进行了分册&#xff08;分区段&#xff09;处理&#xff0c;在 Research UNIX、BSD、OS X 和 Linux 中&#xff0c;手册通常被分为8个区段&#xff0c;安排如下&#xff1a;

区段说明
1一般命令
2系统调用
3库函数&#xff0c;涵盖了C标准函数库
4特殊文件&#xff08;通常是/dev中的设备&#xff09;和驱动程序
5文件格式和约定
6游戏和屏保
7杂项
8系统管理命令和守护进程

man 1 ls;会显示第一区段中的ls命令 man 页面。

所有的手册页遵循一个常见的布局&#xff0c;为了通过简单的 ASCII 文本展示而被优化&#xff0c;而这种情况下可能没有任何形式的高亮或字体控制。一般包括以下部分内容&#xff1a;

NAME&#xff08;名称&#xff09;该命令或函数的名称&#xff0c;接着是一行简介。SYNOPSIS&#xff08;概要&#xff09;对于命令&#xff0c;正式的描述它如何运行&#xff0c;以及需要什么样的命令行参数。对于函数&#xff0c;介绍函数所需的参数&#xff0c;以及哪个头文件包含该函数的定义。DESCRIPTION&#xff08;说明&#xff09;命令或函数功能的文本描述。EXAMPLES&#xff08;示例&#xff09;常用的一些示例。SEE ALSO&#xff08;参见&#xff09;相关命令或函数的列表。也可能存在其它部分内容&#xff0c;但这些部分没有得到跨手册页的标准化。常见的例子包括&#xff1a;OPTIONS&#xff08;选项&#xff09;&#xff0c;EXIT STATUS&#xff08;退出状态&#xff09;&#xff0c;ENVIRONMENT&#xff08;环境&#xff09;&#xff0c;BUGS&#xff08;程序漏洞&#xff09;&#xff0c;FILES&#xff08;文件&#xff09;&#xff0c;AUTHOR&#xff08;作者&#xff09;&#xff0c;REPORTING BUGS&#xff08;已知漏洞&#xff09;&#xff0c;HISTORY&#xff08;历史&#xff09;和 COPYRIGHT&#xff08;版权&#xff09;

通常 man 手册中的内容很多&#xff0c;你可能不太容易找到你想要的结果&#xff0c;不过幸运的是你可以在 man 中使用搜索/<你要搜索的关键字>&#xff0c;查找完毕后你可以使用n键切换到下一个关键字所在处&#xff0c;shift&#43;n为上一个关键字所在处。使用Space&#xff08;空格键&#xff09;翻页&#xff0c;Enter&#xff08;回车键&#xff09;向下滚动一行&#xff0c;或者使用k,j&#xff08;vim 编辑器的移动键&#xff09;进行向前向后滚动一行。按下h键为显示使用帮助&#xff08;因为 man 使用 less 作为阅读器&#xff0c;实为less工具的帮助&#xff09;&#xff0c;按下q退出。

想要获得更详细的帮助&#xff0c;你还可以使用info命令&#xff0c;不过通常使用man就足够了。如果你知道某个命令的作用&#xff0c;只是想快速查看一些它的某个具体参数的作用&#xff0c;那么你可以使用–help参数&#xff0c;大部分命令都会带有这个参数&#xff0c;如&#xff1a;


$ ls --help

3. 输出图像字符命令

$ sudo apt-get update
$ sudo apt-get install sysvbannerbanner linux
banner love

你觉得这字体不好看&#xff0c;那么你还可以使用默认已经安装的一个命令printerbanner&#xff1a;

$ printerbanner -w 50 A
-w参数指定打印宽度&#xff0c;因为我们的环境在屏幕中显示比较小&#xff0c;
必须要加上宽度限制。

还有两个类似的命令toilet,figlet&#xff0c;作为作业安装试用。


推荐阅读
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • crontab 自动执行定时任务时,命令无法执行的解决方案
    为什么80%的码农都做不了架构师?最近在工作中需要使用crontab执行定时任务,处理memcacheq消息队列里的数据,但是发现在 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • gitlab重置password
    ruby没怎么学,自己搭建的gitlab的rootpassword又忘了。幸好看见此帖子,试验okhttp:roland.kierkels.netgitreset-your-git ... [详细]
  • 以管理员身份打开命令行粘贴上面 ... [详细]
  • Linux Shell脚步的格式
    Shell脚步等多个命令的组合,可以做成一个shell文件(1.sh)赋权执行执行命令的方式前两张新的进程中执行,对当前进程不产生影响(cdtmp;pwds ... [详细]
author-avatar
1712477436
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有