当前位置: 首页 > news >正文

【Linux】Linux基本指令1

1.软件,OS,驱动

我们看看计算机的结构层次

1.1.操作系统

操作系统是一款做 软硬件管理 的软件

操作系统(计算机管理控制程序)_百度百科 (baidu.com)

操作系统(英语:Operating System,缩写:OS)是一种内置的程序,用来协作计算机的各种硬件,以与用户进行交互。常见有Windows,macOS 和开源的 Linux。

一个好的操作系统的衡量指标:稳定,快速,安全

这些东西都是由操作系统层决定的:对下通过对下管理好软硬件资源的手段,达到对上提供良好(稳定,快速,安全)的操作/使用环境

我们来理解一下我们在计算机的所有操作

  • printf->打印
  • 文件->磁盘文件写入
  • 游戏->向网络中发送数据

我们在计算机上的所有行为都会被转换为硬件行为

我们所有的软件行为都会自顶向下贯穿我们计算机的结构

即:信息按 应用软件->操作系统->设备驱动->硬件 路径进行执行

也就是所有的软件行为都和操作系统相关 

1.2.驱动 

驱动(计算机软件术语)_百度百科 (baidu.com)

驱动全称设备驱动程序,是添加到操作系统中的特殊程序,其中包含有关硬件设备的信息。此信息能够使计算机与相应的设备进行通信。

驱动程序是硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。 

1.3.软件

应用软件是在操作系统之上的

软件(按照特定顺序组织的计算机数据和指令的集合)_百度百科 (baidu.com)

软件(中国大陆及香港用语,台湾称作软体,英文:software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。

软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。

2.Linux操作的特点

Linux操作的特点:纯命令行(注:linux也有图形化界面)

因为企业里面就是命令行,所以我们只学习命令行

Windows也是命令行/图形化界面,只不过它是面对大众的,所以图形化特别有必要,而Linux专门用于企业,所以纯命令行

Windows有个对应的系统软件,叫powershell,它支持了linux命令行

我们可以在这上面输入Linux命令行

我们也可以提供win+x,再点击终端管理员也可以打开

 我们可以讨论一个问题

先有指令还是先有图形?为什么?

先有指令,所以指令更接近操作系统

键盘也比鼠标先出现

键盘字母的排序是起源打字机

 3.Linux操作指令

我们采用Linux指令和Windows界面操作的对比来学习

3.1.快速学习5条指令

3.1.1.pwd指令和ls指令

我们使用纯ls

ls

显示的是当前目录下的文件

那当前目录是什么呢?

我们可以使用指令pwd来显示当前目录

我们的当前目录可能不一样,我是root账号,你们可能是普通用户,可能是/home/xxx

上面这个操作就像下面的

我们的pwd就相当于把上面的路径复制一下,拿到搜索界面去搜

3.1.2.mkdir

我们想要在桌面建立一个文件夹,我们在windows上操作起来很简单

谁都会是吧,我就不演示了

在linux下,我们也想创建文件夹

我们需要使用

mkdir 文件名

指令和文件夹名之间要有空格(可以不是1个) 

没有空格,就会像下面一样报错 

我们怎么知道有没有成功创建呢?

我们还是使用ls指令

显然我们已经创建成功了

所以在linux操作系统下

mkdir 108_class

相当于在Windows下的

3.1.3.cd

我们创建文件夹,就是为了存为东西,我们就要进去文件夹,我们在windows可以双击进去

那linux呢?

我们可以使用cd命令

cd 文件名

 

我们怎么知道我们进去了呢?

3.1.4.touch

创建文本文件

touch 文件名

跟windows下创建一个文本文件一样

3.2.ls指令详解

它的主要作用是查看文件

语法:

ls [选项][目录或文件]

功能:对于目录,该命令列出该目录下的所有子目录与文件。

对于文件,将列出文件名以及其他信息。

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -l 列出文件的详细信息。
  • -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
  • -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别) -r 对目录反向排序。
  • -t 以时间排序。
  • -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • -R 列出所有子目录下的文件。(递归)
  • -1 一行只输出一个文件。

3.2.1.ls -l和ls -a

windows上也是可以的 ,打开powershell,自己去试试看

我们创建一个文件是要占据磁盘空间的

3.2.1.文件=文件内容+文件属性

文件的属性是数据吗?显然是

文件的操作=文件内容的操作+文件属性的操作

