7.22_Linux入门和帮助文件的使用

Linux系统登录的两种方式


GUI:图形界面 Graphic User Interface


默认在Linux下面有三种可用的图形界面程序可选,分别为

1.gnome(c,图形库gtk)

2.kde(c++,图形库qt)

3.xface(轻量级桌面)

每一种图形界面下面开发的软件并不兼容,因为它们开发时候所用的开发语言也各不相同


启动方式:cli模式下面输入 startx 或者 init 5


CLI:命令行界面 Command Line Interface


Linux的CLI模式下默认的命令解析器是Shell


Shell是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

 

Shell是一种高级程序设计语言


Linux下面有多种可用的Shell语言可选择,包括

1.sh    bourne 

2.csh   c语言版本

3.tcsh  c语言加强版

4.ksh   商业版本,如AIX

5.bash  bourne again shell ,linux默认SH

6.zsh   等等

也可以输入命令 cat /etc/shells 查看系统系统里面的所有shell

可通过输入 echo $SHELL 来查看当前系统的默认shell

其中nologin给系统一些不需要登陆的程序用的


GUI和ClI命令行可以自由切换,不同系统版本之间的不同


通过物理按键切换

ctrl+alt+F1-6 字符, F7 图形界面,centos5

ctrl+alt+F1   图形,F2-F7字符  , centos6 7


可以通过命令输入进行切换

chvt x (x=1-7)


注意,通过startx和init 5来启动的图形界面方式是有所有不同的

startx启动的图行界面,当通过ctrl + F1切换到界面时候,可以看到界面里面有很多命令输入的信息,而再通过按ctrl + F7的时候才会正确显示图形界面,可以判断为这种方式启动的图形界面并不是直接启动图形界面的

init 5启动的图形界面,按ctrl + F1的时候,能正常切换到图形界面,可以判断为这种方式是直接启动图形界面,而不依靠其他程序。

不过在大家学习的过程中,建议大家还是使用CLI命令模式吧,shell用默认的bash即可。

CentOS在安装桌面之后,将图形界面设置为默认模式,给PC内存带来较大压力,所以希望修改系统的默认启动模式为命令号界面,而不启动图形界面。方法如下:


CentOS6的方法

1.以 root用户登录系统;或者 用su切换到超级用户模式;

 2.修改/etc/inittab 文件:

         vim /etc/inittab

    将最后一句:

        id:5:initdefault:

     修改为:

        id:3:initdefault:

     保存退出,重启系统即可。

wKioL1eV8c_A6f20AAB2GjgQmDY367.png

CentOS7的方法

在CLI下面输入

wKiom1eV8buzs3feAAAJpDqAuNw693.png


系统登录界面

Linux登录的用户分为两种

  1. root用户,超级管理员,提示符是# ,如[root@localhost~]#

  2. 普通用户,权限有限制,提示符是$ ,如[w@localhost ~]$


[root@localhost~]这个称为PS1,靠环境变量定义

用户的PS1命令提示符是有格式的,输入 echo $PS1可以查看现在用户的命令提示符格式

wKiom1eV61HDTY9VAAAJhrvLE3M912.png

例如 \u 表示用户

     \h 表示主机名

     \W 表示当前位置

还有其他参数,暂时就不一一详说


系统登陆欢迎界面


当我们进入系统看见的欢迎登陆界面,如下图

wKiom1eV9X-Cks8yAAAFnV9WXuE062.png


该文件在 /etc/issue 里面,而且CentOS6和CentOS7也有点不一样


这是CentOS 6

wKiom1eV9mbxclWuAAANCMggV0Q437.png

这是CentOS 7

wKiom1eV9meRKJbgAAAKaqGnQC0170.png


这里里面可以看到,文档里面的数据跟我们看到的数据不一致,是因为文档里面的是参数,这些参数又调用了其他地方的参数,所以我们看起来就不一样了


还有的是我们可以cat /etc/redhat-release的文档也同样可以查看到系统的信息

wKioL1eV9-OiSCAhAAAQHGg20_I299.png


还有注意一点的就是,这个登陆提示信息严禁welcome之类字眼,以免被黑以后打官司对自己不利的事


SHELL的命令类型


SHELL的命令分为两种


内部命令:

由shell自带的,而且通过某命令形式提供

enable命令可以启用或禁用内部命令

wKiom1eV-omQqWQAAAAIUlBf_MU006.png


