From acc00c0e57c73d2cd7f09684e9f49f4bf8970607 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B3=B0=E9=93=AD?= <1843532044@qq.com> Date: Sat, 25 May 2024 17:30:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../linux \345\221\275\344\273\244.md" | 101 ++++++++++++++++++ ...35\345\257\271\350\267\257\345\276\204.md" | 23 ++++ 2 files changed, 124 insertions(+) create mode 100644 "\347\254\224\350\256\260/linux \345\221\275\344\273\244.md" create mode 100644 "\347\254\224\350\256\260/\347\233\270\345\257\271\350\267\257\345\276\204\345\222\214\347\273\235\345\257\271\350\267\257\345\276\204.md" diff --git "a/\347\254\224\350\256\260/linux \345\221\275\344\273\244.md" "b/\347\254\224\350\256\260/linux \345\221\275\344\273\244.md" new file mode 100644 index 0000000..4b76d88 --- /dev/null +++ "b/\347\254\224\350\256\260/linux \345\221\275\344\273\244.md" @@ -0,0 +1,101 @@ +## linux 命令 + +## **1. cp** + +cp 命令主要用于复制目录或者普通文档(为方便表达,本文中所说的 “文件” 均为普通文档) + +**参数说明** + +- **-a**:通常用于复制目录,保留链接和文件属性,并复制目录下的所有内容。相当于 dpr 三个参数的组合; +- **-d**:复制时保留链接(类似于windows系统中的快捷方式); +- **-f**:覆盖已经存在的目标文件(没有提示); +- **-i**:也是覆盖已经存在的目标文件,但是会给出提示,提示用户是否确认要覆盖,用户输入 y 指令的时候,目标文件将被覆盖,否则操作会撤销; +- **-l**:不复制文件,只是生成链接文件(即快捷方式); +- **-p**:该参数的作用是,除复制文件的内容外,还把修改时间和访问权限也复制到新文件中; +- **-r**:若给出的源文件是一个目录文件,则将复制该目录下所有的子目录和文件 + +## **2. mv** + +mv 命令用于移动文件,将文件或目录移动到其它位置,如果是源地址和目标地址相同,则会将文件改名 + +**参数说明** + +- **-b**: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份; +- **-f**: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件; +- **-i**: 与 -f 参数功能类似,只是在将文件覆盖之前会给出提示,让用户确认,输入 y 表示直接覆盖,输入 n 表示取消该操作; +- **-n**: 不要覆盖任何已存在的文件或目录,对于已经存在的文件,则会直接跳过; +- **-u**:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。 + +mv 命令在使用的时候,对于目的文件和源文件,区分是文件还是目录,执行结果是不一样的,例如: + +mv source_file(文件) dest_file(文件) + +**执行结果为**:将源文件名 source_file 改为目标文件名 dest_file。 + +mv source_file(文件) dest_directory(目录) + +**执行结果为**:将文件 source_file 移动到目标目录 dest_directory 中。 + +mv source_directory(目录) dest_directory(目录) + +**执行结果为**:若目录名 dest_directory 已存在,将 source_directory 移动到目录名 dest_directory 中; + +若目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory + +mv source_directory(目录) dest_file(文件) + +**执行结果**:报错 + +## touch + +用法1 + +touch a.txt + 如果a.txt文件存在,那么修改文件的时间属性为当前时间; + 如果a.txt文件不存在,那么新建一个a.txt空白文件。 + +用法2 + +touch -t 202001010101 a.txt + 如果a.txt文件存在,那么修改文件的时间属性为指定的时间,这里是2020年1月1日1时1分; + 如果a.txt文件不存在,那么新建一个a.txt空白文件。 + +用法3 + +touch -c b.txt + 如果b.txt文件存在,那么修改文件的时间属性为当前时间; + 如果b.txt文件不存在,也不新建b.txt文件,当然一般不会这么去做,所以-c是强制避免使用touch命令创建新文件。 + +用法4 + +touch -ct 202001010101 a.txt +touch -c -t 202001010101 a.txt + 上面两条指令表示的是相同的功能: + +```linux + 如果a.txt文件存在,那么修改文件的时间属性为指定的时间; + 如果a.txt文件不存在,那么也不会去新建一个a.txt空白文件。 +``` + +用法5 + +touch catkin_ws/a.txt + 如果catkin_ws路径下存在a.txt文件,那么修改文件的时间属性为当前时间; + 如果catkin_ws路径下不存在a.txt文件,那么新建一个a.txt空白文件。 + +用法6 + +touch c.txt d.txt + 如果c.txt文件和d.txt都存在,那么修改这两个文件的时间属性为当前时间; + 如果c.txt文件和d.txt都不存在,那么新建c.txt和d.txt两个空白文件; + + 如果只存在一个,那么修改存在的文件的时间属性,并新建另外一个空白文件。 + +用法7 + +touch a{1..4} + 表示在当前路径下新建a1、a2、a3和a4这4个文件。 + +touch a{1..4}.txt + 表示在当前路径下新建a1.txt、a2.txt、a3.txt和a4.txt这4个文件 + diff --git "a/\347\254\224\350\256\260/\347\233\270\345\257\271\350\267\257\345\276\204\345\222\214\347\273\235\345\257\271\350\267\257\345\276\204.md" "b/\347\254\224\350\256\260/\347\233\270\345\257\271\350\267\257\345\276\204\345\222\214\347\273\235\345\257\271\350\267\257\345\276\204.md" new file mode 100644 index 0000000..53bca48 --- /dev/null +++ "b/\347\254\224\350\256\260/\347\233\270\345\257\271\350\267\257\345\276\204\345\222\214\347\273\235\345\257\271\350\267\257\345\276\204.md" @@ -0,0 +1,23 @@ +## 相对路径和绝对路径 + +- 基本概念 + + : + + 1. 相对路径是相对于当前工作目录的路径。例如,如果当前目录是`/home/user/Documents`,并想访问同目录下的`Pictures`,可以使用`./Pictures`。 + 2. 绝对路径从根目录(`/`)开始,指定文件或目录在文件系统中的确切位置。例如,无论当前工作目录在哪里,`/home/user/Pictures`总是指向同一位置。 + +- 特殊路径符 + + : + + 1. `.`表示当前目录,而`..`表示上一级目录。这些符号在与相对路径结合使用时非常有用,如`cd ..`将返回到上一级目录。 + 1. `~`表示当前用户的主目录。例如,`~/Pictures`表示当前用户主目录下的`Pictures`目录 + + + +### 3. 灵活切换 + +- **使用`pushd`和`popd`**:这两个命令可以在不改变当前工作目录的情况下保存和恢复工作目录。例如,你可以使用`pushd /etc`进入`/etc`目录,然后执行一些任务,最后使用`popd`返回到原始目录。这种方式可以快速在不同的目录间切换,同时保持清晰的工作目录结构 +- **符号链接(symlink)**:在某些情况下,创建指向常访问目录的符号链接可以简化路径输入。例如,如果经常需要访问`/etc/nginx/sites-available`,可以在`/home/user`下创建一个符号链接,通过`ln -s /etc/nginx/sites-available sites`,然后就可以通过相对路径快速访问该目录 +- \ No newline at end of file -- Gitee