当前位置: 首页 > news >正文

Linux 基本命令超详细解释第二期 | touch | cat | more | cp | mv | rm | which | find

一、touch

touch 用于创建空文件,或修改文件的时间戳

创建一个空文件

touch file.txt

 如果文件已存在,touch 不会改内容,只会更新时间戳

ls -l test.txt
# -rw-r--r-- 1 user user 0 Sep 19 20:00 test.txttouch test.txt
ls -l test.txt
# -rw-r--r-- 1 user user 0 Sep 19 21:05 test.txt   # 修改时间变了

同时创建多个文件

touch file1.txt file2.txt

touch 不仅能创建 .txt 文件,而是可以创建 任意扩展名的空文件

示例

touch file.txt     # 创建 txt 文件
touch file.md      # 创建 Markdown 文件
touch script.sh    # 创建 Shell 脚本文件
touch main.cpp     # 创建 C++ 源文件
touch data.json    # 创建 JSON 文件
touch myfile       # 没有扩展名的文件

        文件扩展名在 Linux 里并不是强制要求,Linux 判断文件类型主要看内容(比如用 file 命令),不是依赖扩展名

二、cat

cat = concatenate(连接),cat 用于查看文件内容、合并文件,或通过重定向创建文件

  • 查看文件内容

cat file.txt
  • 合并多个文件,并写入新文件

cat file1.txt file2.txt > newfile.txt
  • 创建文件并输入内容(Ctrl+D 结束输入)

cat > file.txt

三、more

more 用于分页查看长文件内容。

  • 分页查看文件

more file.txt
  • 查看时的常用操作

  • 空格:下一页

  • Enter:下一行

  • b:上一页

  • q:退出

四、cp

cp = copy,用于复制文件或目录。

复制文件

cp file1.txt file2.txt

👉 把 file1.txt 复制为 file2.txt

如果你在当前目录下执行:

  • file1.txt 必须在 当前目录 下存在;

  • file2.txt 也会在 当前目录 下生成。

结果就是:在当前目录把 file1.txt 复制一份,命名为 file2.txt

在 Linux 里:

  • 不写路径 → 默认就是 当前目录 (.)

复制文件到目录

cp file.txt /home/user/

👉 把 file.txt 复制到 /home/user/ 目录下

递归复制目录(常用)

cp -r dir1 dir2

👉 把 dir1 整个目录复制为 dir2

常用选项

  • -r:递归复制目录

  • -i:交互式复制(覆盖前提示)

  • -v:显示复制过程

五、mv

mv = move,用于移动或重命名文件/目录

移动文件到目录

mv file.txt /home/user/

👉 把 file.txt 移动到 /home/user/

重命名文件

mv oldname.txt newname.txt

👉 给文件改名字

移动目录

mv dir1 dir2

👉 把 dir1 移动到 dir2内

这里有两种情况

1. 如果 dir2 已经存在,且是一个目录

  • dir1 会被移动到 dir2 里面去,成为它的子目录

例子:

mkdir dir1
mkdir dir2
mv dir1 dir2

结果目录结构:

dir2/
└── dir1/

2. 如果 dir2 不存在

  • 那么 dir1 会被重命名为 dir2

六、rm

rm = remove,用于删除文件或目录

删除文件

rm file.txt

👉 删除单个文件

删除多个文件

rm file1.txt file2.txt

删除目录(递归删除)

rm -r dir
rm -r /home/user/tempdir       # 绝对路径
rm -r ./tempdir                # 相对路径(当前目录下)

👉 删除整个目录及内容

强制删除

rm -rf dir

👉 不提示、递归删除目录,非常危险 

常用选项

  • -r:递归删除

  • -f:强制删除(不提示)

  • -v:显示删除过程

七、which

在 Linux 里,每一个命令实际上都是一个可执行文件

  • 比如 ls 命令,本质上是 /bin/ls 这个二进制程序文件。

  • 当你在终端输入 ls 时,系统会去你的 PATH 环境变量 指定的目录里寻找这个可执行文件,然后运行它。

