Linux用户登录以及命令执行原理

linux登录介绍,初识shell

目录

一、用户分类… 1

二、登录界面… 1

1、交互式接口… 1

2、界面切换… 3

3、免密登录Linux. 4

三、通过文本界面了解本机硬件… 4

1、查看当前CentOS版本… 4

2、查看内核版本… 5

3、查看cpu参数… 5

4、查看内存… 5

5、查看硬盘情况… 5

6、查看网卡… 6

四、shell的介绍… 6

1、Linux中常用的shell种类… 6

2、在shell中可执行的命令类… 7

3、判断命令… 7

4、命令别名… 8

5、命令读取流程… 9

Linux用户登录以及命令执行原理

一、用户分类

Linux的用户分为两类

1、root用户

  • 一个特殊的管理账户
  • 接近完整的系统控制
  • 无穷大的权力

2、普通用户

  • 权力有限
  • 对系统造成不可恢复损害能力低

二、登录界面

1、交互式接口

启动终端后,在终端设备附加一个交互式应用程序

      GUI:Graphic User Interface(图形用户接口)。

他提供了很多桌面环境系统,像Windows一样,有窗口、图标和菜单。常见

的有一下三种

  • GNOME (C,图形库gtk)

1

  • KDE (C++,图形库qt),下图为CentOS6.10的KDE界面

2

  • XFCE (轻量级桌面)

PS: 如果用户需要用到图形处理小工具,需要查看图形工具支持的图形库,选择对应的GUI,否则小工具无法使用。

    CLICommand Line Interface(文本模式)

 登录画面

3

[root@hai 6~]#

~表示在家目录中   #管理员    $普通用户

PS:下图第一,第二行的内容来自/etc/issue这个文件,可修改,步骤如下

  • cat /etc/issue查看文件格式

4

  • 方法一、通过man pam_issue查看各参数含义
  • 方法二、whitis issue  查看帮助文件章节
  • man issue  得到也可以看看 agetty(8)  mingetty(8)因为8是管理类的命令,所以直选这两个;

    man 8 agetty 查询;

    搜索hostname,得到参数说明。

  • 英文看傻了。。。坚持习惯,试着修改

2、界面切换

Linux预设情况下会提供六个terminal(终端)来让使用者登录,切换的方式为[Ctrl]+[alt]+[F1]~[F6]的组合键,系统会将[F1]~[F6]命名为tty1~tty6。

  • [Ctrl]+[alt]+[F2] ~[F6]:文字接口登录tty2~tty6
  • [Ctrl]+[alt]+[F2] : 图形接口(桌面)

 

 

PS:如果你的Linux预设使用的纯文本界面,那么tty1~tty6就都会被文本界面占用

  • echo $ {shell}查看当前使用的shell

5

  • cat /etc/shells查看系统有的shell

6

3、免密登录Linux

学习阶段,我们要不停的在个版本Linux之间切换,可以考虑使用免密登录,工作中切不可这么操作。

使用nano命令编制文本ect/gdm/custom.conf如下图所示,在[daemon]下面输入AutomaticLoginEnable=true;AutomaticLogin=root(其中ALE为大写)保存,退出,重新登录实验一下。

7

三、通过文本界面了解本机硬件

1、查看当前CentOS版本

  •     使用cat命令查看文件/etc/centos-release

8

  • lsb_release –a也可以查看

9

2、查看内核版本

  • uname –r

10

3、查看cpu参数

  • lscpu(图很长,简略了)

11

4、查看内存

  • free [-kmgh]分别以k、M、G、易懂,单位表示

12

5、查看硬盘情况

  • lsblk

13

 

6、查看网卡

  • dmesg 查看启动的硬件
  • dmesg |grep eth 查看网卡

15

四、shell的介绍

实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。

1、Linux中常用的shell种类

  • sh

是一个快捷方式,已经被/bin/bash所取代。

  • csh

C shell 使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多,已经被/bin/tcsh所取代

  • tcsh

tcsh是csh的增强版,与 C shell 完全兼容。

  • bash

大多数Linux系统默认使用的shell,bash shell 是 Bourne shell 的一

个免费版本,它是最早的 Unix shell,bash还有一个特点,可以通过help

命令来查看帮助。包含的功能几乎可以涵盖shell所具有的功能,所以一般

的shell脚本都会指定它为执行路径。

  • zsh

目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用该shell。

PS: CentOS默认使用的是bash,bash兼容sh,还有一种nologin的shell是给

底层计算机使用的。

 

2、在shell中可执行的命令类

