(零)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标 ...
随机推荐
- Linux中的iptables防火墙策略
0x01 简介 iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的"安全框架"中,这个" ...
- Guided Hacking DLL Injector 3.3
Guided Hacking DLL Injector 3.3 https://guidedhacking.com/resources/guided-hacking-dll-injector.4/ I ...
- [Linux] 60s快速分析Linux性能
转载: https://www.cnblogs.com/zichuan/p/10440617.html 之前在地铁上看到过一篇快速分析Linux系统性能的文章,觉得以后有用,今天就找了一下,转载过来. ...
- 在Windows下编译Cef3.2623并加入mp3、mp4支持(附带源码包和最终DLL)《转》
https://blog.csdn.net/zhuhongshu/article/details/54193842 源码包下载地址:点我下载 最终Dll.Lib.PDB.头文件下载地址(release ...
- session设置存活时间的三种方式
在web容器中设置(此处以tomcat为例)在tomcat-5.0.28\conf\web.xml中设置,以下是tomcat 5.0中的默认配置: [html] view plain copy < ...
- Oracle 获取表的主键、外键以及唯一约束条件
Oracle 获取表的主键.外键以及唯一约束条件 Select a.Owner 主键拥有者, a.table_name 主键表, b.Column_Name 主键列, b.Constraint_Nam ...
- ionic4 路由跳转、ionic4 路由跳转传值 NavController 返回上一页 、NavController 回到根
1.普通路由跳转 <ion-button [routerLink]="['/pinfo']"> 跳转到详情 </ion-button> <ion-he ...
- PHP 小程序发模板消息
记录一下DEMO <?php function getAccessToken ($appid, $appsecret) { $url='https://api.weixin.qq.com/cgi ...
- Spring cloud微服务安全实战-6-4权限控制改造
授权,权限的控制 令牌里的scope包含fly就有权限访问.根据Oauth的scope来做权限控制, 要让@PreAuthorize生效,就要在启动类里面写一个注解. 里面有一个属性叫做,就是在方法的 ...
- 转 mysql 文件系统空间满了
#######################sample [OIP - 互联网开放平台]在2019-07-28 21:30:11发生10.194.42.19 - - Linux上的监控项[磁盘空间] ...