一、基础文件操作指令(cp/mv/echo/cat/less/head/tail)


1. cp 复制指令


语法:cp [选项] 源文件/目录 目标文件/目录
功能:复制文件 / 目录到指定路径,-r选项可递归复制目录
示例:cp -rf src_dir dst_dir(递归强制复制目录)

cp src dst          # 复制文件/目录(目录需加 -r)
cp -r src_dir dst_dir  # 递归复制整个目录
cp src dst/new_name # 复制并重命名


2. mv 移动 / 重命名指令


1.语法:mv 源文件/目录 目标文件/目录
2.功能:
            路径不同:移动文件 / 目录
            路径相同:重命名文件 / 目录
注意:目标名一定不是已存在的名称

mv src dst_dir      # 移动文件/目录到目标路径
mv src new_name     # 重命名文件/目录(目标名必须不存在)


3. echo 输出 / 重定向指令


核心作用:向文件写入内容,搭配重定向符号使用
>:清空文件原有内容,再写入新内容(覆盖重定向)
>>:在文件末尾追加写入内容(追加重定向)
示例:

echo "hello world" > log.txt(清空文件并写入)
echo "aaa" >> log.txt(在文件末尾追加内容)


补充:Linux 下一切皆文件,显示器也是文件,echo写入到显示器即打印内容

4. cat 查看文件内容指令


语法:cat 文件名
功能:查看文件全部内容,搭配管道符可与其他命令组合使用
示例:cat < log.txt(输入重定向读取文件)

          cat:等你键盘输入
          cat 文件:cat 自己读文件
          cat < 文件:文件内容假装成键盘输入,给 cat

        

5. 文本查看进阶指令(处理大文件)

1.less,head,tail

指令 语法 功能
less less 文件名 查看大文件,支持上下翻页、q退出、/搜索匹配内容
head head -n 文件名 从文件开头查看指定行数内容
tail tail -n 文件名 从文件末尾查看指定行数内容,-f可实时监控文件新增内容
head -20 filename  # 查看文件前20行


tail -21 filename  # 查看文件最后21行
tail -f log.txt    # 实时监控日志文件更新

2.管道符 |


        功能:将前一个命令的输出,作为后一个命令的输入,实现多命令组合处理。
示例:截取日志文件中特定范围的内容

head -2020 log.txt | tail -21  # 取前2020行,再取其中最后21行(即第2000~2020行)

二、系统信息与查找指令(date/which/find/grep)


1. date 时间操作指令


功能:查看 / 设置系统时间,可格式化输出

date                # 查看当前时间
date +%Y-%m-%d      # 输出 年-月-日 格式
date +%s            # 输出时间戳(1970-01-01 00:00:00 到当前的累计秒数)
date -d "2020-10-20" # 解析指定日期

组合用法:head -2020 log.txt | tail -21 可通过管道筛选文件内容,也可结合时间戳筛选

2. which 命查找指令


功能:查找系统路径下的可执行命令,显示命令的实际存放路径。

which ls            # 输出 ls 命令的路径,如 /usr/bin/ls
which mkdir         # 查找 mkdir 命令路径


3. find 文件查找指令


语法:find [路径] -name "文件名/通配符"
功能:递归遍历目录,按条件查找文件,可在任意路径使用

find [路径] -name "文件名/通配符"

find /usr/bin -name "xxx"  # 在 /usr/bin 下查找名为 xxx 的文件


4. grep 文本过滤工具


1.语法:

grep [选项] "匹配内容" 文件名

2.常用选项:

-i忽略大小

-n显示匹配行号

-v:反向匹配(显示不包含目标文本的行)

3.功能:

按指定模式匹配文件内容,筛选出包含目标文本的行

grep -niv "main" test.c  # 忽略大小写,显示行号,反向匹配不含 main 的行

三、压缩与打包指令(zip/unzip/tar)

1. 基础概念


