bash基础——终端
前言
自学Linux的时候,我们用的显示器+键盘 是物理终端。Linux开机后,会在物理终端(显示器)之上,以软件的方式虚拟出多个终端,CentOS是6个。Ctrl+Alt+F1~6切换
默认情况下,linux启动后都是从虚拟终端1登陆,而不会使用物理终端,即便在物理终端上。物理终端只在刚开机那一会儿,Linux还没有运行起来的时候有用。一旦程序启动完成便由虚拟终端1接管了。
为啥是6个终端?
以SysV采用的init为例,在/etc/inittab文件中会定义虚拟终端的个数
[root@www ~]# vim /etc/inittab
id::initdefault: <==默认的 runlevel 配置, 此 runlevel 为 si::sysinit:/etc/rc.d/rc.sysinit <==准备系统软件运行的环境的脚本运行档 # 个不同 run level 的,需要启动的服务的 scripts 放置路径:
l0::wait:/etc/rc.d/rc <==runlevel 在 /etc/rc.d/rc0.d/
l1::wait:/etc/rc.d/rc <==runlevel 在 /etc/rc.d/rc1.d/
l2::wait:/etc/rc.d/rc <==runlevel 在 /etc/rc.d/rc2.d/
l3::wait:/etc/rc.d/rc <==runlevel 在 /etc/rc.d/rc3.d/
l4::wait:/etc/rc.d/rc <==runlevel 在 /etc/rc.d/rc4.d/
l5::wait:/etc/rc.d/rc <==runlevel 在 /etc/rc.d/rc5.d/
l6::wait:/etc/rc.d/rc <==runlevel 在 /etc/rc.d/rc6.d/ # 是否允许按下 [ctrl]+[alt]+[del] 就重新启动的配置项目:
ca::ctrlaltdel:/sbin/shutdown -t3 -r now # 底下两个配置则是关於不断电系统的 (UPS),一个是没电力时的关机,一个是复电的处理
pf::powerfail:/sbin/shutdown -f -h + "Power Failure; System Shutting Down"
pr::powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" ::respawn:/sbin/mingetty tty1 <==其实 tty1~tty6 是由底下这六行决定的。
::respawn:/sbin/mingetty tty2
::respawn:/sbin/mingetty tty3
::respawn:/sbin/mingetty tty4
::respawn:/sbin/mingetty tty5
::respawn:/sbin/mingetty tty6 x::respawn:/etc/X11/prefdm -nodaemon <==X window 则是这行决定的!
更多信息参考:Linux启动流程 不过这篇文章的技术比较久,CentOS 7.X以后全部采用Systemd,老旧的init不再使用,了解即可。
物理终端
直接接入本机的显示器和键盘设备
虚拟终端
附加在物理终端之上的以软件方式虚拟实现的终端,CentOS默认启动6个虚拟终端。Ctrl+Alt+F1~6切换
设备文件路径:/dev/tty#

Linux是类UNIX系统,都是多用户多进程操作系统。(注意深刻理解多用户的概念)传统UNIX工作方式如下图


