第一节 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. 使用minikube在本机测试kubernetes

    目录 简介 安装 Docker CE 安装 kubectl 安装 minikube 启动 minikube 启动 dashboard 启动一个服务 删除服务 参考 本文主要讲解 minikube(ku ...

  2. HDU 5444 Elven Postman (2015 ACM/ICPC Asia Regional Changchun Online)

    Elven Postman Elves are very peculiar creatures. As we all know, they can live for a very long time ...

  3. 【C#高级】泛型(一)

    泛型,.net 2.0之后出现,基本只要代码中出现 ‘<>’ 尖括号就可以确定是泛型. 在2.0之前大多是使用Object来代替,因为所有类都是Object的派生类,根据继承的原理Obje ...

  4. android recycleView 简单使用二---分割线

    转自:https://www.jianshu.com/p/b46a4ff7c10a RecyclerView没有像之前ListView提供divider属性,而是提供了方法 recyclerView. ...

  5. centos 6.X系统里的网卡em1还原为eth0

    公司的DELL R720服务器安装完centos 6.5版本后,发现原先熟悉的eth0.eth1变成了em1.em2 . 本来认为只是接口名称变化,并不伤大雅 .不过在放到机房之前进行LVS测试时,发 ...

  6. 17、多线程 (Thread、线程创建、线程池)

    进程概念 *A:进程概念 *a:进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行, 即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线程的概念 *A:线程的概念 *a ...

  7. windbg .net 程序的死锁检测 常用方法(个人备份笔记)

    //死锁检测 .load sosex.dll :> !dlk :> !mk -a The mk command displays a call stack of the currently ...

  8. k:特殊的线性表—队列

    队列的概念:  队列是另一种特殊的线性表,它的特殊性体现在其只允许在线性表的一端插入数据元素,在线性表的另一端删除数据元素(一般会采用在线性表的表尾那端(没被head指针所指的那端)插入数据元素,在线 ...

  9. js实现栈结构

    实现栈结构 //创建栈 function Stack (){ let items = [] this.push = function(element){ items.push(element) } t ...

  10. 线程与全局解释器锁(GIL)

    一.线程概论 1.何为线程 每个进程有一个地址空间,而且默认就有一个控制线程.如果把一个进程比喻为一个车间的工作过程那么线程就是车间里的一个一个流水线. 进程只是用来把资源集中到一起(进程只是一个资源 ...