我在学习SHELL过程中的笔记和一点感想
---我会一直修改和补充这个笔记
1 刚开始学SHELL,第一个碰到的不适应的问题是在linux shell中,0 的值是 true ,1 的值是 false。
2 多个文件的合并: cat {file1,file2,file3,...} > newfile
一个文件做备份的另一种方法: cp file1.{txt,backup} #把file1.txt复制到file1.backup
在使用vi时,当你在文本模式下不能用光标来移动方向时,可以试着装下vim完整版来解决:
sudo apt-get install vim
3 一个echo的用法:比如我要显示{这个文件夹下的文件有:(后面是文件列表)}
在一本书上看到用 echo "'ls -l'" 命令 但我在我的UBUNTU系统上就是运行出错,直接把 ls -l 当字符串输出了,后来只用这个命令可行: echo "这个文件夹下的文件有:$(ls -l)" 运行正确
用echo,$(...)这二个结合就可以在注释中插入命令用了。
修正:echo "`ls -l`"运行正确,看错了我,是 ` 不是 ' `command` 可执行command
4 在用grep时,有时发现一些正则表达式的符号在grep里不能正常显示,最好加上 -E 即grep -E
5 在shell中,每个进程都和三个系统文件相关联:标准输入stdin,标准输出stdout和标准错误stderr,
三个系统文件的文件描述符分别为0,1和2。
command > result 把标准输出输出到 result
command > result 2>&1 把标准输出和标准错误信息输出到 result
command 2> result 把标准错误信息输出到 result
6 正则表达式中 :
pattern\{n\} 匹配模式出现n次。
pattern\{n,\} 匹配模式出现最少 n次。
pattern\{n,m} 匹配模式出现n到m次之间,n,m为0-255中任意整数。
可以用查有规则的数字,比如电话号码XXXX-XXXXXXX的表达试:[0-9]\{4\}-[0-9]\{8\}
比如邮箱的*@*.*的格式: .\{1,}@.\{1,}\..\{1,}(
不知道还有没有好的方法,
.*@.*\..*也可以)
7 开机自动挂截Windows fat分区
编辑 /etc/fstab 文件,在其中加入:(UUID:你要挂截的分区的UUID,可以在分区的属性里看到)
UUID=yourUUID /media/partitionname vfat iocharset=utf8,umask=000 0 0
8 打印脚本名: `basename $0`
阅读(1081) | 评论(0) | 转发(0) |