所以问题来了

这个ls指令是显示文件属性,只不过只显示文件名属性

ls -l显示更多文件属性

我们再看一个例子

这个信息和我们windows上面的好像啊

 

 我们知道ls就是查文件属性的,后面的选项不就明白了吗!!

注意ls -l可以简化成ll

3.2.3.选项的写法

 下面展示了多种风格的写法,它们都是等价的

 

我们看看第一列的第一个字符 

 

它代表文件的类型

  • d:的表示目录
  • -:文件是一个普通文件

.和..文件

我们注意到这个ls -la比ls -l多了一个以.开头的,还有一个以..开头的

这个.开头的代表隐藏文件 ,我们可以验证一下

我们发现我们看不到这些创建的文件

我们换ls -la就能看到这些隐藏文件了 

 ls -a显示所有的文件,包括隐藏文件

windows里面也有隐藏文件,这个就不说了,自己去看

..开头的是什么呢?

我们打开我们创建的dir1文件夹

发现里面居然已经有了.和..文件了

 Linux下,任何一个目录都有两个隐藏文件,一个.,一个..

我们可以去打开这个..文件

很明显,这是回退路径

..表示当前路径的上一级路径,即这个..代表回退,和cd的作用是相反的

 下面这个是回到上一级路径的

cd ..

.表示的是当前路径

我们可以验证一下

 

.为什么代表当前路径呢,大家在学习路径的知识的时候,肯定看过./这个

比如./Adobe Premiere Pro 2020

3.2.5.ls -d

我们在root目录下查看108_class的属性,结果却之间给我查到了108_class里面文件的属性去了

这个时候我们就可以使用ls -dl来查看了

 3.2.6.ls -F

很简单啊 

 3.3.pwd和cd指令

pwd指令就是查看当前路径

 3.3.1.cd

cd就是打开文件/目录的功能

cd 目录名

cd..是回退

 

我们再看第二条

这些路径上的斜杠(/)是路径分隔符,在linux里用/来表示

在windows里面路径分割符(\)是反斜杠

 

我们发现一直回退,发现只能回退到/这里

这个/就是linux的根目录,也就是说/是一个文件

 我们查看一下,发现里面的文件我们看不懂

我们换一个指令就明白了 

 

我们发现这个/是一个d开头的,所以他是一个文件,所以他是根目录 

在一个目录里,一个可以再放目录或者普通文件,所以linux文件结构是多叉树的结构 

它的叶子节点一定是空目录或者非目录文件,路上节点一定是一个非目录

 所以我们所有对文件或者目录的增删查改,本质都是对这棵多叉树的增删查改

我们定位一个文件用路径来定位,路径具有唯一性,因为任何结点都只有一个父节点

我们把从/开始定位到指定位置,具有唯一性的路径,叫绝对路径

 我们便可使用cd来进入特定文件

我们再看第三条

这个..是上一级目录的意思,我们使用../就是回到了当前目录的上一级目录,../day02就代表回到当前目录的上一级目录里寻找day02的文件

我们以当前所处路径为起始参照位置,来进行特定文件的定位,这种路径叫相对路径

绝对路径和相对路径
  • 绝对路径相对较长,但是不变,一般在一些固定场景,配置文件中使用
  • 一般命令行输入,比较常用相对路径

我们可以看一下网站

https://baike.baidu.com/item/Linux/27050icon-default.png?t=N7T8https://baike.baidu.com/item/Linux/27050我们只看com后面那个/item/Linux/27050,这个分隔符就是linux风格的分隔符,这就说明这个网站是用linux操作系统制作的

 我们看一下例子

 

我们看第4条

我们退出xshell,重新登陆我们的云服务器

输入下面这个指令

我们就可以很清楚的知道默认目录就是/root,而且使用whoami可以知道我们登录的账号名是什么

用户分为两种

  • 超级用户root
  • 普通用户

centos系统里面,所有的普通用户都是放在/home目录下

我们可以使用ls /home来查看普通用户 

windows的家目录

这个对应一个普通用户的家目录

windows也可以再添加用户,这个自己去搜

windows也有超级用户root,我们以管理员身份运行就是root账号运行

我们回到cd这里来

我们直接进入了登录的家目录

我们看第五条

我们看例子

这个就是返回上次访问的目录

3.4.touch指令

作用就是创建一个普通文件

语法:

