创建+修改+移动+删除文件和目录
1. 命令
cd # 改变路径
touch # 创建文件
mkdir # 创建目录
mv # 移动文件或目录
vi # 编辑文件
rm # 删除文件或目录
cp # 拷贝文件或目录
2. 补充: 文件的三种时间
[root@Melvin ~]# ll /etc/passwd # 使用 ll 查看文件的修改时间
-rw-r--r-- 1 root root 2318 11月 19 12:24 /etc/passwd
stat命令查看文件属性(包括文件的时间属性)
stat /etc/passwd
[root@Melvin ~]# stat /etc/passwd
文件:"/etc/passwd"
大小:2318 块:8 IO 块:4096 普通文件
设备:803h/2051d Inode:9547537 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2019-11-20 12:33:34.151000590 +0800
最近更改:2019-11-19 12:24:29.805699150 +0800
最近改动:2019-11-19 12:24:29.806702615 +0800
创建时间:-
三种时间的说明:
访问时间(atime): 查看文件内容时间
更改时间(mtime): 修改文件内容时间
改动时间(ctime, change time的缩写,不是create time): 修改文件属性的时间,如:修改权限(chmod +x ./xxx.sh)
3. touch创建文件
常用来创建空文件,如果文件存在,则修改这个文件的时间
语法: touch [路径]/完整文件名,不加路径表示在当前目录,如:
touch a.txt # 在当前目录下创建a.txt文件
touch /opt/test.txt # 在opt目录下创建test.txt文件
小技巧:
比如要创建,file1.txt,file2.txt.......file20.txt
批量创建文件
的语法:touch 文件名前缀{n..m}
, n 为起始的数字后缀,m为结束的数字后缀
比如:
mkdir /opt/test # 创建测试目录
touch /opt/test/file{1..10} # 批量创建文件
########## 查看结果 ##########
[root@Melvin ~]# ls /opt/test
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
经测试,也可以使用: touch /opt/test/file{a..f} 和 touch /opt/test/file{A..E} 这种在字典中有连续关系的方式创建
touch /opt/test/file{a..f}
touch /opt/test/file{A..E}
ls /opt/test
filea fileA fileb fileB filec fileC filed fileD filee fileE filef
删除上面的 /opt/test目录和文件
删除文件
rm -rf /opt/test/file* # 删除/opt/test目录下以file开头的所有文件和目录 ->>> -f 表示强制删除,无提示, -r 表示递归删除所有子目录和子文件
[root@Melvin ~]# rm -f /opt/test/file*
[root@Melvin ~]# ls /opt/test
[root@Melvin ~]#
或
rm -rf /opt/test/* # 删除 /opt/test 目录下的所有文件和目录
删除目录
rm -rf /opt/test
扩展: 其他创建文件的方式
(1) vim创建空文件
vim /opt/a.txt
(2) 使用重定向方式创建一个新文件
echo "aaa bbb">/opt/b.txt
######### 查看文件内容 ###########
[root@Melvin ~]# cat /opt/b.txt
aaa bbb
4. mkdir创建目录
语法: mkdir 选项 目录名
创建多个或单个目录,可以指定路径
,创建多个目录的时候如果发现想创建的目录已经存在
,则会报错,但是并不影响其他目录的成功创建
mkdir /opt/dir1 /opt/dir2 /opt/dir3 /tmp/dir4 /home/dir5
创建多级目录(多级目录会出现上级目录不存在的情况,如果要强制创建,需要加上 -p,否则会报错)
mkdir -p /opt/a/b/c/d
使用ls命令递归查看创建结果:
ls -R /opt/a # -R 递归查看全部内容
使用ls命令递归查看
或使用tree命令查看创建结果:
tree /opt/a
使用tree命令查看
5. rm 删除文件或目录
语法: rm [选项] 文件或目录
rm -rf 文件或目录
-r # 递归删除子目录和子目录下的文件
-f # 强制删除,命令行不提示
应用:
rm -rf /opt/test
rm -rf /opt/test/*
rm -rf /opt/test/file*
6. cp 复制文件或目录
语法: cp [选项] 源文件/源目录 目标文件/目录
常用选项: -R/r 表示递归的方式将指定目录下的所有文件和子目录一起处理.
cp /etc/passwd /opt # 复制文件
cp -r /boot/grub /opt # 递归复制目录
使用tree查看复制结果
7. mv 移动文件或文件夹
用法:
移动:
mv 源文件/目录 目标文件/目录
移动改名:
mv 源文件/目录 目标文件/目录 (直接更换名称即可)
创建一个带有内容的文件: testmv.txt
cd /opt # 切换到 opt 目录
echo "this is a txt for test mv command">testmv.txt
image.png
创建2个测试目录 dir1 dir2
mkdir dir{1..2}
image.png
移动到 /opt/dir1目录
mv testmv.txt dir1/
image.png
移动到 /opt/dir2下并改名
mv dir1/testmv.txt dir2/test.txt
image.png
移动文件夹
mv dir2 dir1
image.png