From fb25add4c5ce5b7f878c9e78de592245a76d436b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E8=88=9C?= <1991510644@qq.com> Date: Thu, 23 May 2024 12:09:36 +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 --- ...0240518 Debian\345\216\213\347\274\251.md" | 172 ++++------ ...07\344\273\266\347\256\241\347\220\206.md" | 304 ++++++++++++++++++ ...45\347\234\213\347\233\256\345\275\225.md" | 304 ++++++++++++++++++ 3 files changed, 678 insertions(+), 102 deletions(-) create mode 100644 "16 \347\250\213\350\210\234/20240520 \346\226\207\344\273\266\347\256\241\347\220\206.md" create mode 100644 "16 \347\250\213\350\210\234/20240522 \346\237\245\347\234\213\347\233\256\345\275\225.md" diff --git "a/16 \347\250\213\350\210\234/20240518 Debian\345\216\213\347\274\251.md" "b/16 \347\250\213\350\210\234/20240518 Debian\345\216\213\347\274\251.md" index c957e41..4416b93 100644 --- "a/16 \347\250\213\350\210\234/20240518 Debian\345\216\213\347\274\251.md" +++ "b/16 \347\250\213\350\210\234/20240518 Debian\345\216\213\347\274\251.md" @@ -1,108 +1,76 @@ -## 1、Debian用户模式的设置 - -```js -//在root模式下输入 -adduser username //将 "username" 替换为您想要创建的新用户名 -//输入pswd -//给予用户权限(root模式下) -visudo //打开sudoers文件以进行编辑 - -username ALL=(ALL:ALL) ALL //将 "username" 替换为要授予权限的实际用户名。此规则将授予该用户名以sudo权限,允许其以管理员身份运行所有命令。 -//下载sudo - -apt update//更新软件包列表 -apt install sudo//安装 sudo - -``` - -## 创建文件 - -```js -mkdir Dir1 //创建一个名为Dir1的文件夹 -mkdir -p /Dir1/Dir2/Dir3/Dir4/Dir5 //即可创建一个多文件嵌套的文件夹目录 -``` - -## 文件夹的压缩 - -```js -//tar压缩 -tar -cvf archive.tar file1 file2 folder1//打开终端,并使用以下命令将文件/文件夹压缩为.tar文件,将 "archive.tar" 替换为您要创建的.tar文件的文件名。将 "file1"、"file2" 替换为要压缩的具体文件名,将 "folder1" 替换为要压缩的文件夹名。 - -//如果要压缩整个文件夹及其内容 -tar -cvf archive.tar folder//将 "archive.tar" 替换为您要创建的.tar文件的文件名,将 "folder" 替换为要压缩的文件夹名。 - -//zip压缩 -zip -r myfolder.zip myfolder -//-r:递归地打包文件夹中的所有文件和子文件夹。 -//myfolder.zip:生成的 ZIP 文件的名称。 -//myfolder:要打包的文件夹。 -unzip -l myfolder.zip //查看 ZIP 文件的内容 -``` - -报错提示:ZiP压缩 - ```js -zip -r 中国.zip 中国 提示:zip error: Nothing to do! (try: zip -r 中国.zip . -i 中国) -//使用非了 ASCII 字符(如中文)不要用中文!!!!!!!!!! - -zip warning: zip file empty -文件夹名称错误:指定的文件夹不存在或名称不正确。 -文件夹路径错误:指定的路径不正确,导致没有找到文件夹。 -文件夹为空:文件夹中没有任何文件或子文件夹。 +20240518作业老师讲过的过程: +1. 新建一个用户dabian2ban,密码设置666 + 1. Linuxt系统命令怎么创建用户: + 1. useradd 用户名 -m -s /bin/bash 需要自己写清每个选项 + 2. adduser 用户名 高级命令,可以对话形式给你完成主要设置 + 2. 删除一个用户 + 1. userdel 用户名 + 2. deluser +2. 以刚建的用户登录,操作以下 + 1. 重新打开个连接 + 2. su 用户a :切换到用户a身份(exit,logout) +3. 使用命令,在自己的家目录,以以下层次依次建立文件夹 + 1. 国家 + 1. 省份 + 1. 市 + 1. 县(区) + 1. 镇(街道) + 1. 村(小区) + 1. 姓名 + 2. mkdir -p //-p的选项当相关目录不存在时,就创建,若已经存在就跳过创建而不报错 +4. 在姓名文件夹,建立一个自己的学号姓名文件 + 1. touch 文件名 直接用touch创建一个空文件 + 2. vim 文件名:使用vim编辑器创建文件,并编辑 + 1. 普通模式:默认 + 2. 编辑模式: + 1. 按i进入编辑模式 + 2. 按Esc退回普通模式 + 3. 命令模式(末行模式): + 1. shift+: + 2. 在这个可以输入对应的命令进行操作 :write写入(保存) quit(退出) 强制执行! + 1. w 只保存不退出 + 2. q 只退出不保存 + 3. !强制退出,不保存 + 4. 正常一般组合使用 + 1. wq! 保存并退出 + 2. q! 直接退出不保存 + 3. vim 直接打开编辑器,书写内容后保存 :w 文件名 + 4. nano编辑Debian默认编辑,vim + 5. echo 文件名:使用echo命令 创建文件,并将echo的内容保存在这个文件 +5. 在这个文件中,写一篇不少于400字的日记 +6. 最后,将国家这个文件夹打包,同时练习怎么解压 + 1. 打包:tar -cvf 打包后的文件名.tar 被打包的目录或文件名 ,只有打包的效果,不压缩 + 2. 解包:tar -xvf 包名 -C 指定解包在哪目录(前提这个目录存在) + 3. && 依次执行多个命令 命令1 && 命令2 && 命令3 && 命令4 + 4. gzip 只负责压缩,和解压缩,所以通常和tar一起使用,gzip作为tar一个-z参数存在 + 5. tar -cvzf 打包后的文件名.tar 被打包的目录或文件名 ,打包且压缩 +7. 使用命令将这个压缩包下载到本地电脑【不能用shell里自带的下载功能】 + 1. scp 源 目标 + 2. sftp :get下载 ,put上传 + 3. 以上两个命令都在客户端执行 +8. 相关命令百度预习 +9. 命令参考 https://www.linuxcool.com/ +10. 相关过程,做成笔记 ``` -###### debian怎么寻找自己压缩的文件? - -```js -//使用 find 命令 -find /path/to/search -name "*.zip" -find ~ -name "中国.zip" -//使用 locate 命令 -locate "*.zip" +## 作业: ``` - -```js -目录结构 -/root/ -└── 中国/ - ├── 贵州省/ - │ └── 六盘水市/ - │ └── 钟山区/ - │ └── 红岩街道/ - │ └── 程舜/ - │ └── 2244310251 程舜.txt - -zip -r 中国.zip 中国 -x 中国.zip -这样可以确保不将新创建的 中国.zip 文件包含在压缩过程中 -unzip -l 中国.zip//检查 ZIP 文件的内容 -``` - -## 怎么将压缩后的文件夹导出?Zip、tar都可 - -```js -使用 HTTP/HTTPS将文件上传到自己的网站上后通过浏览器下载。 -将文件复制(移动)到 Web 服务器的目录: -cp /path/to/中国.zip /var/www/html/ - -zip -通过浏览器访问: -//http://your_server_ip/中国.zip - -tar -找到并进入art文件所在的文件夹 -sudo mv 中国.tar /var/www/ //借用root权限将tar移动到www下 - +### 综合练习题:大学生生活场景中的文件夹和文件管理 + +假设你是一名大学生,现在面临着整理学习资料和课程作业的任务。请按照以下要求完成相关的文件夹和文件管理操作: + +1. 在你的个人文档目录下创建一个名为`学习资料`的文件夹,并进入该文件夹。 +2. 在`学习资料`文件夹中创建一个名为`计算机科学`的文件夹。 +3. 在`计算机科学`文件夹中创建两个子文件夹,分别命名为`课程资料`和`编程项目`。 +4. 将你最近的一门计算机科学课程的课件文件(假设文件名为`CS101_第一讲.pdf`)放入`课程资料`文件夹。 +5. 在`编程项目`文件夹中创建一个名为`Java项目`的文件夹。 +6. 在`Java项目`文件夹中创建两个空文件,分别命名为`主程序.java`和`工具类.java`。 +7. 复制`主程序.java`并命名为`备份_主程序.java`。 +8. 创建一个名为`Python项目`的文件夹,并将`工具类.java`移动到`Python项目`文件夹中。 +9. 列出`计算机科学`文件夹中所有文件和文件夹的内容。 +10. 删除`编程项目`文件夹及其包含的所有内容。 +11. 重命名`Python项目`为`数据分析项目`。 +12. 最后,列出当前所在目录的路径。 ``` - -## zip tar解压缩 - -```js -tar -找到并进入art文件所在的文件夹 -sudo tar -xvf "中国.tar" //借用root权力解压缩 - -ZIP解压 -unzip your_file.zip//将 "your_file.zip" 替换为您要解压缩的.zip文件的实际文件名。 - -``` \ No newline at end of file diff --git "a/16 \347\250\213\350\210\234/20240520 \346\226\207\344\273\266\347\256\241\347\220\206.md" "b/16 \347\250\213\350\210\234/20240520 \346\226\207\344\273\266\347\256\241\347\220\206.md" new file mode 100644 index 0000000..b5f1127 --- /dev/null +++ "b/16 \347\250\213\350\210\234/20240520 \346\226\207\344\273\266\347\256\241\347\220\206.md" @@ -0,0 +1,304 @@ +## 笔记: + +在Linux系统中,你可以使用以下命令对文件夹和文件进行管理: + +1. **ls**:列出目录内容。 + + ```bash + ls #列出当前目录下的文件和目录 + ls /home/user #列出指定目录下的文件和目录 + ls -d 文件夹A # 列出文件夹A本身的信息,而不是其它下面的目录和内容 + ls -a # all 列出当前目录下的所有文件和目录,包括隐藏文件/目录 + ls -l #以长格式列出当前目录下的文件和目录,包括权限、所有者、组、大小、创建日期等信息 + ls -h # 以易读的方式列出当前目录下的文件和目录,将文件大小以KB、MB\GB等单位表示 + ls -t # t->time 根据修改时间排序列出当前目录下的文件和目录 + ls -r # r -> reverse 反向排序列出当前目录下的文件和目录 + ls -S # S -> Size 根据文件大小排序列出当前目录下的文件和目录 + ls -R # 递归列出当前目录及其子目录下的所有文件和目录 + ls --color # --color(英文全拼:colorize 给着色 ) + # 以不同颜色区分不同类型的文件,例如蓝色表示目录、绿色表示可执行文件等。 + + ## 扩展如何修改环境变量 家目录下的自己的文件下,使用ls -a 显示所有文件,即可看到.bashrc这个环境变量的配置文件。将# alias ll='ls -l' 前的#号删除,并保存文件。最后要生效,就要退出帐号一次,再登录,即可使用ll来代替ls -l + alias la='ls -a' + alias l='ls -CF' + + ``` + +​ + +2. **cd**:改变当前目录。 + + - 进入某个目录:`cd 目录名` + - 返回上一级目录:`cd ..` + - 返回家目录:`cd ~` 或者 `cd ` (啥也不跟): /home/用户名 + - 返回上次所在目录:`cd -` + +3. **pwd**:显示当前工作目录的绝对路径。 + + ```bash + pwd # 显示当前工作目录的绝对路径 + dir1 = $(pwd) # 将当前工作目录路径保存到变量中(在Shell脚本中常用) + echo $dir1 + ``` + + + +4. **mkdir**:创建新目录。 + + - 示例:`mkdir 目录名` + + ```bash + #场景:在当前位置创建一个新的目录 + mkdir 目录名 # 创建一个新目录 + + mkdir 路径/目录名 # 在指定路径下创建目录 + + #场景:在创建目录的同时,如果父目录不存在,则一并创建父目录。 + mkdir -p 父目录/新目录 # 创建多个目录,包括父目录(如果不存在) + # 通常在写脚本的时候,为避免已存在,或不存在某目录后续命令无法继续执行,在mkdir的时候,会加-p选项 + + #场景:创建一个具有特定权限的目录,可以用于设置目录的读写执行权限。 + mkdir -m 权限模式 目录名 # 创建具有特定权限的目录 + # mkdir -m 777 mydir + #场景:需要一个文件夹 + mkdir -p /tmp/新目录 # 创建临时目录,不长期保留,与用户文件隔离,避免暴露用户 + ``` + + + +5. **rmdir**:删除空目录。 + + - 示例:`rmdir 目录名` ,只能删除空的目录 + +6. **rm**:删除文件或目录。 + + ```bash + # ------------------- 删除文件 ------------------- + rm -i 文件名 # 删除指定的文件,删除前会询问是否删除(y 确认,n 取消)。 + rm -f 文件名 # 强制删除指定的文件,不会进行询问。 + rm -f a.txt b.txt # 同时删除多个文件:可以在命令中添加多个文件名,用空格分隔,如 。 + rm -f a* # 删除所有以 a 开头的文件 ;删除以特定字符或模式开头的文件:使用通配符* 。 + rm -f .* # 删除隐藏文件:使用 .*,如 (但请注意,这可能会删除当前目录下的所有隐藏文件,包括 . 和 ..,所以请谨慎使用)。 + ## 扩展 + mv example.txt .example.txt # 隐藏文件 + mv mydir .mydir # 隐藏目录 + # ------------------- 删除目录 ------------------- + rmdir 目录名 # 仅删除空的目录。 + rm -r 目录名 # 递归地删除目录及其子目录和文件,删除前会询问是否删除。 + rm -rf 目录名 # 递归地强制删除目录及其子目录和文件,不会进行询问。 + rm -rfv 目录名 # 除了递归强制删除外,还会显示删除的详细步骤。 + rm -d 目录名 # 只删除空目录(与 rmdir 命令类似)。 + ``` + + + +7. **cp**:复制文件或目录。 + + - 复制文件:`cp 源文件 目标文件` + - 复制文件到目录: cp 源文件 目标目录 + - 复制目录:`cp -r 源目录 目标目录` + + `cp` 是 Linux 和 Unix 系统中用于复制文件或目录的命令。以下是 `cp` 命令的一些常见用法: + + 1. **复制单个文件**: + + + ```bash + cp source_file destination_file + ``` + + 例如,将 `example.txt` 复制到 `new_example.txt`: + + + ```bash + cp example.txt new_example.txt + ``` + + 2. **复制文件到目录**: + + + ```bash + cp source_file destination_directory/ + ``` + + 例如,将 `example.txt` 复制到 `target_dir` 目录: + + + ```bash + cp example.txt target_dir/ + ``` + + 3. **递归复制目录**: + 使用 `-r` 或 `-R` 选项可以递归地复制目录及其内容。 + + + ```bash + cp -r source_directory destination_directory/ + ``` + + 例如,将 `source_dir` 目录及其内容复制到 `target_dir`: + + + ```bash + cp -r source_dir target_dir/ + ``` + + 4. **交互式复制**: + 使用 `-i` 选项,在覆盖已存在的文件前会提示用户确认。 + + + ```bash + cp -i source_file destination_file + ``` + + 5. **保留文件属性**: + 使用 `-p` 选项可以保留原文件的属性(如时间戳、权限等)。 + + + ```bash + cp -p source_file destination_file + ``` + + 6. **显示复制进度**: + 使用 `-v` 选项可以显示详细的复制进度信息。 + + + ```bash + cp -v source_file destination_file + ``` + + 7. **仅当源文件较新时复制**: + 使用 `-u` 选项可以仅当源文件比目标文件新时才进行复制。 + + + ```bash + cp -u source_file destination_file + ``` + + 8. **强制复制**: + 使用 `-f` 或 `--force` 选项可以强制复制,即使目标文件已存在也不提示,直接覆盖。 + + + ```bash + cp -f source_file destination_file + ``` + + 9. **批量复制文件**: + 可以使用通配符(如 `*`)来批量复制文件。 + + + ```bash + cp *.txt destination_directory/ + ``` + + 这将复制当前目录下所有 `.txt` 结尾的文件到 `destination_directory` 目录。 + + 这只是 `cp` 命令的一些基本用法,实际上它还有许多其他选项和功能。你可以通过运行 `man cp` 或 `cp --help` 来查看完整的命令手册和选项列表。 + +8. **mv**:移动文件或目录,也可用于重命名文件或目录。 + + - 移动文件或目录:`mv 源目录/文件 目标目录` + - 重命名文件或目录:`mv 原文件名 新文件名` + + 在 Linux 中,`mv` 命令用于移动文件或目录,或者对它们进行重命名。以下是 `mv` 命令的一些常见用法: + + 1. **移动文件或目录**: + + + * 将文件从一个目录移动到另一个目录: + + ```bash + mv source_file destination_directory/ + ``` + + * 移动目录:与移动文件类似,但目录的末尾不应有斜杠(/),除非目标位置是一个已经存在的目录。 + + ```bash + mv source_directory destination_directory/ + ``` + + 注意:如果目标目录不存在,`mv` 命令会将其视为要重命名的文件名,这可能会导致意外的结果。 + + 2. **重命名文件或目录**: + + + * 重命名文件: + + ```bash + mv old_name.txt new_name.txt + ``` + + * 重命名目录: + + ```bash + mv old_directory_name new_directory_name + ``` + + 3. **移动并重命名文件**: + + + * 你可以在一次操作中既移动又重命名文件。 + + ```bash + mv source_directory/old_name.txt destination_directory/new_name.txt + ``` + + 4. **使用通配符移动多个文件**: + + + * 你可以使用通配符(如 `*`)来匹配多个文件,并将它们移动到目标目录。 + + ```bash + mv *.txt destination_directory/ + ``` + + 这将移动当前目录下所有 `.txt` 结尾的文件到 `destination_directory` 目录。 + + 5. **交互式操作**: + + + * 使用 `-i` 选项,`mv` 命令会在移动或重命名文件前进行确认,以避免意外覆盖文件。 + + ```bash + mv -i source_file destination_file + ``` + + 当目标位置已经存在同名文件时,系统会提示你是否要覆盖。 + + 6. **显示详细信息**: + + + * 使用 `-v` 选项,`mv` 命令会显示详细的操作信息,包括移动或重命名的文件名。 + + ```bash + mv -v source_file destination_file + ``` + + 7. **覆盖文件前先备份**: + + * 使用 `-b` 选项,`mv` 命令会在覆盖文件之前对其进行备份。 + + + ```bash + mv -b source_file destination_file + ``` + + 请注意,`mv` 命令的使用可能因不同的 Linux 发行版或 shell 环境而略有差异。但上述用法在大多数情况下都是通用的。如果你需要更详细的信息或特定选项的解释,可以使用 `man mv` 命令来查看 `mv` 命令的手册页。 + +9. **touch**:创建空文件或者更改文件访问和修改时间。 + + - 示例:`touch 文件名` + +10. **chmod**:修改文件或目录权限。 + +- 示例:`chmod 权限值 文件名` + +1. **chown**:改变文件或目录的所有者。 + +- 示例:`chown 用户名 文件名` + +1. **chgrp**:改变文件或目录的所属组。 + +- 示例:`chgrp 组名 文件名` + +这些是常用的Linux文件夹和文件管理相关操作命令,通过它们你可以进行各种文件和目录的管理 diff --git "a/16 \347\250\213\350\210\234/20240522 \346\237\245\347\234\213\347\233\256\345\275\225.md" "b/16 \347\250\213\350\210\234/20240522 \346\237\245\347\234\213\347\233\256\345\275\225.md" new file mode 100644 index 0000000..b5f1127 --- /dev/null +++ "b/16 \347\250\213\350\210\234/20240522 \346\237\245\347\234\213\347\233\256\345\275\225.md" @@ -0,0 +1,304 @@ +## 笔记: + +在Linux系统中,你可以使用以下命令对文件夹和文件进行管理: + +1. **ls**:列出目录内容。 + + ```bash + ls #列出当前目录下的文件和目录 + ls /home/user #列出指定目录下的文件和目录 + ls -d 文件夹A # 列出文件夹A本身的信息,而不是其它下面的目录和内容 + ls -a # all 列出当前目录下的所有文件和目录,包括隐藏文件/目录 + ls -l #以长格式列出当前目录下的文件和目录,包括权限、所有者、组、大小、创建日期等信息 + ls -h # 以易读的方式列出当前目录下的文件和目录,将文件大小以KB、MB\GB等单位表示 + ls -t # t->time 根据修改时间排序列出当前目录下的文件和目录 + ls -r # r -> reverse 反向排序列出当前目录下的文件和目录 + ls -S # S -> Size 根据文件大小排序列出当前目录下的文件和目录 + ls -R # 递归列出当前目录及其子目录下的所有文件和目录 + ls --color # --color(英文全拼:colorize 给着色 ) + # 以不同颜色区分不同类型的文件,例如蓝色表示目录、绿色表示可执行文件等。 + + ## 扩展如何修改环境变量 家目录下的自己的文件下,使用ls -a 显示所有文件,即可看到.bashrc这个环境变量的配置文件。将# alias ll='ls -l' 前的#号删除,并保存文件。最后要生效,就要退出帐号一次,再登录,即可使用ll来代替ls -l + alias la='ls -a' + alias l='ls -CF' + + ``` + +​ + +2. **cd**:改变当前目录。 + + - 进入某个目录:`cd 目录名` + - 返回上一级目录:`cd ..` + - 返回家目录:`cd ~` 或者 `cd ` (啥也不跟): /home/用户名 + - 返回上次所在目录:`cd -` + +3. **pwd**:显示当前工作目录的绝对路径。 + + ```bash + pwd # 显示当前工作目录的绝对路径 + dir1 = $(pwd) # 将当前工作目录路径保存到变量中(在Shell脚本中常用) + echo $dir1 + ``` + + + +4. **mkdir**:创建新目录。 + + - 示例:`mkdir 目录名` + + ```bash + #场景:在当前位置创建一个新的目录 + mkdir 目录名 # 创建一个新目录 + + mkdir 路径/目录名 # 在指定路径下创建目录 + + #场景:在创建目录的同时,如果父目录不存在,则一并创建父目录。 + mkdir -p 父目录/新目录 # 创建多个目录,包括父目录(如果不存在) + # 通常在写脚本的时候,为避免已存在,或不存在某目录后续命令无法继续执行,在mkdir的时候,会加-p选项 + + #场景:创建一个具有特定权限的目录,可以用于设置目录的读写执行权限。 + mkdir -m 权限模式 目录名 # 创建具有特定权限的目录 + # mkdir -m 777 mydir + #场景:需要一个文件夹 + mkdir -p /tmp/新目录 # 创建临时目录,不长期保留,与用户文件隔离,避免暴露用户 + ``` + + + +5. **rmdir**:删除空目录。 + + - 示例:`rmdir 目录名` ,只能删除空的目录 + +6. **rm**:删除文件或目录。 + + ```bash + # ------------------- 删除文件 ------------------- + rm -i 文件名 # 删除指定的文件,删除前会询问是否删除(y 确认,n 取消)。 + rm -f 文件名 # 强制删除指定的文件,不会进行询问。 + rm -f a.txt b.txt # 同时删除多个文件:可以在命令中添加多个文件名,用空格分隔,如 。 + rm -f a* # 删除所有以 a 开头的文件 ;删除以特定字符或模式开头的文件:使用通配符* 。 + rm -f .* # 删除隐藏文件:使用 .*,如 (但请注意,这可能会删除当前目录下的所有隐藏文件,包括 . 和 ..,所以请谨慎使用)。 + ## 扩展 + mv example.txt .example.txt # 隐藏文件 + mv mydir .mydir # 隐藏目录 + # ------------------- 删除目录 ------------------- + rmdir 目录名 # 仅删除空的目录。 + rm -r 目录名 # 递归地删除目录及其子目录和文件,删除前会询问是否删除。 + rm -rf 目录名 # 递归地强制删除目录及其子目录和文件,不会进行询问。 + rm -rfv 目录名 # 除了递归强制删除外,还会显示删除的详细步骤。 + rm -d 目录名 # 只删除空目录(与 rmdir 命令类似)。 + ``` + + + +7. **cp**:复制文件或目录。 + + - 复制文件:`cp 源文件 目标文件` + - 复制文件到目录: cp 源文件 目标目录 + - 复制目录:`cp -r 源目录 目标目录` + + `cp` 是 Linux 和 Unix 系统中用于复制文件或目录的命令。以下是 `cp` 命令的一些常见用法: + + 1. **复制单个文件**: + + + ```bash + cp source_file destination_file + ``` + + 例如,将 `example.txt` 复制到 `new_example.txt`: + + + ```bash + cp example.txt new_example.txt + ``` + + 2. **复制文件到目录**: + + + ```bash + cp source_file destination_directory/ + ``` + + 例如,将 `example.txt` 复制到 `target_dir` 目录: + + + ```bash + cp example.txt target_dir/ + ``` + + 3. **递归复制目录**: + 使用 `-r` 或 `-R` 选项可以递归地复制目录及其内容。 + + + ```bash + cp -r source_directory destination_directory/ + ``` + + 例如,将 `source_dir` 目录及其内容复制到 `target_dir`: + + + ```bash + cp -r source_dir target_dir/ + ``` + + 4. **交互式复制**: + 使用 `-i` 选项,在覆盖已存在的文件前会提示用户确认。 + + + ```bash + cp -i source_file destination_file + ``` + + 5. **保留文件属性**: + 使用 `-p` 选项可以保留原文件的属性(如时间戳、权限等)。 + + + ```bash + cp -p source_file destination_file + ``` + + 6. **显示复制进度**: + 使用 `-v` 选项可以显示详细的复制进度信息。 + + + ```bash + cp -v source_file destination_file + ``` + + 7. **仅当源文件较新时复制**: + 使用 `-u` 选项可以仅当源文件比目标文件新时才进行复制。 + + + ```bash + cp -u source_file destination_file + ``` + + 8. **强制复制**: + 使用 `-f` 或 `--force` 选项可以强制复制,即使目标文件已存在也不提示,直接覆盖。 + + + ```bash + cp -f source_file destination_file + ``` + + 9. **批量复制文件**: + 可以使用通配符(如 `*`)来批量复制文件。 + + + ```bash + cp *.txt destination_directory/ + ``` + + 这将复制当前目录下所有 `.txt` 结尾的文件到 `destination_directory` 目录。 + + 这只是 `cp` 命令的一些基本用法,实际上它还有许多其他选项和功能。你可以通过运行 `man cp` 或 `cp --help` 来查看完整的命令手册和选项列表。 + +8. **mv**:移动文件或目录,也可用于重命名文件或目录。 + + - 移动文件或目录:`mv 源目录/文件 目标目录` + - 重命名文件或目录:`mv 原文件名 新文件名` + + 在 Linux 中,`mv` 命令用于移动文件或目录,或者对它们进行重命名。以下是 `mv` 命令的一些常见用法: + + 1. **移动文件或目录**: + + + * 将文件从一个目录移动到另一个目录: + + ```bash + mv source_file destination_directory/ + ``` + + * 移动目录:与移动文件类似,但目录的末尾不应有斜杠(/),除非目标位置是一个已经存在的目录。 + + ```bash + mv source_directory destination_directory/ + ``` + + 注意:如果目标目录不存在,`mv` 命令会将其视为要重命名的文件名,这可能会导致意外的结果。 + + 2. **重命名文件或目录**: + + + * 重命名文件: + + ```bash + mv old_name.txt new_name.txt + ``` + + * 重命名目录: + + ```bash + mv old_directory_name new_directory_name + ``` + + 3. **移动并重命名文件**: + + + * 你可以在一次操作中既移动又重命名文件。 + + ```bash + mv source_directory/old_name.txt destination_directory/new_name.txt + ``` + + 4. **使用通配符移动多个文件**: + + + * 你可以使用通配符(如 `*`)来匹配多个文件,并将它们移动到目标目录。 + + ```bash + mv *.txt destination_directory/ + ``` + + 这将移动当前目录下所有 `.txt` 结尾的文件到 `destination_directory` 目录。 + + 5. **交互式操作**: + + + * 使用 `-i` 选项,`mv` 命令会在移动或重命名文件前进行确认,以避免意外覆盖文件。 + + ```bash + mv -i source_file destination_file + ``` + + 当目标位置已经存在同名文件时,系统会提示你是否要覆盖。 + + 6. **显示详细信息**: + + + * 使用 `-v` 选项,`mv` 命令会显示详细的操作信息,包括移动或重命名的文件名。 + + ```bash + mv -v source_file destination_file + ``` + + 7. **覆盖文件前先备份**: + + * 使用 `-b` 选项,`mv` 命令会在覆盖文件之前对其进行备份。 + + + ```bash + mv -b source_file destination_file + ``` + + 请注意,`mv` 命令的使用可能因不同的 Linux 发行版或 shell 环境而略有差异。但上述用法在大多数情况下都是通用的。如果你需要更详细的信息或特定选项的解释,可以使用 `man mv` 命令来查看 `mv` 命令的手册页。 + +9. **touch**:创建空文件或者更改文件访问和修改时间。 + + - 示例:`touch 文件名` + +10. **chmod**:修改文件或目录权限。 + +- 示例:`chmod 权限值 文件名` + +1. **chown**:改变文件或目录的所有者。 + +- 示例:`chown 用户名 文件名` + +1. **chgrp**:改变文件或目录的所属组。 + +- 示例:`chgrp 组名 文件名` + +这些是常用的Linux文件夹和文件管理相关操作命令,通过它们你可以进行各种文件和目录的管理 -- Gitee