shell基础(六)

xiaoxiao2021-02-28  102

六.shell常用命令

本节只是列出一些常见的操作,具体的操作,可以参考man **

6.1 文件与目录操作相关

** cd 切换目录

cd /home/wannbiao

切换到/home/wannbiao目录下 pwd 显示目前所在的目录 mkdir 创建目录 -p 选项,递归建立目录。如果上层目录没有,一并创建上层目录 rmdir 删除空目录 -p 选项,递归删除。 ls 列出目录 -a 选项,列出所有文件和目录,包括隐藏的目录和文件 -l 选项,列出文件和目录的详细,信息 -d 选项,列出目录本身,而不是目录里面的内容 cp 复制文件或者目录 -r 选项,递归复制 -a 选项,递归,并且复制文件的属性,并且复制连接文件的属性,而不是连接文 件本身 rm 删除文件或者目录 -r 选项,递归删除 -f 选项,强制删除 mv 移动文件或者目录 -f 选项,强制移动

6.2 文件内容查看

cat 由第一行开始显示文件内容 nl 显示内容的使用,显示行号 more 分页显示内容 od 以二进制的方式显示文件内容

6.3 其他命令

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输出 fooecho10.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-gt0” ];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手册,与君同勉!

时间仓促,难免有误,望请指出!

转载请注明原文地址: https://www.6miu.com/read-44514.html

最新回复(0)