Linux教程

linux(3) 处理目录的常用命令

本文主要是介绍linux(3) 处理目录的常用命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录命令总览

  • ls(英文全拼:list files): 列出目录及文件名
  • cd(英文全拼:change directory):切换目录
  • pwd(英文全拼:print work directory):显示目前的目录
  • mkdir(英文全拼:make directory):创建一个新的目录
  • rmdir(英文全拼:remove directory):删除一个空的目录
  • cp(英文全拼:copy file): 复制文件或目录
  • rm(英文全拼:remove): 删除文件或目录
  • mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
     

ls (列出目录)

在Linux系统当中, ls 命令可能是最常被运行的。

语法:

[root@jkc ~]# ls [-aAdfFhilnrRSt] 目录名称
[root@jkc ~]# ls [--color={never,auto,always}] 目录名称
[root@jkc ~]# ls [--full-time] 目录名称

选项与参数:

  • -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
  • -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
  • -l :长数据串列出,包含文件的属性与权限等等数据;(常用)

将家目录下的所有文件列出来(含属性与隐藏档)

[root@jkc /]# ls -al ~

 

cd (切换目录)

cd是Change Directory的缩写,这是用来变换工作目录的命令。

语法:

#使用 mkdir 命令创建 test 目录
[root@jkc ~]# mkdir test

#使用绝对路径切换到 test 目录
[root@jkc ~]# cd /root/test/

#使用相对路径切换到 test 目录
[root@jkc ~]# cd ./test/

# 表示回到自己的家目录,亦即是 /root 这个目录
[root@jkc test]# cd ~

# 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思;
[root@jkc ~]# cd ..

接下来大家多操作几次应该就可以很好的理解 cd 命令的。
 

pwd (显示目前所在的目录)

pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。

[root@jkc /]# cd /root/docker-run/
[root@jkc docker-run]# pwd
/root/docker-run
[root@jkc docker-run]#

 

mkdir (创建新目录)

如果想要创建新的目录的话,那么就使用mkdir (make directory)吧。

语法:

mkdir [-mp] 目录名称

选项与参数:

  • -m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
  • -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

案列演示

# 新建一个文件夹
mkdir test

# 新建多个文件夹
mkdir test1 test2 test3

# 新建一个多层级文件夹
mkdir -P test4/test5/test6

# 新建一个文件夹,并设置权限
mkdir -m 777 test7

 

rmdir (删除空的目录)

语法:

 rmdir [-p] 目录名称

选项与参数:

  • -p :连同上一级『空的』目录也一起删除
[root@jkc tmp]# rmdir test
[root@jkc tmp]# rmdir -p test1/test2

**注意:**这个 rmdir 仅能删除空的目录,你可以使用 rm 命令来删除非空目录
 

cp (复制文件或目录)

cp 即拷贝文件和目录。

语法:

[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)
[root@www ~]# cp [options] source1 source2 source3 .... directory

选项与参数:

  • -a:相当于 -pdr 的意思,至於 pdr 请参考下列说明;(常用)

  • -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;

  • -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

  • -i:若目标文件已经存在时,在覆盖时会先询问动作的进行(常用)

  • -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;

  • -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);

  • -r:递归持续复制,用于目录的复制行为;(常用)

  • -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;

  • -u:若 destination 比 source 旧才升级 destination !
    用 root 身份,将 root 目录下的 .bashrc 复制到 /tmp 下,并命名为 bashrc

[root@jkc ~]# cp ~/.bashrc /tmp/bashrc
[root@jkc ~]# cp -i ~/.bashrc /tmp/bashrc
cp:是否覆盖"/tmp/bashrc"? y
[root@jkc ~]#

 

rm (移除文件或目录)

语法:

rm [-fir] 文件或目录

选项与参数:

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
  • -i :互动模式,在删除前会询问使用者是否动作
  • -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!(删库跑路:rm -rf)
    将刚刚在 cp 的实例中创建的 bashrc 删除掉!
[root@jkc tmp]# rm -i bashrc 
rm:是否删除普通文件 "bashrc"?y
[root@jkc tmp]#

如果加上 -i 的选项就会主动询问喔,避免你删除到错误的档名!
 

mv (移动文件与目录,或修改名称)

语法:

[root@jkc ~]# mv [-fiu] source destination
[root@jkc ~]# mv [options] source1 source2 source3 .... directory

选项与参数:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)

案列演示

# 移动当前用户文件夹下的test文件夹,移动到/usr/local目录
mv ~/test/ /usr/local

# 
移动一个文件test.py ,移动到/usr/local目录
mv test.py /usr/local

# 当前目录的test.py移动到 /usr/local目录,并重命名为test1.py
mv test.py /usr/local/test1.py

# 移动文件到上级目录
mv test.py ..

# 移动两个文件 test1.py test2.py 到目录 /usr/local
mv test1.py test2.py /usr/local

# 移动test.py到/usr/local下,但/usr/local已存在test.txt,强制覆盖
mv -f test.py /usr/local

# 移动test.py到/usr/local下,但/usr/local已存在test.txt,会询问是否覆盖
mv -i test.py /usr/local
这篇关于linux(3) 处理目录的常用命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!