概述
文件或目录的管理,主要有创建,删除,查询,移动。mkdir, rm, mv
文件查询,主要使用强大的find命令。
创建和删除
- 创建目录: mkdir
- 删除: rm
- 删除非空目录: rm -rf
- 移动/重命名:mv
- 复制: cp
- 复制目录: cp -r
目录切换
- 找到文件目录位置: cd
- 切换到上一次的工作目录: cd -
- 切换到home目录: cd or cd ~
- 显示当前路径: pwd
列出目录项
- 显示当前目前项目的文件: ls
- 按时间排序,以列表方式显示: ls -lrt
- 每个文件项前面增加id编号: ls | cat -n
一般我们会在.bashrc中增加别名,简化命令的使用。
查找目录及文件
- 查找文件或目录: find ./ -name "test*"
find是实时查找,如果需要更快的查询,可试试locate;locate会为文件系统建立索引数据库,如果有文件更新,需要定期执行更新命令来更新索引库:
- locate string
- updatedb
查看文件的内容
查看文件: cat vi head tail more
- 显示时同时显示行号: cat -n
- 按页显示列表内容: ls -al | more
- 查看文件的前10行:head -10 test.cc
- 查看文件倒数5行: tail -5 test.cc
- 查看两个文件的差异: diff test.cc test_old.cc
- 动态显示文本的最新信息: tail -f desing.log
查找文件的内容
使用grep egrep来查询文件中的内容, grep的用法单独一文描述
grep 'main' test.cc
文件与目录权限的修改
- 修改文件的拥有者: chown
- 改变文件的读写执行等权限: chmod
- 递归子目录修改: chown -R / chmod -R
- 增加文件的可执行权限: chmod a+x test
给文件增加别名,软连接/硬链接
- 硬链接: ln test hlink
- 软连接: ln -s test slink
管道
- 批处理命令连接执行,管道使用 |
- 串联使用: 分号 ;
- 前面成功,则执行后面一条,否则不执行: &&
- 前面失败,则执行后面一条: ||
重定向
- 将标准输出和错误输出到一个文件: ls test* > list 2>&1 等价于 ls test* &> list
- 清空文件: > test
- 重定向到文件末尾: echo “Hello world” >> test