目录

1.linux桌面环境介绍

2.终端的概念

3.Shell

4.命令行操作体验

5.重要快捷键


1.linux桌面环境介绍

相对于现在的 Windows 系统,UNIX/Linux 本身是没有图形界面的,我们通常在 UNIX/Linux 发行版上看到的图形界面实际都只是运行在 Linux 系统之上的一套软件,类似 Windows95 之前的 Windows 的图形界面实则也只是运行在 DOS 环境的一套软件。而 Linux 上的这套软件以前是 XFree86,现在则是 xorg(X.Org),而这套软件又是通过 X 窗口系统(X Window System,也常被称为 X11 或 X)实现的,X 本身只是工具包及架构协议,而 xorg 便是 X 架构规范的一个实现体,也就是说它是实现了 X 协议规范的一个提供图形界面服务的服务器,就像实现了 http 协议提供 web 服务的 Apache 。如果只有服务器也是不能实现一个完整的桌面环境的,当然还需要一个客户端,我们称为 X Client,像如下几个大家熟知也最流行的实现了客户端功能的桌面环境 KDEGNOMEXFCELXDE 。其中就有你看到的,实验楼目前使用的 XFCE 桌面环境,部分老用户可能可以回想起,实验楼之前使用的环境是 LXDE 。这也意味着在 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]来完成。

3.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),但我们的环境中使用的分别是 zsh 和 xfce。

4.命令行操作体验

写在前面

在 linux 中,最最重要的就是命令,这就包含了 2 个过程,输入和输出

  • 输入:输入当然就是打开终端,然后按键盘输入,然后按回车,输入格式一般就是这类的

#创建一个名为 file 的文件,touch是一个命令

touch file

#进入一个目录,cd是一个命令

cd /etc/

#查看当前所在目录

pwd

  • 输出:输出会返回你想要的结果,比如你要看什么文件,就会返回文件的内容。如果只是执行,执行失败会告诉你哪里错了,如果执行成功那么会没有输出,因为 linux 的哲学就是:没有结果就是最好的结果

5.重要快捷键

1)

[Tab]

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

[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)历史命令输入

很简单,你可以使用键盘上的方向上键,恢复你之前输入过的命令,你一试便知。

3)通配符

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

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

首先回到用户家目录:

cd /home/shiyanlou

然后使用 touch 命令创建 2 个文件,后缀都为 txt:

touch asd.txt fgh.txt

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

ls *.txt

在创建文件的时候,如果需要一次性创建多个文件,比如:“love_1_linux.txt,love_2_linux.txt,... love_10_linux.txt”。在 Linux 中十分方便:

touch love_{1..10}_shiyanlou.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}

4)在命令行中获取帮助

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

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

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

man <command_name>

比如你想查看 man 命令本身的使用方式,你可以输入:

man man

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

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

要查看相应区段的内容,就在 man 后面加上相应区段的数字即可,如:

man 1 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(回车键)向下滚动一行,或者使用kj(vim 编辑器的移动键)进行向前向后滚动一行。按下h键为显示使用帮助(因为 man 使用 less 作为阅读器,实为less工具的帮助),按下q退出。

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

ls --help

