linux(3) 处理目录的常用命令「建议收藏」

linux(3) 处理目录的常用命令「建议收藏」目录命令总览ls(英文全拼:listfiles):列出目录及文件名cd(英文全拼:changedirectory):切换目录pwd(英文全拼:printworkdirectory):显

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

目录命令总览

  • 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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166300.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • redis集群搭建之官方redis cluster 搭建实践「建议收藏」

    rediscluster是官方的redis集群实现,本篇文章为搭建集群实践篇一、手动搭建redis官方已经redis-trib.rb命令来给我们实现redis搭建了。但是为了了解原理,首先我们来手动搭建不使用官方的命令。如果大家想快速搭建,可以直接跳到二。1、准备我们这个例子是在单机上部署集群,实际的工作情况会在不同的机器上搭建,一方面为了保证高可用也是为了扩大数据的容量所以实际中会在不同的机器…

    2022年4月17日
    33
  • javaSocket传输模式

    javaSocket传输模式Sockets有两种主要的操作方式:面向连接的和无连接的.面向连接的sockets操作就像一部电话,他们必须建立一个连接和一人呼叫.所有的事情在到达时的顺序与它们出发时的顺序时一样.无连接的sockets操作就像是一个邮件投递,,没有什么保证,多个邮件可能在到达时的顺序与出发时的顺序不一样.到底用哪种模式是邮应用程序的需要决定的.如果可靠性更重要的话,用面向连接的操作会好一些.比如文件服务器需要他们

    2022年6月24日
    25
  • springmvc防止重复提交_java后端解决重复提交问题

    springmvc防止重复提交_java后端解决重复提交问题表单提交时需要校验数据是否已存在,如果已存在需要防止重复提交,做法比较简单,不再赘述。1.Employee类publicclassEmployee{publicintId{set;get;}[StringLength(10,MinimumLength=10)]publicstringName{set;get

    2022年9月29日
    5
  • python整除[通俗易懂]

    python整除[通俗易懂]1.'/'除号与c不同,单个'/'是浮点除,两个除号'//'才是整除

    2022年7月5日
    25
  • ResNet详细解读

    ResNet详细解读这篇文章是DeepResidualLearningforImageRecognition的翻译,精简部分内容的同时补充了相关的概念,如有错误,敬请指正。

    2022年5月25日
    44
  • KVM查看虚拟机的分区内容(4)

    KVM查看虚拟机的分区内容(4)

    2021年9月12日
    98

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号