[Linux](十五) --文件与目录管理-常用命令
掌握了下面的命令,就可以像windows里一样对目录文件操作自如啦。
1.目录路径:
1.1 相对路径和绝对路径
以前总是有点分不清相对路径和绝对路径,现在倒是分清了。
-
绝对路径,就是绝对的,一定从根目录/开始写的。
-
相对路径,就是相对来说的,相对当前工作目录的路径。
1.2 $PATH
这是一个关于路径的变量,系统会根据里面的目录来查询可以执行的命令。
echo $PATH
可以看到里面有哪些目录。
这是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
图片.png0022代表的是需要相应去掉的权限!!!
这里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其他用法这里就不说了。