touch [选项]... 文件...

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

常用选项: 

  • -a 或--time=atime或--time=access或--time=use只更改存取时间。  
  • -c  或--no-create  不建立任何文档。
  • -d 使用指定的日期时间,而非现在的时间。
  • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  • -m 或--time=mtime或--time=modify  只更改变动时间。
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t 使用指定的日期时间,而非现在的时间。

我们先看看

3.5.mkdir 

创建一个目录(文件夹)

语法:mkdir [选项] dirname...

功能:在当前目录下创建一个名为 “dirname”的目录

常用选项: -p, --parents  可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立 好那些尚不存在的目录,即一次可以建立多个目录;

我们往往是创建一个目录,但是这样子在创建深层次的目录时未免太复杂了些

我们先执行这个命令

这个是安装tree命令的

注意要root账号

安装完了之后我们就可以使用tree命令了

 

这样子文件就按树的结构显示出来了

我们回到正题

这就创建好了

3.6.rmdir指令 && rm 指令(重要): 

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。

语法:rmdir [-p][dirName]

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

常用选项:

  • -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

很好啊

我们接着看

rmdir只能删除空目录,其他的不能删除 

这个时候,只能用rm命令

rm命令可以同时删除文件或目录

语法:rm [-f-i-r-v][dirName/dir]

适用对象:所有使用者

功能:删除文件或目录

常用选项:

  • -f 即使文件属性为只读(即写保护),亦直接删除
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件

这个问我们要不要删除,我们回复y即可,n代表不想删除,普通账号可能没有这个提示

 Linux默认情况下没有回收站哦


 

我们可以把那个提示关闭

 注意一下 

目录不能删除

我们换个选项即可

 

 我们好烦这个提示,我们可以把这个提示给关了

rm -rf可以帮你

注意:没事不要执行下面这个语句

 

rm -rf /

整个操作系统都会被你删掉

 未完待续......

相关文章:

【Linux】Linux基本指令1

