news 2026/6/8 9:56:39

【操作系统】linux常用指令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【操作系统】linux常用指令

目录

1. 常用按键操作

2. ls指令

3. pwd指令

4. cd指令:更改用户所在目录

5. touch指令

6. mkdir指令

7. 删除相关指令

8. man指令

9. cp指令:拷贝

10. 文件和打印相关

10.1 基本概念

10.2 重定向操作

10.3 多终端实验

10.4 文件类型

11. mv指令

12. cat和tac

13. more和less

14. head和tail

15. date和cal

16. find指令

17. grep指令

18. bc指令

19. uname指令

20. 打包压缩和文件传输

20.1 zip和unzip

20.2 Linux和Windows互传文件

20.3 tar压缩

21. Shell简介


1. 常用按键操作

  • 上下键:切换之前输入的指令

  • Ctrl+C:结束当前命令

  • 按2次Tab键:搜索/补全指令

  • Ctrl+R:搜索历史命令

  • Ctrl+D:退出当前用户

2. ls指令

首先,建立空文件一样会在磁盘上占空间。文件=内容+属性,操作文件要么对内容操作,要么对属性操作。

常用选项

  • ls:默认显示当前目录内容

  • ls -l:显示文件名与详细信息(默认当前目录,也可以指定)

  • ls -a:显示所有文件(包括隐藏文件)

  • ls -alls -la:显示所有文件的详细信息

注意

  • 在Linux中,绝大多数指令与参数顺序无关,是否连着也无关

  • 进入一个路径时,用ls -a会显示...两个隐藏文件

    • .代表当前目录

    • ..代表上级目录

  • ls -l:查看目录本身信息

3. pwd指令

显示用户所在的当前目录。

注意:Windows的路径由\隔开,而Linux由/隔开。

4. cd指令:更改用户所在目录

Linux文件结构为一棵从根目录开始的多叉树:

  • 叶子节点为文件、空目录

  • 非叶子节点为非空目录

路径类型

  • 绝对路径:从根目录到目标文件(在配置文件中使用)

  • 相对路径:以非根目录为参照

常用用法

  • cd ~:转到用户的家目录

    • 任何Linux用户都用特定用户名在家目录下登录

    • 普通用户:/home/......

    • Root用户:/root

  • cd -:回到上一次的目录

Windows桌面本质:家目录下的桌面文件夹。哪个用户登录就将那个用户对应的文件夹放到屏幕上。

5. touch指令

创建文件(不可创建目录)。

相关指令

  • stat:查看文件时间信息

  • 当再次touch已存在的文件时,文件时间会更新

6. mkdir指令

创建目录。

选项

  • mkdir -p:创建一串路径(包括中间不存在的目录)

查看方式

  • tree:输出"图形化"目录结构

  • tree a*:输出a开头的目录结构

相关指令

  • which:查看指令在系统中的安装位置(指令的本质为可执行文件)

  • alias:给指令取别名(暂时别名,关机失效)

    • 例如:alias a='ls -la'(记得加引号)

    • ll即是ls -l的别名

  • nano:简易文本编辑器

    • 安装:yum install nano

    • 可以用它写代码

    • 如果出现异常,可以用Ctrl+C结束

7. 删除相关指令

  • rmdir:默认删除空目录

  • rm:删除文件

  • rm -r:删除目录及其内容

  • rm -f:强制删除,不提示

  • *:通配符,表示当前目录下所有文件

  • rm -rf *:删除当前目录下所有文件(谨慎使用!)

8. man指令

查看指令的帮助文档。

  • man man:查看man指令本身的用法

9. cp指令:拷贝

基本用法

  • cp test.cpp a:将test.cpp拷贝到a目录里

  • cp test.cpp a/test2.cpp:将test.cpp拷贝到a目录里,并改名为test2.cpp

目录拷贝

  • cp -r:拷贝目录

  • cp -r a nn:将a目录拷贝并命名为nn

  • 如果目标目录nn已存在,会将a拷贝到nn目录中

10. 文件和打印相关

10.1 基本概念

在Linux中,一切皆文件,包括键盘、显示器等。使用时文件必须被打开,printf、cin等本质为对文件操作,这些必备的文件通常系统默认打开(有stdin、stdout、stderr)。

10.2 重定向操作

  • echo "内容" > 文件:将文字输入到文件中

    • >特点:后续文件不存在会新建,先清空再写入

    • 因此,> 文件:直接清空文件

  • echo "hello" >> test.txt:追加重定向,不会清空原内容

  • cat:查看文件内容

输入重定向

  • cat < 文件:将文件内容输入到屏幕

  • cat直接回车:命令行阻塞,从键盘直接读取内容到屏幕显示(Ctrl+C结束)

10.3 多终端实验

用多终端实验验证Linux屏幕本质上是文件:

ls /dev/pts # 查看当前终端数量 echo "hello world" > /dev/pts/0 # 向自己的终端输出 echo "hello world" > /dev/pts/1 # 向另一个终端输出

结论:Linux的显示器等本质上是文件,且系统可以说是由文件构成的。

10.4 文件类型

Linux文件类型不看后缀,要看ll命令第一列:

  • -:普通文件

  • d:目录文件

  • c:字符设备文件

  • b:块设备文件

  • l:链接文件

  • p:管道文件

虽然-文件统称为普通文件,但细分为代码、文本等。如果直接编译txt文件是编不过去的。

11. mv指令

剪切或文件重命名:

  • 剪切还是重命名取决于后面的是目录还是文件

12. cat和tac

  • cat:将文件内容顺序打印出来

  • tac:倒序打印文件内容