打包:将多个文件合并为一个整体文件
压缩:通过特定算法减少文件体积,节省磁盘 / 网络传输成本
常见格式:.zip、.tar.gz


2. zip/unzip 指令


打包压缩:zip -r 目标包名.zip 源目录/文件(-r递归处理目录)

zip -r dst.zip src_dir  # -r 递归处理目录,将 src_dir 打包为 dst.zip


解压:unzip 包名.zip [-d 解压路径](-d指定解压路径)

unzip dst.zip           # 解压到当前目录
unzip dst.zip -d path   # 解压到指定路径

3. tar 打包 / 解包指令(重点)


核心选项:
-c:创建新包
-x:解包
-z:同时进行 gzip 压缩 / 解压(.tar.gz格式)

-v:显示操作过程
-f:指定包文件名(必须放在选项最后)
常用示例:

# 打包压缩
tar -czf dst.tgz src_dir  # 将 src_dir 打包压缩为 dst.tgz
# 解压
tar -xzf dst.tgz          # 解压到当前目录
tar -xzf dst.tgz -C path  # 解压到指定路径

四、跨主机文件传输与系统信息

1. scp 跨主机文件传输

  • 语法:
    scp 本地文件 用户名@远程IP:远程路径
    
  • 示例:
    scp test.tgz user@192.168.1.100:/home/user/  # 传输文件到远程主机
    

2. 查看系统信息

  • 查看发行版版本:
    cat /etc/redhat-release  # CentOS/RHEL 系统
    
  • 查看系统架构信息:
    uname -a                 # 查看内核版本、架构等信息

五、要点总结

常用快捷键与历史命令

快捷键 / 命令 功能说明
Tab 命令 / 路径自动补全
Ctrl + c 终止当前运行的命令
上下键 切换历史命令
Ctrl + r 搜索历史命令(输入关键词匹配)
history 查看系统记录的所有历史命令

① 标准输入 / 输出与重定向


1.核心概念:

Linux 下一切皆文件,显示器也是文件。
标准输出:程序打印的内容会写入到显示器文件。
echo命令本质是向文件写入内容,写入到显示器就是直接打印。


2.重定向操作:


>(覆盖重定向):先清空文件内容,再写入新内容。若文件不存在,会自动创建。
示例:echo "hello world" > log.txt
>>(追加重定向):不清空原文件,直接在文件末尾追加写入内容。
示例:echo "aaa" >> log.txt
<(输入重定向):将文件内容作为命令的输入。
示例:cat < log.txt(等价于直接cat log.txt)


② which命令的作用


定义:查找特定系统路径下的可执行程序(命令),即告诉你一个命令的实际存放位置。
示例:

[root@bite ~]# which ls #回车
alias ls='ls --color=auto' 
           /usr/bin/ls


说明ls命令实际路径是/usr/bin/ls,且默认带有别名。


③ alias(命令别名)


定义:给常用命令设置自定义别名,简化输入。
示例:
alias ll='ls -l':ll就是ls -l的别名,执行ll等价于执行ls -l。
查看别名:直接输入alias可列出当前所有已设置的别名。


④ 管道符 | 与文本筛选


核心用法:将前一个命令的输出,作为后一个命令的输入,实现多命令组合处理。
示例:从日志文件中截取特定范围的内容
head -2020 log.txt | tail -21
含义:先通过head取文件前 2020 行,再通过tail取这部分内容的最后 21 行,实现 “截取第 2000~2020 行” 的效果。


⑤ find命令(文件查找)


核心特点:
可以在任意路径下递归查找文件,比which更通用。
语法:find [查找路径] -name "文件名/通配符"
示例:
find /usr/bin -name "xxx"
含义:在/usr/bin目录下,递归查找名为xxx的文件。


⑥ 时间戳概念


定义:时间戳(timestamp)是从1970-01-01 00:00:00 UTC到当前时间的累计秒数。
作用:是 Linux 系统中时间的底层表示方式,常用于日志、文件修改时间、程序计时等场景。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