which 用于查找 命令所在路径

  • 查找命令路径

which ls

输出:

/user/bin/ls

表示 ls 命令实际存放在 /user/bin/ls

  • 查找多个命令

which ls cat rm

八、find

        find 用于 在目录下查找文件或目录,可按名字、类型、时间、大小等条件搜索

按文件名查找

find /home/user -name "file.txt"

        在 /home/user 目录下查找名为 file.txt 的文件(支持通配符,比如 *.txt

find要查找的文件带不带“”引号的作用

find /home/user -name "file.txt"
  • 双引号(或单引号)可以 防止 shell 对特殊字符进行扩展

  • 例如文件名里有空格、通配符 *?[] 等,带引号可以确保 find 接收到的就是你指定的字符串

find /home/user -name file.txt
  • 如果文件名是简单的字母、数字,没有空格或特殊字符,完全可以不带引号

  • shell 会把 file.txt 作为一个普通字符串传给 find,效果一样

举例:文件名中有空格

find /home/user -name "my file.txt"
  • 不加引号会被 shell 拆成两个参数:myfile.txt,会报错

按类型查找

find /tmp -type d

        查找 /tmp 下所有 目录

  • -type f → 查找文件

  • -type d → 查找目录

按修改时间查找

find /var/log -mtime -7

         查找 /var/log 下最近 7天内修改过的文件

按文件大小查找

find <路径> -size <大小>
  • <路径>:要搜索的目录

  • <大小>:要匹配的文件大小

符号单位说明
c字节 (byte)
k千字节 (KB)
M兆字节 (MB)
G吉字节 (GB)

示例:-size 10M → 文件大小正好为 10MB

符号含义
+大于指定大小
-小于指定大小
不写正好等于指定大小

示例

  • 查找大于 10MB 的文件:

find /home/user -size +10M
  • 查找小于 100KB 的文件:

find /home/user -size -100k
  • 查找正好 512 字节的文件:

find /home/user -size 512c
http://www.dtcms.com/a/391195.html

相关文章:

  • [x-cmd] 安装指南
  • Altium Designer(AD24)原理图Move移动功能详细介绍图文教程
  • 部署java程序,服务器报403 Forbidden 问题的终极解决方案
  • 【LeetCode】链表经典问题解析:环形、回文与相交
  • 电磁超材料及其领域应用优势
  • STM32与Modbus RTU协议实战开发指南-fc3ab6a453
  • ArrayList 与 LinkedList 深度对比:从原理到场景的全方位解析
  • Ubuntu和windows复制粘贴互通
  • 银行回单 OCR 识别:财务自动化的 “数据入口“
  • 深兰科技陈海波的AI破局之道:打造软硬一体综合竞争力|《中国经营报》专访
  • 面试经验之mysql高级问答深度解析
  • 高质量票据识别数据集:1000张收据图像+2141个商品标注,支持OCR模型训练与文档理解研究
  • 嵌入式音视频开发——FFmpeg入门
  • MySQL索引篇---B+树在索引中的工作原理
  • 强化学习训练-数据处理
  • VirtualBox为ubuntu系统设置共享文件夹
  • Python实战进阶》No.41: 使用 Streamlit 快速构建 ML 应用
  • Salesforce 执行顺序(Order of Execution)详解
  • Linux内核进程管理子系统有什么第五十七回 —— 进程主结构详解(53)
  • Vue 记账凭证模块组件
  • ORACLE-数据库闪回
  • 【Python】集合
  • 【Leetcode hot 100】437.路径总和 Ⅲ
  • 神经网络学习笔记16——高效卷积神经网络架构汇总(SqueezeNet、MobileNet、ShuffleNet、EfficientNet、GhostNet)
  • 解码阳光电源技术壁垒:以IPD和数字化驱动模块化创新的研发体系
  • ARM体系结构—架构—指令集—寄存器—工作模式
  • 自适应全变分模型的图像平滑去噪与边缘保留算法
  • 主流前端框架比较
  • 前端接口参数序列化
  • 精细调光,稳定驱动:AP5165B 在低压LED照明中的卓越表现