第一节 Linux简介

  • Linux 就是一个操作系统,也就是系统调用和内核那两层,Linux 本身只是操作系统的内核(内核是使其他程序能够运行的基础。它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序实际上都运行在内核之上)。
  • Linus(Linus Torvalds - Linux 之父)没有自己去开发这些应用程序(有些程序是必需的,比如说,命令行解释器(shell),它用于用户交互和编写 shell 脚本),而是使用已有的自由软件(许多重要的软件,包括 C 编译器,都来自于自由软件基金 GNU 项目)。实际上,他经常改写内核,使得那些程序能更容易在 Linux 上运行。
  • Linux 平台大都为开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺;有全球所有的 Linux 开发者和自由软件社区提供支持。

第二节 基本概念及操作

  • 桌面环境

相对于现在的 Windows 系统,UNIX/Linux 本身是没有图形界面的,我们通常在 Unix/Linux 发行版上看到的图形界面实际都只是运行在 Linux 系统之上的一套软件,类似 Windows95 之前的Windows 的图形界面实则也只是运行在 DOS 环境的一套软件。这也意味着在 Linux 上你可以自己选择安装不同的桌面环境,甚至可以定制自己的专属桌面。

  • Linux终端

* #### Terminal(终端)

通常在我们使用 Linux 时,我们并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成接受用户输入和显示输出,Linux 系统还提供了一个叫做终端模拟器的程序(Terminal)。终端本质上是对应着 Linux 上的 /dev/tty 设备,Linux 的多用户登陆就是通过不同的 /dev/tty 设备完成的(不明觉厉)。

* #### Shell

Shell (壳)是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe。普通意义上的 Shell 就是可以接受用户输入命令的程序。它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。此外有壳就有核,这里的核就是指的 UNIX/Linux 内核。

  • 重要快捷键

* #### **[Tab]**

使用Tab键来进行命令补全,输入某个命令开头的一部分然后按下Tab键就可以得到提示或者帮助完成,此外补全命令,补全目录,补全命令参数也都是可以的。

* #### **[Ctrl+c]**

强行终止当前程序(你可以放心它并不会使终端退出),马上恢复到你可控的状态。当你无意输入了一个不知道的命令,或者错误的使用了一个命令,导致在终端里出现了你无法预料的情况时简直不能再好用。(PS:虽然这个按着很方便,但不要随便按,因为有时候当你看到终端没有任何反应或提示,也不能接受你的输入,可能只是运行的程序需要你耐心的等一下,你就不要急着Ctrl+c了)