应用:查看系统日志。系统的日志可能会有几万甚至几十万行,如果我们要查看最开始的日志,可以用tac倒序打印。

13. more和less

  • more:仅打印满屏幕,按回车继续打印

  • less:可以上下翻动查看内容

14. head和tail

打印指定头/尾行数。

案例:要打印文件的第100到110行:

方法一:使用临时文件

head -110 file > tmp1 tail -10 tmp1 > tmp2 cat tmp2

方法二:使用管道

cat /var/log/messages | head -110 | tail -10 | tac

步骤解析:

  1. cat /var/log/messages:读取路径的文件到管道

  2. | head -110:读取管道前110行

  3. | tail -10:读取后10行(即第100-110行)

  4. | tac:反向输出

15. date和cal

  • date:显示当前时间

  • date +%s:显示时间戳

时间戳用处

  1. 转换时间为标准时间

  2. 用户->日志->时间戳

转换标准时间

date -d @1766151715

cal指令

  • cal 2022:打印2022年日历

16. find指令

在树形目录里查找文件。

与which区别:which只在指定目录查找。

常用用法

  • find -name 文件名:查找对应名称的文件

  • find ~ -name *.cpp:在~目录(家目录)找.cpp结尾的文件

17. grep指令

过滤信息,用于查找日志、进程等。

cat /var/log/messages | grep "Reached" # 查找日志里包含Reached的行

选项

  • -i:忽略大小写

  • -v:打印不匹配的行

复杂示例

cat /var/log/messages | grep "Reached" -vi | tail -10 # 打印日志里没有Reached的记录的后10条

18. bc指令

简易计算器。

echo "1+3*4" | bc # 计算字符串的结果

19. uname指令

查询系统相关信息。

选项

  • -a:打印全部信息

  • -r:内核版本+芯片架构

20. 打包压缩和文件传输

20.1 zip和unzip

压缩

zip -r 压缩完文件名 要压缩的文件 # 示例:zip -r 25-12-21.zip 25-12-21

解压

unzip 25-12-21.zip -d /root # 解压到指定目录

20.2 Linux和Windows互传文件

  1. 先下载相关工具:

    yum install -y lrzsz
  2. Linux传到Windows:

    sz 25-12-21.zip
  3. Windows传到Linux:

    rz -e # 或直接拖拽文件到终端

20.3 tar压缩

压缩

tar czf 1.tar 25-12-21 # 将25-12-21压缩成1.tar

解压

tar xzf 1.tar -C /root # 将1.tar解压到/root(注意C要大写)

21. Shell简介

Linux包括系统内核和外壳程序(命令行)。

Shell可以简单理解为命令行解释器。

外壳程序作用

  1. 方便用户使用系统

  2. 保护内核(拦截错误指令)

  3. 创建子进程运行命令

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 22:38:22

智能手环中ST7789V的初始化配置详解

智能手环如何“点亮”第一帧&#xff1f;揭秘ST7789V初始化背后的关键细节你有没有想过&#xff0c;当你按下智能手环的开机键后&#xff0c;那块小小的彩色屏幕是如何从一片漆黑变成清晰界面的&#xff1f;这背后其实藏着一个至关重要的过程——显示驱动芯片的初始化配置。在众…

作者头像 李华
网站建设 2026/6/2 18:55:41

Nilearn神经影像分析实战:从入门到精通的全流程指南

Nilearn神经影像分析实战&#xff1a;从入门到精通的全流程指南 【免费下载链接】nilearn Machine learning for NeuroImaging in Python 项目地址: https://gitcode.com/gh_mirrors/ni/nilearn 想要快速掌握神经影像数据分析的核心技能吗&#xff1f;Nilearn作为Python…

作者头像 李华
网站建设 2026/6/3 20:51:35

如何快速掌握OpenGL:终极文档平台使用指南

如何快速掌握OpenGL&#xff1a;终极文档平台使用指南 【免费下载链接】docs.gl OpenGL Reference Documentation 项目地址: https://gitcode.com/gh_mirrors/do/docs.gl 作为图形编程领域的核心API&#xff0c;OpenGL文档平台一直是开发者学习的重要资源。docs.gl项目通…

作者头像 李华
网站建设 2026/5/29 22:34:01

Chrome扩展终极解决方案:一键生成无限测试邮箱的完整指南

Chrome扩展终极解决方案&#xff1a;一键生成无限测试邮箱的完整指南 【免费下载链接】free-augment-code AugmentCode 无限续杯浏览器插件 项目地址: https://gitcode.com/gh_mirrors/fr/free-augment-code 在软件开发与测试的日常工作中&#xff0c;开发者和测试工程师…

作者头像 李华
网站建设 2026/6/6 14:11:47

新手必看:KiCad常见布线错误避坑指南

新手避坑实录&#xff1a;KiCad布线中那些“看不见的雷”&#xff0c;你踩过几个&#xff1f; 最近带几个学生做STM32最小系统板&#xff0c;从原理图到PCB出图&#xff0c;本以为是练手项目&#xff0c;结果一上电——USB不识别、稳压芯片发烫、ADC读数乱跳……排查三天两夜&a…

作者头像 李华
网站建设 2026/6/5 0:29:03

leetcode 785. Is Graph Bipartite? 判断二分图-耗时100%

Problem: 785. Is Graph Bipartite? 判断二分图 解题过程 耗时100%&#xff0c;由于可能存在多个子树&#xff0c;所以每个子树都需要满足条件&#xff0c;拿到最大值n&#xff0c;然后使用状态数组&#xff0c;深度优先搜索dfs&#xff0c;若graph[i].size() > 0 &&am…

作者头像 李华