Linux(一) | 初识Linux与目录管理基础命令掌握

Linux(一) | 初识Linux与目录管理基础命令掌握

个人主页-爱因斯晨

文章专栏-Linux

在这里插入图片描述

文章目录

    • 个人主页-爱因斯晨
    • 文章专栏-Linux
    • 一、前言
      • 1.为什么学习Linux
      • 2.操作系统概述:
      • 3.常见的操作系统:
    • 二、初识Linux
      • 1.诞生
      • 2.什么是Linux内核
      • 3.常见的发行版(热门:centos,ubuntu)
    • 三、基础命令
      • 1.目录结构
      • 2. Linux命令入门
        • 2.1 Linux命令基础
        • 2.2 基础格式
        • 2.3 开关机
        • 2.4 目录操作

一、前言

1.为什么学习Linux

如果把操作系统分为两类:

个人桌面操作系统:windows,macos

服务器操作系统:Linux(开发人员必学)

2.操作系统概述:

计算机软件的一种,作为用户和计算机硬件的桥梁,调度和管理计算机硬件进行工作。

3.常见的操作系统:

windows,Linux,macos,安卓,ios,HarmonyOS

二、初识Linux

1.诞生

在这里插入图片描述

2.什么是Linux内核

组成:Linux系统内核+系统级应用程序

系统内核:调用CPU,调度内存…

系统级应用程序:可以理解为出厂自带的程序,可供用户快速上手操作

在这里插入图片描述

内核是最核心的存在,其也是开源的,任何人都可以下载源码查看并修改

3.常见的发行版(热门:centos,ubuntu)

内核是免费开源的,这就代表任何人都可以获得并修改内核,并自行集成系统级程序,提供了内核和系统级程序的完整封装,称为Linux发行版。

不同的发行版,Linux的基础命令是相同的,只是部分的操作不同

三、基础命令

1.目录结构

目录结构是一个树形结构,在Windows系统可以拥有盘符,如C盘。Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面。

在这里插入图片描述

路径描述方式:

Windows系统中,路径之间的层级关系,使用“\”

Linux系统中,使用“/’’

在这里插入图片描述

2. Linux命令入门

2.1 Linux命令基础

什么是命令

一个命令就是一个程序。命令没有图形化页面,可以在命令行提供字符画的反馈。

什么是命令行

就是终端,使用字符化命令对系统发出操作指令

2.2 基础格式

通用格式:command [-options] [-parameter]

command:命令本身

[-options]:命令的选项,控制命令的行为细节

[-parameter] :命令的参数,控制命令的指向目标

语法中,[]表示可选的意思。

例如:

在这里插入图片描述
2.3 开关机

注意:Linux中没有输出,就是成功

shutdown 关机 sync 将数据同步到硬盘中 shutdown -h 10 十分钟后关机 shutdown -h now 现在关机 shutdown -h 0:25 这个时间关机 shutdown -r now 系统立马重启 shutdown -r +10 十分钟后重启 reboot 重启 halt 关闭系统 
2.4 目录操作
ls命令

作用是列出目录下的内容,语法细节如下:

ls [-a -l -h ] [Linux路径]

-a -l -h:是可选的选项

Linux:路径是此命令的可选参数

只使用ls就是以平铺的方式列出当前目录下的内容

cd / ls ls / 一切目录下的文件,/是根目录 
在这里插入图片描述

树状目录结构:

在这里插入图片描述

以下是对这些目录的解释:

  • /bin:bin 是 Binary 的缩写,这个目录存放着最经常使用的命令。(不要删除!!)
  • /boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev:dev 是 Device (设备) 的缩写,存放的是 Linux 的外部设备,在 linux 中访问设备的方式和访问文件的方式是相同的。
  • /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  • /home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /media:linux 系统会自动识别一些设备,例如 U 盘、光驱等等,当识别后,linux 会把识别的设备挂载到这个目录下。
  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个 ORACLE 数据库则就可以放到这个目录下。默认是空的。
  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin:s 就是 Super User 的意思,这里存放的是系统管理员使用的系统管理程序。
  • /srv:该目录存放一些服务启动之后需要提取的数据。
  • /sys:这是 linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中出现的一个文件系统 sysfs。
  • /tmp:这个目录是用来存放一些临时文件的。用完就丢的文件
  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
  • /usr/bin:系统用户使用的应用程序。
  • /www : 存放服务器网站相关的资源,环境,网站的项目
