linux下目录的基本命令


目录的基本命令(mkdir、tree、touch、rm、cp、mv)

创建目录    mkdir 

mkdir aa bb cc 同时在本目录创建多个文件夹

1
2
3
[root@localhost tmp]# mkdir aa bb cc
[root@localhost tmp]# ls
aa  bb  cc  yum.log

mkdir -p aa/bb/cc     加p 递归创建目录 

[root@localhost tmp]# tree -C aa/    #查看aa目录的结构
aa/
└── bb
    └── cc
mkdir -pv dd/ee/ff        
加v 可视化显示创建目录过程

1
2
3
4
[root@localhost tmp]# mkdir -pv dd/ee/ff
mkdir: created directory `dd'
mkdir: created directory `dd/ee'
mkdir: created directory `dd/ee/ff'


创建文件     touch

1
2
3
[root@localhost ~]# touch 123
[root@localhost ~]# ls -l 123
-rw-r--r--. 1 root root 0 Mar 18 10:06 123


rmdir    用于删除空目录,目录中有文件不能删除,不常用;

1
2
3
4
[root@localhost ~]# mkdir -v aaa bbb
mkdir: created directory `aaa'
mkdir: created directory `bbb'
[root@localhost ~]# rmdir aaa bbb


删除文件    rm

[root@localhost tmp]# which rm
alias rm='rm -i'               # rm=rm -i 加i选项作用会提示是否删除

/bin/rm

rm 11 删除文件会提示是否删除 y删除 n不删除

[root@localhost tmp]# touch 11
[root@localhost tmp]# rm 11
rm: remove regular empty file `11'? n

rm -f 11            加 f 强制删除文件,不会提示

/bin/rm 11       直接加绝对路径,直接删除文件不会提示

1
2
[root@localhost tmp]# rm -f 11
[root@localhost tmp]# /bin/rm 11


删除文件夹后面要加参数     rm -r

[root@localhost tmp]# rm aa            #直接删除文件夹会提示是一个目录
rm: cannot remove `aa': Is a directory

rm -r bb    删除文件夹会提示是否删除,y删除 n不删除

[root@localhost tmp]# rm -r bb
rm: remove directory `bb'? y

rm -rf aa   强制删除文件夹,不会提示

/bin/rm -r 11 直接加绝对路径,直接删除文件夹不会提示

使用unalias 命令之后,也不会提示,直接删除。在当前shell生效,退出当前shell后失效

1
2
3
4
5
6
7
[root@localhost tmp]# unalias rm
[root@localhost tmp]# ls
aaa  aaa_bak  yum.log
[root@localhost tmp]# rm -r aaa
[root@localhost ~]# exit
[root@localhost ~]# rm -r 111
rm: remove directory `111'? n


复制文件     cp

cp aaa aaa_bak             复制aaa文件,备份一份到aaa_bak

/bin/cp aaa aaa_bak     使用绝对命令,强制拷贝覆盖,不会提示

[root@localhost tmp]# cp new.log /root/new.log         #复制同名文件会提示是否删除,y删除 n不删除
cp: overwrite `/root/new.log'? n
[root@localhost tmp]# /bin/cp new.log /root/new.log 

cp -r aa aa_bak     复制文件夹aa,备份一份aa_bak 需要加-r参数

1
2
3
4
[root@localhost tmp]# mkdir aaa
[root@localhost tmp]# cp -r aaa aaa_bak
[root@localhost tmp]# ls
aaa  aaa_bak  yum.log

[root@localhost tmp]# cp aaa bbb            #直接拷贝文件夹会提示略过目录
cp: omitting directory `aaa'


复制目录时,目标目录有同名目录不会提示,如果目录有文件则复制文件到目标目录下面。

[root@localhost ~]# ls
12    anaconda-ks.cfg  install.log  install.log.syslog  test  test1
[root@localhost ~]# cp -r 12 /tmp/        拷贝同一名称的目录到另一个目录下,不会提示
[root@localhost ~]# ls /tmp/
111  12  huang  yum.log
[root@localhost ~]# touch 12/1.txt    在目录下新建一个文件
[root@localhost ~]# cp -r 12 /tmp/    再次拷贝时,会拷贝目录下的文件到另一个目录下面
[root@localhost ~]# ls /tmp/12/
1.txt


cp -v 可视化显示拷贝过程,拷贝bb为dd

1
2
[root@localhost tmp]# cp -v bb dd
`bb' -> `dd'


移动文件或者改名       mv

同一个目录下目标文件或文件夹不存在,改名

不同目录下移动文件,目标文件存在会提示是否覆盖。

[root@localhost tmp]# mv /root/bb ./
mv: overwrite `./bb'? n
[root@localhost tmp]#
 /bin/mv /root/bb ./        使用绝对路径强制覆盖不会提示;

移动的同时如果目标文件存在,可以改名

[root@localhost tmp]# cat /root/aaa 

def
[root@localhost tmp]# mv /root/aaa ./aa        #移动root目录下的aaa到当前目录并改名aa
[root@localhost tmp]# cat aa
def

[root@localhost tmp]# mv -v aa bb        #mv -v 可视化显示移动过程,aa改名为bb
`aa' -> `bb'






本文转自 模范生 51CTO博客,原文链接:http://blog.51cto.com/mofansheng/1621744,如需转载请自行联系原作者
上一篇:windows下使用SQLPLUS制作BAT执行SQL文件


下一篇:SilkTest天龙八部系列1-初始化和构造函数