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

相关推荐

  • 网络管理 tcp/udp详解 (传输层)

    简介: TCP和UDP的区别 TCP是面向连接的传输控制协议,而UDP提供了无连接的数据报服务。 TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复、乱序,应用程序需要负责传输可靠性方面的所有工作; UDP具有较好的实时性,工作效率较TCP协议高; …

    2018-05-01
  • cobbler自动化安装系统相关实验

    cobbler用来快速建立 Linux 网络安装环境,基于PXE的二次封装,将多种安装参数封装到一个菜单,相较于PXE更加方便,自动化

    2018-05-26
  • Linux 用户及权限管理(未完)

    1、查看(登录)用户名称及所启动的进程 A、使用w命令查看登录用户正在使用的进程信息 w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括: 用户名称 用户的机器名称或tty号 远程主机地址 用户登录系统的时间 空闲时间(作用不大) 附加到tty(终端)的进程所用的时间(JC…

    Linux笔记 2018-05-28
  • 实验:在软件RAID搭建LVM逻辑卷进行管理

    在上一节我们了解到,RAID可以实现磁盘的高性能读写,并实现冗余,而LVM逻辑卷则可以实现磁盘的弹性扩展,那么如何将两者配合使用并将它们的优势充分发挥呢,今天我们来实验在软件RAID上搭建LVM逻辑卷

    2018-04-27
  • 构建WordPress

    所需要安装包: centos7,httpd,php,php-mysql,mariadb-server centos6,httpd,php(http的php模块包),php-mysql,mysql-server 包解释: php-common:php解释器安装包; php:httpd的模块安装包; php-mysql:php模块连接数据库的功能扩展包; php…

    Linux笔记 2018-03-31
  • linux如何使用命令帮助

    Linux如何使用命令帮助 whatis:显示命令的简短描述 whatis命令在用 catman -w命令创建的数据库中查找command参数指定的命令、 系统调用、库函数或特殊文件名。whatis命令显示手册部分的页眉行。然后可以发出man命令以获取附加的信息。whatis命令等同于使用man -f命令。linux系统刚安装后不可立即使用使用 makewh…

    Linux笔记 2018-05-07