深入解析:Linux-文件创建拷贝删除剪切

Linux文件相关命令

ls

ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。

Linux文件或者目录名称最长可以有256个字符,“.”代表当前目录,“…”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。

参数含义
-a显示指定目录下所有子目录与文件,包括隐藏文件
-l以列表方式显示文件的详细信息
-h配合 -l 以人性化的方式显示文件大小

通配符含义

通配符含义
*文件代表文件名中所有字符
ls te*查找以te开头的文件
ls *html查找结尾为html的文件
代表文件名中任意一个字符
ls ?.c只找第一个字符任意,后缀为.c的文件
ls a.?只找只有3个字符,前2字符为a.,最后一个字符任意的文件
[][”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。
[abc]匹配a、b、c中的任意一个
[a-f]匹配从a到f范围内的的任意一个字符
ls [a-f]*找到从a到f范围内的的任意一个字符开头的文件
ls a-f查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用
\如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。
ls *a查找文件名为*a的文件
#显示当前目录下所有的文件和目录
wuyou@itcast:/home$ ls
app wuyou tom
#显示当前目录下所有的文件和目录 包括隐藏文件
wuyou@itcast:/home$ ls -a
. .. app wuyou tom
#以长格式显示文件和目录信息
wuyou@itcast:/home$ ls -l
总用量 12
drwxr-xr-x 2 app app 4096 914 12:20 app
drwxr-xr-x 27 wuyou wuyou 4096 113 15:02 wuyou
drwxr-xr-x 2 tom tom 4096 61 15:15 tom
#-lh -l -h 文件大小以人类方便阅读数字显示 
wuyou@itcast:/home$ ls -lh
总用量 12K
drwxr-xr-x 2 app app 4.0K 914 12:20 app
drwxr-xr-x 27 wuyou wuyou 4.0K 113 15:02 wuyou
drwxr-xr-x 2 tom tom 4.0K 61 15:15 tom
wuyou@itcast:/home$

touch 创建文件命令

  • 如果文件不存在, 创建新文件(只能是普通文件,不能是文件夹)

  • 如果文件存在, 更新文件时间戳

touch file 创建file空文件,如果file存在则更新file的存取和修改时间

touch file{2,3,4} 同时创建file2,file3,file4三个空文件

touch “file{2,3,4}” 创建file{2,3,4}一个空文件

示例

#如果文件a不存在就创建 如果存在就修改时间戳
wuyou@itcast:~/share$ touch a
wuyou@itcast:~/share$ ls
a
#创建文件file1到file10
wuyou@itcast:~/share$ touch file{
1..10
}
wuyou@itcast:~/share$ ls
a file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
#创建file{1..10}
wuyou@itcast:~/share$ touch "file{1..10}"
wuyou@itcast:~/share$ ls
a file10 file2 file4 file6 file8
file1 file{
1..10
} file3 file5 file7 file9
wuyou@itcast:~/share$
#查看文件属性 修改文件的时间戳
wuyou@itcast:~/share$ stat a
文件:a
大小:0 块:0 IO 块:4096 普通空文件
设备:801h/2049d Inode:674876 硬链接:1
权限:(0664/-rw-rw-r--) Uid:( 1000/ wuyou) Gid:( 1000/ wuyou)
最近访问:2019-11-03 16:22:39.415481402 +0800
最近更改:2019-11-03 16:22:39.415481402 +0800
最近改动:2019-11-03 16:22:39.415481402 +0800
创建时间:-
wuyou@itcast:~/share$ ls
a file10 file2 file4 file6 file8
file1 file{
1..10
} file3 file5 file7 file9
wuyou@itcast:~/share$ touch a
wuyou@itcast:~/share$ stat a
文件:a
大小:0 块:0 IO 块:4096 普通空文件
设备:801h/2049d Inode:674876 硬链接:1
权限:(0664/-rw-rw-r--) Uid:( 1000/ wuyou) Gid:( 1000/ wuyou)
最近访问:2019-11-03 16:25:00.888865371 +0800
最近更改:2019-11-03 16:25:00.888865371 +0800
最近改动:2019-11-03 16:25:00.888865371 +0800
创建时间:-
wuyou@itcast:~/share$

cp 拷贝文件

cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令 。

常用选项说明:

选项含义
-a该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。
-f删除已经存在的目标文件而不提示
-i交互式复制,在覆盖目标文件之前将给出提示要求用户确认
-r若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。
-v显示拷贝进度

示例:

cp file dirs/ 把file文件复制到dirs目录下

cp file1 file2 dirs/ 把file1 file2文件拷贝到dirs目录下

cp -i file1 file2 把文件file1拷贝到file2中,并且提示

cp -t dirs file1 把文件file1拷贝到dirs目录下

cp -r dir1/ dir2/ 把dir1目录复制到dir2目录下

cp -R dir1 dir2 把dir1目录拷贝到dir2目录下

cp -a file dirs/ 把file文件复制到dirs目录下,保留文件的原来属性

cp -rf dir1/ dir2/ 强制复制文件夹,不提示

cp -rvf dir1/ dir2/ 把dir1目录复制到dir2目录下,并且显示复制过程

rm 删除文件

可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。

常用参数及含义如下表所示:

参数含义
-i以进行交互式方式执行
-f强制删除,忽略不存在的文件,无需提示
-r递归地删除目录下的内容,删除文件夹时必须加此参数

示例:

rm a 删除文件a,在删除之前用户需确认删除该文件

rm a b c 删除文件a b c,在删除之前用户需确认是否删除该文件

rm -i a 删除文件a,在删除之前用户需确认是否删除该文件

rm -f a 删除文件a,强制删除该文件,不需要用户确认是否删除

rm -v a 删除文件a,删除之后会显式结果

rm -r dirs 递归删除目录dirs,并且每一次删除都需要用户确认是否删除

rm -rf dirs 强制递归删除目录dirs,每一次删除都不需要用户确认是否删除

rm file* 删除所有file打头的文件

rm -i file* 提示是否确定删除

rm -f file* 不提示,强行删除

rm -r dir2 删除目录

rm -f [ab].txt 等价于rm -f a.txt b.txt

rm -f [^ab].txt 删除除a.txt b.txt以外的所有?.txt

rm -f ?.txt ?代表一个字符

rm -f ???.txt

mv剪切文件

用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。

常用选项说明:

选项含义
-f禁止交互式操作,如有覆盖也不会给出提示
-i确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件
-v显示移动进度

示例:

mv file file2 把file文件重命名为file2

mv file dirs/ 把file文件移动到dirs目录下

mv file1 file2 dirs/ 把file1 file2文件剪切到dirs目录下

mv dir1 dir2 dir3/ 把dir1 dir2目录剪切到dir3目录下

mv -i file1 dir1/ 把file1文件剪切到dir1目录下,如果存在覆盖就提示用户

mv -f file1 dir1/ 把file1文件剪切到dir1目录下,如果存在覆盖也不提示用户

mv -u dir1/* dir2/ 把dir1目录下所有文件移动到dir2目录下,并且根据文件时间来决定要不要移动

posted @ 2025-08-23 08:24  yfceshi  阅读(17)  评论(0)    收藏  举报