Linux默认的情况下会提供6个终端来让用户登录,切换的方式为:
【Ctrl + Alt + F1 ~ F6】 的组合键,系统将【F1】~【F6】命名为 tty1 ~ tty6 的操作接口环境
- 【Ctrl + Alt + F2 ~ F6】:命令行模式登录 tty2 ~ tty6终端
- 【Ctrl + Alt + F1】:图形用户界面模式
1.在终端登录Linux
如果按下【Ctrl + Alt + F2】组合键就可以来到 tty2 的登录界面,这个纯命令行环境的登录界面(鸟哥用dmtsai账户登录)
CentOS Linux 7 (Core)
Kernel 3.10.0-229.e17.x86_64 on an x86_64
study login:dmtsai
Password:
Last login: Fri May 29 11:55:05 on tty1
[dmtsai@study ~]$ _
1.显示Linux发行版名称(CentOS)与版本(7)
2.显示Linux内核版本 3.10.0-229.e17.x86_64,当前这台主机的硬件架构x86-64
(第一、二行内容来自于 /etc/issue这个文件中)
3.主机名全名:study.centos.vbird,但这里只取第一个小数点前面的字母即study,login:后输入账号
4.Password:输入密码
5.列出上一个此账号登录系统的时间与终端名称
6.[目前用户的账号@主机名 ~ ] dmtsai为目前用户的账号名,study是主机名,
~是指目前所在目录,$为提示字符
~ 代表“用户的家目录”的意思,是个变量,举例来说,root 的家目录在root,所以 ~ 就代表 /root 的意思,dmtsai的家目录在 /home/dmtsai,所以如果你以dmtsai登录时,它看到的 ~ 就会等于 /home/dmtsai
在Linux当中,默认 root 的提示字符为#,一般身份用户的提示符为 $
2.命令行模式下命令的执行
命令行模式登陆后所运行的程序被称为壳(Shell),这是因为这个程序负责最外面跟我们沟通,所以才被称为壳程序。Linux的Shell就是Bash
2.1命令执行的方式
[dmtsai@study ~] command [-options] parameter1 parameter2 ...
1.command 为命令的名称
例如:变换工作目录的命令为 cd 等
2.中括号[ ]并不存在于命令中,表示是可选的,而加入选项设置时,通常选项前会带 — 号
例如: -h 有时候会使用选项的完整全面则选项前带 - - 符号 ,例如: - -help
3.命令 、选项、参数等中间以空格来间隔,不论空几个shell都视为一格
4.命令太长时,可用反斜杠( \ )来转义回车键(代表一行命令的开始启动),使命令连续到下一行
5.Linux系统中,英文大小写字母是不一样的
2.2基础命令的操作
- 显示日期的命令 :date
- 显示日历的命令 :cal
基本上 cal(calendar)命令的语法为
[dmtsai@study ~]$ cal [day] [month] [year]
- 简单的计算器 :bc
运算符号 | 运算名称 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
^ | 指数 |
% | 余数 |
bc默认只输出整数,如果要输出小数点后的位数,那就必须执行
scale=number
在命令行模式里面执行命令时,会有两种主要情况:
-
一种时该命令会直接显示结果,然后回到命令提示字符等待下一个命令的输入
(命令执行后立即显示信息且立刻回到命令提示字符的环境)
-
一种是进入到该命令的环境,直到结束该命令才回到命令行界面的环境
(进入软件功能的环境,那么就要使用该软件的结束命令,如上面使用bc软件的结束命令quit,才能够回到命令提示字符中)
2.3 重要的几个热键[Tab]、[Ctrl]-c、[Ctrl]-d
命令行模式中有很多的功能组合键,这些按键可以辅助我们进行命令的编写与程序的中断。
2.3.0 [Tab]按键
具有命令补全与文件补齐的功能,可以避免我们打错命令或文件名,但 [Tab]按键在不同的地方输入,会有不一样的结果
例1:
ca后连续按下两次 [Tab] [Tab]
例2:
ls -al ~ /.Bash 按两次[Tab]按键
[dmtsai@study ~]$ ls -al ~/.Bash [Tab][Tab]
.Bash_history .Bash_logout .Bash_profile .Bashrc
在该目录下面所有以 .Bash为开头的文件名都会被显示出来
例3:
date - -按两次[Tab]按键
[Tab]按键的三种情况总结
- [Tab]接在一串命令的第一个字段后面,则为命令补全
- [Tab]接在一串命令的第二个字段后面,则为文件补齐
- 若安装了Bash-completion软件,则在某些命令后面使用[Tab]按键时,可以进行选项/参数的补齐功能
2.3.1 [Ctrl]-c按键
有时候输入错误命令或参数,如果想让当前的程序停掉,输入[Ctrl]-c(按住[Ctrl]键不放再按下c键),那就是中断目前程序的按键
举例:
2.3.2 [Ctrl]-d按键
直接退出命令行模式,相当于exit
2.3.3 [Shift]+{[Page UP][Page Down]}按键
在命令行模式中输出信息过多时:
[Shift]+[Page Up]向前翻页
[Shift]+[Page Down]向后翻页
2.4 错误信息查看
通常出现 Command not found 的可能原因:
- 这个命令不存在,因为该软件没有安装之故,解决方法就是安装该软件
- 这个命令所在的目录目前的用户并没有将它加入命令查找路径中,请参考PATH说明;
- 很简单,因为你打错字了
2.5 Linux系统的在线求助 man page 与 info page
在命令行模式下,查看以 g 开头的命令有哪些:g 后连续两次[Tab]键
2.5.0 命令的 - -help求助说明
举例:查看 date 这个命令的基本用法与选项参数的介绍
2.5.1 man page (manual)
进入 man 命令的功能后,可以按下空格键往下翻页,可以按下 q 按键来离开 man 的环境
date的在线参考手册
[dmtsai@study ~]$ man date
进入man date后输入 /date,寻找关键字date
null的在线参考手册
[dmtsai@study ~]$ man null
man的在线参考手册
[dmtsai@study ~]$ man man
上图中出现DATE(1)其中的(1)代表“一般用户可使用的命令”
在查询数据的后面的数字是有意义的,可以帮助我们了解或是直接查询相关的数据。
常见的几个数字的意义:
代号 | 代表内容 |
---|---|
1 | 用户在shell环境中可以操作的命令或可执行文件 |
2 | 系统内核可调用的函数与工具等 |
3 | 一些常用的函数与函数库,大部分为C的函数库(libc) |
4 | 设备文件的说明,通常在 /dev 下的文件 |
5 | 配置文件或是某些文件的格式 |
6 | 游戏 |
7 | 惯例与协议等,例如linux文件系统、网络协议、ASCII代码等的说明 |
8 | 系统管理员可用的管理命令 |
上表中1、5、8需要熟记
man page常用的按键:(仅在man page界面当中使用)
按键 | 进行工作 |
---|---|
空格键 | 往下翻一页 |
[Page Down] | 向下翻一页 |
[Page Up] | 向上翻一页 |
[Home] | 去到第一页 |
[End] | 去到最后一页 |
/string | 向下查找 string 这个字符串,如果要查找某个词的话,就输入 /某个词 |
?string | 向上查找string这个字符串 |
n,N | 利用 / 或 ?来查找字符串时,可以用 n 来继续下一个查找(不论时 / 或 ?),可以利用 N 来进行【反向】查找。例如:我以 /vibird 查找 vbird字符串,那么可以按下 n 继续往下查询,用 N 往上查询。若以 ?vbird 向上查询 vbird 字符串,那我可以用 n 继续【向上】查询,用 N 反向查询 |
q | 结束这次的 man page |
基本man page大致分成下面这几个部分:
代号 | 内容说明 |
---|---|
NAME | 简短的命令、数据名称说明 |
SYNOPSIS | 简短的命令语法(syntax)简介 |
DESCRIPTION | 较为完整的说明,这部分最好仔细看看 |
OPTIONS | 针对SYNOPSIS部分中,有列举的所有可用的选项说明 |
COMMANDS | 当这个程序(软件)在执行的时候,可以在此程序(软件)中执行的命令 |
FILES | 这个程序或数据所使用或参考或链接到的某些文件 |
SEE ALSO | 可以参考跟这个命令或数据有相关的其他说明 |
EXAMPLE | 一些可以参考的范例 |
系统中还有哪些与【man】这个命令有关的说明文件
[dmtsai@study ~]$ man 1 man
[dmtsai@study ~]$ man 7 man
找出系统的说明文件中,只要有 man 这个关键词就将该说明列出来
whatis与apropos这两个命令是 man 的简略写法:
[dmtsai@study ~]$ whatis [命令或文件] #等价于 man -f [命令或文件]
[dmtsai@study ~]$ apropos [命令或文件] #等价于 man -k [命令或文件]
要注意,这两个特殊命令要能使用,必须要建立 whatis 数据库才行,这个数据库的建立需要以 root 的身份执行如下命令:
[dmtsai@study ~]$ mandb
不用去背命令,只需要记住几个常用的命令即可,如何查找所需要的命令??
举例:
打印的相关命令,自身仅仅记得 lp (line print)而已,那就由 man lp 开始,去找相关的说明,然后再以 lp 后按两次[Tab]按键 找到以 lp 开头的命令,找到自认为可能相关的命令,先以 - -help去查基本的用法。若有需要再以 man 去查询命令的用法
2.5.2 info page
man page 一口气输出一堆信息
info page 则将文件数据拆分成一个一个的段落,每个段落用自己的页面来编写,并且在各个页面中还有类似网页的超链接来跳到各不同的页面中,每个独立的页面被称为一个节点(Node)
2.6 documents (其他有用的文件)
说明文件所在目录 /usr/share/doc
举例:
想要知道GRUB2这个新版的启动管理程序:
[dmtsai@study ~]$ /usr/share/doc/grub2-tools-2.02
总结man 、info、documents
- 在命令行模式中,知道命令,忘了相关选行与参数,使用【- - help】
- 不知道命令或文件格式,使用man
- 想要架设其他服务,或利用一整组软件完成某项功能时,使用/usr/share/doc/
3. 超简单的文本编辑器:nano
nano命令行说明列中:^代表[Ctrl] 、M代表[Alt]
使用nano打开text文本
[dmtsai@study ~]$ nano text.txt
nano中的组合按键
组合按键 | 功能 |
---|---|
[Ctrl]-G | 获取联机帮助 |
[Ctrl]-X | 离开nano并提示是否需要保存 |
[Ctrl]-O | 保存文件 |
[Ctrl]-R | 从其他文件读入数据 |
[Ctrl]-W | 查找字符串 |
[Ctrl]-C | 说明目前光标所处行与列 |
[Ctrl]-_ | 直接输入行号后,让光标快速移动到该行 |
[Alt]-Y | 语法校验功能开启或关闭 |
[Alt]-M | 可以支持鼠标来移动光标的功能 |
4. 正确关机方法
关机
[dmtsai@study ~]$ shutdown -h now #立刻关机
[dmtsai@study ~]$ shutdown -h 20:25 #今天的20:25分关机
[dmtsai@study ~]$ shutdown -h +10 #10分钟后关机
[dmtsai@study ~]$ /sbin/shutdown -h 10 #10分钟后关机
[dmtsai@study ~]$ shutdown -k now #仅仅发出警告邮件的参数,系统不会关机,吓唬人(Linux为多人多任务环境)
重启
[dmtsai@study ~]$ shutdown -r now #立刻重新开机
[dmtsai@study ~]$ shutdown -r +10 #10分钟后重新开机
[dmtsai@study ~] sync; sync; sync; reboot #sync 数据同步写入硬盘,在内存中尚未被更新的数据,就会被写入硬盘中,多做几次比较放心,reboot重启
[dmtsai@study ~]$ halt #系统停止,屏幕可能会保留系统已经停止的信息
[dmtsai@study ~]$ poweroff #系统关机,所以没有提供额外的电力,屏幕空白
知识回顾
- 默认情况下,Linux提供 tty1 ~ tty6 的终端界面
- 在终端环境中,$ 为一般账号 、# 为 root 账号
- date 可显示日期、cal可现实日历、bc可作为计算器
- [Tab]按键可作为:(1)命令补齐 (2)文件名补齐 (3)参数选行补齐,[Ctrl]-[c]可终端目前正在运行中的程序
- Linux系统区分英文大小写
- 联机帮助系统 man 和 info
- man page 中的说明后的数字中,(1)代表一般账号可用命令 (5)代表系统配置文件格式 (8) 代表系统管理员常用命令
- info page 将一份说明文件拆分成多个节点显示,并具有类似超链接的功能,增加易读性
- 系统要正确关机,使用shutdown、poweroff等