与linux相交互

在全部的问题之中,最早要解决就是:如何才可以让Linux作咱们想让它作的事情?咱们能够用各类方式作到这一点:例如,一个Linux程序员,能够用编程语言经过操做系统的编程接口与Linux进行交互若是,若是足够牛的话,甚至能够考虑撇开编程接口,直接与Linux内核进行交互。可是,做为一个普通的Linux系统管理员,咱们仍是倾向于经过现成的操做命令接口(User CommandInterface)与Linux打交道。与Linux的“核(kernel)”对应,操做命令接口很形象地被称为“壳 (shell)”。程序员

简单来讲, Shell就是一种能让你与Linux之间进行“对话”的软件。Shell等待你输入,向Linux解释你的输入,而且处理各类各样的系统的输出结果,把这些结果展现给你。这种交互能够是即时交互(从键盘输入,而且能够当即获得响应),也能够是非即时交互(shell 脚本[1])。shell

咱们所使用的CentOS系统上的默认Shell叫作Bash(The GNU’s Bourne Again Shell)。Bash也是绝大部分Linux平台上的默认Shell。 编程

 

 

注意编程语言

   

 

¨       事实上,Linux为用户提供了两种大相径庭的“壳”:—种是命令行式shell(Command  Line Interface shell ,即CLI  shell),用户利用这些字符命令或者shell脚原本组织和控制做业的执行,或者对计算机系统进行管理。另—种是图形界面shell(Graphical  User Interface shell 即  GUI shell),用户经过点击,拖动图像图标来完成一样的事情。工具

 

¨       在Linux中,传统意义上的shell指的就是命令行式的shell,在下面课程中,若是没有特别注明,所提到的shell就是命令行式的shellspa

 

 

当文本模式下登入系统或在图形界面下打开终端,首先将看到的是一个提示符(prompt)。提示符自己就包含了至关多的信息:CentOS的标准提示符包括了登陆用户名、登入的主机名、用户当前所在的目录(workingdirectory)和提示符号,例如:操作系统

命令序列 1命令行

[stu@localhost~]$设计

其中,'Stu'为登陆用户名,'localhost'为登陆主机名,’~’ 表示当前用户正处在stu用户的家目录中,’$’则表示当前登陆用户为普通用户    blog

 

 

注意

   

¨        根据  Bourne Shell 的传统,普通用户的提示符以'$'结尾,而根用户以’#’结尾

 

¨        ’~’ 符号不是一个固定的目录名称,而是一个”Shell 变量”,表明使用者的”家目录”,举例来讲,若是我以dev01用户身份登陆系统,dev01的家目录是’/home/dev01’,那么’~’就表明’/home/dev01’,若是我以root身份登陆系统,而root的家目录是’/root’,那么’~’就表明’/root’。至于到底”家目录”和”Shell 变量”究竟是什么,咱们在后继的教程中会详细讨论。

这时就能够输入命令了,为熟悉shell,咱们选择的三个有表明性的命令来小试牛刀,这三个命令分别为 whoami、echo和nano。 

 

 

注意

   

¨        Linux中所谓的命令(Command),本质上就是一个与命令同名的可执行(Runnable)的二进制文件或者Shell脚本。

 

¨        这些可执行文件通常都放在/bin、/sbin、/usr/bin或者/usr/sbin等目录中,当要执行命令的时候,Shell 就会在这些目录或者其余用户指定的目录中(咱们在后面会详细讨论如何指定这写目录)搜索相应可执行文件,找到之后就运行,若是找不到文件,那么Shell就会在终端中输出相应的错误信息。

 

¨       切记,Linux 区分大小写。换一句话说,whoami 和WHOAMI 或 whoAmi是不同的。

       

 

 

 

 

重要

   

¨       选项(option):包括一个或多个字母的代码,通常来讲前面有一个’-’ 符号或者’--’符号(’-’或者’--’符号是必要的,Linux用它来区别选项和参数),选项能够看做是一种开关,通常用于控制命令的行为。事实上,Linux中的命令在正常状况下最少有两个选项,--help和—version。

 

¨       参数(parameter):一个字符串,参数通常用来向命令传递一些时运行所需的信息(例如文件或主机名称等),Linux大多数命令都被设计为能够接纳参数。

 

¨       命令自己、选项和参数中间用空格来分隔,不论空多少格,shell 都视为一格;

  

 

 

 

命令

   

用法:whoami [选项]...

 

显示与当前的有效用户ID 相关联的用户名。

 

¨       --help         显示此命令帮助信息并退出

 

¨       --version     显示命令版本信息并退出

 

 

注意

   

¨       全部的ASCII码均可以用“\”加数字(通常是8进制数字)来表示。而C语言中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,由于后面的字符,都不是它原本的ASCII字符意思了。

 

¨       echo命令中的转义字符与C语言中的转义字符基本同样,能够参考echo命令的帮助文档

 

 

命令

   

用法:/bin/echo [选项]... [字符串]... 或:/bin/echo 长选项

 

将 STRING 回显到标准输出。

 

¨        -n       不尾随换行符

¨        -e       启用解释反斜杠的转义功能

¨        -E       禁用解释反斜杠的转义功能(默认)

¨        --help  显示此帮助信息并退出

¨        --version   显示版本信息并退出

若-e可用,则如下序列便可识别:

¨        \\    反斜杠

¨        \a    响铃声

¨        \b    退格

¨        \c    再也不产生新的输出

¨        \e    转义符 

¨        \f    换页

¨        \n    新行

¨        \r    回车

¨        \t    水平制表符

¨        \v    竖直制表符

¨        \0NNN    字节数以八进制数 NNN (1至3位)表示

¨        \xHH     字节数以十六进制数 HH (1至2位)表示

 

注意:BASH中可能内含本身的echo 程序版本,它会覆盖这里所说起的相应版本,可能在命令具体行为上有些许区别。

最后咱们来看nano命令,nano是一个文本编辑工具,咱们在第一部分的知识点4中提到过。nano命令与上面两个命令不太同样,这个命令有本身的界面,咱们在命令行下输入nano, 回车,就来到了nano界面中,这时咱们就能够在光标处输入文本了,咱们能够用箭头键来移动光标,也能够按Alt+M打开鼠标支持来移动光标:按Ctrl+G 能够查看nano的帮助文档,在帮助文档中能够查看nano各类命令快捷键的详细用法。接着,按Ctrl+X能够退出当前查看或编辑的文档。

[1] Shell脚本是放在文件中的一串shell和操做系统命令,它们能够被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。

相关文章
相关标签/搜索