Linux基本命令总结(1) 目录管理
1、处理目录的常用命令
- ls: 列出目录
- cd:切换目录
- pwd:显示目前的目录
- mkdir:创建一个新的目录
- rmdir:删除一个空的目录
- cp: 复制文件或目录
- rm: 移除文件或目录
- mv: 移动文件与目录,或修改文件与目录的名称
2、ls (列出目录)
[root@iZ2zeeea01dfqyta2qj6ykZ /]# ls
bin boot dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
参数:
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
将目录下的所有文件列出来(含属性与隐藏档)
[root@iZ2zeeea01dfqyta2qj6ykZ /]# ls -al ~
total 64
3、cd (切换目录)
# 切换到用户目录下
[root@iZ2zeeea01dfqyta2qj6ykZ /]# cd home
# 使用 mkdir 命令创建 zhaoxi目录
[root@iZ2zeeea01dfqyta2qj6ykZ home]# mkdir zhaoxi
# 进入 zhaoxi目录
[root@iZ2zeeea01dfqyta2qj6ykZ home]# cd zhaoxi
# 回到上一级
[root@iZ2zeeea01dfqyta2qj6ykZ zhaoxi]# cd ..
# 回到根目录
[root@iZ2zeeea01dfqyta2qj6ykZ zhaoxi]# cd /
# 回到 root 目录
[root@iZ2zeeea01dfqyta2qj6ykZ zhaoxi]# cd ~
4、pwd ( 显示目前所在的目录 )
pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。
# 显示出当前的工作目录
[root@iZ2zeeea01dfqyta2qj6ykZ ~]# pwd
/root
# 如果是链接,要显示真实地址,可以使用 -P参数 (注意是大写P)
[root@iZ2zeeea01dfqyta2qj6ykZ /]# cd bin
[root@iZ2zeeea01dfqyta2qj6ykZ bin]# pwd -P
/usr/bin
5、mkdir (创建新目录,make directory)
mkdir [-mp] 目录名称
参数:
-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
测试:
# 创建一个 test 文件夹
[root@iZ2zeeea01dfqyta2qj6ykZ home]# mkdir test
# 创建多层级目录 (没办法直接创建此目录啊!)
[root@iZ2zeeea01dfqyta2qj6ykZ home]# mkdir test/test1
mkdir: cannot create directory ‘test/test1’: No such file or directory
# 加了这个 -p(小写) 的选项,可以自行帮你创建多层目录!
[root@iZ2zeeea01dfqyta2qj6ykZ home]# mkdir -p test/test01
6、rmdir ( 删除空的目录 )
rmdir [-p] 目录名称
选项与参数:-p :连同上一级『空的』目录也一起删除
测试 :
# 看看有多少目录存在?
[root@iZ2zeeea01dfqyta2qj6ykZ home]# ls -l
total 169832
# 文件夹下没内容,可直接删掉
[root@iZ2zeeea01dfqyta2qj6ykZ home]# rmdir test
# 有内容,不可以
[root@iZ2zeeea01dfqyta2qj6ykZ home]# rmdir test
rmdir: failed to remove ‘test’: Directory not empty
# 利用 -p 这个选项,立刻就可以将 test/test01 依次删除。
[root@iZ2zeeea01dfqyta2qj6ykZ home]# rmdir test/test01
注意:这个 rmdir 仅能删除空的目录。
7、cp ( 复制文件或目录 )
语法:
[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)
[root@www ~]# cp [options] source1 source2 source3 .... directory
参数:
-a:相当于 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-r:递归持续复制,用於目录的复制行为;(常用)
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身。
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination !
测试 ( 注意是文件不是文件夹 ) :
# 进入 /home/mysql/data 目录,有个auto.cnf
[root@iZ2zeeea01dfqyta2qj6ykZ data]# cd /home/mysql/data/
[root@iZ2zeeea01dfqyta2qj6ykZ data]# ls
auto.cnf
# cp(复制) auto.cnf 文件到 /usr目录
[root@iZ2zeeea01dfqyta2qj6ykZ data]# cp /home/mysql/data/auto.cnf /usr
# 进入 /usr目录 ,就有了auto.cnf 文件
[root@iZ2zeeea01dfqyta2qj6ykZ data]# cd /usr
[root@iZ2zeeea01dfqyta2qj6ykZ usr]# ls
auto.cnf
8、rm ( 移除文件或目录 )
语法:
rm [-fir] 文件或目录
参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
测试:
(注意:删库跑路 rm -rf / ,程序员的终点)
# 删除刚复制的 auto.cnf ,-i 会主动询问,是否删除(y 代表是)
[root@iZ2zeeea01dfqyta2qj6ykZ usr]# rm -i auto.cnf
rm: remove regular file ‘auto.cnf’? y
9、mv ( 移动文件与目录,或修改名称 )
语法:
[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 .... directory
参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
测试:
# 复制ca.pem 文件到 /home/zhaoxi 文件夹下
[root@iZ2zeeea01dfqyta2qj6ykZ test]# mv /home/test/ca.pem /home/zhaoxi
# 查看
[root@iZ2zeeea01dfqyta2qj6ykZ test]# cd /home/zhaoxi
[root@iZ2zeeea01dfqyta2qj6ykZ zhaoxi]# ls
ca.pem
# 重命名(同一个文件目录下,就是重命名)
[root@iZ2zeeea01dfqyta2qj6ykZ home]# mv zhaoxi xixi