外部命令:

在当前系统的某文件系统路径下有对应的可执

wKiom1eV-onRwxxNAAAJhzPG_HY277.png


系统里面执行的命令是有对应路径的,系统通过变量PATH可以知道外部命令的路径

wKioL1eV_q7TwZx1AAAMlAG10ts063.png


命令还有命令别名,如下图

wKiom1eV_yWCsxRbAAA4IYOomDc920.png


别名可以通过alias COMMAND ='COMMAND -参数'之类格式实现


不需要别拧,也可以通过 unalias COMMAND 来删除别名


而且别名的优先级都是最高的


可以通过如\ls、‘ls’、/usr/bin/ls 等方法取消使用已定义的别名


别名的命令都是存储在内存里面,开机自动加载到内存里面


这些命令的优先级为


别名命令>内部命令>缓存命令>外部命令


其他相关命令:

type COMMAND:查看命令的类型

which COMMAND:查看命令文件位置

hash 已经加载到内存的外部命令

whereis COMMAND:查看文件路径及其帮助文件等路径     


命令的区别:


内部命令,系统开机自动加载,不表示为单独文件


外部命令,表示为一个单独文件,可以用ls的命令查看到相应文件


命令的格式

    

COMMAND [OPTIONS…] [ARGUMENTS…]

选项:用于启用或关闭命令的某个或某些功能;

短选项:-c, 例如:-l, -h

长选项:–word,例如:–all, –human-readable

参数:命令的作用对象,比如文件名,用户名等

注意:

1、多选项,以及多参数和命令之间使用空白字符分隔

2、取消和结束命令执行:Ctrl+c,Ctrl+d

3、多个命令可以用;符号分开

4、一个命令可以用\分成多行


一般的写命令的顺序是 命令 +选项 +参数,其他顺序可能会有问题


中断命令的方法,ctrl+c


命令补全


命令+ '\' 表示换行写命令,不过使用的时候注意不要漏了空格之类


可以用:号隔开同时输入多个命令,如 ls:cd:who


命令补全


内部命令:

外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令

用户给定的字符串只有一条惟一对应的命令,直接补全

否则,再次Tab会给出列表

路径补全

把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名

如果惟一:则直接补全

否则:再次Tab给出列表


centos7系统上面支持长选项的命令补全,6或者以前版本都不可以,这个主要是由于bash版本的问题


帮助文件的使用方法


帮助文件的获取途径

whatis 

command –help

man and info

本地帮助文档/usr/share/doc

官网在线文档

其他网站和搜索


内部命令查找帮助的方法:

#help COMMAND

#man bash


外部命令查找帮助的方法:

(1) # COMMAND –help

# COMMAND -h

(2) 使用手册(manual)

# man COMMAND

(3) 信息页

# info COMMAND

(4) 程序自身的帮助文档

README

INSTALL

ChangeLog

(5) 程序官方文档

官方站点:Documentation

(6) 发行版的官方文档

(7) Google


whatis命令:


whatis帮助文档,要系统安装以后过一段时间才能完全安装,如果一定需要用的话,可使用命令makewhatis命令


whatis = man -f


man命令:

    提供命令帮助的文件

    手册页存放在/usr/share/man

    几乎每个命令都有man的“页面”

    man页面分组为不同的“章节”

    统称为Linux手册

    man [章节] 命令

    man命令的配置文件:/etc/man.config | man_db.conf

    MANPATH /PATH/TO/SOMEWHERE: 指明新手册文件搜索位置

    # man -M/PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手册页并显示


man命令有9个章节,其中重点关注1、4、5、8章节

    1: 用户命令

    4: 设备文件及特殊文件

    5: 配置文件格式

    8: 管理类的命令


bash的快捷键

    Ctrl+l 清屏,相当于clear命令

    Ctrl+c取消命令的执行

    Ctrl-a 会移动到命令行的最前面

    Ctrl-e 会移动到命令行的最后面

    Ctrl-u 会删除到行首

    Ctrl-k 会删除到行尾

    arrow ctrl-b ctrl-f会向左或向右移动一个字符

    Esc-b左移一个单词

    Esc-f右移一个单词


其他中重要命令整理:

date 显示当前系统时间

date MMDDhhmm[cc]YY.ss 

