Linux命令之目录切换、创建/删除/复制/移动文件 - cd,mkdir,cp,mv,rmdir,rm

2024-06-08 17:58

本文主要是介绍Linux命令之目录切换、创建/删除/复制/移动文件 - cd,mkdir,cp,mv,rmdir,rm,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自:

http://billie66.github.io/TLCL/book/zh/chap03.html

http://billie66.github.io/TLCL/book/zh/chap05.html


cd 切换目录

【语法】 cd  dir_name

命令说明】

cd ../ 切换到上层目录(..表示上级目录);

cd app 切换到app目录(相对路径);

cd ./app 切换到app(等价于 cd app);

cd /app 切换到/app目录(绝对路径);

$ cd ~[enter] #切换到当前登录用户主目录;

$ cd [enter] #切换到当前登录用户主目录(等价于命令 cd ~);

$ cd -[enter] #切换到前一个目录(较常用);

$ cd ~ user_name #切换到指定用户主目录;

 

mkdir 创建目录

语法】 mkdir [-p] dir_name

参数说明】

-p 如果父目录存在,则忽略,同时创建缺失的部分,常用; 例如:

    $ mkdir -p /opt/app/tomcat

 

cp 拷贝文件

语法】 cp [-pri] file_one [file_two ...] destination

命令说明】

将文件拷贝到目标上,目标不能与文件同名;

若目标是文件,则拷贝的文件只能有一个;

若目标是目录,则拷贝的文件可以有多个;

若目标是目录,则将文件拷贝到这个目录下;

若目标文件不存在,则建立这个文件;

若目标文件存在,则覆盖其内容;

选项说明】

-a,--archive #复制文件和目录以及它们的属性,包括所有权和权限;通常复制具有用户所操作文件的默认属性;

-i,--interactive #覆盖已存在文件时作提示,输入y则覆盖,其他则中止;

-p 不仅拷贝文件内容,还有修改时间,存取模式,存取控制表,但是不拷贝 UID 及 GID;

-r,--recursive 若文件名为目录,则拷贝目录下所有文件及子目录和它们的文件,此时目标必须为目录;

-u,--update #仅复制目标目录中不存在的文件,或者是文件内容新于目标目录中已经存在的文件;

-v,--verbose #显示详细进度;

 

mv 移动文件,重命名文件

语法】 mv [-ivu] item1 item2

命令说明】

将item1移动或重命名为item2;

若目标是目录,则移动的文件可以有多个(目录必须存在);

若目标文件不存在,则建立这个文件;

若目标文件存在,则覆盖其内容;

若目标和源都为目录,且目标目录不存在,则创建目录,并移动源目录的内容到目标目录中;

若目标和源都为目录,且目标目录存在,则移动源目录(及其内容)到目标目录;

选项说明】

-i,--interactive #覆盖已存在文件时作提示,输入y则覆盖,其他则中止;

-u,--update #仅复制目标目录中不存在的文件,或者是文件内容新于目标目录中已经存在的文件;

-v,--verbose #显示详细进度;

 

rmdir 删除空目录

语法】 rm dir

命令说明】

该命令只能删除空目录.

 

rm 删除文件或目录

语法】 rm [-fi] file_one [file_tow ...]

命令说明】

注意:该命令没有撤销指令,使用前必须小心,一般将该命令使用别名 alias rm=rm -i;尤其要小心通配符!!

思考一个经典例子:假如只想删除一个目录中的HTML文件,输入: rm *.html

这是正确的,但是如果不小心在"*"和".html"之间多输入了一个空格,则该命令会删除目录中的所有文件.

无论什么时候,rm命令用到通配符(除了仔细检查输入的内容外!),用ls命令来测试通配符,这会让你看到要删除的文件列表;

然后按下上箭头按键,重新调用刚刚执行的命令,用rm替换ls.

选项说明】

-i,--interactive #删除文件前,提示用户确认,如果不指定这个选项,rm会默默地删除文件;

-r,--recursive #递归删除文件;

-f,--force #强制删除文件,并忽略不存在的文件,不显示提示信息;该选项使 -i选项无效;

-v,--verbose #显示详细信息;


为了防止不小心删除文件,可以设置类似window的“回收站”功能。

# myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D;  mv "$@" $D && echo "moved to $D ok"; }

# alias rm='myrm'

此时,rm命令即有了删除到回收站的功能了。

同时,可以参照 http://blog.csdn.net/wangjunjun2008/article/details/20618023 将该命令写到中.bashrc,全局有效。

【注意】

1、为了防止死循环(删除/tmp目录下的文件,仍然会将文件移动到/tmp目录中),因此需要对删除文件的目录做相应的判断。

2、如果使用 rm 命令时,使用了 -r 参数,则会提示参数无效。


这篇关于Linux命令之目录切换、创建/删除/复制/移动文件 - cd,mkdir,cp,mv,rmdir,rm的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1042900

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta