首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【操作系统】linux常用指令

【操作系统】linux常用指令

作者头像
用户11952558
发布2026-01-09 14:11:10
发布2026-01-09 14:11:10
1400
举报

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屏幕本质上是文件:

代码语言:javascript
复制
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行:

方法一:使用临时文件

代码语言:javascript
复制
head -110 file > tmp1
tail -10 tmp1 > tmp2
cat tmp2

方法二:使用管道

代码语言:javascript
复制
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. 用户->日志->时间戳

转换标准时间

代码语言:javascript
复制
date -d @1766151715

cal指令

  • cal 2022:打印2022年日历

16. find指令

在树形目录里查找文件。

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

常用用法

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

17. grep指令

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

代码语言:javascript
复制
cat /var/log/messages | grep "Reached"  # 查找日志里包含Reached的行

选项

  • -i:忽略大小写
  • -v:打印不匹配的行

复杂示例

代码语言:javascript
复制
cat /var/log/messages | grep "Reached" -vi | tail -10
# 打印日志里没有Reached的记录的后10条

18. bc指令

简易计算器。

代码语言:javascript
复制
echo "1+3*4" | bc  # 计算字符串的结果

19. uname指令

查询系统相关信息。

选项

  • -a:打印全部信息
  • -r:内核版本+芯片架构

20. 打包压缩和文件传输

20.1 zip和unzip

压缩

代码语言:javascript
复制
zip -r 压缩完文件名 要压缩的文件
# 示例:zip -r 25-12-21.zip 25-12-21

解压

代码语言:javascript
复制
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压缩

压缩

代码语言:javascript
复制
tar czf 1.tar 25-12-21  # 将25-12-21压缩成1.tar

解压

代码语言:javascript
复制
tar xzf 1.tar -C /root  # 将1.tar解压到/root(注意C要大写)

21. Shell简介

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

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

外壳程序作用

  1. 方便用户使用系统
  2. 保护内核(拦截错误指令)
  3. 创建子进程运行命令
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 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简介
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档