创建文件:touch
命令 路径
touch ......
# touch file # 无则创建,有则修改时间
# touch file2 file3
# touch /home/od/file4 file5
# touch file{a,b,c} # {}集合,等价 touch a b c
# touch file{a..z}
# touch file{A..Z}
# touch file{1..10}
# touch file{a..z}
创建目录:mkdir ( 目录通常显示为蓝色)
命令
mkdir
选项: -p 递归创建目录
-v 打印创建目录信息
参数: 路径,在那里创建
例1:
[root@oldboy ~]# mkdir data -p
例2:
[root@oldboy ~]# mkdir /home/od/dir1 /home/od/dir2 -p
[root@oldboy ~]# ls /home/od/
dir1 dir2
例3:
[root@oldboy ~]# mkdir /home/od/{dir3,dir4}
[root@oldboy ~]# ll /home/od/
total 0
drwxr-xr-x. 2 root root 6 Mar 5 10:08 dir1
drwxr-xr-x. 2 root root 6 Mar 5 10:08 dir2
drwxr-xr-x. 2 root root 6 Mar 5 10:10 dir3
drwxr-xr-x. 2 root root 6 Mar 5 10:10 dir4
例4:
[root@oldboy ~]# mkdir -pv /home/{od/{diu,but},boy}
/home/od
/home/od/diu
/home/od/but
/home/boy
tree 将目录以树状结构显示
拷贝文件:cp [OPTION]... SOURCE... DIRECTORY
命令:cp
选项: -v:详细显示命令执行的操作
-r: 递归处理目录与子目录
-p: 保留源文件或目录的属性
参数:路径
例1:将当前目录下的file文件拷贝至/tmp/目录下
[root@oldboy ~]# cp file /tmp/
例2:将当前目录下的file文件拷贝至/tmp/目录下,并改名为test.txt
[root@oldboy ~]# cp file /tmp/test.txt
例3:重复拷贝一个文件,至/tmp/目录,会提示是否覆盖
[root@oldboy ~]# cp file /tmp/test.txt
cp: overwrite '/tmp/test.txt'? #如果直接回车,则无反应
[root@oldboy ~]# cp file /tmp/test.txt
cp: overwrite '/tmp/test.txt'? y #如果输入 y 则确定覆盖
例4:直接使用cp无法拷贝目录,需要添加-r参数,才可以
[root@oldboy ~]# cp -r /root/data/ /tmp/
例5:将多个文件拷贝到/tmp/data目录下(cp的最后一个目录就是目标,中间的都是要拷贝的源文件)
[root@oldboy ~]# cp file01 file02 file3 /tmp/data/
[root@oldboy ~]# ls /tmp/data/
file01 file02 file3
例6: -v显示拷贝的过程,通常我们都不用他
[root@oldboy ~]# cp file04 /tmp/data/ -v
'file04' -> '/tmp/data/file04'
例7:-p 源文件之前是什么属性。就是什么属性。不改变。
#变更一下文件的权限(不用理解什么意思)
[root@oldboy ~]# chown adm file04
-rw-r--r--. 1 adm root 0 Mar 5 09:44 file04
[root@oldboy ~]# cp -p file04 /tmp/fil04_test
[root@oldboy ~]# ll /tmp/fil04_test
-rw-r--r--. 1 adm root 0 Mar 5 09:44 /tmp/fil04_test
移动文件
对文件进行改名:
mv [OPTION]... SOURCE... DIRECTORY
例子1:
[root@oldboy ~]# mv file /tmp/ #移动file文件至/tmp目录
[root@oldboy ~]# mv file /tmp/file_mmm #移动file文件至/tmp目录下并修改文件名称
例子2:
[root@oldboy ~]# mkdir /tmp/test #准备一个接收文件的目录
[root@oldboy ~]# mv filea fileb filec /tmp/test #移动多个文件至一个目录下
[root@oldboy ~]# mv file{01..10} /tmp/test #移动多个文件至一个目录下
例子3:给文件进行修改名称
[root@oldboy ~]# mv file1 oldxu
例子4:mv可以直接移动目录,无需任何参数
[root@oldboy ~]# mv data/ /tmp/test/
删除文件或目录:rm [OPTION]... FILE...
命令:rm
选项:
-r: 递归
-f: 强制删除
-v: 详细过程
参数:路径
例子1:删除文件时候,会提醒是否删除。 (原因是默认rm存在alias别名,rm -i所以会提醒是否删除文件)
[root@oldboy ~]# rm file.txt
例子2:删除文件时,不要提示,直接就删除。
[root@oldboy ~]# rm -f file2 file3 file4 file5
例子3:删除目录,可以使用-r递归删除,但是会提示
[root@oldboy ~]# mkdir qq
[root@oldboy ~]# touch qq/1
[root@oldboy ~]# touch qq/2
[root@oldboy ~]# touch qq/3
[root@oldboy ~]# rm -r qq/ #会不断提示,很费劲
rm: descend into directory 'qq/'? y
rm: remove regular empty file 'qq/1'? y
rm: remove regular empty file 'qq/2'? y
rm: remove regular empty file 'qq/3'?
例子4:-rf组合使用,可以删除任何东西,很危险,谨慎操作。
[root@oldboy ~]# rm test/ -rf
例子5:
[root@oldboy ~]# touch file{1..10}
[root@oldboy ~]# rm -f file* # *表示通配符,表示所有的意思
例子6:
[root@oldboy ~]# touch file{1..10}.txt # file1.txt file2.txt ..... file10.pdf
[root@oldboy ~]# touch file{1..10}.pdf # file1.pdf file2.pdf ..... file10.pdf
[root@oldboy ~]# rm -f file* #能删除名字是file开始的,后面是啥都不重要,会全部被删除
[root@oldboy ~]# rm -f *.pdf #删除所有.pdf结尾的文件
[root@oldboy ~]# rm -f ./* #删除当前目录下的所有文件
注意:引入一个特殊的符号, "*" 表示匹配所有
实验:创建了一推的文件,文件要进行分门别类存储起来。
1) 创建一推文件 { /data/filea-filez }
2) 创建一个目录 { /data/dir }
3) 将文件剪贴到对应目录
4) 删除文件 { /data/dir/* }
1.创建一个/data目录,然后在/data目录下创建对应的文件。
[root@oldboy ~]# mkdir -p /data #创建目录
[root@oldboy ~]# touch /data/file{a..z} #在目录下创建文件
[root@oldboy ~]# ls /data/ #检查一下
filea filed fileg filej filem filep files filev filey
fileb filee fileh filek filen fileq filet filew filez
filec filef filei filel fileo filer fileu filex
2.创建一个/data/dir目录。
[root@oldboy ~]# mkdir /data/dir -p
[root@oldboy ~]# ls /data/
dir filec filef filei filel fileo filer fileu filex
filea filed fileg filej filem filep files filev filey
fileb filee fileh filek filen fileq filet filew filez
3.移动data目录下的文件至/data/dir目录中
[root@oldboy ~]# mv /data/file{a..z} /data/dir/ #将文件都移动到/data/dir目录中
[root@oldboy ~]# ls /data/ #检查/data/目录
dir
[root@oldboy ~]# ls /data/dir/ #检查/data/dir目录,确认文件是否移动成功
filea filed fileg filej filem filep files filev filey
fileb filee fileh filek filen fileq filet filew filez
filec filef filei filel fileo filer fileu filex
4.删除/data/dir/所有文件
[root@oldboy ~]# rm -f /data/dir/* #删除/data/dir下的所有文件
[root@oldboy ~]# ls /data/ #检查/data/目录
dir
[root@oldboy ~]# ls /data/dir/ #检查/data/dir/目录