Linux系统上的人机交互

众所周知,计算机上运行的数据流最后都会以二进制的方式流转,这对计算机来说确实没什么问题,但是对人类来说,这样的方式无疑太难理解,所以计算机通过转换,将二进制的0、1字符串转换成人们可以易于理解的字母和数字,来方便计算机与人类的沟通和交互。这样一来,人类可以读取和输入人类习惯的字母和数字;而计算机可以使用自己的0、1字符串接收任务和返回结果。然而,这一过程就少不了人机交互的接口。每个操作系统都有人机交互的接口,Linux系统也不例外。

Linux系统接口分类

Linux系统的接口分为图形接口、命令行接口。
1.  图形界面接口(GUI, Graphic User Interface)
  GNome、KDE
2.  命令行接口(CLI, Command Line Interface)
bash、zsh、sh、csh、tcsh、ksh

Shell

Linux的命令行接口归结起来就是各种Shell,那么到底什么是Shell?
Shell,译为外壳,是用户直接连入计算机所使用的计算机程序,负责解析用户提供的命令,如词法分析、语法分析、句法分析。
CentOS系统安装完成后,默认使用命令行接口是Bash Shell。

Bash Shell的命令提示符:
[ username@hostname working_directory ] {#|$}
看起来可能有些乱,下面来具体介绍一下吧。
username: 用户登入Linux系统所使用的用户
hostname: 当前主机的主机名,非完整格式
working_directory :用户当前所在目录,随着用户的目录切换而切换的
‘#’:  管理员账号登陆,为root,拥有最高权限,能执行所有操作;
‘$’:  普通用户,非root用户登录,不具有管理员权限,不能执行系统管理类操作;
> 注意:
为了安全起见,建议使用非管理员账号登陆!执行管理操作时,临时切换至管理员账号,操作完成后即退回。

Linux命令

Linux命令的语法通用格式
~]# COMMAND OPTIONS ARGUMENTS,其中:
1.  COMMAND
Linux系统中可执行的二进制程序,分为:
内置命令(builtin):由shell程序自带的命令,如cd
外部命令(application):独立的可执行程序文件,文件名即命令名,如ls
命令类型区分方法:  ~]# type COMMAND

发起一个命令:表示请求内核将某个二进制程序运行为一个进程;
程序 –> 进程
静态 –> 动态(有生命周期)
命令本身是一个可执行的程序文件(二进制格式的文件),有可能会调用共享库文件;
 多数程序文件都存放在如下位置:
 普通命令:/bin, /usr/bin, usr/local/bin
管理命令:/sbin, /usr/sbin, /usr/local/sbin
共享库文件:自己本身没有程序入口,需要其他程序调用使用
32位库文件:/lib, /usr/lib, /usr/local/lib
 64位库文件:/lib64, /usr/lib64, /usr/local/lib64
> shell的PATH环境变量
由于Linux的外部命令存放位置未必统一,为了方便操作系统查找命令文件的具体路径,Linux使用PATH环境变量的方式来指定查找外部命令的路径,路径与路径之间以;隔开,每次执行命令时,都在PATH环境变量中,自左向右进行查找。查到相应命令就直接使用,查不到就会返回命令不存在。

2.OPTIONS:指定命令的运行特性
选项有两种表现形式:
短选项:-C,例如-l,-d
> 注意: 有些命令的选项没有”-“
同一命令同时使用多个短选项时,多数可合并:-l -d = -ld

长选项:–word,例如–help, –human-readable

> 注意:有些选项可以带参数,称为选项参数;
长选项:选项=参数,例如:–directory=/usr/local/apache
短选项:选项 参数,例如:cut -d :

3.ARGUMENTS: 命令的作用对象,表示命令对什么生效
> 注意:不同的命令的参数,有些命令可同时带多个参数,多个参数之间以空白字符分隔

原创文章,作者:N27_sapbcs,如若转载,请注明出处:http://www.178linux.com/85815

(5)
N27_sapbcsN27_sapbcs
上一篇 2017-09-01 16:24
下一篇 2017-09-01 20:28

相关推荐

  • ./././

    ./././

    Linux干货 2016-08-04
  • linux系统创建主分区、逻辑分区 、设置ext系列分区的参数以及检测分区

    使用到的命令有:fdisk分区管理命令、partx 强制内核更新分区表(通过查看/procs/partitions文件可知道内核没有更新新创建的分区)、mkfs格式化分区命令、mke2fs格式化etx专用工具、blkid查看分区属性、fsck测试分区    linux对不同的磁盘设备的设备文件命名如下:    &nbs…

    Linux干货 2016-05-16
  • 网络基础

    1、OSI模型七层结构 应用层   为应用程序进程提供网络服务   提供用户身份验证   表示层     确保接收系统可以读出该数据     格式化数据     构建数据 &nbs…

    Linux干货 2016-09-06
  • Linux第三周总结

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d ” -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 ~]# who|tail -1 3、取出当前系统上被用户当作其默认shell的最多的那个shell ~]# cut -d’:’…

    2017-07-16
  • 马哥教育网络班22期-第4周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@zck ~]# cp -r /etc/skel /home/tuser1 [root@zck ~]# ll -d /hom…

    Linux干货 2016-09-02
  • 马哥教育网络班22期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;       [root@localhost ~]#…

    Linux干货 2016-10-09