1内部命令:自己内建的命令集,开机时加载到内存中。

  • Help 可以列出所有的内部命令用法帮助
  • enable cmd      启用内部命令
  • enable –n cmd   禁用内部命令
  • enable –n     查看所有禁用的内部命令
  • hexdump –c     查看二进制码

2外部命令:在文件系统下有对应的可执行程序文件。系统通过变量PATH(代表一堆文件夹的集合)去搜索,执行搜索到的第一个文件。

另外,外部命令在第一次执行后,会放到hash里,在下一次执行时,shell解析器首先会查看hash表,存在将执行,常见hash用法如下

  • hash 显示hash缓存
  • hash -p path name 显示hash缓存
  • hash -d name 清除name缓存
  • hash -r 清除缓存
  • hash -l 显示hash缓存,可作为输入使用

3、判断命令

  • type cmd

1716

  • type –a cmd显示所有存放位置

4、命令别名

在管理和维护Linux系统过程中,将会有一些很长的命令或用法经常被用到,这时候可以使用命令别名来简化。

  1  系统定义的别名

通常情况下,系统中已经定义了一些别名,要查看已经定义的命令别名,可以使用alias命令,从下图可以看出使用cp命令时,系统会用cp –i代替cp。

  • alias 显示当前shell所有可用的命令别名

18

2  用户自定义别名

使用命令alias将cd /etc/sysconfig/network-scripts重新命名为cdnet后,在执行cdnet时,系统会自动用cd /etc/sysconfig/network-scripts将其替代。

  • alias 别名=“原名”

20

 

3  取消定义的别名

  • unalias name 删除定义的别名
  • unalias –a 删除所有别名

4  保存别名设置

Linux想要永久保存,就要修改文件,可以在系统别名目录中添加别名配置文件。

定义某个用户想要定义自己的命令别名,可以将命令添加到.bashrc中,重新注销或者..bashrc,就可以生效了。

PS: ..bashrc前面的.相当于source命令重读文件。

定义全局别名,通常将命令添加到/etc/bashrc中,不建议定义全部用户。

21

5忽略别名

  • \aliasname
  • “aliasname”
  •    ‘aliasname’
  • command aliasname
  • /path/commmand

5、命令读取流程

  • 判断路径:是否以路径的方式输入,是的话直接执行
  • 检查别名:别名的优先级要高于内部命令,优先执行
  • 判断命令类型:是内部命令直接执行
  • hash /bin/cat: 从hash中提取已用过的外部命令,有就执行
  • PATH变量查找: has中没有,系统通过变量PATH查找

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/103497

(3)
你的微笑像茉莉你的微笑像茉莉
上一篇 2018-07-22
下一篇 2018-07-22

相关推荐

  • 在linux服务器上运行django项目

    在linux服务器上运行django项目(1)需进入已创建的虚拟环境中。 (2)在虚拟环境中进入需要运行django项目(需进入到含有apps等文件的文件夹)                                                   进入哪个虚拟环境就是用哪个虚拟环境。 (3)MAKEMIGRATIONS:命令 python man…

    Linux笔记 2018-05-01
  • 第一周-Linux基础

    一、计算机的组成及其功能 由上图可知,计算机由硬件系统和软件系统组成:   1. 计算机硬件系统从逻辑上主要由运算器、控制器、存储器、输入设备、输出设备这五部分组成。 ● 存储器:实现记忆功能的部件用来存放计算程序及参与运算的各种数据;● 运算器:负责数据的算术运算和逻辑运算即数据的加工处理;● 控制器:负责对程序规定的控制信息进行分析,控制并协调输入,输出…

    Linux笔记 2018-05-11
  • mysq数据库五

    主从级联复制;主主服务器的搭建;半同步和过滤;主从复制加密;mah高可用性;5实现galeracluster

    2018-06-15
  • liunx 创建用户、文件权限及管理

      创建用户     修改和删除组 更改组密码 更改和查看组成员 文件权限:文件属性 文件属性操作 修改文件的属性和属组 文件权限   文件权限 八进制数字: 修改用户权限:   新建文件和目录的默认权限:               &n…

    Linux笔记 2018-04-08
  • sell 进阶

    删除shell函数:命令格式:unsrt function_name 创建函数:例 function func2 { echo fun2;}   fork  炸弹;:(){ :|&};: 脚本: cat  Bomb.sh #!/bin/bash ./$0./$0& 信号捕捉 trap ‘ehcho trap 15&#82…

    2018-05-10
  • Tomcat的简介和应用

    tomcat的配置文件;tomcat的虚拟主机;tomcat的图形管理界面;tomcat的负载均衡;

    2018-07-16