【linux学习】linux基本指令02


我是程序员小青蛙,下面来介绍linux基本指令

前言

上一篇介绍了man,touch,mkdir,ls,rm,cd,pwd指令,这些都是一些重要的基本指令,下面介绍另一部分基本指令。


一、cp指令

Linux cp 命令(copy)

作用:复制文件 / 复制文件夹

bash 复制代码
cp 源文件 目标位置

cp a.txt b.txt       # 把 a.txt 复制成 b.txt
cp a.txt /home/      # 把 a.txt 复制到 /home 目录下
  • -r / -R递归复制文件夹(最常用)
  • -i:覆盖前询问(防止误覆盖)
  • -p:保留文件权限、时间等属性
  • -a归档复制(相当于 -r -p,保留所有属性,备份常用)
  • -f:强行赋值文件或目录,无论是否存在

cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,而最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后一个目的地并非一个已存在的目录,则会出现错误信息。

二、mv指令

Linux mv 命令(move)

作用:移动文件 / 目录、重命名,没有复制,原文件会消失

bash 复制代码
mv 源 目标

//同目录
mv old.txt new.txt        # 文件重命名
mv dir1 dir2              # 文件夹重命名

//跨目录
mv test.txt /home/        # 移动文件到 /home
mv testdir /usr/local/     # 移动文件夹,**不用加 -r**(mv自带递归)

重点:mv 移动文件夹不需要 -r ,和 cp 不一样!

常用参数:

  • -i:覆盖前询问(防止误覆盖)
  • -f:强制覆盖,不提示
  • -n:不覆盖已存在文件

功能:

1.视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。

2.当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

3.当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

三、cat指令

全称 concatenate ,核心作用:查看文件内容、合并文件、创建小文件

bash 复制代码
cat 文件名

cat hello.txt

cat 1.txt 2.txt//一次性看多个文件

cat -n hello.txt   # 带行号查看
  • -n显示行号(重点)
  • -b:只给非空行加行号
  • -A:显示所有隐藏字符(换行、空格等)
  • -b:对非空输出行编号
  • -n 对输出的所有行进行编号
  • -s 不输出多行空行

进阶使用:

1.快速创建文件并写入内容

bash 复制代码
cat > test.txt
# 输入内容,按 Ctrl+D 保存退出

2.合并文件

bash 复制代码
cat a.txt b.txt > c.txt   # 把a、b内容合并到c.txt

常用参数:

  • cat一次性全部输出,适合小文件
  • less:分页查看,适合大文件
  • head:看前几行
  • tail:看最后几行

四、more指令

作用:分页查看文件内容,适合大文件,一页一页翻cat 一次性全部输出不同,more 会分屏显示,不会刷屏。

bash 复制代码
more 文件名

more test.txt

常用快捷键:

  • 空格:向下翻一页
  • 回车:向下翻一行
  • q:退出查看
  • b:向上翻页(部分版本支持)

常用参数:
-n:指定每页显示 n 行

q 退出more

bash 复制代码
more -5 test.txt  # 每页只显示5行

对比 cat /more/less

  • cat:一次性全部输出,适合小文件
  • more:分页查看,只能向下翻,不能回退(老式)
  • less:分页查看,可上下翻、搜索,功能更强,现在更推荐

五、less指令

作用:分页查看文件,功能比 more 更强,支持上下翻页、搜索,是 Linux 最推荐的文件查看工具

less和more类似,但使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且less在查看之前不会加载整个文件,

bash 复制代码
less 文件名
# 例
less test.txt

翻页

  • 空格 / PgDn:向下翻一页
  • b / PgUp:向上翻一页
  • 回车:向下一行
  • k:向上一行,j:向下一行(vim 风格)

搜索(高频)

  • /关键词:向下搜索
  • ?关键词:向上搜索
  • n:跳到下一个匹配结果
  • N:跳到上一个匹配结果

退出

  • q:退出

常用参数:
-N:显示行号

bash 复制代码
less -N test.txt

-i:忽略搜索时的大小写

/字符串:向下搜索"字符串"的功能

?字符串:向上搜索"字符串"的功能

n:重复前一个搜索(与/或?u有关)

q: quit,退出

六、head指令

作用:查看文件开头部分内容,默认显示前 10 行

bash 复制代码
head 文件名
# 默认输出前10行
head test.txt

常用参数:
-n 数字:指定显示前几行

bash 复制代码
head -n 5 test.txt    # 查看前5行
head -5 test.txt      # 简写形式,效果一样