在这里插入图片描述
在这里插入图片描述

这里可以看到,两边的文件,可以直接拖拽。

基本参数:

-a参数:all ,查看全部的文件,包括隐藏文件

root@VM-24-17-ubuntu:~# ls 0665f1354725765580a9f5fa1dca3178.pdf 1fef20ff65d7f03923621f8494e5877c.pdf 1eada41a4fd1d0278ef5dc7bfceea6d.jpg tee root@VM-24-17-ubuntu:~# ls -a. .bash_history .pydistutils.cfg .. .bashrc .ssh 0665f1354725765580a9f5fa1dca3178.pdf .cache tee 1eada41a4fd1d0278ef5dc7bfceea6d.jpg .pip .Xauthority 1fef20ff65d7f03923621f8494e5877c.pdf .profile 

-l参数 :列出所有文件,包含文件的属性和权限,没有隐藏文件

root@VM-24-17-ubuntu:~# ls -l total 836 -rw-r--r-- 1 root root 47262 Aug 2723:10 0665f1354725765580a9f5fa1dca3178.pdf -rw-r--r-- 1 root root 747800 Aug 2723:10 1eada41a4fd1d0278ef5dc7bfceea6d.jpg -rw-r--r-- 1 root root 52999 Aug 2723:10 1fef20ff65d7f03923621f8494e5877c.pdf drwxr-xr-x 3 root root 4096 Aug 2810:44 tee root@VM-24-17-ubuntu:~# 

命令可以组合使用

root@VM-24-17-ubuntu:~# ls -al total 876 drwx------ 6 root root 4096 Aug 2810:45 . drwxr-xr-x 24 root root 4096 Aug 2810:49 .. -rw-r--r-- 1 root root 47262 Aug 2723:10 0665f1354725765580a9f5fa1dca3178.pdf -rw-r--r-- 1 root root 747800 Aug 2723:10 1eada41a4fd1d0278ef5dc7bfceea6d.jpg -rw-r--r-- 1 root root 52999 Aug 2723:10 1fef20ff65d7f03923621f8494e5877c.pdf -rw------- 1 root root 596 Aug 2810:48 .bash_history -rw-r--r-- 1 root root 3106 Apr 222024 .bashrc drwxr-xr-x 3 root root 4096 Dec 172024 .cache drwxr-xr-x 2 root root 4096 Apr 282024 .pip -rw-r--r-- 1 root root 161 Apr 222024 .profile -rw-r--r-- 1 root root 73 Aug 2722:03 .pydistutils.cfg drwx------ 2 root root 4096 Apr 262024 .ssh drwxr-xr-x 3 root root 4096 Aug 2810:44 tee -rw------- 1 root root 122 Aug 2810:32 .Xauthority root@VM-24-17-ubuntu:~# 
cd命令,切换目录

cd 目录名 (绝对路径/开头,相对路径,堆友当前目录该如何寻找…/…)

在这里插入图片描述

cd ~是返回,根目录

pwd显示当前用户所在的目录
root@VM-24-17-ubuntu:~# cd ~ root@VM-24-17-ubuntu:~# cd /root root@VM-24-17-ubuntu:~# pwd //显示当前目录 /root root@VM-24-17-ubuntu:~# 
mkdir 创建一个目录
root@VM-24-17-ubuntu:~# ls 0665f1354725765580a9f5fa1dca3178.pdf 1fef20ff65d7f03923621f8494e5877c.pdf 1eada41a4fd1d0278ef5dc7bfceea6d.jpg tee root@VM-24-17-ubuntu:~# mkdir chen //创建chen root@VM-24-17-ubuntu:~# ls 0665f1354725765580a9f5fa1dca3178.pdf 1fef20ff65d7f03923621f8494e5877c.pdf tee 1eada41a4fd1d0278ef5dc7bfceea6d.jpg chen root@VM-24-17-ubuntu:~# 

