Linux学习高级篇(一)

来源:互联网 发布:美国商务签证 知乎 编辑:程序博客网 时间:2024/06/05 03:47

一、shell概述

  • Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
  • Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
Shell的分类:
Bourne Shell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh。
C Shell: C Shell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名.
Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh。

二、shell脚本执行方式

(1)、echo命令


-e表示支持反斜杠字符转换。
linux中字符有以下几种:
Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh
控制字符 作 用\\ 输出\本身\a 输出警告音\b 退格键,也就是向左删除键\c 取消输出行末的换行符。和“-n”选项一致\e ESCAPE键\f 换页符\n 换行符\r 回车键\t 制表符,也就是Tab\v 垂直制表符\0nnn 按照八进制ASCII码表输出字符。其中0为数字零,nnn是三位八进
制数
\xhh 按照十六进制ASCII码表输出字符。其中hh是两位十六进制数
shell脚本Hello.sh编写


执行:

三、Bash的基本功能

(1)history命令
[root@localhost ~]# history [选项] [历史命令保存文件]
选项:
-c: 清空历史命令
-w: 把缓存中的历史命令写入历史命令保存文件
~/.bash_history

历史命令默认会保存1000条,可以在/etc/profile中修改。
(2)alias 命令
给某个命令设置别名:
[root@localhost ~]# alias别名='原命令 '
查询命令的别名:alias
Bash中常用的快捷键:
快捷键 作 用ctrl+A 把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移
动到命令行开头时使用。
ctrl+E 把光标移动到命令行结尾。ctrl+C 强制终止当前的命令。ctrl+L 清屏,相当于clear命令。ctrl+U 删除或剪切光标之前的命令。我输入了一行很长的命令,不用使用退
格键一个一个字符的删除,使用这个快捷键会更加方便
ctrl+K 删除或剪切光标之后的内容。ctrl+Y 粘贴ctrl+Uctrl+K剪切的内容。ctrl+R 在历史命令中搜索,按下ctrl+R之后,就会出现搜索界面,只要输入
搜索内容,就会从历史命令中搜索。
ctrl+D 退出当前终端。ctrl+Z 暂停,并放入后台。这个快捷键牵扯工作管理的内容,我们在系统管
理章节详细介绍。
ctrl+S 暂停屏幕输出。ctrl+Q 恢复屏幕输出。(3)标准输入输出 

设备 设备文件名 文件描述符 类型键盘 /dev/stdin 0 标准输入 /dev/sdtout 1 标准输出显示器 /dev/sdterr 2 标准错误输

(4)输出重定向
类 型 符 号 作用标准输出重定向命令 > 文件以覆盖的方式,把命令的
正确输出输出到指定的文
件或设备当中。
命令 >> 文件以追加的方式,把命令的
正确输出输出到指定的文
件或设备当中。
标准错误输出重定
错误命令 2>文件以覆盖的方式,把命令的
错误输出输出到指定的文
件或设备当中。
错误命令 2>>文件以追加的方式,把命令的
错误输出输出到指定的文
件或设备当中。
正确输出和错误输
出同时保存
命令 > 文件 2>&1以覆盖的方式,把正确输
出和错误输出都保存到同
一个文件当中。
命令 >> 文件 2>&1以追加的方式,把正确输
出和错误输出都保存到同
一个文件当中。
命令 &>文件以覆盖的方式,把正确输
出和错误输出都保存到同
一个文件当中。
命令 &>>文件以追加的方式,把正确输
出和错误输出都保存到同
一个文件当中。
命令>>文件1 2>>文件2把正确的输出追加到文件
1中,把错误的输出追加
到文件
2中。
(5).输入重定向
使用wc命令:
wc  选项  文件名
选项:

-c 统计字节数-w 统计单词数-l 统计行数
(6)多命令顺序执行

多命令执行
格式 作 用命令1 ;命令2 多个命令顺序执行 系 ,命令之间没有任何逻辑联&& 命令1 && 命令2逻辑与
当命令
1正确执行,则命令2才会执行
当命令
1执行不正确,则命令2不会执行|| 命令1 || 命令2逻辑或
当命令
1 执行不正确,则命令2才会执行
当命令
1正确执行,则命令2不会执行
(7)管道符
命令格式:
[root@localhost ~]# 命令1 |命令2
#命令1的正确输出作为命令2的操作对象

例如:ll -a /etc/ | more
netstat -an | grep "ESTABLISHED"
[root@localhost ~]# grep [选项] "搜索内容"
文件名
选项:
-i忽略大小写-n输出行号-v反向查找--color=auto 搜索出的关键字用颜色显示


原创粉丝点击