虚拟控制台
一台计算机的输入输出设备就是一个物理的控制台 ;
如果在一台计算机上用软件的方法实现了多个互不干扰独立工作的控制台界面,就是实现了多个虚拟控制台;
Linux终端的工作方式是字符命令行方式,用户通过键盘输入命令进行操作,可以通过Linux终端对系统进行控制。
Linux 终端
Linux终端其实就是用户与操作系统之间的一个接口,用户通过终端与操作系统进行交互.Linux终端包括Shell字符界面终端、图形界面终端及其他用户界面的终端;
shell
什么是shell
Shell是一个作为用户与linux系统间接口的程序,它允许用户向操作系统输入需要执行的命令,返回执行结果
。在Linux中可有多种Shell,可用多个Shell,一个用户同一时刻只能用一个Shell。
Shell的种类 :
- ash: 是贝尔实验室开发的Shell,bsh是对ash的符 号链接。
- bash: 是GNU的Bourne Again Shell,是GNU操作系 统上默认的Shell。sh以及bash2都是对它的符 号链接。
- tcsh: 是Berkeley UNIX C Shell。csh是对它的符号 链接。
- ksh: Korn Shell的语法与Bourne Shell相同,同时具 备了C Shell的易用特点。
- zsh : Korn Shell 的一个增强版本,具备bash Shell 的许多特点。
GNU工具中的使用的是:bash。bash作为/bin/sh被默认安装。大多数Linux发行版中,Shell程序/bin/sh实际上是对程序/bin/bash的一个链接
echo $SHELL #查看当前使用Shell
chsh -l #查看系统支持的Shell列表
chsh -s /path/to/shell username #更改Shell
/bin/bash --version #查看bash版本
Shell命令的基本格式是:
命令名 [选项] <参数1> <参数2> ……
功能&特点
- 命令自动补齐(tab键)
两下tab - 历史记录查看(键盘上下键)
上下翻看历史输入命令/ctrl + r - shell提示符(#, $)
#:超级管理员root的命令提示符
$: 其他用户的命令提示符
- 输入输出重定向(>, >>, <)
在Linux中每一个程序的执行,都有输入、输出和错误输出;Linux系统中所有的设备都是以文件的形式存在(键盘、鼠标、显示器…);系统启动时自动打开了三个文件描述符
-
… < 文件
输入重定向wc -l < list.txt
-
… > 文件
输出重定向 覆盖原有内容ls > out.txt
-
… >> 文件
追加重定向 文件末尾添加echo abc >> out.txt
-
高级重定向
ls /usr /abc >ok.txt
ls /usr /abc 1>ok.txt 2>error.txt
ls /usr /abc 2>/dev/null
- 管道(|)
作用:把前一个命令的输出作为下一个命令的输入
符号: |
例子:
ls /var/log | grep log | wc -l
Linux文件命令
文件概述
文件是Linux用来存储信息的基本结构,它是被命名的存储在某种介质上的一组信息的集合。
Linux中所有内容都以文件的形式保存,分为:
- 普通文件
- 目录文件
- 设备文件
文件的成分:无论文件是一个程序、一个文档、一个数据库、一个目录,都有以下同样的结构
- 名字
- 索引节点,又称i节点,存放文件的状态信息的一个数据结构。包含文件的长度、创建及修改时间、权限、所属关系、磁盘位置等。
- 数据
Linux目录
目录文件也包含数据,它与普通文件的差别是:内核对这些数据进行结构化处理,它是由成对的“i节点号/文件名”构成的列表。
- 当把文件添加到一个目录中时,该目录的尺寸会增大,以便容纳新文件名。
- 当删除文件时,目录的尺寸并不减小,而是内核对该目录项做上特殊标记,以便下次添加一个文件时重新使用它
工作目录:用户登录到Linux系统后,每时每刻都处在某个目录之中,此目录被称为“工作目录” 或“当前目录”
用户主目录(Home Directory):是系统管理员在增加用户时为该用户建立起来的目录,每个用户都有自己的主目录。 使用符号~表示
绝对路径是