蓝色的是文件夹

删除目录 rmdir 文件名
root@VM-24-17-ubuntu:~# ls 0665f1354725765580a9f5fa1dca3178.pdf 1fef20ff65d7f03923621f8494e5877c.pdf tee 1eada41a4fd1d0278ef5dc7bfceea6d.jpg chen root@VM-24-17-ubuntu:~# rmdir chen //删除chen root@VM-24-17-ubuntu:~# ls 0665f1354725765580a9f5fa1dca3178.pdf 1fef20ff65d7f03923621f8494e5877c.pdf 1eada41a4fd1d0278ef5dc7bfceea6d.jpg tee root@VM-24-17-ubuntu:~# 

删除层级目录:rmdir -p test2/test3

rmdir仅能删除空的目录,如果下面存在文件,应该先删除文件,递归删除多个目录,要加-p

cp复制文件或者目录
在这里插入图片描述

如果文件重复就选择覆盖

rm(移除文件或者目录)

-f 忽略不存在的文件,不会出现警告,强制删除

-r 递归删除目录!

-i 互动,删除询问是否删除

rm -rf / 系统中所有文件删除,删库跑路 
root@VM-24-17-ubuntu:/# cd /home root@VM-24-17-ubuntu:/home# ls lighthouse tt ubuntu root@VM-24-17-ubuntu:/home# rm -f tt rm: cannot remove 'tt': Is a directory root@VM-24-17-ubuntu:/home# ^C root@VM-24-17-ubuntu:/home# rm -r tt root@VM-24-17-ubuntu:/home# ls lighthouse ubuntu 
mv 移动文件或者目录,重命名文件

-f :强制

-u : 只替换以及更新过的文件

root@VM-24-17-ubuntu:/home# cd ~ root@VM-24-17-ubuntu:~# cd /root root@VM-24-17-ubuntu:~# ls 0665f1354725765580a9f5fa1dca3178.pdf 1fef20ff65d7f03923621f8494e5877c.pdf test1 1eada41a4fd1d0278ef5dc7bfceea6d.jpg te root@VM-24-17-ubuntu:~# mv test1 te/ //移动文件 root@VM-24-17-ubuntu:~# ls 0665f1354725765580a9f5fa1dca3178.pdf 1fef20ff65d7f03923621f8494e5877c.pdf 1eada41a4fd1d0278ef5dc7bfceea6d.jpg te root@VM-24-17-ubuntu:~# cd /test1 -bash: cd: /test1: No such file or directory root@VM-24-17-ubuntu:~# ls 0665f1354725765580a9f5fa1dca3178.pdf 1fef20ff65d7f03923621f8494e5877c.pdf 1eada41a4fd1d0278ef5dc7bfceea6d.jpg te root@VM-24-17-ubuntu:~# 
root@VM-24-17-ubuntu:~# ls 0665f1354725765580a9f5fa1dca3178.pdf 1fef20ff65d7f03923621f8494e5877c.pdf 1eada41a4fd1d0278ef5dc7bfceea6d.jpg te root@VM-24-17-ubuntu:~# mv te tee //重命名文件 root@VM-24-17-ubuntu:~# ls 0665f1354725765580a9f5fa1dca3178.pdf 1fef20ff65d7f03923621f8494e5877c.pdf 1eada41a4fd1d0278ef5dc7bfceea6d.jpg tee root@VM-24-17-ubuntu:~# 

Read more

【OpenClaw从入门到精通】第10篇:OpenClaw生产环境部署全攻略:性能优化+安全加固+监控运维(2026实测版)

【OpenClaw从入门到精通】第10篇:OpenClaw生产环境部署全攻略:性能优化+安全加固+监控运维(2026实测版)

