Shell脚本学习(一):shell变量和一些常用命令

Shell脚本学习(一):shell变量和一些常用命令


shell允许用户建立变量存储数据,但是不支持基本数据类型变量(如int,float.....),shell将任何赋给变量的值都解释为一串字符,命名的规则跟C++一样。

一、Shell有如下四种变量:

1.用户自定义的变量

这个好理解,就是用户自己定义的变量,如:X,Y,COUNT(shell中变量通常全大写)

2.位置变量(也就是命令行参数)

(1) $0:也就是脚本文件名

(2) $1,$2...$9:1-9个命令行参数

(3) $#:命令行参数的个数,比C中的少一个

(4) $@:也就是"$1,$2...$9"

(5) $?:前一个命令的退出状态,正常退出值为0,异常退出为1或2

(6) $*:我测试出来跟$@貌似是一样的,还望大神解释...

(7) $$:当前进程的ID号

3.预定义变量(默认变量)

4.环境变量

二、Shell常用命令

(1) echo "some text": 将文字内容打印在屏幕上

(2) unset:删除变量的赋值

(3) ls: 文件列表

(4) wc –l filewc -w filewc -c file: 计算文件行数计算文件中的单词数计算文件中的字符数

(5) cp sourcefile destfile: 文件拷贝

(6) mv oldname newname : 重命名文件或移动文件

(7) rm file: 删除文件

(8) grep 'pattern' file: 在文件内搜索字符串比如:grep 'searchstring' file.txt

(9) cut -b colnum file: 指定欲显示的文件内容范围,并将它们输出到标准输出设备比如:输出每行第5个到第9个字符cut -b5-9 file.txt千万不要和cat命令混淆,这是两个完全不同的命令

(10) cat file.txt: 输出文件内容到标准输出设备(屏幕)上

(11) file somefile: 得到文件类型

(12) read var:从标准输入读入一行,并将输入赋值给变量var

(13) sort file.txt: 对file.txt文件中的行进行排序

(14) uniq: 删除文本文件中出现的行列比如: sort file.txt | uniq

(15) expr: 进行数学运算Example: add 2 and 3expr 2 "+" 3

(16) find: 搜索文件比如:根据文件名搜索find . -name filename -print

(17) tee: 将数据输出到标准输出设备(屏幕) 和文件比如:somecommand | tee outfile

(18) basename file: 返回不包含路径的文件名比如: basename /bin/tux将返回 tux

(19) dirname file: 返回文件所在路径比如:dirname /bin/tux将返回 /bin

(20) head file: 打印文本文件开头几行

(21) tail file : 打印文本文件末尾几行

(22) test:测试3种对象(字符串、整数、文件属性),为真返回0,假返回1

(23) sed: sed是一个基本的查找替换程序。可以从标准输入(比如命令管道)读入文本,并将

结果输出到标准输出(屏幕)。该命令采用正则表达式(见参考)进行搜索。不要和shell中的通配符相混淆。比如:将linuxfocus 替换为LinuxFocus :cat text.file | sed 's/linuxfocus/LinuxFocus/' > newtext.fileawk: awk 用来从文本文件中提取字段。缺省地,字段分割符是空格,可以使用-F指定其他分割符。




你可能感兴趣的:(linux)