Linux 系统中文件通配符 * 并不会匹配到目录中的隐藏文件, 若恢复误删除的家目录时要使用全目录恢复, 如:
- # cp -a /etc/skel /home/git????? #全目录拷贝
- # mkdir -pv /home/git
错误写法:
# cp -a /etc/skel/*/home/git??? #该命令并不会将模板中的文件 (隐藏文件) 拷贝至 / home/git 目录下
正确写法:
- # cp -a /etc/skel/.[^.]*/home/git # 注意 [^.] 是排除.* 匹配到的上级目录(..)
- ?
ls -d 选项:
??? 查看某目录的长列表信息时要使用 - d 选项:# ls -dl dir1? , 如果不加 - d 选项会显示目录下的文件列表信息
??? ls -dl /dir/*? 使用 - d 选项显示当前目录下的文件或目录, 但不会递归显示字母目录
??? ls -dl /dir/*/ 显示 dir 目录下的非隐藏文件夹要使用 */
?
标准正则表达式与扩展正则表达式的区别:
??? 扩展正则表达式省略了标准正则表达式中的转义字符 \, 如下:
??? ?: 0 或 1 次 (标准正则:\?)
??? +:1 次或多次(标准正则:\+)
??? {m}: 匹配 m 次(标准正则:\{m\})
??? {m,n}: 至少 m, 至多 n 次(标准正则:\{m,n\})
??? 分组:()(标准正则:\(\))
vim 命令中在删除时使用 g 作为全文选择, 而不能使用 % 作为全文选择
如:? :g/^$/d? 删除文档中的空白行, 如果存在 tab 或是空格时, 需要使用 :g/^[[space:]]*$/g 来删除
linux 学习总结(1)
来源: http://www.bubuko.com/infodetail-2562052.html