linux shell 指令总结

一  shell 基本指令

1.  

$ --普通用户    # -- 超级用户

xx  --help    查看xx 指令帮助

man xxx    查看xx指令用法

2.

pwd  当前目录

cd  。。  回到根目录

cd   /    顶端根目录

cd  ~  个人主目录

3.

file xxx    读取文件中文本属性

4.linux的目录结构

/boot  存放linux 内核 和启动加载项

/bin   默认可执行程序

/usr   支持用户程序的文件     /usr/bin    用户要用的可执行程序

/sbin     /usr/sbin  系统管理员专用程序,超级用户执行

/etc    操作系统设置的文件

/var   日志文件

/lib   共享库文件

/dev    设备驱动文件

5.输入输出

sort <   ls.txt  > sorted_ls.txt    

将ls文件中内容排序输出到屏幕   然后输出到  sorted_ls

管道:|(vertical bar) 连接多个指令,表示前一个指令的输出是下一个指令的输入。

6.权限

chmod 修改文件/目录的访问权限

chown 修改文件/目录的所有权

7.多任务处理(job)

ps:系统正在运行的进程

jobs:shell中显示进程目录

8.解析(parsing)是将一连串字符串分解为有意义的令牌,创建解析树(parse tree)

shell就是一个进程,可创建其他进程。

fork系统调用创建调用进程的副本。

9.shell脚本第一行输入    #!/bin/sh ,   内核识别文件为bourne  shell脚本。

bash shell 是Bourne shell的升级版,大部分linux使用 Bash shell。

10.

正在执行的程序称进程或作业(job),每个进程都有其固有ID,即PID。

作业控制可选择性的执行程序,分前台和后台。

11.命令行中的编辑器

内置编辑器有两种:一般默认的是emacs   另一种是vi

emacs的基本操作:

                                  ctrl+P/N  向上/下  移动历史文件

                                  ctrl+A   移至行首  ctrl+E 移至行尾

                                  ctrl+U 删除行        ctrl+Y恢复最后删除的内容

                                  ctrl+K  删除光标到行尾的内容

                                  Esc+ D / H   向前/后删除一个字符

12.别名

别名  alias  就是用户把 shell命令 自定义为其他的名字,便于使用。

13.元字符 / 通配符

?  *   [ ]    { }   \

14.变量

declare  typeset,全局变量一般都是大写字母。

$#  的值等于参数个数。

15.重定向

启动shell的同时启动了 stdin  stdout   和  stderr。

想把内容输出到某文件可使用重定向  >  配合使用的命令exec

二  检索功能

1.正则表达式  (Regular Expressions)

正则表达式是匹配用于检索的相同字符集的模式。

vim支持 使用正则表达式

2.grep检索

grep指令用于检索与输入文件的已有模式列表匹配的行,之后通过标准复制然后显示 检索到的行。

egrep 是 grep的扩展,可使用Regular Expression的元字符集。

fgrep类似于  grep,但是不能使用 Regular Expression的元字符集。

3.linux的文本处理工具

     3.1  sed

      sed是以行为单位的非交互式编辑器,从通过标准输入或文件获得要处理的输入文本,对指定的行进行逐行处理。

      3.2  awk

     awk是操作数据并创建报告的语言。

     

三 bash shell 编程

1.将命令合并转为文件执行,文件就称为shell 脚本。

shell脚本是非交互的。(noninteractive)

shell脚本的第一行,成为 shbang行。

shbang行是 #! /bin/bash  则使用Bash shell。

shbang行是 #! /bin/sh  则使用Bourne shell。

2.

注释 comment  # 

变量 variable  $

read  用于从终端或文件读取输入的字符串。

3.

shift 命令按照指定数字向左移动参数目录。

内部字段分隔符IFS  评估空格、TAB  、newline字符,需要使用其他分隔符的时可重置。

function  定义函数  

unset  删除内存中的函数

export 导数函数,使其可以在子shell 中使用。

source命令从定义函数的文件调用并使用需要的函数。

4. 

kill -l  和  trap -l  命令可以查看所有信号目录。

getopts  函数处理命令行选项和参数。

eval 评估命令行,替换shell后执行。

set操作命令行参数,选项前加“  -  ”表示设置为ON,加“  +  ”表示设置为OFF。

5.启动脚本

vsftpd

6.实用指令

cut 截取文件指定的各行字段

paste 合并文件信息

join 合并字段并删除等值字段中的一个,使其唯一。

tr 通过标准输入修改或者删除字符。

split 以大小单位或行单位截取大容量的文本。

col 是更改换行字符(line feed)的过滤器。

xarg 以行为单位读取输入数据并执行参数化。

find 在目录层级检索文件。

tee  通过标准输入读取,并保存为标准输出和文件。

参考:图书    《linux shell 脚本编程入门 》 作者:【韩】金泰龙

猜你喜欢

转载自blog.csdn.net/Bluenapa/article/details/85015501