菜鸟问个基本问题:shell,bash,zsh,console,terminal到底是什么意思,它们之间又是什么关系?
时间:2009-12-25
来源:互联网
作者: 何處不腥膻 发布时间: 2009-12-25
作者: qiang_liu8183 发布时间: 2009-12-25
作者: 何處不腥膻 发布时间: 2009-12-25
作者: philacorns 发布时间: 2009-12-25
作者: 何處不腥膻 发布时间: 2009-12-25
作者: carbonjiao 发布时间: 2009-12-25
作者: carbonjiao
估计楼主在写论文
|
作者: 何處不腥膻 发布时间: 2009-12-25
而console(tty) fbterm xterm 这些则是终端程序,说白了就是字符型的屏幕加键盘。屏幕当然既可以执行shell程序,显示用户输入的信息,又可以显示其他的字符程序,比如wget ftp telnet ssh等等。
你要想在文本方式用键盘交互输入命令,就只需要一个终端,同时在终端里面运行一个shell(其实还是在计算机上运行,不是在终端内部运行,如果是虚拟终端的话,这个shell会是终端的子进程。如果是真实硬件终端如vt100型终端,则是通过串口与主机连接,shell是与这个串口关联的tty的子进程。目前的终端大多是虚拟终端了,我也是读大学的时候在图书馆用过物理终端)。
大的发行版一般用的是bash这个shell。
Unix/Linux不同于Windows,一台电脑可以同时开启很多的终端,每个终端都能同时接受不同用户的操作。是多人同时使用的操作系统。
作者: 没本 发布时间: 2009-12-25
terminal如果指的是图形界面下的字符终端如xterm之类的东东的话,它应该是一个console的仿真软件,就象Windows里的cmd一样。
bash,zsh是字符界面(console)下的一个shell,负责解析shell命令和脚本,除了bash,zsh以外,还有ash,csh,ksh,sh,tcsh等等,如果系统上装了多个shell的话,可以用chsh命令来切换。
只是我的理解,不知道对不对~~
作者: waiting4you 发布时间: 2009-12-25
作者: 月魄孤魂 发布时间: 2009-12-25
console相当于GUI下的terminal;
terminal相当于CLI下的console;
console、terminal都是一种字符界面;
terminal是一种特殊的console,是它的一个仿真软件;
一般console有6个,tty1-6
terminal有gnome-terminal,urxvt,mlterm等等
console、terminal相当于个外壳(或环境?),shell相当于在这个外壳下处理和人机交互相关的东西;
shell有bash,ash,zsh,tcsh等等
还没听说过怎么换console;
如果对terminal不满意,直接卸载这个terminal,然后再pacman安装一个
换shell可以修改/etc/passwd,把里面的/bin/bash换成你想要的shell
好了,上面是我总结的,语言不严谨,只是为了自己能理解,不知道对不对,大家纠正啊!
最新的总结在15楼!
作者: 何處不腥膻 发布时间: 2009-12-25
terminal——终端是一种设备,不是一个程序,一般说的就是能提供命令行用户界面的设备,典型的屏幕和键盘。图形终端一般不都称为终端。
shell 的一切操作都在计算机内部,只是把一些信息适当的输送到终端设备,同时还接收来自终端设备的输入。一般每个 shell 进程都会有一个终端关联,也可以没有。
一台显示器一个键盘本就只是一个终端,但很可能不够用,但又不想增加设备投入,虚拟终端应运而生,只要 Alt + Fn 切换即可。
gnome-terminal、xtern 等是一个程序,职责是模拟终端设备,和虚拟终端的区别表面上在于它以 GUI 形式的窗口出现,内部则是程序结构和系统控制结构有所不同,但本质上差不多。
console——显示系统消息的终端就叫控制台,什么拔插 U 盘,网线被拔之类,终端上就会打印出相应消息(archlinux 没有),扰乱用户当前操作,vi/vim 中的 Ctrl + l 就是对付这事情的。FreeBSD 只有 tty0 才是控制台,其它几个都只是普通终端,不会显示任何系统消息。Linux 默认所有虚拟终端都是控制台,都能显示系统消息,当然,用户可以改变设置。
作者: ch_fb 发布时间: 2009-12-25
每次登陆后,直接按ll就可以用长行方法列目录了。
作者: 没本 发布时间: 2009-12-25
作者: huntxu 发布时间: 2009-12-25
终端(terminal,或者叫物理终端):
是一种设备,不是一个程序,一般说的就是能提供命令行用户界面的设备,典型的是屏幕和键盘,或其他的一些物理终端。
虚拟终端:
屏幕和键盘只是一个终端,可能不够用,又不想增加设备投入,就产生了虚拟终端。
gnome-terminal,urxvt,mlterm,xterm等等:
是一个程序,职责是模拟终端设备,和虚拟终端的区别表面上在于它以 GUI 形式的窗口出现,内部则是程序结构和系统控制结构有所不同,但本质上差不多。
控制台(console):
显示系统消息的终端就叫控制台,Linux 默认所有虚拟终端都是控制台,都能显示系统消息。
但有时专指CLI下的模拟终端设备的一个程序,和gnome-terminal,urxvt,mlterm,xterm等相同,只是CLI和GUI界面的区别。一般console有6个,tty1-6,CTRL+ALT+fn切换。还没听说过怎么换console
shell是一个抽象概念,shell的一切操作都在计算机内部,负责处理人机交互,执行脚本等,是操作系统能正常运行的重要组成部分
bash,ash,zsh,tcsh等是shell这个抽象概念的一种具体的实现,都是一个程序,都能生成一个进程对象。
如果想换shell的程序,可以修改/etc/passwd,把里面的/bin/bash换成你想要的shell,或者用chsh命令来切换
shell与终端的关系:shell把一些信息适当的输送到终端设备,同时还接收来自终端设备的输入。一般每个shell进程都会有一个终端关联,也可以没有。
作者: 何處不腥膻 发布时间: 2009-12-25
作者: linux701 发布时间: 2009-12-25
作者: linux701
shell就是蓝精灵,bash是蓝妹妹,zsh是聪聪,ash是蓝蓝,tcsh是笨笨,厌厌,乐乐,健健,灵灵,爱爱,美美等等,就这样。格格巫当然是M$
|
作者: 何處不腥膻 发布时间: 2009-12-25
terminal可就不一定了,比如我我在遠方,連上我的電腦,這個叫terminal。
至於xterm,你在裡面打tty這個指令,看到pts就是terminal了,如果是console會顯示tty。
上面這兩個東西,跟bash之間的關係,應該是先進到console之後,在考慮你要用哪個東西,像bash zsh之類的東西選一個給你用,至於shell我想就是指bash這種東西。
像bbs ... ftp之類的東西,連過去,就不會是bash了,大概是這個樣子。
以上不知道講的對不對,如果有誤人子弟,請糾正一下。
作者: jiuny0209 发布时间: 2009-12-30
作者: 没本 发布时间: 2009-12-31
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28