Linux_终端与Shell

1. 什么是终端

  • 简单讲就是能够接受输入,并显示(输出)结果的东西。终端是计算机系统最重要的人机接口。
  • CentOS的桌面终端(伪终端)对应程序文件 /usr/bin/gnome-terminal

2. 控制台(console)与终端(Terminal)

  • 早期将直接与计算机连接的物理输入输出设备称为控制台
  • 通过网线与计算机远程连接的输入输出设备称为终端

3. 虚拟终端(TTY:teletypewriter)

  • 为了在Linux操作系统中,可以多个用户登录系统进行操作,或者同一个用户打开多个窗口执行多个任务,Linux操作系统设置了多个虚拟终端设备,分别对应于/dev/tty1~/dev/tty6。
  • CentOS中默认只启用了其中的6个供用户使用,分别是tty1~tty6,可以通过快捷键:ctrl+alt+<F1 ~ F6>进行切换。

4. 什么是shell(命令行)

  • 简单来说shell就是接收用户输入的命令,然后提交给Linux内核处理的一个壳程序。
  • 当终端打开时,会自动启动shell程序。shell程序有很多种,Linux大多默认使bash(GNU
    Bourne-Again SHell),其是Bourne shell(bsh)的超集,即扩展。
  • bash对应的程序文件:/usr/bin/bash

5. 使用shell原因

1.效率高
2.稳定
3.开发省心省钱
4.在软件测试、部署和运维中不可或缺
5.在软件测试、部署和运维中不可或缺

6. 命令提示符(command prompt)

一般来讲,打开终端窗口之后,光标停留位置的前面显示那个字符就是所谓的命令提示符。root用户的命令提示符为 ’ # ',其他用户的命令提示符为 ’ $ ’ 。

7. 执行命令

在命令提示符后的光标处开始输入命令,完成命令输入后,按下回车开始执行命令 。

8. 命令基本格式

command [option] [target]
#command:命令名
#options:命令选项
#target:文件、设备、用户等可操作的对象

9. 选项

可以通过不同的选项,来指示命令完成特定的操作。通常选项分为短格式(-)长格式(–) 两种。短格式选项通常以单个字符表示,多个短格式选项可以连接在一起同时使用。

# 示例:
ls -l -d /home/zc
# 等价于
ls -l --directory /home/zc
# 等价于
ls -ld /home/zc

10. 标准输入(stdin)

简单理解就是键盘,在Linux中标准输入被连接到/dev/stdin这个设备文件。标准输入的文件描述符0

11. 标准输出(stdout)

简单理解就是屏幕,在Linux中标准输出被连接到/dev/stdout这个设备文件。标准输出的文件描述符1

12. 标准错误输出(stderr)

标准错误输出就是命令执行错误时的输出位置,默认也是屏幕,被连接到/dev/stderr这个设备文件。标准错误输出的文件描述符2
在这里插入图片描述

12. 输入输出重定向

重定向就是将原本输入或输出的位置改变到其他地方。

13. 输出重定向(> 或 >>)

#原本输出到屏幕的内容重定向覆盖写入文件file
command 1> file
#原本输出到屏幕的内容重定向追加写入文件file
command 1>> file

#文件描述符1可以省略
command > file
command >> file

在这里插入图片描述

13. 错误输出重定向

#命令错误时,会将错误信息输出到屏幕
#将错误输出到黑洞设备,即丢弃所有错误信息
command 2> /dev/null

在这里插入图片描述

14. 标准输入重定向

#注意不是所有命令都能从标准输入中接收数据
#将文件重定向到命令的标准输入
command 0< file

#文件描述符0可以省略
command < file

在这里插入图片描述

15. 管道(|)

管道用于将一个命令的标准输出连接到另外一个命令的标准输入。实际上完成的工作就是前一个命令输出重定向,而后一个命令的标准输入重定向。

# 基本语法:
command1 | command2 | ...

在这里插入图片描述

16. 命令多行输入

