shell 学习笔记
《Linux命令行与shell脚本编程大全》笔记 wkss
其他:http://www.cnblogs.com/pengdonglin137/p/3528303.html
差缺补漏:
一、基本命令
1、stat命令

2、cat命令
- -n 给所有行加上行号
- -b 只给有文本的行加行号

3、tail

默认显示文件末尾10行。这里重点是 tail –f 的使用。
4、ps参数解释
参数风格:

- 执行ps,默认只显示运行在当前控制台下的属于当前用户的进程。
- ps -ef


- ps -l


- 树状显示 ps -efH或者ps --forest(GNU风格)

- ps l (注意与ps –l的区别不加’-’是BSD风格,加‘-’是UNIX风格)



5、top命令参数解释




6、mount命令


7、df命令

8、du命令
du默认显示当前目录下的所有文件、目录以及子目录的磁盘使用情况。

使用时我常用du –sh 路径名XX,可以显示文件或者文件夹XXX的大小,du –sh 显示当前所在目录的大小。
9、sort

-n表示把数字识别成数字而不是字符,-M 按月排序
将du和sort连起来使用:
du -s * | sort –nr
1: 321764 flash
2: 39216 pub
3: 28888 slave
4: 21984 image
5: 68 scripts
6: 24 CreatImage.sh
7: 8 version_collate.sh
8: 8 readme
9: 4 moveversion.sh
10、shell提示符



11、设置和删除环境变量
export 用于设置全局环境变量,unset用于删除环境变量
12、数组
1: #!/bin/bash
2:
3: my=(1 2 3 "peng")
4:
5: echo ${my[1]}
6: echo ${my[2]}
7: echo ${my[3]}
8:
9: my[4]=4
10: echo ${my[4]}
11:
12: unset my[2]
13: echo ${my[2]}
14: echo "end"
运行:
1: pengdl@debian:~/test/shell$ ./sh10.sh
2: 2
3: 3
4: peng
5: 4
6:
7: end
8: pengdl@debian:~/test/shell$
13、echo –n 和 echo -e
1: pengdl@debian:~/test/shell$ echo -n "peng"
2: pengpengdl@debian:~/test/shell$ echo -n "XXXX"
3: XXXXpengdl@debian:~/test/shell$ echo "XXXX\n"
4: XXXX\n
5: pengdl@debian:~/test/shell$ echo -e "XXXX\n"
6: XXXX
7:
8: pengdl@debian:~/test/shell$ echo -en "XXXX\n"
9: XXXX
10: pengdl@debian:~/test/shell$
14、统计文本 wc
1: echo "peng dong lin 137" >1.txt
2: wc < 1.txt
3: 1 4 18

15、内联输出重定向

16、查看退出状态码 $?

example:
1: pengdl@debian:~/test/shell$ jfjak
2: bash: jfjak: command not found
3: pengdl@debian:~/test/shell$ echo $?
4: 127
5: pengdl@debian:~/test/shell$
二、基本结构
if








test命令

数值比较(注意: test不支持浮点数比较)

字符串比较


字符串顺序


注意:

字符串大小
-n 如果非空,返回1;
-z 如果空, 返回1


文件比较

注意:
-d 如果是目录,返回1
-e 如果存在,返回1
复合条件测试
更多:http://www.cnblogs.com/pengdonglin137/p/3522757.html


if-then的高级特性
- 双圆括号

除了test命令使用的标准数学运算符,下标列出了双圆括号命令会使用的其他运算符:


注:其中的大于号不需要转义。
- 双方括号


case

for命令
- 基本格式:


- 转义

- 引号

- 从变量读取列表


- 从命令读取值


- 更该字段分隔符


- 用通配符读取目录

注:为什么要用双引号将$file引起来?

- 使用通配符读取目录2


C语言风格的for命令

- 使用多个变量

while命令
shell 学习笔记的更多相关文章
- SHELL学习笔记----IF条件判断,判断条件
SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here ...
- shell学习笔记
shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...
- [转帖][Bash Shell] Shell学习笔记
[Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html 阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...
- shell学习笔记汇总
1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...
- shell 学习笔记2-shell-test
一.字符串测试表达式 前面一篇介绍:什么是shell,shell变量请参考: shell 学习笔记1-什么是shell,shell变量 1.字符串测试表达式参数 字符串需要用""引 ...
- SHELL学习笔记三
SHELL学习笔记一 SHELL学习笔记二 SHELL学习笔记三 for 命令 读取列表中的复杂值 从变量读取列表 从命令读取值 更改字段分隔符 用通配符读取目录 which 使用多个测试命令 unt ...
- 【转】shell学习笔记(一)——学习目的性、特殊字符、运算符等
1 学习shell的目的性 写之前我们先来搞清楚为什么要学shell,学习要有目的性 shell简单.灵活.高效,特别适合处理一些系统管理方面的小问题 shell可以实现自动化管理,让系统管理员的工作 ...
- [Bash Shell] Shell学习笔记
1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命 ...
- CentOS 7 之Shell学习笔记
脚本是个永恒的话题,以前Dos下面也有Shell编程这一说的,比如说BAT文件有人写的好的话,也是瞬间速度变高大上.Linux下面这个应该更占比重了.我看到园子里有位园友做了一个Linux Shell ...
随机推荐
- 轻松学习Linux之自动执行任务
在 Linux 中,任务可以被配置在指定的时间段.指定的日期.或系统平均载量低于指定的数量时自动运行,系统管理员可使用自动化的任务来执行定期备份.监控系统.运行定制脚本等,往往初学者都是win用户,习 ...
- c++builder 代码输入助手
c++builder 代码输入助手 指针箭头.指针符号-> 输入太麻烦 java.c#.delphi 语音,输入. 一个字符,就可以弹出代码提示窗口.很是方便. c++,输入->,需要按3 ...
- gdb之x命令
[gdb之x命令] 可以使用examine命令(简写是x)来查看内存地址中的值.x命令的语法如下所示: x/<n/f/u> <addr> n.f.u是可选的参数. n是一个正整 ...
- Java反射机制(取得类的结构)
通过反射得到一个类中的完整的结构,就要使用java.lang.reflect包中的以下几个类: Constructor:表示类中的构造方法 Field:表示类中的属性 Method:表示类中的方法 ...
- all & any
def all(*args, **kwargs): """ Return True if bool(x) is True for all values x in the ...
- 1001.A+B Format (20)(思路,bug发现及其修改,提交记录)
https://github.com/031502316a/object-oriented/tree/master/1001 ---恢复内容开始--- 1.解题思路 一开始见到题目时,感觉难的就是输出 ...
- Codeforces 100548F - Color (组合数+容斥)
题目链接:http://codeforces.com/gym/100548/attachments 有n个物品 m种颜色,要求你只用k种颜色,且相邻物品的颜色不能相同,问你有多少种方案. 从m种颜色选 ...
- HDU 5794 A Simple Chess (Lucas + dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5794 多校这题转化一下模型跟cf560E基本一样,可以先做cf上的这个题. 题目让你求一个棋子开始在( ...
- HDU3657Game(最大流)
这几天敲了几道最大流的问题,发现网络流真是模板算法啊.... 敲来敲去敲了几遍,基本每遍都敲得让人灰心,但同时也感受到了网络流的强大所在,这是我做网络流的第一题,,本以为看了一遍小白书的代码差不多理解 ...
- Thinkphp模板怎么使用自定义函数
内置模板引擎支持对模板变量使用函数,并支持多个函数同时使用. 注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|fu ...