1.软件,OS,驱动 我们看看计算机的结构层次 1.1.操作系统 操作系统是一款做 软硬件管理 的软件 操作系统(计算机管理控制程序)_百度百科 (baidu.com) 操作系统(英语:Operating System,缩写&a…...

重学java 49 增强for

知之俞明,则行之越笃;行之愈笃,则知之愈益; —— 24.5.28 一、基本使用 1.作用: 遍历集合或者数组 2.格式: for(元素类型 变量名:要遍历的集合名或者数组名) 变量名就是代表的每一个元素 3.快捷键: 集合名或者数组名.for package …...

BUUCTF靶场[Web] [极客大挑战 2019]Havefun1、[HCTF 2018]WarmUp1、[ACTF2020 新生赛]Include

[web][极客大挑战 2019]Havefun1 考点:前端、GET传参 点开网址,发现是这个界面 点击界面没有回显,老规矩查看源代码,看到以下代码 代码主要意思为: 用get传参,将所传的参数给cat,如果catdog…...

现代信号处理11_Spectral Analysis谱分析(CSDN_20240526)

谱分析与傅里叶变换 对于一个信号,一方面可以从时域上对其进行分析,另一方面也可以从频域上对其进行认识,对信号进行频谱分析能够帮助我们了解能量在频域上的分布。 确定性信号的能量通常是有限的,而平稳随机信号的能量通常是无限…...

C#开发上位机应用:基础与实践

C#是一种流行的面向对象编程语言,常用于Windows应用程序的开发。上位机应用是一种用于监控和控制设备或系统的应用程序,通常与下位机(如传感器、执行器等)进行通信。在本文中,我们将介绍C#开发上位机应用的基础知识和实…...

话术巧妙分隔沟通效果更佳看看这个小技巧

客服回复客户咨询,如果遇到比较复杂的问题,经常会有大段的文字回复,用聊天宝的分段符功能,在需要分段的地方点击右上角的“插入分隔符”,就可以在指定位置分段,实现多段发送的目的。 前言 客服回复客户咨询…...

【Spring】设计模式(GOF)

Spring Framework在其架构和实现中广泛使用了多种GOF(Gang of Four)设计模式。这些设计模式帮助Spring解决了许多常见的软件开发问题,提高了代码的可重用性、可维护性和可扩展性。 1、工厂模式(Factory Pattern) 1.1简…...

php抖音详情和关键词搜索api

抖音详情和关键词搜索的 API 可以通过抖音提供的开放平台来获取。以下是使用 PHP 实现的示例代码&#xff1a; 获取抖音视频详情 API&#xff1a; 获取Key和secret请移步 <?php$accessToken YOUR_ACCESS_TOKEN; // 替换为自己的 access_token $itemId YOUR_ITEM_ID; /…...

SOCKS 代理 和 HTTP 代理

SOCKS 代理 和 HTTP 代理 的区别 SOCKS 代理 和 HTTP 代理 都是代理服务器&#xff0c;它们充当客户端和目标服务器之间的中介&#xff0c;但它们的工作方式和应用场景有所不同。 1. SOCKS 代理&#xff1a; 工作原理&#xff1a; SOCKS 代理是一种更底层的代理&#xff0c;…...

【Linux】自己实现一个bash进程

bash就是命令行解释器&#xff0c;就是Linux操作系统让我们看到的&#xff0c;与用户进行交互的一种外壳&#xff08;shell&#xff09;&#xff0c;当然了bash也是一个进程&#xff0c;它有时候就是通过创建子进程来执行我们输入的命令的。这无疑就离不开我们上篇博客所说的进…...

记录深度学习GPU配置,下载CUDA与cuDnn

目标下载: cuda 11.0.1_451.22 win10.exe cudnn-11.0-windows-x64-v8.0.2.39.zip cuda历史版本网址 CUDA Toolkit Archive | NVIDIA Developer 自己下载过11.0.1版本 点击下载local版本,本地安装,有2个多GB,很大,我不喜欢network版本,容易掉线 cuDnn https://developer.nvi…...

Word将表格调成合适的大小

请等待内容完善...

2024HBCPC:C Goose Goose Duck

题目描述 Iris 有 n n n 个喜欢玩鹅鸭杀的朋友&#xff0c;编号为 1 ∼ n 1∼n 1∼n。 假期的时候&#xff0c;大家经常会在群里问有没有人玩鹅鸭杀&#xff0c;并且报出现在已经参与的人数。 但是每个人对于当前是否加入游戏都有自己的想法。 具体的来说&#xff0c;对于第…...

Llama 3 模型家族构建安全可信赖企业级AI应用之使用 Llama Guard 保护大模型对话 (八)

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;一&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;二&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;三&#xff09; 基于 LlaMA…...

《一地霜白》读书笔记

1.3.6 街灯明灭&#xff0c;勾缀成行&#xff0c;为了生者与死者 “很多年过去了。回头看&#xff0c;沿着一排暗中的街灯&#xff0c;两三盏灭了&#xff0c;郁闷中有意外的欣喜&#xff1a;街灯明灭&#xff0c;勾缀成行&#xff0c;为了生者与死者。” 童年、青少年在人的…...

在Java中实现多线程之间的通信

一、技术难点 在Java中实现多线程之间的通信是一个复杂但重要的任务&#xff0c;它涉及到线程同步、数据共享和线程间协作等多个方面。以下是实现多线程通信时可能遇到的一些技术难点&#xff1a; 线程同步&#xff1a;多线程环境下&#xff0c;多个线程可能同时访问和修改共享…...

Python中的json.dump与json.dumps对比

Python中的json.dump与json.dumps对比 json.dumps()json.dump() json.dumps() dumps 是 “dump string” 的缩写。它将Python对象转换&#xff08;序列化&#xff09;为JSON格式的字符串。数据被转换为一个字符串&#xff0c;并且这个字符串可以直接被写入文件、发送到网络&am…...

【从零开始学习RabbitMQ | 第二篇】如何确保MQ的可靠性和消费者可靠性

目录 前言&#xff1a; MQ可靠性&#xff1a; 数据持久化&#xff1a; Lazy Queue&#xff1a; 消费者可靠性&#xff1a; 消费者确认机制&#xff1a; 消费失败处理&#xff1a; MQ保证幂等性&#xff1a; 方法一&#xff1a; 总结&#xff1a; 前言&#xff1a; …...

常用批处理命令及批处理文件编写技巧

一常用批处理命令 1.查看命令用法&#xff1a;命令 /? //如&#xff1a;cd /? 2.切换盘符目录&#xff1a;cd /d D:\test 或直接输入 d: //进入上次d盘所在的目录 3.切换目录&#xff1a;cd test 4.清屏:cls 5.“arp -a” //它会列出当前设备缓存中的所有…...

android NetworkMonitor记录

是否能上网的状态 上网url地址的设置&#xff1a; NetworkMonitor.java makeCaptivePortalHttpsUrls config_captive_portal_https_urls DEFAULT_CAPTIVE_PORTAL_HTTPS_URLS http准备监测 isCaptivePortal sendHttpAndHttpsParallelWithFallbackProbes httpsProbe.start();…...

OSPF优化——OSPF减少LSA更新量2

二、特殊区域——优化非骨干区域的LSA数量 不是骨干区域、不能存在虚链路 1、不能存在 ASBR 1&#xff09;末梢区域 该区域将拒绝 4、5LSA的进人&#xff0c;同时由该区域连接骨干0区域的ABR 向该区域&#xff0c;发布一条3类的缺省路由; 该区域内每台路由器均需配置&#xf…...

【AMS】Android 8.0+ 绕开启动后台Service限制

一、背景 应客户要求,需要在开机时,拉起应用A。但因为开机时,同时被拉起的应用过多,导致Launcher在开机那一刻较为卡顿。为解决这一问题,采取了延迟拉起的做法。在开机后,延迟一定时间,由系统服务,拉起应用A。 于是乎,就出现这么个报错: Not allowed to start ser…...

【多态】(超级详细!)

【多态】&#xff08;超级详细&#xff01;&#xff09; 前言一、 多态的概念二、重写1. 方法重写的规则2. 重写和重载的区别 三、多态实现的条件四、 向上转型五、动态绑定 前言 面向对象的三大特征&#xff1a;封装性、继承性、多态性。 extends继承或者implements实现&…...

vue的组件化

vue的组件化 vue的组件化&#xff0c;就是根据功能、业务逻辑、数据流向等因素进行划分把页面拆分成多个组件。组件是资源独立的&#xff0c;组件也可以相互嵌套。目的是提高代码的可读性、可维护性和可复用性。 组件化思想体现 ​ 组件封装步骤 1.公共组件 公共组件全局注…...

spark的简单学习一

一 RDD 1.1 RDD的概述 1.RDD&#xff08;Resilient Distributed Dataset&#xff0c;弹性分布式数据集&#xff09;是Apache Spark中的一个核心概念。它是Spark中用于表示不可变、可分区、里面的元素可并行计算的集合。RDD提供了一种高度受限的共享内存模型&#xff0c;即RD…...

【第5章】SpringBoot整合Druid

文章目录 前言一、启动器二、配置1.JDBC 配置2.连接池配置3. 监控配置 三、配置多数据源1. 添加配置2. 创建数据源 四、配置 Filter1. 配置Filter2. 可配置的Filter 五、获取 Druid 的监控数据六、案例1. 问题2. 引入库3. 配置4. 配置类5. 测试类6. 测试结果 七、案例 ( 推荐 )…...

力扣654. 最大二叉树

Problem: 654. 最大二叉树 文章目录 题目描述思路复杂度Code 题目描述 思路 对于构造二叉树这类问题一般都是利用先、中、后序遍历&#xff0c;再将原始问题分解得出结果 1.定义递归函数build&#xff0c;每次将一个数组中的最大值作为当前子树的根节点构造二叉树&#xff1b;…...

基于Netty实现WebSocket客户端

本文是基于Netty快速上手WebSocket客户端&#xff0c;不涉及WebSocket的TLS/SSL加密传输。 WebSocket原理参考【WebSocket简介-CSDN博客】&#xff0c;测试用的WebSocket服务端也是用Netty实现的&#xff0c;参考【基于Netty实现WebSocket服务端-CSDN博客】 一、基于Netty快速…...

homebrew安装mysql的一些问题

本文目录 一、Homebrew镜像安装二、mac安装mysql2.1、修改mysql密码 本文基于mac环境下进行的安装 一、Homebrew镜像安装 Homebrew国内如何自动安装&#xff0c;运行命令/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 会…...

产线问题排查

CPU过高 使用top命令查看占用CPU过高的进程。 导出CPU占用高进程的线程栈。 jstack pid >> java.txt Java 内存过高的问题排查 1.分析OOM异常的原因&#xff0c;堆溢出&#xff1f;栈溢出&#xff1f;本地内存溢出&#xff1f; 2.如果是堆溢出&#xff0c;导出堆dump&…...