图形终端
附加在物理终端之上的以软件方式虚拟实现的终端,但会额外提供桌面环境,这里边的终端称为模拟终端
模拟终端
使用ssh通过网络连接到Linux
设备文件路径
/dev
查看当前终端命令
tty
GUI和CLI
GUI
GNOME:C开发
KDE: C++开发
xface: 轻量级图形界面
CLI
shell程序。
/bin/sh (已经被 /bin/bash 所取代)
/bin/bash (就是 Linux 默认的 shell)
/bin/ksh (Kornshell 由 AT&T Bell lab. 发展出来的,兼容于 bash)
/bin/tcsh (整合 C Shell ,提供更多的功能)
/bin/csh (已经被 /bin/tcsh 所取代)
/bin/zsh (基于 ksh 发展出来的,功能更强大的 shell)
查看我当前用户的是什么shell?
看$SHELL环境变量
查看当前linux支持的shell类型?
看/etc/shells中定义
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux
/usr/bin/screen
每个用户允许使用那些shell在那里定义?
/etc/passwd
bash基础——终端的更多相关文章
- cmd 与 bash 基础命令入门
身为一个程序员会用命令行来进行一些简单的操作,不是显得很装逼嘛!?嘿嘿~ ヾ(>∀<) cmd 与 bash 基础命令入门 简介 CMD 基础命令 ...
- Linux就该这样学--之常用linux命令及bash基础
Linux就该这样学--之常用linux命令及bash基础 Linux命令 管道 重定向 环境变量 常用命令 常用系统工作命令 系统状态检测命令 工作目录切换命令 文本文件编辑命令 文件目录管理命令 ...
- Bash基础——减号-
参考:Bash基础——pipe pipe命令在 bash 的连续的处理程序中相当重要.在pipe命令当中,常常会使用到前一个命令的 stdout 作为这次的 stdin , 某些命令需要用到文件名 ( ...
- Linux系列(10):入门之bash基础与bash环境设置
了解什么是shell吗? 知道如何查询当前系统支持的shell版本吗? 了解如何判断某个指令是否是bash的内置指令吗? 了解Linux的变量吗,知道如何定义与删除变量吗,知道如何赋值吗,知道如何获取 ...
- bash基础
bash 是一个为GNU计划编写的Unix shell.它的名字是一系列缩写:Bourne-Again SHell - 这是关于Bourne shell(sh)的一个双关语(Bourne again ...
- bash基础知识
站在用户登录的角度来说,SHELL的类型:登录式shell: 正常通常某终端登录 su - USERNAME su -l USERNAME 非登录式shell: su USERNAME 图形终端下打开 ...
- linux文件系统及bash基础特性
linux文件系统 一.根文件系统 linux被识别的第一个被称为根之间关联的文件系统叫做根文件系统(rootfs),其他分区要想被读到,需要挂载到根目录的某个挂载点(根的子目录)上.根文件系统至关重 ...
- Linux bash基础特性二
shell脚本的组成部分 shebang 各种命令组合 编程变量种类 本地变量: 仅仅在当前的shell生效 环境变量: 在当前和子shell生效 局部变量: shell进程某代码片段 位置变量: $ ...
- bash 基础命令
bash的基础特性(): () 命令历史 history 环境变量: HISTSIZE:命令历史记录的条数: HISTFILE:~/.bash_history: HISTFILESIZE:命令历史文件 ...
随机推荐
- WCAG
WCAG What is WCAG? Web Content Accessibility Guidelines (WCAG) Overview Checklist and solve technolo ...
- shell脚本批量执行命令----必需判断上一步执行结果--没有捷径
# 注意:shell脚本批量执行命令,不能只写一个函数,然后把所有命令复制进去,之前试过这样是不行的.必须要有一个判断命令执行成功与否的语句 # 简单的命令可以不加结果判断符号,但是遇到解压包.sed ...
- php注册自动加载函数
$autoload_func = function($class) { $class = str_replace('\\', '/', $class); $file_name = dirname(__ ...
- iOS-图形绘制(全)
画阴影: CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(contex ...
- Win10利用CodeBlocks搭建Objective-C开发环境(二)
工程文件已经建好:但此时会发现main.m文件为灰色,且无法点击,此时需右键点击main.m文件,在option选项中勾选 compile file和 link file选项. 设置完成后,双击mai ...
- 在React native 如何写if判断和for循环
在vue中一般在需要判断时都是通过if语句来实现的,但是在react native中一般则通过三元运算法来实现. 具体代码如下所示. import React from 'react'; import ...
- 哈夫曼编解码压缩解压文件—C++实现
前言 哈夫曼编码是一种贪心算法和二叉树结合的字符编码方式,具有广泛的应用背景,最直观的是文件压缩.本文主要讲述如何用哈夫曼编解码实现文件的压缩和解压,并给出代码实现. 哈夫曼编码的概念 哈夫曼树又称作 ...
- 第7章学习小结 不使用STL-map过实践题:QQ帐户的申请与登陆
目录: 一:查找的概念与术语 二:折半查找 三:二叉排序树 四:平衡二叉树 五:B-树 六:B+树 七:散列表 八:实践题:QQ帐户的申请与登陆 九:自我总结 一.查找的概念与术语 (一)查找表 查找 ...
- STM32固件库模板下载以及固件库学习方法
固件库模板下载 固件库模板新建过程: 下载我们上节的固件库文件 电脑新建一个文件夹命名为Fwlib-Template,在此文件夹下分别新建DOC Libraries Project User 这四个文 ...
- 导入别的项目到我的eclipse上出现红色感叹号问题
项目红色感叹号问题问题 一般我们在导入别的项目到我的eclipse上面会发现,项目上面有红色的错误 原因 因为我电脑上的 jdk版本和别人电脑jdk版本不一样,那么对于的jre版本也不 ...