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

MySQL:事务的理解

MySQL:事务的理解

一、CURD不加控制,会有什么问题  (1)因为,MySQL里面存的是数据,所以很有可能会被多个客户访问,所以mysqld可能一次会接受到多个关于CURD的请求。(2)且mysql内部是采用多线程来完成数据存储等相关工作的,所以必然会存在对数据并发访问的场景      ——>会导致一些多请求并发可能产生的异常结果        比如同行转账,按道理是我减100,你加100,但是因为我是同行所以用的是一张数据库的表,可能我减100的时候还没做完网络或者数据库出问题等其他原因导致没有给你加100,那么整个操作就会出现一个中间过程(我减了但是你没有加),这就有问题,在这种情况下我们允许异常产生,一旦操作没有完成我们应该把减掉的100再加回来,就好像什么都没做,等待下次合适的时候再去转账。这就相当于转账之后不要有中间过程,而是在转的时候一旦出现异常就直接进行回滚,因为不回滚的话就会有问题,必须得回滚保证和初始的状态一样,这就叫我们的回滚操作。在高并发的场景下数据或多或少都会出现这样的问题,所以这也就要求mysql必须要有针对这类问题的解决方案。 二、CURD满足什么属性,能解决上述

By Ne0inhk
华为OD机试双机位C卷:采购订单 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷:采购订单 (Py/Java/C/C++/Js/Go)

采购订单 华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 100分题型 华为OD机试双机位c卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录|机考题库 + 算法考点详解 题目描述 在一个采购系统中,采购申请(PR)需要经过审批后才能生成采购订单(PO)。每个PR包含商品的单价(假设相同商品的单价一定是一样的)及数量信息。系统要求对商品进行分类处理:单价高于100元的商品需要单独处理,单价低于或等于100元的相同商品可以合并到同一采购订单PO中。针对单价低于100的小额订单,如果量大可以打折购买。 具体规则如下: 如果PR状态为"审批通过",则将其商品加入到PO中。如果PR的状态为"审批拒绝"或"待审批",则忽略改PR。 对于单价高于100元的商品,每个商品单独生成一条PO记录。对于单价低于100元的商品,将相同商品的数量合并到一条PO记录中。 如果商品单价<100且商品数量>=100,则单价打9折。 输入描述 第一行包含整数N,

By Ne0inhk
本文介绍如何利用Trae国际版的Agent Skill功能大幅提升Java后端开发效率,特别针对Spring Cloud微服务架构,包含完整的实战案例、代码示例和最佳实践。

本文介绍如何利用Trae国际版的Agent Skill功能大幅提升Java后端开发效率,特别针对Spring Cloud微服务架构,包含完整的实战案例、代码示例和最佳实践。

如何在Trae国际版中使用Agent Skill提升Java后端开发效率 引言 对于Java后端开发者,尤其是Spring Cloud微服务架构的使用者来说,日常工作中充满了重复的样板代码编写、繁琐的配置管理和复杂的调试工作。Trae国际版的Agent Skill功能就像是为Java开发者量身打造的"瑞士军刀",能够自动化这些重复劳动,让我们专注于更有创造性的架构设计和业务逻辑实现。 本文将结合Java后端开发的实际场景,特别是Spring Cloud微服务架构,详细介绍如何使用Trae国际版的Agent Skill大幅提升开发效率。 一、Trae国际版Agent Skill简介 1.1 什么是Agent Skill Agent Skill是Trae国际版中一种模块化的AI能力扩展机制,每个Skill都是一个专注于特定领域的"智能助手"。对于Java开发者来说,这些Skill可以理解为精通Java生态的"虚拟专家",能够处理从代码生成到架构设计的各种任务。 1.2 适合Java开发者的核心Skill * Spring Boot代码生成器:快速生成符合最佳实践的Sp

By Ne0inhk
【抽奖系统开发实战】Spring Boot 项目的用户模块设计:注册登录、权限管控与敏感数据加密

【抽奖系统开发实战】Spring Boot 项目的用户模块设计:注册登录、权限管控与敏感数据加密

文章目录 * 一、注册 * 1.1 敏感字段加密 * 1.2 用户注册 * 1.3 TypeHandler * 二、控制层通用异常处理 * 三、登录 * 3.1 发送验证码 * 3.2 Redis的配置与使用 * > 核心工具类`RedisUtil` * 3.3 JWT * > JWT 令牌介绍 * > 核心工具类`JWTUtil` * 3.4 管理员登录 * 四、强制登录 * 4.1 前端处理 * 4.2 后端处理 * 五、用户管理 * 5.1 后台管理页面

By Ne0inhk