掌握了下面的命令, 就可以像 Windows 里一样对目录文件操作自如啦.
1. 目录路径:
1.1 相对路径和绝对路径
以前总是有点分不清相对路径和绝对路径, 现在倒是分清了.
绝对路径, 就是绝对的, 一定从根目录 / 开始写的.
相对路径, 就是相对来说的, 相对当前工作目录的路径.
1.2 $PATH
这是一个关于路径的变量, 系统会根据里面的目录来查询可以执行的命令.
echo $PATH 可以看到里面有哪些目录.
图片. PNG
这是 root 权限下的 $PATH 内容.
不了解变量的可以看看变量的显示, 设置, 范围
2. 切换, 显示, 新建, 删除目录的命令:
2.1 切换目录: cd
既然是切换目录, 那就可以返回上一层, 进去下一层, 或者当前目录.
符号 | 意义 |
---|---|
. | 代表当前目录 |
.. | 代表上一层目录 |
- | 代表前一个工作目录 |
~ | 当前用户的主文件夹 |
2.2 显示当前所在目录
这是一个很简单的命令, 唯一要注意的地方就是加了选项 -P, 会避免显示连接文件, 而是显示真正的路径.
2.3 新建目录: mkdir
新建目录时, 我们要给予这个目录权限, 一般都是默认权限.
若我们想要自己设置权限就可以加上选项 -m, 如图:
图片. PNG
选项 -p, 可以递归的创建文件夹.
比如 mkdir -p 1/12/123/1234 就会创建
- /1,
- /1/12,
- /1/12/123,
/1/12/123/1234 目录.
2.4 删除目录: rmdir
可以删除空的目录, 加上 - p 选项, 可以连同上层的空目录一起删除掉.
3. 复制, 移动, 删除, 新建文件.
3.1 复制文件或目录: cp
复制目录一般是使用 选项 - r: 递归持续复制.
选项 - i 会提示我们是否覆盖当前文件, 当目标文件已经存在的时候.
还有一个 选项 - a, 复制出来的目录或文件, 具有完全相同的特性, 什么都一模一样.
关于连接 (link file) 的两个选项
-d: 若要复制的文件是连接文件, 直接复制会复制文件本身,-d 则可以复制连接文件.
-s: 复制一个文件的快捷方式, 就是 (link file) 连接文件.
3.2 删除文件或目录: rm
这是一个比较危险的命令, 因为可以删除掉任何东西.
选项 - i: 删除前会提示我们是否删除, 增加互动.
选项 - r: 递归删除.
3.3 移动文件与目录, 还可以改名字.
图片. PNG
创建了一个 mulu1 的文件夹,
把 test1.txt 文件放入其中,
在把 mulu1 文件夹重命名为 mulu2.
我们可以一次性, 移动多个文件到一个文件夹当中去.
3.4 新建文件使用 touch 命令.
4. 文件内容查看
命令 | 用途 |
---|---|
cat | 从第一行开始查看文件内容 |
tac | 从租后一行开始查看文件内容 |
nl | 显示的时候带上行号 |
more | 一页一页的显示文件内容 |
less | 前后翻页查看文件内容 |
head | 查看文件的前几行 |
tail | 查看文件的结尾几行 |
od | 以二进制的方式读取文件内容 |
详细用法就不说了, 需要的时候在查看手册咯.
5. 文件默认权限 umask
图片. PNG
0022 代表的是需要相应去掉的权限!!!
这里 user 去掉 0, 意味着权限还是一样.
group 去掉了 2, 意味着新的文件少了 w 的权限.
other 也是一样, 去掉了 2, 少了 w 的权限.
6. 文件查找的命令, which,whereis,locate,find
6.1 查看文件类型: file
图片. PNG
显然这是一个文本文件.
6.2 寻找文件: which
which 是根据用户设置的 PATH 变量来查找文件, 若你 PATH 变量中没有这个路径, 那就可能找不到这个文件了, 但说不定其实他是存在的.
例如 which cd 我们找不到 cd 这个文件, 但其实是存在的.
6.2 寻找特定文件: whereis
whereis 可以用来找特定的文件, 是通过数据库文件来查找的, 速度比较快.
-b: 只找二进制的文件.
-m: 只找有说明书的文件.
-s: 只找源文件.
-u: 一些不是上面三者的特殊文件.
6.3 locate
locate 后面只要输入部分名称, 就会把所有包含这个名称的文件显示出来.
locate 也是根据数据库文件来查找的, 我们可以使用命令 updatedb 来更新数据库.
6.4 从硬盘查找文件: find
mtime number 查找 number 天前, 那一天修改过的文件.
例如查看今天被修改过的文件.
图片. PNG
find ~/ -mtime +number: 加了个正号, 代表 number 天之前被修改过的文件.
find ~/ -mtime -number: 加了个负号, 代表 number 天之内被修改过的文件.
find 其他用法这里就不说了.
来源: http://www.jianshu.com/p/e52053b4b81f