默认在输入命令时,按下enter后,shell就会自动执行命令。如果要输入的命令太长,想在多行中输入时,不能直接按下enter,需要先按下一个反斜线’’,然后在按下enter,样enter的特殊含义就会被转义为普通的换行含义了。

17. 命令补全

在命令行中输入命令时,可以通过按下tab键,补全命令、文件名、目录名等。如果连续按两次tab键,会根据当前已输入的字符输出所有可能的补全。

18. 历史命令

bash具有记录过往执行过的命令功能,通过history命令可以查看当前用户曾经输入过的所有命令。

[zc@localhost /]$ history
	1 df
	2 man fdisk
	3 fdisk /dev/sda
	4 sudo fdisk /dev/sda
	5 man gdisk
	...

使用感叹号 ! 加上历史命令编号,即可再次执行该历史命令

[zc@localhost /]$ !1
df
Filesystem	 1K-blocks	 Used Available Use% Mounted on
devtmpfs		 885628 	0 	885628 	  0%  /dev
tmpfs 			 916220	    0   916220    0%  /dev/shm
...

也可以在终端窗口中按 ↑ 方向键,依次翻看之前的历史命令,翻到要重新执行的命令时,按下enter键即可。

19. 命令行帮助

19.1 命令的 --help 选项

如果只是查看命令的使用方法及常用选项,即可使用 - -help选项。大部分Linux命令都提供了该选项。

ls --help
[zc@localhost /]$ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
-a, --all do not ignore entries starting with .
-A, --almost-all do not list implied . and ..
	--author with -l, print the author of each file
-b, --escape print C-style escapes for nongraphic characters
--block-size=SIZE with -l, scale sizes by SIZE when printing them;	
...

19.2 man page

man page全称为Manual page,是linux /unix 环境下命令与函数的帮助文档。

# man page使用man命令来查看
# 命令格式:
man [选项] [命令名]

19.3 手册内容

  • NAME:功能简要说明
  • SYNOPSIS:语法
  • DESCRIPTION:注意事项
  • OPTIONS:选项使用说明
  • COPYRIGHT:版权信息

19.4 man章节

章节说明
man1提供普通用户使用的命令说明
man2系统调用、内核函数说明
man3子程序、库函数说明
man4/dev目录中的设备文件说明
man5/etc目录中的配置文件格式说明
man6游戏手册
man7协议转换手册
man8root可用的系统管理手册
man9Linux系统例程手册

19.5 查看命令有哪些章节帮助

whereis

# whereis命令会显示命令的路径,以及其源代码和所有帮助文件的路径
# 命令格式:
whereis 命令名
# 示例:
whereis read
read: /usr/bin/read
/usr/share/man/man1/read.1.gz
/usr/share/man/man1p/read.1p.gz
/usr/share/man/man2/read.2.gz
/usr/share/man/man3p/read.3p.gz

19.6 whatis

# whatis命令从数据库中查看,数据库需要事先有root用户通过mandb命令创建
# 命令格式:
whatis 命令名
# 示例:
mandb
whatis read
read (1) - bash built-in commands, see bash(1)
read (1p) - read a line from standard input
read (2) - read from a file descriptor
read (3p) - read from a file

19.7 man page操作命令

快捷键功能
空格键向下翻一页
ctrl+f向下翻一页
ctrl+b向上翻一页
G到第一页
g到最后一页
/string向下搜索string这个字符串
?string向上搜索string这个字符串
n搜索下一个
N搜索上一个
q退出

20. info page

是Linux系统专有的帮助系统,具有更强的交互性。

# info page可以使用info命令查看
# 命令格式:
info [选项] [命令名]

20.1 info page操作命令

快捷键功能
空格键向下翻一页
tab在node间移动,node以星号显示
enter光标在node上,会进入该node
b移动到当前页的第1个node处
e移动到当前页的最后1个node处
n前往下一个node处
p前往上一个node处
u返回上一层
s string关键字搜索
?命令一览表
q退出
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小张加加加油!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值