* #### 其他其他一些常用快捷键
![](http://images2015.cnblogs.com/blog/886021/201701/886021-20170125203046097-1724975932.jpg)
  • 学会利用历史输入命令

可以使用键盘上的方向上键,恢复你之前输入过的命令。

  • 学会使用通配符

通配符是一种特殊语句,主要有星号(*)和问号(?),用来对对字符串进行模糊匹配(比如文件名,参数名)。但是它不用在 命令名称里, 命令不记得,那就用Tab补全。

Shell 常用通配符

![](http://images2015.cnblogs.com/blog/886021/201701/886021-20170125204232503-2012064119.jpg)

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

    $ touch love_{1..10}_linux.txt
  • 学会在命令行中获取帮助

用户可以通过执行 man (Manual page)命令调用手册页,通常情况下,man 手册里面的内容都是英文的,这就要求你有一定的英文基础。 你可以使用如下方式来获得某个命令的说明和使用方式的详细介绍:

    $ man <command_name>

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

    $ ls --help
  • 随堂作业

本课程会在每一节实验结束部分介绍一个有趣的 Linux 命令,这一节介绍一个可以输出图形字符的命令banner,先看效果:



你可以先使用如下命令安装:

    $ sudo apt-get update
$ sudo apt-get install sysvbanner

然后:

    $ banner linux

或者你觉得这字体不好看,那么你还可以使用默认已经安装的一个命令printerbanner:

    $ printerbanner -w 50 A



'-w'参数指定打印宽度,因为我们的环境在屏幕中显示比较小,必须要加上宽度限制。

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

实验报告:

写在后面

来自实验楼新手教程:Linux基础入门

Linux基础入门 - 1的更多相关文章

  1. Linux 基础入门(新版)”实验报告一~十二

    实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...

  2. Linux基础入门学习笔记20135227黄晓妍

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

  3. Linux 基础入门 第二周9.21~9.27

    一.学习内容 本周主要学习内容主要贴合: 在进行<深入理解计算机系统>这门课的实验中没有遇到什么大问题,学习内容与上周实验<linux基础入门>有相似之处.本实验中的内容比较贴 ...

  4. Linux 基础入门----推荐课程

    Linux 基础入门课程:https://www.shiyanlou.com/courses/1 很好的一门Linux基础课,精炼.简洁!推荐! 课程内容: 第1节 Linux 系统简介 https: ...

  5. Linux基础入门教程

    Linux基础入门教程 --------- Linux学习路径 Linux学习者,常常不知道自己改怎么学习linux:Linux初级,也就是入门linux前提是需要有一些计算机硬件相关的知识或是有一下 ...

  6. 在学习linux基础入门时的一些问题总结(1)

    本周在实验楼完成了<linux基础入门>的21个实验,虽然之前已经学习过linux的相关课程,对linux下的命令也有一些了解和实践,但完成这21个实验以及35个练习题仍然遇到了许多的问题 ...

  7. 腾讯云-Linux 基础入门

    Linux 基础入门 目录操作 任务时间:5min ~ 10min 创建目录 使用 mkdir 命令创建目录 mkdir $HOME/testFolder # $HOME 当前用户的家目录  root ...

  8. Linux基础入门之网络属性配置

    Linux基础入门之网络属性配置 摘要 Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,从而采取不同的通信机制. L ...

  9. Linux基础入门 - 3

    第四节 Linux 目录结构及文件基本操作 4-1.Linux目录结构 Linux 的目录与 Windows 的目录的实现机制是完全不同的.一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关 ...

  10. Linux基础入门 - 2

    第三节 用户及文件权限管理 3-1.Linux用户管理 Linux 是一个可以实现多用户登陆的操作系统,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是 ...

随机推荐

  1. npm安装过程中的win环境变量设置

    我们要先配置npm的全局模块的存放路径以及cache的路径,例如我希望将以上两个文件夹放在NodeJS的主目录下,便在NodeJs下建立”node_global”及”node_cache”两个文件夹. ...

  2. R语言常用命令集合

    help.start()//打开帮助文档 q()//推出函数 ls()//返回处于现在名空间的对象名称 rm()//清楚对象:rm(list=ls())清除所有内存数据 gc()//垃圾回收数据 sq ...

  3. RabbitMQ---2、介绍

    1.背景 RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现. 2.应用场景 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信, ...

  4. 7、包装类、System、Math、Arrays、大数据运算

    基本类型封装 基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们需要把字 ...

  5. Windows的图形设备接口与Windows绘图

    本次学习目标 理解DC, 映像模式, 坐标系统, 窗口和视口; 学习获取绘图工具(画笔/画刷)的句柄, 设置颜色, 能定义映像模式; 会使用常用的绘图函数. 编写程序: 在屏幕上出现一个圆心沿正弦曲线 ...

  6. C#对Windows服务组的启动与停止

    Windows服务大家都不陌生,Windows服务组的概念,貌似MS并没有这个说法. 作为一名软件开发者,我们的机器上安装有各种开发工具,伴随着各种相关服务. Visual Studio可以不打开,S ...

  7. 判断有几个checkbox被选中

    //判断是否有选中的checkbox的值是否为空 var number = $("input[type='checkbox']:checked").length; if(numbe ...

  8. 使用jQuery获取Dribbble的内容

    Introduction As a web developer, third party API integration is something you will have to face. Esp ...

  9. MyEclipse打包带源码的jar包

    平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不到jar包里面的类的源码了,所以也就无法调试,要想调试,那么就只能通过关联源代码的形式,这样或多或少也有一些不方便,今 ...

  10. line-height属性的深入了解

    line-height属性的细节与大多数CSS属性不同,line-height支持属性值设置为无单位的数字.有无单位在子元素继承属性时有微妙的不同. 语法line-height: normal | & ...