(零)linux 学习 -- 从 shell 开始
The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap02.html
前言
一直听别人说过 shell
,shell编程
,其实 shell
是什么呢?
什么是 shell
一说到命令行,我们真正指的是 shell
。shell
就是一个程序,它接受从键盘输入的命令, 然后把命令传递给操作系统去执行。几乎所有的 Linux
发行版都提供一个名为 bash
的 来自 GNU
项目的 shell
程序。“bash”
是 “Bourne Again SHell
” 的首字母缩写, 所指的是这样一个事实,bash
是最初 Unix
上由 Steve Bourne
写成 shell 程序 sh
的增强版。
当使用图形用户界面时,我们需要另一个和 shell
交互的叫做终端仿真器的程序。 如果我们浏览一下桌面菜单,可能会找到一个。虽然在菜单里它可能都 被简单地称为 “terminal”
,但是 KDE
用的是 konsole
, 而 GNOME
则使用 gnome-terminal
。 还有其他一些终端仿真器可供 Linux
使用,但基本上,它们都完成同样的事情, 让我们能访问 shell
。也许,你可能会因为附加的一系列花俏功能而喜欢上某个终端。
概述为下面三点:
shell
是一个程序,是真正意义的命令行,它为用户搭建了一个桥梁,架在用户与操作系统之间,用户通过shell
向操作系统发送命令。linux
中的shell
程序来自GUN
项目,而GUN
项目的shell
则是UNIX
系统上面sh
程序的增强版。Unix
→GUN
→Linux
。- 图形界面是无法直接使用
shell
的,但是有 终端(可能有多个不同的英文名)。终端,在图形界面与shell
之间架起桥梁,使得图形界面用户可以使用shell
。
终端
桌面上的就是一个终端(博主系统是乌班图)。
其中 yiaz@yiaz-virtual-machine:~$
一行文字是 shell
提示符,它的出现表示 shell
准备好了,可以开始接收输入了。
提示符的格式一般是:你的用户名@主机名,紧接着是 当前工作目录:$
;
其中提示符中的当前工作目录,随着用户切换路径而变化;
其中最后一个字符,如果是 #
而非 $
则代表我们的终端有 root
权限,我们可以切换到 root
用户 获取该权限 :
命令历史
当我们在终端输入命令的时候,大部分的 Linux
发行版,会默认保存 500
个命令;
可以使用方向键的上下键,进行切换到历史命令 ;
在终端中复制
在终端窗口中,使用鼠标右键或者左键双击选中的文本,则文本会被复制,再次按下鼠标中键,刚刚被复制的文本就会出现在命令行,也可以使用快捷键 :shift + insert
;
其中切记不可使用 Windows
的 Ctrl C,V
进行复制粘贴 ;这两个按键早在 Windows
定义复制粘贴之前就已经被 Linux
定义了,因此,这两个按键在 Linux
中有其他含义;
一些简单的命令
关于命令,在后面的会详细的学习;
现在仅仅说几个简单的。
date
打印系统时间cal
打印当前日期的日历形式df
磁盘剩余空间free
空闲内存空间exit
退出终端,即关闭终端
隐藏的终端
即使终端仿真器没有运行,在后台仍然有几个终端会话运行着。它们叫做 虚拟终端 或者是 虚拟控制台。在大多数 Linux
发行版中,这些终端会话都可以通过按下 Ctrl-Alt-F1
到 Ctrl-Alt-F6
访问。当一个会话被访问的时候, 它会显示登录提示框,我们需要输入用户名和密码。要从一个虚拟控制台转换到另一个, 按下 Alt
和 F1-F6
(中的一个)。返回图形桌面,按下 Alt-F7
。
但是上面的命令不是在所有的 Linux
发行版中都奏效;
例如,博主的 Ubuntu
系统,上述命令就无效,对应的功能分别如下:
ctrl + alt + F1
锁屏alt + F2
从虚拟终端切回桌面ctrl + alt + F3 -F6
虚拟终端(一共有4个)alt + F3 - F6
切换虚拟终端
(零)linux 学习 -- 从 shell 开始的更多相关文章
- Linux 学习 (八) Shell
Linux达人养成计划 I 学习笔记 Shell 是什么: Shell 是一个命令解释器 Shell 还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强 Shell 的分类: Bourne S ...
- linux 学习10 shell 基础
10.1 Shell概述 .Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一 ...
- (原创)鸟哥linux学习script shell相关笔记
在使用鸟哥linux进行script shell学习的过程中碰到一些不太明白的知识点,在这里进行一些记录 1. [root@www scripts]# vi sh03.sh #!/bin/bash # ...
- Linux学习——自定义shell终端提示符
转自:here 我使用的Linux发行版是LinuxMint 17.2 Rafaela,默认情况下Terminal中的shell提示包括了用户名.主机名.当前目录(绝对路径)和提示符.这样会导致当进入 ...
- linux 学习随笔-shell基础知识
1:用户的shell历史命令保存在home/username/.bash_history中 #!! 执行用户的上一条命令 #!pw 执行命令历史中最近一次以pw开头的命令 2:'*'来匹配零或多个 ...
- Linux学习之Shell编程基础
转自:http://my.oschina.net/itblog/blog/204410 1 语法基本介绍1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来 ...
- linux学习总结----shell编程
## 环境变量 ## 全局变量 ``` 常见的全局环境变量 PATH 指令的搜索路径 HOME 用户的家目录 LOGNAME 登录名 SHELL 脚本的类型 使用全局环境变量 echo $PATH 自 ...
- (六)linux 学习 -- 从 shell 眼中看世界
The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap08.html 文章目录 字符展开 `*` 路 ...
- linux/linux学习笔记-Shell基础(mooc)
一.shell概述 shell根据ascII表,将命令翻译为0101...传给内核执行. 内核->shell翻译为命令->用户(操作的界面就是shell,shell=翻译官) linux标 ...
随机推荐
- 单一职责原则(SRP)
内聚性:一个模块的组成元素之间的功能相关性.就一个类而言,应该仅有一个引起它变化的原因.当需求变化时,该变化会反映为类的职责的变化,如果一个类承担了多于一个的职责,那么引起它变化的原因就会有多个.如果 ...
- [spring-boot] 配置 MySQL
spring-boot项目 配置MYSQL驱动 maven pom文件中增加依赖 <!-- MYSQL驱动 --> <dependency> <groupId>my ...
- RPC协议、http协议、https协议的区别
什么是RPC协议?RPC是一种远程过程调用的协议,使用这种协议向另一台计算机上的程序请求服务,不需要了解底层网络技术的协议. 在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器. HT ...
- (转)设置了RemoveIPC=yes 的RHEL7.2 会crash掉Oracle asm 实例和Oracle database实例
设置了RemoveIPC=yes 的RHEL7.2 会crash掉Oracle asm 实例和Oracle database实例,该问题也会在使用Shared Memory Segment (SHM ...
- 【转】暴力破解无线WiFi密码
# coding:utf-8 import pywifi from pywifi import const import time from asyncio.tasks import sleep cl ...
- Cocoa Framework中GB2312与UTF16编码之间的相互转换
代码如下: NSString *orgStr = @"你好,世界!"; NSStringEncoding enc = CFStringConvertEncodingToNSStri ...
- Spark累加器(Accumulator)
一.累加器简介 在Spark中如果想在Task计算的时候统计某些事件的数量,使用filter/reduce也可以,但是使用累加器是一种更方便的方式,累加器一个比较经典的应用场景是用来在Spark St ...
- hugepage设置相关总结
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/shaoyunzhe/article/de ...
- 【Redis】CacheCloud介绍及快速开始
CacheCloud是做什么的 CacheCloud提供一个Redis云管理平台:实现多种类型(Redis Standalone.Redis Sentinel.Redis Cluster)自动部署.解 ...
- yii2 HeadersAlreadySentException 报错 解决方案
报错如下: An Error occurred while handling another error: exception Stack trace: # /xxxx/xxxx/vendor/yi ...