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故障修复

    软件包故障一、库文件丢失破坏:rm –rf /lib64/libacl.so.1故障状态:依赖这个库的命令不可用;系统不可启动 修复:如果丢失的是软链接文件;方法:1、进入救援模式2、创建软件链接cd /mnt/sysimageln –s libc.2-17.so.6 libc.so.6如果删除的是文件,只能从其它主机拷贝一份到本机二、rpm故障1、rpm文…

    2018-05-17
  • sed

    用法: sed  [选项]… ‘script’ inputfile 其中script是脚本基于sed语法的脚本                 inputfile文件内容 常用选项 -n   :不输出模式空间内容到屏幕,即不自动打印 -e   :多点编辑 -f    :   /PATH/SCRIPT_FILE:从指定文件中…

    Linux笔记 2018-04-14
  • 内核空间与用户空间,进程与线程以及上下文

    个人理解,比较啰嗦,逻辑性也不强。如果有疑问可以讨论,或者有大佬提点也是可以的。

    2018-03-30
  • centos6启动流程

    不知道为什么编辑了前两次都发不了,这是第三次了

    Linux笔记 2018-05-13
  • Varnish缓存服务介绍及相关实验

    缓存是指把对某些请求的结果缓存下来,下次请求直接使用数据响应,这样极大的节省了系统获取源数据资源的时间,若我们把大量的请求结果都使用缓存服务器来响应,那么我们可以大大减少计算机数量减少成本。

    2018-07-19
  • 作业-1

    Linux系统基础-计算机组成.Linux简介

    2018-06-19