当前位置: 首页 > news >正文

Linux入门基础 #1:命令行bash基本操作

----------------------------------------------------------------------------------


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

  • Shell一般分为:图形化Shell(GUI)、命令行Shell(CLI)

CLI: command line interface

GUI: Graphical User Interface


  • Linux中一般默认GUI为:GNOME,默认CLI为:BASH

  • BASH提示符以#$起始,#代表当前用户为root用户,$代表当前用户为普通用户我们可以通过键盘上的Tab按键对命令或文件名进行自动补全

  • su - 进入root用户模式。
  • su不切换终端,还在当前目录,su - 切换全新的终端。

  • 如果不知道或忘记密码,sudo passwd root可以直接重新设置root密码。直接passwd是修改密码

  • 输入exit 退出root模式

  • 普通用户用sudo,可以用管理员身份运行

  • hostname查看主机名
  • uname显示系统信息, uname -a 所有信息
  • 命令id可以显示当前用户的信息

  • 代表home目录

  • Ctrl + C终止当前命令
Ctrl+C:送SIGINT信号,默认进程会结束,但是进程自己可以重定义收到这个信号的行为。
Ctrl+Z:送SIGSTOP信号,进程只是被停止,再送SIGCONT信号,进程继续运行。
ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF

1、Ctrl+C比较暴力,就是发送Terminal到当前的程序,比如你正在运行一个查找功能,文件正在查找中,Ctrl+C就会强制结束当前的这个进程。
2、Ctrl+Z是把当前的程序挂起,暂停执行这个程序,比如你正在mysql终端中,需要出来搞点其他的文件操作,又不想退出mysql终端(因为下次还得输入用户名密码进入,挺麻烦),于是可以ctrl+z将mysql挂起,然后进行其他操作,然后输入fg回车后就可以回来,当然可以挂起好多进程到后台,然后fg 加编号就能把挂起的进程返回到前台。当然,配合bg和fg命令进行前后台切换会非常方便。
3、Ctrl+D 是发送一个exit信号,没有那么强烈,类似ctrl+C的操作,比如你从管理员root退回到你的普通用户就可以这么用。
  • clear:清除终端屏幕

  • 命令由:命令,选项,参数组成
  • Tab键用来补全文件(夹)名,命令
  • 方向键“上”或者Ctrl+p,重复上一次命令
  • BASH会记录我们以往操作的命令,可以通过history命令查看所有历史命令
  • BASH可以通过以下方式调用历史记录以简化操作:
!!       重复前一个命令
!字符   重复前一个以指定字符开头的命令
!num   按历史记录序号执行命令
!?abc  重复之前包含abc的命令
!-n     重复n个命令之前那个命令

  • 我们可以通过 ctrl + r 来对历史命令记录进行搜索查询
  • esc . (ESC+点号)上一个命令的参数
  • 命令su可以切换用户
  • 命令passwd可以修改当前用户的密码

  • 通过在命令后追加一个&,可以将该命令放入后台运行。例如:firefox & : 加&表示在后台运行火狐,这样命令行就可以继续使用。CLI是多进程终端

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


  • 通过以下命令可以管理后台作业:
& 在后台运行

jobs  显示后台作业(jobs是对当前终端下的任务进行调度。ps是对当前终端或系统中的进程进行查看管理的。ps要底层一些。)



fg    将后台作业调到前台执行 ; fg = foreground`

bg(+进程序号)    继续执行一个后台作业  bg = background

例如上买你进程2是sleep 5000已经停止了,那么bg 2可回复它继续进行


相关文章:

  • Linux入门基础 #2:Linux文件系统基本结构
  • Linux入门基础 #3:文件基本操作管理和常用命令
  • Linux入门基础 #4:文件系统
  • Linux入门基础 #5:Linux文件系统挂载管理
  • Linux入门基础 #6:Linux用户基础
  • Linux入门基础 #7:Linux权限机制
  • OI算法汇总[大纲]
  • [C++]高精度 bign (重载运算符版本)
  • [高精度][codevs 1145]Hanoi双塔问题
  • C/C++头文件一览
  • [MZ test.16]P1 评测
  • [MZ test.16]P2 math 乘方e
  • codevs#1287[题解] Key:矩阵乘法
  • codevs#3147[题解]矩阵乘法2
  • MZ test17# NOIP模拟题 # T1 第1题 时间计算(heaven.pas/cpp)[key.模拟]
  • Angular 2 DI - IoC DI - 1
  • js如何打印object对象
  • JWT究竟是什么呢?
  • Koa2 之文件上传下载
  • Linux后台研发超实用命令总结
  • python 装饰器(一)
  • underscore源码剖析之整体架构
  • 基于axios的vue插件,让http请求更简单
  • 记录一下第一次使用npm
  • 记一次用 NodeJs 实现模拟登录的思路
  • 前端技术周刊 2019-01-14:客户端存储
  • 移动端解决方案学习记录
  • 1.Ext JS 建立web开发工程
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • #14vue3生成表单并跳转到外部地址的方式
  • #define,static,const,三种常量的区别
  • #include<初见C语言之指针(5)>
  • (07)Hive——窗口函数详解
  • (1)Android开发优化---------UI优化
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (七)c52学习之旅-中断
  • (三) diretfbrc详解
  • (小白学Java)Java简介和基本配置
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • .Net CF下精确的计时器
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .NET大文件上传知识整理
  • .NET轻量级ORM组件Dapper葵花宝典
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • [ 转载 ] SharePoint 资料
  • [2016.7 test.5] T1
  • [ARM]ldr 和 adr 伪指令的区别
  • [git]git命令如何取消先前的配置
  • [github全教程]github版本控制最全教学------- 大厂找工作面试必备!
  • [GXYCTF2019]BabyUpload1 -- 题目分析与详解