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. C++标准库分析总结(八)——<仿函数、适配器、istream_iterator、ostream_iterator、bind>

    一.仿函数定义 仿函数是STL中最简单的部分,存在的本质就是为STL算法部分服务的,一般不单独使用.仿函数(functors)又称为函数对象(function objects),虽然函数指针虽然也可以 ...

  2. [代码审计]php弱类型总结

    0x01 前言 php是世界上最好的语言,所以php自身的安全问题也是web安全的一个方面.由于其自身弱类型语言的特性以及内置函数对于传入参数的松散处理,所以会带来很多的问题,这里将进行简要介绍. 弱 ...

  3. django celery 异步执行任务遇到的坑

    部署后,任务没有持久化,所有用supervisor 进行进程管理 安装 pip install supervisor 创建 配置文件 [program:testplatform-flower] com ...

  4. cmake 手册详解【转】

    https://www.cnblogs.com/coderfenghc/tag/cmake/   CMake 手册详解(二十三) SirDigit 2012-12-16 22:03 阅读:11058 ...

  5. 基于栈的指令集与基于寄存器的指令集的区别,JVM指令集实例

    现代JVM在执行Java代码的时候,通常都会将解释执行与编译执行两者结合起来 所谓解释执行,就是通过解释器来读取字节码,遇到相应的指令就去执行该指令. 所谓编译执行,就是通过即时编译器(Just In ...

  6. C++提示没有与这些操作数匹配的<<运算符

    应该是忘了#include.#include<string>

  7. C++中函数参数传递(非引用形参和引用形参)——学习笔记

    1.非引用形参-copy 指针是非引用,copy.但值也会改变. 引用形参: const相关问题: const形参可以拷贝. 不能修改,不能赋值! 可以使用const初始化非const: 指针+con ...

  8. AI学习网址记录

    https://ai.yanxishe.com/ https://ai.yanxishe.com/page/blogDetail/14365 GAN网络 对抗式生成网络-图像超分辨及图像修复 完全可见 ...

  9. Java基础 hello world基础实例

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  10. Leetcode: Longest Common Subsequence

    Given two strings text1 and text2, return the length of their longest common subsequence. A subseque ...