The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap02.html


前言

一直听别人说过 shellshell编程,其实 shell 是什么呢?


什么是 shell

一说到命令行,我们真正指的是 shellshell 就是一个程序,它接受从键盘输入的命令, 然后把命令传递给操作系统去执行。几乎所有的 Linux 发行版都提供一个名为 bash 的 来自 GNU 项目的 shell 程序。“bash” 是 “Bourne Again SHell” 的首字母缩写, 所指的是这样一个事实,bash 是最初 Unix 上由 Steve Bourne 写成 shell 程序 sh 的增强版。

当使用图形用户界面时,我们需要另一个和 shell 交互的叫做终端仿真器的程序。 如果我们浏览一下桌面菜单,可能会找到一个。虽然在菜单里它可能都 被简单地称为 “terminal”,但是 KDE 用的是 konsole , 而 GNOME 则使用 gnome-terminal。 还有其他一些终端仿真器可供 Linux 使用,但基本上,它们都完成同样的事情, 让我们能访问 shell。也许,你可能会因为附加的一系列花俏功能而喜欢上某个终端。

概述为下面三点:

  1. shell 是一个程序,是真正意义的命令行,它为用户搭建了一个桥梁,架在用户与操作系统之间,用户通过 shell 向操作系统发送命令。
  2. linux 中的 shell 程序来自 GUN 项目,而 GUN 项目的 shell 则是 UNIX 系统上面 sh 程序的增强版。UnixGUNLinux
  3. 图形界面是无法直接使用 shell 的,但是有 终端(可能有多个不同的英文名)。终端,在图形界面与 shell 之间架起桥梁,使得图形界面用户可以使用 shell

终端



桌面上的就是一个终端(博主系统是乌班图)。

其中 yiaz@yiaz-virtual-machine:~$ 一行文字是 shell 提示符,它的出现表示 shell 准备好了,可以开始接收输入了。

提示符的格式一般是:你的用户名@主机名,紧接着是 当前工作目录:$

其中提示符中的当前工作目录,随着用户切换路径而变化;

其中最后一个字符,如果是 # 而非 $ 则代表我们的终端有 root 权限,我们可以切换到 root 用户 获取该权限 :


命令历史

当我们在终端输入命令的时候,大部分的 Linux 发行版,会默认保存 500 个命令;

可以使用方向键的上下键,进行切换到历史命令 ;


在终端中复制

在终端窗口中,使用鼠标右键或者左键双击选中的文本,则文本会被复制,再次按下鼠标中键,刚刚被复制的文本就会出现在命令行,也可以使用快捷键 :shift + insert

其中切记不可使用 WindowsCtrl C,V 进行复制粘贴 ;这两个按键早在 Windows 定义复制粘贴之前就已经被 Linux 定义了,因此,这两个按键在 Linux 中有其他含义;


一些简单的命令

关于命令,在后面的会详细的学习;

现在仅仅说几个简单的。

  1. date 打印系统时间
  2. cal 打印当前日期的日历形式
  3. df 磁盘剩余空间
  4. free 空闲内存空间
  5. exit 退出终端,即关闭终端




隐藏的终端

即使终端仿真器没有运行,在后台仍然有几个终端会话运行着。它们叫做 虚拟终端 或者是 虚拟控制台。在大多数 Linux 发行版中,这些终端会话都可以通过按下 Ctrl-Alt-F1Ctrl-Alt-F6 访问。当一个会话被访问的时候, 它会显示登录提示框,我们需要输入用户名和密码。要从一个虚拟控制台转换到另一个, 按下 AltF1-F6(中的一个)。返回图形桌面,按下 Alt-F7

但是上面的命令不是在所有的 Linux 发行版中都奏效;

例如,博主的 Ubuntu 系统,上述命令就无效,对应的功能分别如下:

  1. ctrl + alt + F1 锁屏
  2. alt + F2 从虚拟终端切回桌面
  3. ctrl + alt + F3 -F6 虚拟终端(一共有4个)
  4. alt + F3 - F6 切换虚拟终端