-c 数字:查看前多少个字符

bash 复制代码
head -c 20 test.txt   # 查看前20个字符

和管道一起使用

bash 复制代码
# 查看命令输出的前5行
ls -l | head -n 5

七、tail指令

作用:查看文件末尾内容,默认显示最后 10 行,最常用于看日志

bash 复制代码
tail 文件名
# 默认输出最后10行
tail test.txt

常用参数:
-n 数字:指定查看最后几行

bash 复制代码
tail -n 5 test.txt   # 查看最后5行
tail -5 test.txt     # 简写

-f:实时追踪文件新增内容(看日志神器)

bash 复制代码
tail -f test.txt
# 文件更新时,终端会实时刷新输出,按 Ctrl+C 退出

-c 数字:查看末尾指定字符数

常用组合

bash 复制代码
# 实时看日志最后10行
tail -f /var/log/messages
# 实时看最后20行
tail -n20 -f test.log

head和tail比较
head看文件开头
tail看文件末尾,-f 实时监控

八、与时间相关的指令

date显示

作用:查看 / 设置系统时间、格式化输出时间

bash 复制代码
date
# 直接输出系统当前时间

常用格式:

bash 复制代码
# 年-月-日 时:分:秒
date +"%Y-%m-%d %H:%M:%S"
# 仅日期
date +%Y-%m-%d
# 仅时间
date +%H:%M:%S

设置时间(root)

bash 复制代码
# 设置时间为 2025-05-14 15:30:00
date -s "2025-05-14 15:30:00"

时间戳

bash 复制代码
# 获取当前时间戳(秒)
date +%s
# 时间戳转日期
date -d "@1747200000"

九、cal指令

作用:查看日历,默认显示当月日历

bash 复制代码
cal
# 直接输出当前月份日历

查看指定年份全年日历

bash 复制代码
cal 2026

查看指定年月

bash 复制代码
cal 5 2026    # 查看2026年5月日历

显示周一为一周第一天

bash 复制代码
cal -m

显示周数

bash 复制代码
cal -w

常用参数:

-3:前一个月,这一个,下一个

-j:显示当年中的第几天,从1月1算

-y:显示当前年份的日历

bash 复制代码
cal -y 2026

口令:cal 查日历,cal 年看全年,cal 月 年看指定月。

十、find指令

作用:在指定目录下,递归查找文件 / 目录,功能极强,Linux 最核心查找命令

核心:递归搜索文件 / 目录,语法:find 搜索路径 [匹配条件] [动作]

在当前目录查找所有文件

bash 复制代码
find .

. 是隐藏目录,,,. 代表当前目录,递归列出所有文件

全局查找(从根目录开始)

bash 复制代码
find / -name "xxx"

常用参数:
-name 按文件名查找(最常用)

bash 复制代码
# 精确查找 test.txt
find . -name "test.txt"

# 模糊查找,通配符 *
find . -name "*.txt"     # 找所有txt文件
find /home -name "log*"

-type 按类型查找

  • f:普通文件
  • d:目录
bash 复制代码
find . -type f          # 只找文件
find . -type d          # 只找文件夹

-size 按文件大小查找

bash 复制代码
find . -size +10M       # 大于10M
find . -size -5k        # 小于5k

-exec 找到后直接执行命令(超级常用)

bash 复制代码
# 找到所有txt并删除
find . -name "*.txt" -exec rm -f {} \;
# 找到后复制
find . -name "*.log" -exec cp {} /tmp \;

常用合计

bash 复制代码
# 查找 /etc 下所有 .conf 配置文件
find /etc -name "*.conf"

# 查找当前目录下大于1G的文件
find . -type f -size +1G

# 查找空文件
find . -size 0

十一、grep指令

作用:文本搜索,在文件 / 命令输出里查找指定关键词,过滤内容

bash 复制代码
grep "关键词" 文件名

常用参数:

-n :显示匹配行的行号

bash 复制代码
grep -n "root" /etc/passwd

-i忽略大小写查找

bash 复制代码
grep -i "hello" test.txt

-v反向匹配 ,显示不包含关键词的行

bash 复制代码
grep -v "#" test.txt  # 过滤掉注释行

-r:递归搜索目录下所有文件

bash 复制代码
grep -r "error" /var/log/

-o:只输出匹配到的关键词本身

管道高频使用

bash 复制代码
# 查看进程里的c++程序
ps -ef | grep g++

# 过滤yum输出里的lrzsz
yum list | grep lrzsz