摘要:本文聚焦OpenClaw从测试环境走向生产环境的核心痛点,围绕“性能优化、安全加固、监控运维”三大维度展开实操讲解。先明确生产环境硬件/系统选型标准,再通过硬件层资源管控、模型调度策略、缓存优化等手段提升响应速度(实测响应效率提升50%+);接着从网络、权限、数据三层构建安全防护体系,集成火山引擎安全方案拦截高危操作;最后落地TenacitOS可视化监控与Prometheus告警体系,配套完整故障排查清单和虚拟实战案例。全文所有配置、代码均经实测验证,兼顾新手入门实操性和进阶读者的生产级部署需求,帮助开发者真正实现OpenClaw从“能用”到“放心用”的跨越。 优质专栏欢迎订阅! 【DeepSeek深度应用】【Python高阶开发:AI自动化与数据工程实战】【YOLOv11工业级实战】 【机器视觉:C# + HALCON】【大模型微调实战:平民级微调技术全解】 【人工智能之深度学习】【AI 赋能:Python 人工智能应用实战】【数字孪生与仿真技术实战指南】 【AI工程化落地与YOLOv8/v9实战】【C#工业上位机高级应用:高并发通信+性能优化】 【Java生产级避坑指南:

By Ne0inhk
ARM Linux 驱动开发篇--- Linux 并发与竞争实验(互斥体实现 LED 设备互斥访问)--- Ubuntu20.04互斥体实验

ARM Linux 驱动开发篇--- Linux 并发与竞争实验(互斥体实现 LED 设备互斥访问)--- Ubuntu20.04互斥体实验

🎬 渡水无言:个人主页渡水无言 ❄专栏传送门: 《linux专栏》《嵌入式linux驱动开发》《linux系统移植专栏》 ❄专栏传送门: 《freertos专栏》《STM32 HAL库专栏》 ⭐️流水不争先,争的是滔滔不绝  📚博主简介:第二十届中国研究生电子设计竞赛全国二等奖 |国家奖学金 | 省级三好学生 | 省级优秀毕业生获得者 | ZEEKLOG新星杯TOP18 | 半导纵横专栏博主 | 211在读研究生 在这里主要分享自己学习的linux嵌入式领域知识;有分享错误或者不足的地方欢迎大佬指导,也欢迎各位大佬互相三连 目录 前言  一、实验基础说明 1.1、互斥体简介 1.2 本次实验设计思路 二、硬件原理分析(看过之前博客的可以忽略) 三、实验程序编写 3.1 互斥体 LED 驱动代码(mutex.c) 3.2.1、设备结构体定义(28-39

By Ne0inhk
Flutter for OpenHarmony:swagger_dart_code_generator 接口代码自动化生成的救星(OpenAPI/Swagger) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:swagger_dart_code_generator 接口代码自动化生成的救星(OpenAPI/Swagger) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 后端工程师扔给你一个 Swagger (OpenAPI) 文档地址,你会怎么做? 1. 对着文档,手写 Dart Model 类(容易写错字段类型)。 2. 手写 Retrofit/Dio 的 API 接口定义(容易拼错 URL)。 3. 当后端修改了字段名,你对着报错修半天。 这是重复劳动的地狱。 swagger_dart_code_generator 可以将 Swagger (JSON/YAML) 文件直接转换为高质量的 Dart 代码,包括: * Model 类:支持 json_serializable,带 fromJson/

By Ne0inhk
Linux 开发别再卡壳!makefile/git/gdb 全流程实操 + 作业解析,新手看完直接用----《Hello Linux!》(5)

Linux 开发别再卡壳!makefile/git/gdb 全流程实操 + 作业解析,新手看完直接用----《Hello Linux!》(5)

文章目录 * 前言 * make/makefile * 文件的三个时间 * Linux第一个小程序-进度条 * 回车和换行 * 缓冲区 * 程序的代码展示 * git指令 * 关于gitee * Linux调试器-gdb使用 * 作业部分 前言 做 Linux 开发时,你是不是也遇到过这些 “卡脖子” 时刻?写 makefile 时,明明语法没错却报错,最后发现是依赖方法行没加 Tab;想提交代码到 gitee,记不清 git add/commit/push 的 “三板斧”,还得反复搜教程;用 gdb 调试程序,输了命令没反应,才想起编译时没加-g生成 debug 版本;甚至连写个进度条,都搞不懂\r和\n的区别,导致进度条乱跳…… 其实这些问题,

By Ne0inhk