1. Shell 是什么

Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令、操作传递给操作系统底层。

Shell一般分为:图形化Shell(GUI)、命令行Shell(CLI),Linux中一般默认GUI为:GNOME,默认CLI为:BASH

2. BASH

绝大多数Linux发现版都使用BASH作为其默认的CLI。打开Terminal,如图:

BASH提示符以#$起始,#代表当前用户为root用户,$代表当前用户为普通用户

2.1 命令行的组成

命令行一般由3个部分组成:

  • 命令
  • 选项
  • 参数

2.2 TAB键自动补全

  • Tab按键对命令或文件名进行自动补全
  • Tab键不能自动补齐参数

2.3 历史命令记录

BASH会记录我们以往操作的命令,可以通过history命令查看。

BASH可以通过以下方式调用历史记录以简化操作:

  • !! 重复前一个命令
  • !字符 重复前一个以指定字符开头的命令
  • !num 按历史记录序号执行命令
  • !?abc 重复之前包含abc的命令
  • !-n 重复n个命令之前那个命令

2.4 搜索历史命令记录

通过 ctrl + r 来对历史记录进行搜索查询

2.5 使用通配符

BASH Shell支持以下通配符

  • * 匹配零个或多个
  • ? 匹配任意一个字符
  • [0-9] 匹配一个数字范围
  • [abc] 匹配一个列表中的任何字符
  • [^abc] 匹配列表以外的字符

2.6 切换用户

  • su - 切换到root用户并使用一个新的运行环境
  • sudo 使用管理员有身份运行命令
  • id 显示当前用户信息
  • passwd 修改当前用户密码

2.6 管理后台作业

后台运行:如果需要在后台运行程序可以在命令后加一个&即可。

暂停程序:通过Ctrl + z 或者发送信号17,即可暂停某个程序

通过以下命令可以管理后台作业:

  • jobs 显示后台作业
  • fg 将后台作业调到前台执行
  • bg 继续执行一个后台作业

参考资料&进一步阅读

壳层

Linux 学习手记(1):命令行BASH的基本操作的更多相关文章

  1. Linux 入门记录:一、命令行 Bash 的基本操作

    为了以后长期的线上测试和服务器的性能考量,要用 Linux 服务器了.昨晚装了个 CentOS 6.9,今天开始学学 Linux 基础,扫扫盲.ok,小本本记 ing... 一.Shell简介 She ...

  2. 【Linux学习一】命令行CLI、BASH的基本操作

    ●操作系统的基本结构 操作系统的基本结构通过Kernel(内核)和Shell(壳)构成.常见的Shell分为GUI和CLI GUI 图形方面的shell ------〉windows .mac osC ...

  3. 命令行BASH的基本操作

    前面说了,我们要尽量少用GNOME图形界面,而应该以使用BASH命令行为主. SHELL Shell是操作系统内核的壳,因为我们不能直接操作系统的内核Kernel,只能通过Shell去操作,Shell ...

  4. SVN学习之svn命令行下的基本操作

    http://huihai.iteye.com/blog/1985751 上一节已经把svn安装完成,下来就用命令行做一些简单的操作. 1.当svn安装完成后,svn管理人员会在svn的root根目录 ...

  5. 第4章 ZK基本特性与基于Linux的ZK客户端命令行学习

    第4章 ZK基本特性与基于Linux的ZK客户端命令行学习 4-1 zookeeper常用命令行操作 4-2 session的基本原理与create命令的使用

  6. 【No.2】监控Linux性能25个命令行工具

    接着上一篇博文继续 [No.1]监控Linux性能25个命令行工具 10:mpstat -- 显示每个CPU的占用情况 该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一 ...

  7. 【No.1】监控Linux性能25个命令行工具

    如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?通过以下命令或者工具可以快速定位 top vmstat lsof tcpdump netsta ...

  8. MOOS学习笔记3——命令行

    MOOS学习笔记3--命令行 例程 /** * @code A simple example showing how to use a comms client问问怎么样 */ #include &q ...

  9. linux的基本的命令行操作

    linux的基本的命令行操作 第一步前登陆你的服务器 //创建文件夹的方法 mkdir 文件名 //进入指定文件夹 cd 文件名 //查看文件夹下的内容 ls or ll // 查看当前的路径 pwd ...

随机推荐

  1. node.js 使用 net 模块模拟 websocket 握手,进行数据传递。

    websocket 是一种让浏览器与服务器之间建立持久的连接,并能进行双向数据传输的一种协议. websocket 属性应用层协议,基于tcp传输协议,并复用http的握手通道. 一.如何进行webs ...

  2. vue-if和v-show区别

    vue-if和vue-show都是对条件进行判断,一直不明白他们的区别,知道看到了官方文档中的解释: v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和 ...

  3. Web 研发模式的演变

    前不久徐飞写了一篇很好的文章:Web 应用的组件化开发.本文尝试从历史发展角度,说说各种研发模式的优劣. 一.简单明快的早期时代 可称之为 Web 1.0 时代,非常适合创业型小项目,不分前后端,经常 ...

  4. downLoad

    String root= ServletActionContext.getServletContext().getRealPath(File.separator).replace("\\&q ...

  5. trinitycore 魔兽服务器源码分析(二) 网络

    书接上文 继续分析Socket.h SocketMgr.h template<class T>class Socket : public std::enable_shared_from_t ...

  6. 使用RabbitMq

    1.配置环境 http://www.cnblogs.com/longlongogo/p/6479424.html 2.安装RabbitMQ https://www.cnblogs.com/longlo ...

  7. I/O dempo

    标准读取写入 package io_stream; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; i ...

  8. bug的一些事

    Bug级别:(由高到低) 1.critical:系统直接崩溃,瘫痪.无法正常打开使用产品 2.Block:逻辑出现严重问题,流程卡住,无法进行下一步 3.Major:部分功能出现闪退,功能没有实现,但 ...

  9. IOPLL动态重配

    连接 Avalon -MM接口 mgmt_waitrequest:当 PLL 重配置进程开始后,此端口变高并在 PLL 重配置期间保持高电平. PLL 重配置进程完成后,此端口变低. I/O PLL重 ...

  10. 福大软工 · 第八次作业(课堂实战)- 项目UML设计(团队)

    Team information 队名: 彳艮彳亍团队 各成员短学号.名: 学号: 姓名: 本次博客链接: 041602209 黄毓明(临时队长)  https://www.cnblogs.com/m ...