蓝桥云课linux入门2:基本概念及操作相关推荐

  1. 蓝桥云课linux入门1:基本概念

    linux 为何物 Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Mac OS .至于操作系统是什么,就不用过多解释了,如果你学习过前面的入门课程,应该会有个基 ...

  2. 蓝桥云课linux入门3:用户及文件权限管理

    内容转自蓝桥云课 目录 1.内容 2.Linux用户管理 2.1查看用户 2.2创建用户 2.3用户组 将其它用户加入 sudo 用户组 2.4删除用户和用户组 3.Linux文件权限 3.1查看文件 ...

  3. 蓝桥云课linux入门13:正则表达式基础

    目录 1.内容 2.正则表达式 2.1举例 2.2基本语法 3.grep模式匹配命令 3.1基本操作 3.2使用正则表达式 4 sed 流编辑器 4.1 sed常用参数介绍 4.2 sed 编辑器的执 ...

  4. 蓝桥云课linux入门14:Linux 下软件安装

    目录 一.内容 二.开始 2.1 先体验一下 2.2 apt 包管理工具介绍 2.3 apt-get 2.4 安装软件包 2.5 软件升级 2.6 卸载软件 三.使用 dpkg 3.3 查看已安装软件 ...

  5. 蓝桥云课linux入门4:目录结构及文件基本操作

    目录 1.内容 2.Linux目录结构 2.1 FHS标准 2.2 目录路径 路径 绝对路径 相对路径 3.Linux文件的基本操作 3.1新建 新建空白文件 新建目录 3.2复制 复制文件 复制目录 ...

  6. 蓝桥云课之新手入门指南

    这是蓝桥云课学习人数最多的课程: 新手入门指南之玩转蓝桥云课 460896 人学过 27739 次评价 作者: 云课管理员 难度: 初级 综合评分: 9.4 复习一遍,里面共有3中课程模式: 第一种, ...

  7. 蓝桥云课 Python新手入门课 笔记

    Python 新手入门课_Python - 蓝桥云课 目录 Python 新手入门课_Python - 蓝桥云课 实验一  进入编程大门 实验二  认识Linux 实验三  认识Python 实验四 ...

  8. 新手入门指南之玩转蓝桥云课

    新手入门指南之玩转蓝桥云课 文档1  你好,蓝桥云课 实验1 Linux 桌面环境使用指南 本实验采用的就是图形界面的 Linux 桌面环境.图形界面使用的是非常优秀的 Ubuntu Linux 操作 ...

  9. ROS机器人程序设计部分大纲-适用于蓝桥云课及ROS1 KINETIC/MELODIC/NOETIC

    ROS机器人程序设计 ROS robot programming 课程编号 16300021 学分 3 开课学期 6 学时 讲课:32学时      实验:16 学时       实践:0学时 课程类 ...

最新文章

  1. UVa12604 Caesar Cipher(kmp)
  2. bootstrap-table操作之“删除”
  3. mysql日志恢复数据_Mysql 通过binlog日志恢复数据
  4. mysql 5.5数据库主从配置步骤详解
  5. linux2.6.28内核对bio完成通知的改进--集中走向分离的另一个例子
  6. Android 获取手机通讯录信息 — 头像、姓名和A-Z的快速查询
  7. asp.net ajax实现在线人员的显示
  8. Linux环境编程之文件I/O(二):文件的打开与关闭
  9. 测试人员必会用例设计方法 —— 正交表
  10. 个人java学习心得总结
  11. 鸿蒙系统共享电脑文件,鸿蒙Hi3516通过NFS挂载方式与Windows共享文件
  12. 2020-09-12
  13. 计算机的存储单位B KB MB GB TB···
  14. Python | 用Python画个美队盾牌送给你
  15. 啃碎并发(一):Java线程总述与概念
  16. 牛鞭效应matlab代码,牛鞭效应在啤酒游戏中的运用.doc
  17. 三相并网逆变器电流内环解耦
  18. 迟到 39 年的图灵奖 - Diffie-Hellman 密钥交换原理及例程源代码
  19. 基于改进禁忌搜索算法求解TSP问题(Matlab代码实现)
  20. android 来电拒接_Android 实现直接拒接来电 | 学步园

热门文章

  1. Java中的强制类型转换
  2. 苹果xr如何关机_iPhone XR 的实际体验如何?
  3. Java项目:ssm教务管理系统
  4. scrapy html页面加载未完成,Scrapy与scrapy-splash框架快速加载js页面
  5. mysql语法错误:Every derived table must have its own alias
  6. 浅析计算机主板故障,浅析计算机主板故障及维修
  7. Ubuntu 添加root用户
  8. 制造业ERP管理系统在企业管理中发挥什么作用?
  9. 适合生产制造企业用的ERP系统有哪些?
  10. Koa2仿知乎服务端项目:Webpack配置