Linux 文件操作
Linux 文件管理:
目录也是文件。
路径:绝对路径,相对路径
绝对路径:从根目录出发,到目标文件所经过的所有路径
例如: /home/linlin/test/code/hello
相对路径:相对于当前文件到目标文件所经过的所有路径
例如:如果当前所在目录为 //home/linlin想要到达/home/linlin/test/code/hello这个
目录,相对路径就是test/code/hello
对于使用绝对路径还是相对路径,需要考虑到当前所处的位置和当前所面临的问题
目录管理命令:
pwd:查看当前所在路径
root@ubuntu:/home/linlin/linlin/code# pwd
/home/linlin/linlin/code
cd: change directory 切换目录
cd - 切换到前一次所在的目录
./ 表示当前目录
../ 表示当前目录的父目录
在使用相对路径时,当前目录./ 可以省略
mkdir:创建空目录,创建时给出的创建路径中最后的节点是需要创建的目录
在当前目录下创建空目录时 mkdir ./Dir_NAME 其中./可以省略
-p:可以一次创建多个目录
例如:mkdir -p /a/b/c 在当前目录下,创建a并在a下创建b,且在b下创建c
-v:创建时会在终端打印(显示)创建信息
-m MODE:在创建时设置文件权限,不使用默认权限
root@ubuntu:/home/linlin/linlin# mkdir shell
root@ubuntu:/home/linlin/linlin# mkdir -m 700 text
drwxr-xr-x 2 root root 4096 Jun 14 19:22 shell
drwx------ 2 root root 4096 Jun 14 19:23 text
rmdir:删除目录,但只能删除空目录
-p:删除指定路径的空目录后如果该空目录的父目录变成空目录,会继续删除该父目录
tree:显示文件树,即将指定目录和该目录下的所有文件以树形打印出来
文件管理命令:
文件帮助:
file:查询给定文件的文件类型
Linux文件类型:
1.普通的文件
2.目录文件
3.字符设备文件
4.符号链接文件
5.命令管道文件
6.套接字文件
在ls命令查询时,以上文件类型表示方法分别为
- d c l p s
查看文件具体信息:
ls: list 列出指定路径下的文件
ls [选项] 路径名
ls 默认显示当前所在目录路径
[wangml@iZwz976helaylvgqok97prZ ~]$ pwd
/home/wangml
[wangml@iZwz976helaylvgqok97prZ ~]$ ls /home/wangml
code linlin scourse
[wangml@iZwz976helaylvgqok97prZ ~]$ ls
code linlin scourse
-l 长格式选项
[wangml@iZwz976helaylvgqok97prZ ~]$ ls -l code
total 16
-rw-r--r-- 1 wangml root 87 Apr 15 10:22 1.c
-rw-r--r-- 1 wangml root 52 Apr 8 11:24 1.txt
-rwxr-xr-x 1 wangml root 6421 Apr 8 11:15 a.out
显示出文件信息
文件类型
文件权限:9位,每3位一组,rwx 分别表示读取 写入 执行,哪项权限没有,用-表示
文件属主 文件属组
文件大小,默认单位是字节
时间戳 timestamp
访问的时间 Access
修改的时间 Modify
改变的时间 Change
-h 做单位转换
-a 显示隐藏文件
[wangml@iZwz976helaylvgqok97prZ ~]$ ls -a code
. .. 1.c 1.txt a.out
隐藏文件以.开头
.表示当前目录
..表示父目录
-i 显示文件的缩影节点号
[wangml@iZwz976helaylvgqok97prZ ~]$ ls -i code
2236435 1.c 2236434 1.txt 2236430 a.out
-r 逆序显示文件
-R 递归recursive显示
[wangml@iZwz976helaylvgqok97prZ ~]$ ls -R /home/wangml
/home/wangml:
code linlin scourse
/home/wangml/code:
1.c 1.txt a.out 文件的创建与删除
touch:修改文件的时间戳,但在touch不加参数时,可以创建一个空文件
-c:仅修改时间,不创建文件
-a:将文件时间戳Access改为当前时间
-m:改变文件修改Modify时间
-t YYMMDDhhmm:修改为自定义时间
创建文件也可以使用文件编辑器,例如nano,vim
rm:删除文件
格式 rm [选项] 参数(文件名)
-i:交互式命令
-f:强行删除
-r:删除该目录,并且递归删除该目录下所有文件
复制与移动文件:
cp:copy复制文件
复制规则:
一个文件到一个文件
多个文件到一个目录
-r:递归复制,会将要复制的目录下的所有文件一起复制
-f:强行进行复制
-i:交互式复制
-p:保留复制
-a:全部保留,归档复制,常用与文件备份
-l:在默认情况下复制的是文件,即如果需要复制的文件是一个链接,会复制链接的文件
-P:复制后的文件与源文件完全一样,如果源文件是一个链接,则复制后的文件也是一个链接
使用install也可以复制文件
mv:move移动文件
mv的格式
mv [选项]... [-T] SOURCE DEST
mv [选项]... SOURCE... DIRECTORY
mv [选项]... -t DIRECTORY SOURCE...
mv也可以用于文件的重命名
例如 mv file1 file2 将文件file1的名字改为file2