(零)linux 学习 -- 从 shell 开始的更多相关文章

  1. Linux 学习 (八) Shell

    Linux达人养成计划 I 学习笔记 Shell 是什么: Shell 是一个命令解释器 Shell 还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强 Shell 的分类: Bourne S ...

  2. linux 学习10 shell 基础

    10.1 Shell概述 .Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一 ...

  3. (原创)鸟哥linux学习script shell相关笔记

    在使用鸟哥linux进行script shell学习的过程中碰到一些不太明白的知识点,在这里进行一些记录 1. [root@www scripts]# vi sh03.sh #!/bin/bash # ...

  4. Linux学习——自定义shell终端提示符

    转自:here 我使用的Linux发行版是LinuxMint 17.2 Rafaela,默认情况下Terminal中的shell提示包括了用户名.主机名.当前目录(绝对路径)和提示符.这样会导致当进入 ...

  5. linux 学习随笔-shell基础知识

    1:用户的shell历史命令保存在home/username/.bash_history中 #!!  执行用户的上一条命令 #!pw  执行命令历史中最近一次以pw开头的命令 2:'*'来匹配零或多个 ...

  6. Linux学习之Shell编程基础

    转自:http://my.oschina.net/itblog/blog/204410 1 语法基本介绍1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来 ...

  7. linux学习总结----shell编程

    ## 环境变量 ## 全局变量 ``` 常见的全局环境变量 PATH 指令的搜索路径 HOME 用户的家目录 LOGNAME 登录名 SHELL 脚本的类型 使用全局环境变量 echo $PATH 自 ...

  8. (六)linux 学习 -- 从 shell 眼中看世界

    The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap08.html 文章目录 字符展开 `*` 路 ...

  9. linux/linux学习笔记-Shell基础(mooc)

    一.shell概述 shell根据ascII表,将命令翻译为0101...传给内核执行. 内核->shell翻译为命令->用户(操作的界面就是shell,shell=翻译官) linux标 ...

随机推荐

  1. js jquery 实现 排班,轮班,日历,日程。使用fullcalendar 插件

    如果想用fullcalendar实现排班功能,或者日历.日程功能.那么只需要简单的几步: 这里先挂官网链接: fullcalendar fullcalendar官网下载链接 一.下载及简单配置 1.这 ...

  2. Spring mybatis thymeleaf 基础操作,实现数据展示,修改,删除,查询

    目录结构如图 index.html <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thyme ...

  3. Python在windows平台的多版本配置

    Python在windows平台的多版本配置 快速阅读: ​ python在windows平台的环境变量以及多版本配置 ,以及pycharm如何安装包,以及安装包出错时如何排查. 1.python环境 ...

  4. Chapter Two

    Web容器配置 ~Tomcat配置 server.port配置了Web容器的端口号 error.path配置了当项目出错时跳转去的页面 session.timeout配置了session失效的时间 c ...

  5. Object.keys()、Object.values()、Object.entries()的用法

    一.Object.keys(obj) 参数:要返回其枚举自身属性的对象 返回值:一个表示给定对象的所有可枚举属性的字符串数组 处理对象,返回可枚举的属性数组 let person = {name:&q ...

  6. MiniUI增删改查操作及确认按钮

    原文:https://blog.csdn.net/codezdx/article/details/81565043 1.动态创建列:尽量不要直接在html文件里创建列,动态设置在js文件里方面添加.修 ...

  7. excel : 如何快速跳到某一行

    在表格的上方,公式栏的左侧,即“名称框”输入单元格行列符号,如A1,B2,等 回车即可

  8. Tomcat connection & session timeout settings

    # connection timeout for globle web application cat /home/soft/apache-tomcat-7.0.92/conf/server.xml ...

  9. layui 鼠标悬停单元格显示全部

    {field : 'subjectId',title : '主题id',align: 'center',edit : 'text',templet:'<div><span title ...

  10. gfs下载文件较大,可以分区域分变量下载

       一.下载 所有字段的GFS预报(大致有325个字段),1度的文件有1G多,0.5度的3.5G左右. 若每天下载0.6.12.18四个发布点的数据,那是很费时费力的.而且经常会被IDS/IPS设备 ...