# 查看端口
netstat -an | grep 80

find和grep的比较

  • find找文件(按文件名、大小、路径)
  • grep找文件里的内容(按关键词)

十二、zip/unzip指令

zip:压缩文件 / 目录

bash 复制代码
zip 压缩包名.zip 待压缩文件/目录

常用用法:

压缩单个文件

bash 复制代码
zip test.zip test.txt

压缩目录(必须加 -r 递归)

bash 复制代码
zip -r dir.zip mydir/

常用参数:

  • -r:递归压缩目录
  • -q:安静模式,不输出过程
  • -9:最高压缩率

unzip:解压 zip 包

bash 复制代码
unzip 压缩包名.zip

常用用法:

直接解压到当前目录

bash 复制代码
unzip test.zip

解压到指定目录 -d

bash 复制代码
unzip test.zip -d /home/

查看压缩包内容(不解压)

bash 复制代码
unzip -l test.zip

若命令不存在,则安装

bash 复制代码
# CentOS
yum install -y zip unzip
# Ubuntu
apt install zip unzip

十三、tar指令

作用:打包、压缩、解压文件(.tar、.tar.gz、.tar.bz2 格式)

Linux 上最常用、最重要的压缩解压命令

常用:

bash 复制代码
压缩:tar -zcvf  包名.tar.gz  要压缩的文件/目录
解压:tar -zxvf  包名.tar.gz

参数:

  • z :用 gzip 压缩 / 解压(.gz 格式)
  • x解压(extract)
  • c压缩(create)
  • v:显示过程(verbose)
  • f :指定文件名(必须放最后!
  • t:查看tarfile里面的文件
  • j:bzip2压缩

常见命令:

压缩成 .tar.gz

bash 复制代码
tar -zcvf  myfile.tar.gz  mydir/

解压 .tar.gz

bash 复制代码
tar -zxvf  myfile.tar.gz

解压到指定目录

bash 复制代码
tar -zxvf  myfile.tar.gz  -d  /tmp/

只查看不解压

bash 复制代码
tar -ztvf  myfile.tar.gz

记忆:

  • 看到 c压缩(create)
  • 看到 x解压(extract)
  • 只要是 .tar.gz → 一律带 z

十三、bc指令

作用:Linux 内置的命令行计算器,支持整数、小数、运算、进制转换

bash 复制代码
bc
2+3
5
10*2.5
25
quit   # 退出

常用:

一行直接计算(不用进交互)

bash 复制代码
echo "100/3" | bc
# 保留2位小数
echo "scale=2; 100/3" | bc

进制转换(超级好用)

bash 复制代码
# 十进制转二进制
echo "obase=2;10" | bc
# 二进制转十进制
echo "ibase=2;1010" | bc

常用参数:

scale=N:设置保留 N 位小数

十四、uname

作用:查看系统内核、操作系统、硬件架构信息

bash 复制代码
uname
# 默认只输出内核名称,一般显示 Linux

常用参数:

-a查看全部系统信息(最常用)

bash 复制代码
uname -a

-r:查看内核版本(运维高频)

bash 复制代码
uname -r
  • -s:内核名称
  • -n:主机名
  • -m:硬件架构(x86_64 /arm 等)

完整信息 uname -a

只看内核版本 uname -r

看CPU架构 uname -m

也可以使用lscpu看;


总结

对linux的基本指令进行介绍,对用法熟悉就行。谢谢观看。

相关推荐
星幻元宇VR3 小时前
VR心理健康学习机|沉浸式心理教育新模式
科技·学习·安全·vr·虚拟现实
·醉挽清风·10 小时前
学习笔记—MySQL—库表操作
笔记·学习·mysql
白小沫12 小时前
TortoiseSVN是什么?
学习
weixin_4514315612 小时前
【学习笔记】微博视频页面ajax请求与响应数据分析
笔记·学习·音视频
清辞85313 小时前
尾盘选股法程序开发学习初期
学习
Century_Dragon13 小时前
让实训“活”起来——信息化综合实训考核平台助力汽车专业教学
学习
nashane14 小时前
HarmonyOS 6学习:PanGesture手势驱动月亮半圆轨迹“滚动”术
学习·harmonyos 5
叶~小兮14 小时前
K8S进阶核心综合学习笔记(持久化存储+特殊容器+调度管理)
笔记·学习·kubernetes
li星野15 小时前
位运算 & 数学 & 高频进阶九题通关(Python + C++)
c++·python·学习·算法