本节只是列出一些常见的操作,具体的操作,可以参考man **
** cd 切换目录
cd /home/wannbiao切换到/home/wannbiao目录下 pwd 显示目前所在的目录 mkdir 创建目录 -p 选项,递归建立目录。如果上层目录没有,一并创建上层目录 rmdir 删除空目录 -p 选项,递归删除。 ls 列出目录 -a 选项,列出所有文件和目录,包括隐藏的目录和文件 -l 选项,列出文件和目录的详细,信息 -d 选项,列出目录本身,而不是目录里面的内容 cp 复制文件或者目录 -r 选项,递归复制 -a 选项,递归,并且复制文件的属性,并且复制连接文件的属性,而不是连接文 件本身 rm 删除文件或者目录 -r 选项,递归删除 -f 选项,强制删除 mv 移动文件或者目录 -f 选项,强制移动
cat 由第一行开始显示文件内容 nl 显示内容的使用,显示行号 more 分页显示内容 od 以二进制的方式显示文件内容
echo 将后面的内容显示在标准输出上
echo “wanbiao” 显示wanbiao在屏幕上 echo “wanbiao” > echo.txt 将wanbiao输出到echo.txt中eval 对参数进行求值
foo=10 x=foo y=’$’$x echo $y eval y=’$’$x echo $y其中第一个echo输出 foo,第二个echo输出10.eval相当于对 foo再次进行求值 export 将后面的变量当作全局变量,即子shell中也能访问。
exprot wanbiao=”sb”当再次启动一个shell之后,wanbiao这个变量也能在后面的子shell中访问 expr 对参数进行表达式的求值
注意:每一个参数都需要有空格,因为expr以空格来区分各个参数。如 x=$(expr 0 + 1)
printf 格式化字符串进行输出. 他的格式化输出跟c语言相同,举例如下:
printf “%s %d\t%s” “hello world” 15 ‘words’输出为: hello world 15 words shift 该命令将左移一个参数。即,将$2,变成$1,将$3变成$2,一次类推,但是$0始终保持不变 trap 信号中断处理命令,即当接收到信号后,采取什么样的处理,使用格式:
trap command signal注意:脚本程序通常为从上到下的扫描,因此这个命令需要在你想要保护的代码之前使用。
信号可以理解为:被异步发给程序的事件,在默认的情况下,会中断一个程序的执行。 在以前,信号通常用数字表示,因为数字不容易记住,后来使用字符串来表示。这些信号被定义在了singal.h中,在使用信号的时候需要省略SIG前缀。为了能够直接查看信号的名称,可以使用trap -l命令 举例如下:
trap ‘echo i got a intterrupt’ INT i=10 while [ “$i” -gt “0” ];do echo “dayu” i=$(expr $i - 1) sleep 1 done那么当脚本接收到中断信号(按下ctrl+c键)时,将输出;i got a intterrupt find 查找文件命令 这个命令的功能非常强大,常常让人感觉使用起来非常的复杂。常用格式如下: find 路径 选项 动作 -mtime 通过修改时间来查找 -newer file 找到比file还要新的文件 -name filename 找到filename为名字的文件 -exec command 当找到之后,执行exec后面跟的command命令,例如
find -newer wanbiao -exec ls -l {} \;表示的意思是:找到比wanbiao文件还新的文件,然后将其详细信息列出来。
注意:-exec的结尾必须是反斜杠加分号,大括号{}表示find找到的东西,这里是比wanbiao文件还要新的文件。
grep 查找文件内容,使用格式如下:
grep 选项 模式字符串 文件 对于模式字符串,就是上一节讲到的,正则表达式。 -c 选项 输出匹配行数的数目,而不是输出匹配的行 -i 选项 忽略大小写 -v 选项 显示没有匹配到的内容 read 读取输入,使用如下:
read wanbiao将阻塞,直到用户输入内容,然后按下enter键,并将输入的内容作为变量wanbiao的值。 shell中能使用的命令非常多,这里只是一些个人认为比较常见的命令,需要在实际使用中慢慢积累,同时也要经常查看man手册,与君同勉!
时间仓促,难免有误,望请指出!