文件的复制和移动:
针对前一节内容复习的命令:
#【1】 在系统/root目录下创建文件file
touch /root/file
1)对文件file创建一个快捷方式file.link放在/root目录下,并验证
ln -s /root/file /root/file.link
ls -l /root/file.link
cat file.link
cat file
2)对文件file创建一个硬链接newfile放在/root目录下,并验证
ln /root/file /root/newfile
#【2】 在系统/root目录下创建目录test
mkdir /root/test
1)在test目录下创建haha1 haha02 haha03 haha04 haha05
touch haha1 haha02 haha03 haha04 haha05
[root@localhost ~]# touch /root/test/haha1 haha2 haha3 haha4 haha5
如果是写的是这样的命令,除haha1外创建在/root/test/下,
其他的都会因为相对路径的关系,创建在root的家目录里
touch haha{02..05} 提取公因式 可以一下建立多个
2)在test目录下的Grade1目录里的class01目录下创建name目录,并显示创建过程
mkdir -pv /root/test/Grade1/class02/name/
-p 多个 -v 显示过程
3)在Grade1目录里创建class02~class10,并且在每个calss目录下创建name目录,并且每个
name目录下有文件haha
mkdir -p /root/test/Grade1/class{02..10}/name
touch /root/test/Grade1/class{02..10}/name/haha
tree /root/test 查看这个/root/test下的文件树状图 用于查验文件是否创建成功
4) 删除/test 目录下的所有文件
* 任意长度任意字符
cd /root/test
rm -rf * 默认是删除目前所在目录下的所有内容
rm -rf /root/test/* 删除 /root/test/ 目录下的所有内容
复制:
[root@localhost ~]# cp /root/anaconda-ks.cfg /
[root@localhost ~]# cp /root/anaconda-ks.cfg /ana_cp
复制 谁 到哪
相当于将前面的文件粘贴到 /下 更名为ana_cp
[root@localhost ~]# ll /an* 查看/下所有以an开头的文件
-rw-r--r--. 1 root root 1097 4月 8 16:46 /ana.123
-rw-------. 1 root root 1097 4月 8 18:31 /anaconda-ks.cfg
-rw-------. 1 root root 1097 4月 8 18:32 /ana_cp
-rw-------. 1 root root 1097 4月 8 15:30 anaconda-ks.cfg
[root@localhost ~]# cp -r /root/anaconda-ks.cfg /root/test /tmp
也是可以带多个文件的 最后的目录就是前面文件要粘贴到的位置
内容可以是文件也可以是目录 但是文件的存放位置只能是目录
cp -r 递归地复制所有子目录和文件
移动:
[root@localhost ~]# mv /root/test01/ /tmp/
相当于将前面的文件移动到 /下 更名为ana_cp
移动后的究竟是文件还是目录,取决于被移动的是什么,被移动的东西是啥,移动后就是啥
[root@localhost ~]# ls -ld /tmp/test01
drwxr-xr-x. 3 root root 20 4月 8 18:26 /tmp/test01
[root@localhost ~]# mv /root/test01/ /tmp/test01_back
[root@localhost ~]# mv /root/a.txt /tmp/cdwl.txt
[root@localhost ~]# mv /tmp/test* /tmp/cdwl.txt /root/
对应的练习:
#【3】 复制anaconda-ks.cfg文件到/test/class01目录下
[root@localhost ~]# mkdir -p /test/class01
[root@localhost ~]# cp /root/anaconda-ks.cfg /test/class01
[root@localhost ~]# cp /root/anaconda-ks.cfg /test/class01
#【4】 复制anaconda-ks.cfg文件到/test/class01目录下并重命名为ana.back
[root@localhost ~]# cp /root/anaconda-ks.cfg /test/class01/ana.back
#【5】 移动文件,并重命名
[root@localhost ~]# mv /root/file /root/mm/wjy
#【6】 移动目录,并重命名
[root@localhost ~]# mv /root/mm/ /root/test/wjy0907/
检查
[root@localhost ~]# cat /root/test/wjy0907/
cat: /root/test/wjy0907/: 是一个目录
[root@localhost ~]# cd /root/test/wjy0907/
[root@localhost wjy0907]# ll
总用量 0
-rw-r--r--. 1 root root 0 4月 18 16:45 wjy
-rw-r--r--. 1 root root 0 4月 18 16:44 wjy12
cat: /root/test/wjy0907/: 是一个目录
[root@localhost ~]# cd /root/test/wjy0907/
[root@localhost wjy0907]# ll
总用量 0
-rw-r--r--. 1 root root 0 4月 18 16:45 wjy
-rw-r--r--. 1 root root 0 4月 18 16:44 wjy12
当常识记:
在linux里面 类似于 .txt并不能表明文件的类型,文件类型取决于开头的字母或符号
-rw-------. 1 root root 1097 4月 8 15:30 anaconda-ks.cfg
例如这个开头为 - 表示基础文件,但后面的 .cfg只是一个名称自定义的一个后缀和文件类型无关
当一个路径以 / 结尾,说明前面是一个目录