news 2026/5/11 4:57:58

【操作系统】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/10 21:47:03

Hap QuickTime编解码器:让视频处理速度翻倍的GPU加速利器

Hap QuickTime编解码器&#xff1a;让视频处理速度翻倍的GPU加速利器 【免费下载链接】hap-qt-codec A QuickTime codec for Hap video 项目地址: https://gitcode.com/gh_mirrors/ha/hap-qt-codec 在视频处理领域&#xff0c;性能瓶颈往往是制约工作效率的关键因素。Ha…

作者头像 李华
网站建设 2026/5/9 4:45:07

usb_burning_tool在智能电视生产中的完整指南

智能电视量产利器&#xff1a;深入解析 usb_burning_tool 的实战应用在智能电视的生产线上&#xff0c;每一块主板从无到有、从空白PCB变为可运行Android系统的完整设备&#xff0c;都要经历一个至关重要的环节——固件烧录。这个过程看似简单&#xff0c;实则决定了整机启动成…

作者头像 李华
网站建设 2026/5/1 5:25:26

ABCJS音乐渲染库:3步打造专业级网页乐谱

ABCJS音乐渲染库&#xff1a;3步打造专业级网页乐谱 【免费下载链接】abcjs javascript for rendering abc music notation 项目地址: https://gitcode.com/gh_mirrors/ab/abcjs 还在为网页音乐展示而烦恼吗&#xff1f;&#x1f3b5; ABCJS音乐渲染库让你轻松将ABC音乐…

作者头像 李华
网站建设 2026/5/9 12:04:16

基于springboot + vue蛋糕店管理系统(源码+数据库+文档)

蛋糕店管理 目录 基于springboot vue蛋糕店管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue蛋糕店管理系统 一、前言 博主介绍&#xff1a…

作者头像 李华
网站建设 2026/4/27 9:08:21

深度剖析CP2102 USB串口稳定性问题

深度剖析CP2102 USB串口稳定性问题&#xff1a;从驱动兼容性到系统级调优的实战指南你有没有遇到过这种情况&#xff1f;一个基于CP2102的USB转串口模块&#xff0c;明明插得好好的&#xff0c;在工控现场跑着跑着就“失联”了&#xff1b;或者数据采集时偶尔丢几个字节&#x…

作者头像 李华
网站建设 2026/5/9 20:46:44

键盘实时显示神器Carnac:让你的每一次按键都清晰可见

键盘实时显示神器Carnac&#xff1a;让你的每一次按键都清晰可见 【免费下载链接】carnac A utility to give some insight into how you use your keyboard 项目地址: https://gitcode.com/gh_mirrors/ca/carnac 在录制视频教程或进行产品演示时&#xff0c;你是否曾经…

作者头像 李华