linux用户读取文件过程,Linux用户登录以及命令执行原理

目录

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

一、用户分类

Linux的用户分为两类

1、root用户

一个特殊的管理账户

接近完整的系统控制

无穷大的权力

2、普通用户

权力有限

对系统造成不可恢复损害能力低

二、登录界面

1、交互式接口

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

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

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

的有一下三种

GNOME (C,图形库gtk)

3c8ce6380daa33c267ccb0e2e66a02de.png

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

3c8ce6380daa33c267ccb0e2e66a02de.png

XFCE (轻量级桌面)

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

CLI:Command Line Interface(文本模式)

登录画面

3c8ce6380daa33c267ccb0e2e66a02de.png

[root@hai 6~]#

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

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

cat /etc/issue查看文件格式

3c8ce6380daa33c267ccb0e2e66a02de.png

方法一、通过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

3c8ce6380daa33c267ccb0e2e66a02de.png

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

3c8ce6380daa33c267ccb0e2e66a02de.png

3、免密登录Linux

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

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

3c8ce6380daa33c267ccb0e2e66a02de.png

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

1、查看当前CentOS版本

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

3c8ce6380daa33c267ccb0e2e66a02de.png

lsb_release –a也可以查看

3c8ce6380daa33c267ccb0e2e66a02de.png

2、查看内核版本

uname –r

3c8ce6380daa33c267ccb0e2e66a02de.png

3、查看cpu参数

lscpu(图很长,简略了)

3c8ce6380daa33c267ccb0e2e66a02de.png

4、查看内存

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

3c8ce6380daa33c267ccb0e2e66a02de.png

5、查看硬盘情况

lsblk

3c8ce6380daa33c267ccb0e2e66a02de.png

6、查看网卡

dmesg 查看启动的硬件

dmesg |grep eth 查看网卡

3c8ce6380daa33c267ccb0e2e66a02de.png

四、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

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

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

4、命令别名

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

1  系统定义的别名

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

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

3c8ce6380daa33c267ccb0e2e66a02de.png

2  用户自定义别名

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

alias 别名=“原名”

3c8ce6380daa33c267ccb0e2e66a02de.png

3  取消定义的别名

unalias name 删除定义的别名

unalias –a 删除所有别名

4  保存别名设置

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

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

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

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

3c8ce6380daa33c267ccb0e2e66a02de.png

5忽略别名

\aliasname

“aliasname”

‘aliasname’

command aliasname

/path/commmand

5、命令读取流程

判断路径:是否以路径的方式输入,是的话直接执行

检查别名:别名的优先级要高于内部命令,优先执行

判断命令类型:是内部命令直接执行

hash /bin/cat: 从hash中提取已用过的外部命令,有就执行

PATH变量查找: has中没有,系统通过变量PATH查找

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值