一、Linux 基本命令概览

        以下是一些常用的Linux命令操作,后续我们会对其每个单独如何使用进行讲解。

操作类型

常用命令示例

文件/目录操作

ls, cd, cp, mv, rm, mkdir, rmdir

查看文件内容

cat, less, more, head, tail

查找操作

find, grep, locate, which

权限管理

chmod, chown, chgrp

软件安装

apt, yum, dnf, zypper, snap, flatpak

系统管理

ps, top, htop, df, du, free, uptime

用户管理

adduser, passwd, su, sudo, whoami

网络管理

ping, ifconfig, ip, curl, wget

打包压缩

tar, gzip, zip, unzip


二、Linux命令行基础操作

1、pwd命令

pwd 是 “Print Working Directory” 的缩写,显示当前用户所在的路径

pwd/root

路径的类型:绝对路径和相对路径

1. 绝对路径
  • 从根目录 / 开始

  • 不依赖于当前工作目录

cd /etc
cd /home/user/Documents
pwd
/Users/junye/Desktop #绝对路径
2. 相对路径
  • 相对于当前工作目录

  • 更灵活但可能不直观

  • 常见相对路径符号:

符号

含义

.

当前目录

..

上一级目录

~

当前用户主目录

-

上一个访问的目录


2、 ls命令

        ls 是 Linux 中最常用的命令之一,用于列出目录中的文件和子目录,类似于 Windows 中的“查看文件夹内容”。

 显示当前路径下的文件或者目录名称

[root@iZwz9b70mwpeltilcusk8bZ ~] ls
Linux_commands

最常用选项整

命令

功能说明

ls

显示当前目录下的文件名(按列排布)

ls -l

详细信息(long format),显示权限、拥有者、大小等

ls -a

显示所有文件,包括以.开头的隐藏文件

ls -h

与 -l 一起使用,显示人类可读的文件大小(如 KB, MB)

ls -t

修改时间排序,最新的排最上面

ls -r

倒序排列(与其他排序一起使用)

ls -S

文件大小排序(默认从大到小)

ls -d */

只列出目录

ls -R

递归列出所有子目录内容

ls --color=auto

显示彩色输出(区分目录、可执行文件等)

ls -lh

常用组合:详细信息 + 人类可读大小

ls -alh

显示全部文件,详细信息,大小可读 —— 最常用组合之一!


拓展:配合通配符使用

ls *.txt          # 显示所有 txt 文件
ls dir*/          # 显示所有以 dir 开头的目录
ls [a-z]*.sh      # 显示以小写字母开头的 .sh 文件


3、cd 切换目录

        cd 是 “change directory” 的缩写,用于切换当前工作目录,即进入另一个文件夹。

cd ..         # 返回上一级
cd ./folder   # 进入当前目录下的 folder
cd ~/Desktop  # 进入用户的桌面目录
cd -          # 回到上一个工作目录

命令

功能说明

cd

切换到当前用户的主目录(/home/用户名)

cd ~

同上,~ 代表主目录

cd /path/to/dir

切换到指定的绝对路径目录

cd ..

切换到上一级目录

cd .

停留在当前目录(通常用于命令测试)

cd -

返回上一次所在的目录

cd ~/Downloads

切换到主目录下的 Downloads 子目录

cd ../folder

相对于当前目录,切换到上级目录的 folder 子目录

注意事项:
  1. cd 只能进入“目录”,不能进入“文件”。

  2. 如果目录不存在,会提示错误:

  3. 如果路径中带有空格,需加引号或用转义符:

cd "My Documents"
cd My\ Documents
  • 根目录 / 是文件系统的起点

  • 所有文件、目录、设备等都从 / 派生

  • 每个目录可能包含子目录或文件,构成一棵

Linux 文件系统的典型目录树结构(简化图)

/
├── bin/           # 系统基本命令,如 ls、cp、mv 等
├── boot/          # 引导系统所需的文件,如 vmlinuz、grub 等
├── dev/           # 设备文件,如硬盘、终端、U盘等
├── etc/           # 系统配置文件,如 passwd、hosts
├── home/          # 普通用户的主目录(如 /home/zhang)
│   ├── user1/
│   └── user2/
├── lib/           # 系统运行的共享库(.so 文件)
├── media/         # 自动挂载外部设备(U盘、光盘)
├── mnt/           # 手动挂载用的挂载点
├── opt/           # 可选的第三方软件
├── proc/          # 虚拟文件系统,存储进程和内核信息
├── root/          # 超级用户 root 的主目录
├── run/           # 系统运行时的临时文件
├── sbin/          # 系统管理员用的命令,如 reboot、mount
├── srv/           # 提供服务相关的数据
├── sys/           # 内核相关的系统信息(虚拟文件系统)
├── tmp/           # 临时文件目录,重启后自动清空
├── usr/           # 二级程序目录(用户安装的程序)
│   ├── bin/       # 一般用户可执行程序
│   ├── lib/       # 程序库
│   └── share/     # 共享资源
├── var/           # 经常变化的数据,如日志、缓存、邮件
└── (其他可能目录,如 swap, lost+found, etc.)


