Linux文件管理02 文件的查看和处理

目录

主目录,家目录:HOME

1
2
3
root /root
普通用户 /home/USERNAME
~ 用户的主目录

ls 显示指定路径下的文件列表

1
2
3
4
5
6
7
8
9
10
ls [选项] [文件或目录]
选项
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-d 查看目录自身的相关属性,通常要与-l一起使用
-h 人性化显示文件大小,单位换算
-i 显示inode
-r 逆序显示
-R 递归
ll命令表示ls -l

tree 显示目录树

1
2
3
4
5
tree
选项:
-d 只显示目录
-L level 指定显示的层级数目
-P pattern 只显示由指定pattern匹配到的路径

pwd 显示当前目录(print working directory)

cd 切换目录(change directory)

1
2
3
4
5
6
7
8
9
10
11
cd [目录]
cd\cd ~ 进入当前用户的家目录
cd - 进入上次目录
cd . 进入当前目录
cd .. 进入上一级目录
相关的环境变量:
PWD 保存了当前目录路径
OLDPWD 上一次所在目录路径

mkdir 建立目录(make directories)

1
2
3
4
5
6
7
8
mkdir [options] /path/to/somewhere
选项:
-p 存在时不报错,且可自动创建所需的各目录,当创建多级目录时需加
-v 显示详细信息
-m MODE 创建目录时直接指定权限
mkdir light
mkdir -p imooc/linux/light
1
2
3
4
5
6
7
8
# 创建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b, /tmp/x/y2/a, /tmp/x/y2/b
mkdir /tmp/x/{y1,y2}/{a,b}
# 创建x_m, y_m, x_n, y_n
mkdir {x,y}_{m,n}
# 创建/tmp/bin, /tmp/sbin, /tmp/usr, /tmp/usr/bin, /tmp/usr/sbin
mkdir -p /tmp/{bin,sbin,usr/{bin,sbin}}

rmdir 删除空目录(remove empty directories)

1
2
3
rmdir [OPTION]... DIRECTORY...
-v: 显示过程
# 只能删除空目录

文件

file 查看文件类型

查看文件是文本还是二进制等

1
2
file rfc959.txt
rfc959.txt: ASCII text

stat 查看文件的元数据

查看Linux 时间戳管理

rm 删除文件或目录(remove)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
rm [选项] [文件或目录]
选项:
-r 递归删除,用于删除目录
-f 强制删除
-i 交互式
rm [文件名] 提示是否删除
rm -r [目录] 删除目录需加 -r ,目录中含有子文件,将持续询问是否删除
rm -rf [目录] 删除目录,不会询问是否删除而直接进行
rm -rf /tmp/* 删除tmp目录下的内容
rm -rf /tmp/ 删除tmp目录
# 纯字符界面没有回收站。注意自杀指令:rm -rf /
# 建议:删除文件或目录习惯使用命令 rm -rf [文件或目录]

cp 复制命令(copy)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
选项:
-i 交互式
-r\-R 递归复制目录及内部的所有内容
-p 连带文件属性复制
-d 若原文件是链接文件,则复制链接属性,单纯用-d也会报错,因为原文件链接使用相对路径
-a 相当于 -pdr 全选
--preserv[=ATTR_LIST] mode: 权限、ownership: 属主属组、timestamp: 、links、xattr、context、all
cp abc /tmp/ 若目标目录不加文件名,则为原名复制
cp abc /tmp/ana 若目标目录后加入文件名,则为改名复制
cp -r japan/ /tmp/ 复制目录
cp -a japan/ /tmp/ 完全复制,包括所有属性
# 被复制文件的时间为执行复制命令的时间,若要使被复制的文件与原文件属性完全一致,需加 -a

源是文件结果一定是有一个文件产生,源是目录结果一定是有一个目录产生

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cp SRC DEST
SRC是文件:
如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;
如果目录存在:
如果DEST是文件:将SRC中的内容覆盖至DEST中;
此时建议为cp命令使用-i选项;
如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;
SRC是目录:
此时使用选项:-r
如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;
如果DEST存在:
如果DEST是文件:报错
如果DEST是目录:复制SRC目录和SRC目录中所有文件至DEST中
cp SRC... DEST
SRC...:多个文件
DEST必须存在,且为目录,其它情形均会出错;

目标
目标文件不存在目标目录不存在文件目录
不存在同名存在同名
文件创建目标文件,将源文件内容复制到目标文件报错,先使用mkdir创建目标目录覆盖新建同名文件

覆盖
目录(-r)报错创建目标目录,将源目录中的文件复制到目标目录报错新建同名目录覆盖

mv 剪切或改名命令(move)

1
2
3
4
5
6
7
8
9
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
选项:
-i 交互式
-f 强制
mv japan/ /tmp/ 剪切目录时不需加 -r
mv abc longls 当原文件与目标目录,在同一目录下,则为改名命令