帮助类命令
whatis gcc
which gcc
whereis gcc
who gcc
info gcc
man gcc
man页面所属的分类标识(常用的是分类1和分类3)
(1)、用户可以操作的命令或者是可执行文件 (2)、系统核心可调用的函数与工具等 (3)、一些常用的函数与数据库 (4)、设备文件的说明 (5)、设置文件或者某些文件的格式 (6)、游戏 (7)、惯例与协议等。例如Linux标准文件系统、网络协议、ASCⅡ,码等说明内容 (8)、系统管理员可用的管理条令 (9)、与内核有关的文件
查看当前目录下文件个数:
$find ./ | wc -l
按时间排序,以列表的方式显示目录项 ls -lrt
搜寻文件或目录:
$find ./ -name "core*" | xargs file
查找目标文件夹中是否有obj文件:
$find ./ -name '*.o'
递归当前目录及子目录删除所有.o文件:
$find ./ -name "*.o" -exec rm {} ;
find是实时查找,如果需要更快的查询,可试试locate;locate会为文件系统建立索引数据库,如果有文件更新,需要定期执行更新命令来更新索引库:
$locate string
寻找包含有string的路径:
$updatedb
与find不同,locate并不是实时查找。你需要更新数据库,以获得最新的文件索引信息。
- 改变文件的拥有者 chown
- 改变文件读、写、执行等属性 chmod
- 递归子目录修改: chown -R tuxapp source/
- 增加脚本可执行权限: chmod a+x myscript
创建符号链接/硬链接:
ln cc ccAgain :硬连接;删除一个,将仍能找到; ln -s cc ccTo :符号链接(软链接);删除源,另一个无法使用;(后面一个ccTo 为新建的文件)
PATH=$APPDIR:/opt/app/soft/bin:$PATH:/usr/local/bin:$TUXDIR/bin:$ORACLE_HOME/bin;export PATH
快捷键:
Ctl-U 删除光标到行首的所有字符,在某些设置下,删除全行 Ctl-W 删除当前光标到前边的最近一个空格之间的字符 Ctl-H backspace,删除光标前边的字符 Ctl-R 匹配最相近的一个文件,然后输出 查找record.log中包含AAA,但不包含BBB的记录的总数: cat -v record.log | grep AAA | grep -v BBB | wc -l
常用的; 我对shell脚本使用的原则是命令单行书写,尽量不要超过2行; 如果有更为复杂的任务需求,还是考虑python吧;
查找txt和pdf文件:
find . ( -name "*.txt" -o -name "*.pdf" ) -print
正则方式查找.txt和pdf:
find . -regex ".*(.txt|.pdf)$"
-iregex: 忽略大小写的正则
否定参数 ,查找所有非txt文本:
find . ! -name "*.txt" -print
指定搜索深度,打印出当前目录的文件(深度为1):
find . -maxdepth 1 -type f