一、登录界面介绍
安装完操作系统以后,就进入到linux登录界面,linux默认登录界面可以分为:字符界面和图形界面;
图形界面如下所示:
字符界面如下所示:
字符登录界面的含义:
CentOS release 6.5 (Final) //说明了当前系统的版本
Kernel 3.6.32-431.el6.x86_64 on x86_64 //说明了当前系统内核的版本以及操作系统平台版本
tmain login:root //tmain:是主机名
//login:有login应用程序提供,等待用户输入登录信息
//root:用户名
Password: //表示输入的登录密码,为了保证安全密码是隐藏的
Last login: Wed Jun 4 23:15:53 from 192.168.1.100//表示root用户是在Wed Jun 4 23:15:53这个时间点从192.168.1.100这个IP登录到主机的
[root@tmain ~]# //表示用户登录后的信息
其中
[ ] //没有意义
root //当前登录系统的用户
@ //分隔符
tmain //当前的主机名的简写,网络上主机名成为FQDN(Full Qualified Domain Name),通过主机名+域名的方式,比如www.google.com这里是FQDN的第一段
~ // 用户的工作目录,用户的家目录
# //命令提示符prompt,管理员root的命令提示符是#,普通用户的命令提示符是$
以上这些显示的内容是当前用户的工作环境,通过环境变量来定义
[root@tmain ~]# 是有一个叫PS1的环境变量来定义的
二、关于shell的分类
shell命令有两类:外部命令和内建命令
外部命令:在某目录有一个与命令同名的可执行文件,比如ls
内建命令:shell程序自身附带的命令,如history
区分外部命令和内部命令:type
内部命令获取帮助:help COMMAND
三、路径和目录的简要说明
linux外部命令是存放在一些特定的目录中,比如ls
可以通过which命令来查看ls命令存放在那个路径下:
从上面的信息可以看到,ls命令的完整路径是/bin/ls,并且系统为它定义了别名alias ls='ls --color=auto'
关于路径的说明
/var/log/yum.log
第一个/ 表示根目录
其余的/ 表示路径分隔符
yum.log 表示基名,可以是一个文件,也可以是一个目录
/var/log/ 表示路径
获取基名:basename /var/log/yum.log => yum.log
获取路径:dirname /var/log/yum.log =>/var/log/
目录的简要说明:为了让文件产生层次结构的,是路径映射
四、linux命令的搜索和执行
linux命令的执行,需要PATH环境变量的支持
PATH环境变量的作用:定义命令搜索路径
PATH环境变量定义的路径如下:
[root@tmain ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
当我们在命令提示符之后输入命令之后,那么系统会在PATH环境变量所定义的路径中去查找相应命令的可执行文件,找到以后执行命令
五、命令查找原理
Linux中命令有很多,每次执行命令的时候,如果都通过PATH环境变量定义的路径去找命令,然后再执行,那么既浪费时间,也浪费系统资源,所以在linux中,命令的查找是通过hash表来实现的,因为hash编码的查找速度是无与伦比的快
hash表:提取数据的指纹信息
命令查找执行过程步骤:以ls命令为例
第一次执行ls命令时,先计算ls的hash码,并把这个hash码当作查找码key ,值为ls命令的完整路径/bin/ls
第二次执行ls命令时,计算ls命令的hash码,并且把hash码与之前命令比对,如果一致,则直接执行key对应的命令/bin/ls
key1: /bin/ls
key2: /bin/basename
key3: /bin/dirname
hash命令:显示命令查找表中之前执行过的命令以及命令命中次数
[root@tmain ~]# hash
hits command
3 /bin/ls //这里3表示命中次数,即之前执行过ls命令几次
六、echo命令的简要说明
echo命令的功能主要有两个:回显字符串和实现变量引用
用echo引用变量的格式:echo ${VAR_NAME} //{ }可以省略
七、liunx的终端
linux是一个类unix系统,早期unix用于大型机上,所以unix要支持多个用户登录,就需要提供多个终端terminal,terminal是硬件设备,一个登录提示符和一个terminal关联
在unix启动时候,把启动信息显示在控制台console上,当内核初始化完成就可以实现分屏显示
终端的分类
物理终端----->控制台console
串行终端----->Serial
虚拟终端----->分屏显示,启动过程,bug信息,服务启动信息等
伪终端----->远程登录,图形界面登录打开的终端
现在linux一般运行于PC机上,一般PC机制有一个终端,即一个显示器,所以linux就模拟了终端,这个称谓虚拟终端
linux默认有6个虚拟终端,可以通过Ctrl+Alt+F1~Ctrl+Alt+F6进行切换,切换到图形界面是Ctrl+Alt+F7
linux允许打开多个图形界面
startx --:1 & 此时切换至图形界面的快捷键是Ctrl+Alt+F8
startx --:2 & 此时切换至图形界面的快捷键是Ctrl+Alt+F9
一般linux作为服务器使用,很少打开图形用户界面,所以打开多个图形用户界面意义并不是很大
八、图形界面下伪终端的快捷键
Ctrl+Shift+t打开新终端
Ctrl+PageUp/PageDown 切换标签
Ctrl+Shift+c/v 复制/粘贴
Shift+PageUp/PageDown 翻页
九、命令使用格式
命令 [选项] 参数
选项:定义命令的执行特性
长选项:--引导,后跟单词,如--help, --verbose
短选项:-引导,后跟单个字符,如-h, -l, -a
多个短选项可以组合:-h, -l, -a = -hla
有些选项也可以带参数
参数:定义命令的作用对象
十、命令历史history的简要说明
history主要功能:显示此前的命令
history的常用选项:
-c 清除命令历史列表
-d offset offset只的是第几个命令历史
-w 追加保存命令只命令历史
常用命令历史的使用:
history 3 最近执行3条命令,包括当前执行的命令,实际是最近的n-1个
命令历史可以保存:至文件 ~/.bash_history 这是由 $HISTFILE定义的
!#: 执行历史中的第#条;
!-#: 执行历史中的倒数第#条;
!!: 命令历史中的最后一条命令;
!string: 执行命令历史中最近一条以“string”开头的命令;
快捷应用最后一条命令的参数:!$或者ESC .