date[+FORMAT]

    %Y:四位年份

    %y:两位年份

    %m:月

    %M:分钟

    %d:日

    %h:英文简写的月

    %H:时

    %S:秒

    %s:现在距离1970年1月1号0点0分(unix元年)的秒数,timestamp(时间戳)

    %D:月/日/年

    %F:年-月-日

    %T:时:分:秒


clock,hwclock

  -s:以硬件时钟为准 –hctosys

  -w:以软件时钟为准 –systohc

Linux有两个时钟

硬件时钟:

软件时钟:开机时读取硬件时钟


cal 显示日历


echo命令:

    -n 不在字符的最后自动换行

    -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:


""中间                只是变量引用

''最傻的强引用,字符窜引用

最聪明的         命令引用


history命令:查看命令历史

    -d 数字 删除第数字条记录

    -c 清空history列表

    -a:追加当前回话的命令到历史列表中去

    -n:读取所有在回话列表中的 但是不在当前回话列表中


history灵活用法:

!数字:执行history中第数字条的命令

!!:上一条命令

!-数字:表示执行命令列表中的倒数第数字条命令

!$:执行上个命令中的最后一个参数:ESC,.

!string:执行命令列表中的最近一次以string开头的命令


命令历史相关的环境变量

HISTSIZE:历史命令中可以保存的个数

HISTFILE: 历史命令保存的文件

HISTFILESIZE:历史文件中可以保存的命令个数

HISTCONTROL:控制命令历史的生成机制

ignoredups:忽略记录重复的命令,连续的相同命令

ignorespace:以空格开头的命令不会被记录

ignoreboth:同时具有上面两种特性


screen命令:一个远程的同步命令

打开新的screen:

screen –S [SESSION]

加入会话:

screen –x [SESSION]

退出并关闭screen:

exit

剥离当前screen:

Ctrl+a,d

显示所有已经打开的screen:

screen -ls

恢复某screen

screen -r [SESSION]


建议在生产环境中远程备份数据的时候,用screen命令进行,以防止网络抖动时候造成的网络中断

原创文章,作者:~微风~,如若转载,请注明出处:http://www.178linux.com/28240

(0)
~微风~~微风~
上一篇 2016-08-04
下一篇 2016-08-04

相关推荐

  • 编译安装LAMP-centos7

    编译安装LAMP (centos7 基于模块化) 编译安装所需版本 Httpd 2.4,PHP 5.4,MariaDB 5.5通用二进制格式(绿色安装包) MAriDB5.5 绿色安装 1、#mkdir lamp :创建一个文件夹,存放软件的版本 2、从官网上下载httpd2.4 mariaDb 5.5 PHP 5.4到该文件夹下 3、# tar xvf m…

    Linux干货 2017-05-17
  • shell脚本编程之变量

    一、创建shell脚本文件   创建shell脚本时,必须在第一行指定要使用的shell。格式为:   #!/bin/bash   通常在shell脚本中,#代表注释行,即不被执行的行,而第一行“#!”则是表示用哪个shell来执行脚本。   实例:   让我们来执行一下这个脚本:   上面的结果显…

    Linux干货 2016-02-14
  • 优云软件老司机:如何让运维操作更轻松、高效

    讲师介绍 庞辉富 •广通软件技术总监 •拥有10多年IT运维管理软件研发经验 •致力于自动化运维解决方案的研究和推广 •主导研发的产品广泛应用于海关、公安、能源等多个行业 技术发展给运维带来的挑战 当前的IT建设在这些新技术的演进下,我们看到的是呈现“双态IT”特征。Gartner也提出双模IT理论,与现在谈的双态IT是异曲同工的,不再是一种单纯的形态,而是…

    系统运维 2017-01-09
  • 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件

    在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。 ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S) ~]# tree /tmp 查看输出结果 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。 …

    Linux干货 2016-11-06
  • Linux学习总结02—Linux的操作系统发展史(原创)

       我们都知道,在美国宾夕法尼亚大学,有那么一种计算机,叫ENIAC,这种机器耗电量是非常大,而且主机也是庞大,它诞生于1946年的2月14日的情人节,确实有纪念意义,就算是约炮也是拿着智能手机先摇一摇,好看就勾搭,不好看的就拉黑,这台计算机可并不是造福人类的,只是计算数据,我想,当时的情况是这样,在这台计算机没有出世之前,那帮工程师们…

    Linux干货 2016-10-29
  • 第三周n28

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d ” ” -f 1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 who | tail -1 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 cat /etc/passwd | …

    Linux干货 2017-12-17