Linux文件目录
  • 可以将 / 理解为 “C盘根目录”,但 Linux 只有一个树状结构,没有 C:/ D:/。

  • 所有磁盘、U盘、网络挂载都会作为一个“目录”挂载到树上。例如:

  • /etc

    ├── apache2

    │   ├── apache2.conf

    │   └── sites-available

    ├── bash.bashrc

    ├── hostname

    └── network


  • Linux 的文件系统是树结构,从根 / 开始向下展开

  • 没有 Windows 的盘符(C:\ D:\),所有设备都挂载在树的某个位置

  • 通过路径+文件名访问具有唯一性

  • 熟悉 /etc/、/home/、/usr/、/var/ 等核心目录非常关键

  • 使用 tree 命令可以更清晰地查看结构

Linux 下载tree 命令

        下载tree 利用sudo权限

#输入
sudo yum install tree

        如果在root权限下直接利用yum即可

yum install -y tree
Macos 下载tree命令

        利用homebrew 来安装tree

brew install tree

    4. touch创建文件

    1. 创建空文件

    2. 修改文件的访问时间(atime)和修改时间(mtime)

    3. 如果文件不存在就创建它,如果文件存在则更新时间戳

    touch file.txt                  # 创建空文件
    
    1、利用touch创建cpp文件
    touch test.cpp

    然后利用 vim查看并修改文件

    vim test.c

    shift+:输入i进入修改模式,写一个简单的c++脚本,hello world!

    然后利用 g++ 或者 clang++ 进行文件的编译输出一个后缀为.out的文件

    g++ test.cpp -otest.out

    然后运行test.out文件。

    ./test.out 

    输出描述:

    hello world!


    2、创建多个文件:
    touch a.txt b.txt c.txt

     3. 更新文件的时间戳(不更改内容)
    touch existing.txt

    这个命令会把 existing.txt 的“最后访问时间”和“最后修改时间”更新为当前时间,但不更改内容

    4. 设置特定时间(使用 -t 选项)

    touch -t 202501010000 file.txt

    表示将时间设置为:2025 年 1 月 1 日 00:00

    5. 不创建文件,只修改已有文件的时间(使用 -c)
    touch -c file.txt

    6、常用选项

    选项

    含义说明

    -c

    不创建文件(如果不存在)

    -a

    只改变访问时间(atime)

    -m

    只改变修改时间(mtime)

    -t [[CC]YY]MMDDhhmm[.ss]

    指定时间

    -r 文件名

    复制另一个文件的时间戳

    选项

    含义说明

    -c

    不创建文件(如果不存在)

    -a

    只改变访问时间(atime)

    -m

    只改变修改时间(mtime)

    -t [[CC]YY]MMDDhhmm[.ss]

    指定时间

    -r 文件名

    复制另一个文件的时间戳

    5. mkdir 创建目录

    5、mkdir 的基本语法

    1. 创建单个目录
    mkdir [选项] 目录名
    2. 一次创建多个目录

    mkdir dir1 dir2 dir3
    3. 创建嵌套目录(推荐使用 -p 选项)

            加上 -p,如果父级目录不存在,它会一并创建。

    mkdir -p parent/child/grandchild
    4. 使用绝对路径或相对路径创建目录
    mkdir /home/user/newdir       # 绝对路径
    mkdir ./newdir                # 当前目录下创建
    mkdir ../siblingdir           # 在上一级目录中创建
    5. 常用选项

    选项

    含义

    -p

    创建多层目录结构,如目录已存在则不报错

    -v

    显示每个被创建的目录名称(verbose 模式)

    -m

    设置目录权限(mode)



    6、Linux 文件的三种时间戳

    时间戳类型

    含义

    英文缩写

    可用命令查看

    修改时间

    文件内容被更改的时间

    mtime

    ls -l or stat

    访问时间

    文件被读取(或执行)时的时间

    atime

    stat

    状态改变时间

    文件的元数据(权限、所有者等)改变的时间

    ctime

    stat

    1️⃣ 修改时间(mtime)
    • 表示文件内容被更改的时间。

    • 举例:使用 vim 或 echo >> 修改了文件内容,mtime 会被更新。

    • 常用于:判断文件是否有被修改

    • 查看方式:

    ls -l file.txt
    # 或者
    stat file.txt
    2️⃣ 访问时间(atime)
    • 表示文件"被访问(读取)"的时间。

    • 举例:使用 cat, less, vim 打开文件,只要读取了内容,就会更新 atime。

    • 注意:为了性能,有些系统会禁用 atime 自动更新(尤其是 SSD),可通过挂载参数查看或设置。

    • 查看方式:

    stat file.txt
    3️⃣ 状态改变时间(ctime)

            表示文件的元信息被修改的时间(比如权限、所有者、链接数等),不是内容!

    • 举例:

      • chmod, chown, mv 等更改元数据都会更新 ctime, 但不一定修改了内容.

    • 不能手动更改 ctime(除非重新写入或使用特殊工具)。

    • 查看方式:

    stat file.txt

    7、为什么时间戳那么重要?

             1. 自动化备份与同步工具的依据
    • 工具如 rsync, make, cron, tar 等都会根据 mtime 判断文件是否需要重新复制、打包或编译

    • 举例:rsync 默认会比较源文件和目标文件的 mtime。

             2. 日志分析与审计
    • 可以分析某个文件最近是否被访问(atime),或者是否改动(mtime)。

    • 系统安全人员经常会查看是否有非法访问。

            3. 性能优化和 SSD 生命周期
    • atime 更新频繁,对 SSD 磁盘有写损耗。

    • 因此许多 Linux 系统用 noatime 或 relatime 挂载选项减少写操作。

           4、touch 对时间戳的控制

    命令示例

    效果

    touch file.txt

    同时更新 atime 和 mtime 为当前时间

    touch -a file.txt

    仅更新 atime

    touch -m file.txt

    仅更新 mtime

    touch -t 202501011200 file.txt

    手动指定 atime 和 mtime

    touch -r another.txt file.txt

    把另一个文件的时间戳复制过来

            

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
    如若转载,请注明出处:http://www.pswp.cn/news/917011.shtml
    繁体地址,请注明出处:http://hk.pswp.cn/news/917011.shtml
    英文地址,请注明出处:http://en.pswp.cn/news/917011.shtml

    如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    cs336 assignment1 作业环境配置

    代码结构 所有的代码写到cs336_basics/* 下面,在adapters.py里调用自己的.py,通过所有的test。 作业资料参考 karpathy视频仓库: 视频 github仓库 测试项目运行环境 下载uv uv官网仓库 使用命令: powershell -ExecutionPoli…

    YOLOv11来了,使用YOLOv11训练自己的数据集和推理(附YOLOv11网络结构图)

    文章目录前言一、YOLOv11代码下载地址1.YOLOv11模型结构图二、数据集准备1.数据集标注软件2.voc数据集格式转换3.数据集划分4.修改yolo的训练配置文件三、YOLO环境配置教程1.pytorch环境安装2.其他依赖安装四、YOLOv11训练五、YOLOv11推理六、解决训练过程中断怎么继续上次训练…

    20250731在荣品的PRO-RK3566开发板的Android13下跑通敦泰的FT8206触控芯片

    20250731在荣品的PRO-RK3566开发板的Android13下跑通敦泰的FT8206触控芯片 2025/7/31 17:48缘起:本文前置条件:已经解决FT8206和PRO-RK3566的硬件连接。 通过i2cdect可以扫描到i2c从机地址:0x38。【8位地址为0x70】缘起:本文只分析…

    异常检测:算法分类及经典模型概览

    第一部分:异常检测的核心概念 在深入算法细节之前,理解异常检测的“语境”至关重要。 1. 什么是异常检测? 异常检测(Anomaly Detection 或 Outlier Detection)旨在通过数据挖掘技术,识别出数据集中与大多数…

    技术干货 | 矢网DTF测量技术:透视线缆、天线与波导内部缺陷的“射频X光”(二)

    无线通信、雷达等领域中,射频组件与传输系统的性能至关重要,其内部微小损伤易导致信号问题甚至系统失效。传统测试无法精确定位故障点,排查困难。DTF测量,矢网赋予的“透视眼”!它能穿透“黑箱”,精确定位线…

    【[CSP-J 2022] 上升点列】

    题目 [CSP-J 2022] 上升点列 题目描述 在一个二维平面内,给定 n 个整数点 (x i ,y i​ ),此外你还可以自由添加 k 个整数点。 你在自由添加 k 个点后,还需要从 nk 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间…

    Kong API Gateway的十年进化史

    一、技术基因的诞生(2007-2015) 2007年,三位意大利开发者Augusto Marietti、Marco Palladino和Michele Orru在博洛尼亚的一个小车库中创立了Mashape公司。 最初他们开发了一个名为Mashup的API聚合平台,试图通过整合第三方API为开发…

    蓝牙设备配对:从机发现主机全过程

    在蓝牙 paging 过程中,从设备(Slave)是通过特定的扫描机制和跳频方式来发现主设备发送的 ID 包的,具体过程如下:从设备处于特定扫描模式:从设备需要处于 Page Scan 模式,才能够接收主设备发送的…

    聚观早报 | 三星获特斯拉AI芯片订单;小米16首发成安卓最强SOC;iPhone 17 Pro支持8倍光学变焦

    聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。整理丨肖羽7月29日消息三星获特斯拉AI芯片订单小米16首发成安卓最强SOCiPhone 17 Pro支持8倍光学变焦宁德时代滑板底盘公司启动首轮融…

    Gemini Fullstack LangGraph Quickstart(DeepSeek+Tavily版本)

    文章目录参考资料说明Gemini Fullstack LangGraph QuickstartDeepSeek Fullstack LangGraph Quickstart项目部署完整源码地址后端部署前端部署参考资料 DeepResearch应用开发实战网盘课件资料 说明 本文仅供学习和交流使用,感谢赋范社区相关老师的辛苦付出&#…

    钢筋计数误差↓78%!陌讯多模态融合算法在建筑地产AI质检的落地实践

    ​摘要​​针对建筑地产行业钢筋验收场景的高误差痛点,本文解析陌讯视觉算法的多模态融合架构如何实现毫米级精度目标检测。实测显示:在Jetson Xavier NX边缘设备上,钢筋计数mAP0.5达​​92.4%​​,较基线模型提升28个百分点&…

    负载均衡 LoadBalance

    问题引入 我们一个服务可能会进行多机部署,也就说多台服务器组成的集群共同对外提供一致的服务,那么我们的微服务的代码就需要拷贝多份,部署到不同的机器上。 我们使用 IDEA 来开启多个相同的服务 这里以 product-service 为例:…

    13. 若依框架中的 Sensitive 敏感字段过滤

    若依框架中有Sensitive注解,但代码中并未使用,但该注解的实现还是比较值的学习的。该注解是一个运行时注解该注解只能应用在字段上JacksonAnnotationsInside 表示当使用Jackson序列化时,Jackson会自动识别该注解下的其他Jackson相关注解&…

    git本地仓库,工作区和暂存区的知识

    一 git工作原理 Git 的工作原理基于分布式版本控制,通过管理文件的不同版本状态,实现代码的追踪、协作和回溯。除了常见的工作区(Working Directory) 和暂存区(Staging Area/Index),核心还包括本…

    MPU6050模块

    一:MPU6050简介输出一个随姿态变化而变化的电压,想要量化电压,就得使用ADC转化欧拉角偏航角(Yaw):也叫航向角,通常是绕 z 轴旋转的角度,以 x 轴正向为起始边,旋转后 x 轴…

    jvm的栈和堆

    在 JVM 中,栈(Stack)和堆(Heap)是两种核心内存区域,用于存储不同类型的数据,它们的设计和存储规则有明确区分,主要体现在存储内容、生命周期和管理方式上:一、栈&#xf…

    自动驾驶车辆的敏捷安全档案

    简介近年来,在开发安全关键软件时,敏捷开发方法的使用日益增多。敏捷方法非常适合自动驾驶汽车软件的增量改进、运行设计域的逐步扩展以及新型智能路侧单元的开发。由于车辆和智能路侧单元的预期改进,未来几年将会有新的自动驾驶车辆试验。因…

    【时时三省】(C语言基础)动态内存分配与它的指针变量

    山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省什么是内存的动态分配全局变量是分配在内存中的静态存储区的,非静态的局部变量(包括形参)是分配在内存中的动态存储区的,这个存储区是一个称为栈…

    SpringMVC的核心架构与请求处理流程

    Spring MVC 核心架构核心组件组件作用类比DispatcherServlet前端控制器,统一接收请求并协调各组件处理一个餐厅的前台HandlerMapping根据请求URL映射到对应的处理器(Controller)路由表HandlerAdapter执行处理器方法,处理参数绑定、…

    css 不错的按钮动画

    效果图wxml <view class"{{status?active:}}"><view class"up-top btn"><text>向上</text></view><view class"up-left btn"><text>向左</text></view><view class"up-center b…