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

相关推荐

  • 软件安装包的管理

    rpm安装包的管理 rpm的数据库( 公共) :/var/lib/rpm 程序包名称及版本 依赖关系 功能说明 包安装后生成的各文件路径及校验码信息 安装 rpm:{-i} -v:显示详细信息 -h:以#显示程序包管理执行进度 rpm -ivh PACKAGE_FILE … [install-options] –test :测试安装,但不真正执行安装过程 –…

    Linux干货 2017-04-23
  • ansible批量部署主从DNS

    什么是DNS服务DNS的解析流程分析递归查询迭代查询DNS相关的术语说明生产环境中的应用Bind9常见配置说明使用ansible自动部署主从DNS 什么是DNS服务 DNS(Domain Name Service)是Internet上用于名称解析的服务,简单来说,就是将域名转换为IP地址的服务(正向解析),也可以用于将IP地址解析为对应的…

    Linux干货 2016-06-29
  • jobs简介

    jobs简介     jobs可以显示当前shell 环境中已启动的作业状态。     用linux的时候经常会碰到类似这种情形,复制,下载一个很大的文件或编辑一个文件,任务占据着界面不能做其他操作,这个时候想不暂停或中止任务去做别的操作就可以将正在执行的命令送往后台去运行。 作业:作业号     …

    Linux干货 2015-05-23
  • inode的理解

    一、inode是什么 理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的&q…

    Linux干货 2017-01-16
  • 从增删改查角度学习linux基础命令

    从增删改查角度学习linux基础命令   本文从文件的增加、删除、修改、查询四个角度介绍linux的基本命令,介绍如下:   一.增 touch命令是最常用的创建文件的命令,它的常见参数如下: -a 或–time=atime或–time=access或–time=use  只更改存取时间。 -c 或&#…

    2017-07-15
  • iptables实战笔记一

    iptables实战 1.开启防火墙 systemctl start firewalld 2.清空所有的默认规则,我们自己定义自己的规则 iptables -F 查看此时的iptables iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination Chain FOR…

    Linux干货 2017-06-13