这5个基本思想对理解Linux会颇有帮助。正则表达式
界面通常分为:算法
CLI是Linux的使用基础。在Linux上须要抛弃许多Windows使用的习惯。一般使用CLI每每比GUI更高效。CLI本质上是一个shell程序。shell
centos上默认安装的GUI程序为GNOME。前提是,安装系统时已经安装了该程序。数据库
若启动为CLI界面,即startx & 开启GUI界面。小程序
图像桌面,能够启动多个。centos
例:启动第二个桌面。使用“--:2”就启动第三个桌面。以此类推。bash
# startx -- :1 &函数
注意:通常不要使用生产环境下的管理员登陆系统。由于管理员太过于强大,同时咱们通常都会存在误操做。工具
登陆系统时,Linux使用login应用程序使用户登陆。学习
Login程序在输入密码是不会有任何显示的。
用户登陆后,能够看到以下文字与光标。
root是当前有效用户。
centos是主机名的简写。FQDN的第一段。
~:波浪线,表示当前目录,又称为工做目录。每一个用户进入系统中后,都处于一目录中,当前所处的目录,即工做目录。此处显示表示基名。
prompt:命令提示符。此处显示的#号。即在命令提示符后能够输入命令。
注销命令:logout
Linux不是Unix,是类Unix。Unix-like: Mainframe: 大型机 多用户、多任务
Linux提供多任务,多用户。
终端:terminal,显示设备+输入设备。Linux提供多个终端。Linux登陆提示符与终端一一对应。
有显卡的终端为VGA终端,没有显卡的终端为Serial终端(串行终端)。
系统启动默认直接关联的终端称为控制台,Console。当内核初始化完成后,控制台记录了内核其余的信息。系统才可使用应用程序,便可以开始使用多个终端了。
终端类型:
使用ctrl+alt+F(1~n)。能够在不一样终端间不断切换。
在centos的桌面系统中,右击鼠标,点击Open in Terminal 。
显示一个终端。这是一个模拟终端,也是一个伪终端。
1. ctrl+shift+t 增长一个伪终端,同时新增一个标签。
2. Ctrl+Shift+PgUp / Ctrl+Shift+PgDn 切换标签。
3. Ctrl+Shift+C / Ctrl+Shift+V 复制选中的内容 / 粘贴。
4. Shift+PgUp / Shift+PgDn 向上/向下翻页。
shell以命令的形式为用户提供操做Linux的接口。提供一个CLI环境与计算机使用者交互。
shell程序严格区分大小写。
Linux Shell命令的语法格式
基本格式:
COMMAND options arguments 即 命令名称 选项 参数
参数:
定义命令的做用对象。
选项:
定义命令的执行特性。选择间用空格隔开。
多个短选项能够组合。如:-h, -l, -a 可组合为 -hla。有些选项也能够带参数。
说明:
shell本质是一个命令解释器,其负责调用外部程序或执行shell内置的命令。
因此,shell命令有两类:
输入:clear
或使用快捷键【Ctrl】+【L】
whoami 命令显示当前用户名。
使用type命令 查看命令类型
使用which命令查看外部命令的执行程序所在的路径。
例,查看ls命令程序的路径。
# which ls
例,查看history命令程序的路径。
# which history
显示不存在。
一、history命令:显示此前的命令。# history
命令历史是保存在文件中的,保存于~/.bash_history文件中(~为家目录,即不一样用户用于不一样的.bash_history文件)。因此只要是正常退出,该文件就保持以前全部命令,再次登陆,以前的命令依然可使用history命令显示。
Linux中“.”开头的文件名的文件都是隐藏的。使用ls -a 命令能够查看当前路径下的全部文件。
~/.bash_history该文件由环境变量HISTFILE所定义。
二、命令参数的使用
# history 3 显示最后使用的3条命令记录。
# history -c 删除history的命令记录。
# history -w 手动保存history,追加保存命令
# history -d 3 删除第3条命令记录。
三、shell中利用命令历史的一些技巧:
!# 执行history中的第#条;
!-#: 执行history中的倒数第#条;
!!: 命令history中的最后一条命令;
!string: 执行命令history中最近一条以“string”开头的命令;
【Alt】+【.】
按一下【Esc】松开,再按一下【.】
一、date命令 日期命令
date:
显示天
显示月
显示年
显示小时
显示年-月-日
显示小时:分钟:秒
可否修改时间?若是能够,如何使用?
date系统时间命令
(1)显示日,月,年(2位)
(2)显示指定格式的时间。
(3)显示年月日。
(4)显示当前时分秒。
(5)使用date设定时间
date 07091203 表示修改成当前年7月9日12:03:00。
date 07091203.31 表示修改成当前年7月9日12:03:31
说明:Linux有两套时间:硬件时钟。系统时钟。Linux在启动时系统时间会参考邮件时间。以后各走各的。因此这两个时间可能不一致。这与Windows不一样。
二、hwclock命令 硬件时间
使用hwclock命令查看硬件时间。
调整,以期在的某个时间为准
hwclock -s 以系统时钟为准,将硬件时钟修改成系统时间。注意修改完仍可能有小小偏差。
hwclock -w 以硬件时钟为准,将系统时间修改成硬件时间。
三、cal命令 日历命令
输入cal
补充知识
HASH表
hash,又称哈希,散列。
hash算法,基本思想分析数据的特征,计算为一串字符串。hash码可能重复。
hash表,key,hash码。value:数据。
hash查找,在hash表中,利用hash码匹配查找。hash查找的时间复杂度为O(1)的,所以速度很是快。
应用hash
MySQL的索引技术。
shell程序使用hash表存储以及使用过的外部命令。
使用hash命令查看shell程序的hash存储。
hits表示命中。在hash表中查找到一次,表示命中。
使用格式:# help COMMAND
例:查看history命令的帮助
# help history
help命令返回信息的意义:
Linux命令大概要学习200多个,工做中经常使用大概几十个。各个命令参数各不相同。所以命令帮助必不可少。
获取外部命令帮助:
一、manual: 使用手册, man COMMAND
二、info: 信息页, info COMMAND
三、简要使用帮助: COMMAND --help
四、官方文档:google
五、额外的文档:README、INSTALL、ChangeLog
redhat这些文档存放于/usr/share/doc/ls-VERSION
六、发行版官方文档,http://www.redhat.com/docs/
一、man命令
man手册:分章节
程序:配置文件(用于定义程序的工做特性)
对于不一样类别的命令或配置等的手册位于不一样的章节中;
使用格式:
man [章节数] 命令
章节数可选。若为未指定章节,则使用第一次出现指定命令的章节中的资料。
例:使用man命令查看ls命令的使用手册
man ls
例:使用命令查看系统调用write()函数
man 2 write
例:若是知道本身要查询的内容是哪一个章节,使用 -a 选项。根据提示查看章节内容。
“printf”便是命令名称,也是函数名称。
若只使用 man printf查询,则只会显示命令的printf帮助文档。
使用 man -a printf ,便可查询出全部printf相关文档。
例:查询man命令自己的帮助文档。
man man
二、man的控制命令
滚动翻屏:
文本查找:
匹配通常会匹配多个,使用n,N查找上一个和下一个。
n: 跟当前查找命令相同方向的下一个匹配;
N:跟当前查找命令相反方向的下一个匹配;
例:查找手册中“command”字符。输入/command 。
command查找到后会反色显示。
例:查看 passwd 命令。
man passwd 显示第一章中的passwd。
例:查看配置文件的使用帮助。配置文件位于第5章。
passwd命令有一个配置文件。位于/etc/passwad。
# man 5 passwd
三、获取命令所在章节 whatis 命令。
whatis COMMAND 显示相应帮助所在的章节,及其简要说明;
初装的系统whatis命令可能不能用。由于whatis是在数据库中查找的。但初装系统无相应数据库。
生产数据库
# makewhatis
等待数据库生成时间。
例:查看passwd命令所在章节与简要说明。
若出现乱码则须要修改字符集。将语言设置为英文。# export LANG=en
四、info命令
info命令,较少使用。例:info ls
info翻页:
补充:关于man手册的文件
每一个命令的man手册是有对应文件中的。
man1,man2等表示第一章,第二章的man。其余表示语言包。
进入man1 。cd man1;ls便可查看该目录下的文件。里面是命令手册的压缩文件。当须要查看某命令的文件时,会将手册临时解压出来以供查看。