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

Linux的基本命令的使用

在这里插入图片描述

文章目录

  • 一、初识Linux
    • Linux目录结构
  • 二、如何拥有一个Linux环境?
  • 三、Linux命名
    • Linux命令基础
    • ls
    • cd pwd
    • 特殊路径符
    • clear
    • mkdir
    • touch cat more
    • cp mv rm
    • su
    • which find
    • grep wc 管道符
    • ehco tail 重定向符
    • ps
    • netstat
    • vi vim

一、初识Linux

我们的计算机由硬件和软件两部分组成,操作系统是软件的一类,主要作用是协助用户调度硬件工作,充当用户和计算机硬件之间的桥梁。
常见的操作系统有:
PC端:Windows、Linux、MaxOS
移动端:Android、IOS、鸿蒙系统

Linux的诞生:Linux是由林纳斯 托瓦兹在1991年创立并发展至今成为服务器操作系统领域的核心系统。

Linux的组成:Linux系统内核(内核提供最核心的功能,如:调度CPU,调度内存,调度文件系统,调度网络通讯,调度IO等),系统应用程序(可以理解为出厂自带程序,供我们用户快速上手操作系统,如文件管理器、任务管理器、图片查看等)

Linux系统发行版:内核无法被用户直接使用,需要配合应用程序才能被用户使用,在内核之上,封装系统应用程序,组合在一起就称之为Linux发行版

什么是图形化操作,什么是命令行操作?
图形化操作是指使用操作系统附带的图形化页面,以图形化的窗口形式获得操作反馈,从而对操作系统进行操作,使用
命令行操作是指使用各种命令,以文字字符的形式获得操作反馈,从而对操作系统进行操作,使用(我们Linux操作系统使用的是命令行形式,因为Linux操作系统的图形化页面不好用且不稳定,使用命令行的形式操作更加高效且稳定资源占用低)

Linux目录结构

Linux的目录结构是一个树型结构
Windows系统可以拥有多个盘符,如C,D,E盘
在这里插入图片描述
Linux没有盘符这个概念,只有一个根目录 /,所有的文件都在它下面
在这里插入图片描述
在Linux系统中,路径之间的层级关系,使用:/表示
在Windows系统中,路径之间的层级关系,使用:\来表示
在这里插入图片描述
出现在开头的 /表示根目录,出现在后面的/表示层次关系

二、如何拥有一个Linux环境?

1.使用虚拟机
在你的电脑上装个虚拟机软件(使用软件模拟硬件),就能在虚拟机上装系统了,但是没有外网ip,bug较多,不太推荐
2.使用物理机
直接将linux装在电脑上安装windows,但是Linux桌面使用起来不友好,这个操作难度比较大也不太推荐
3.使用wsl
windows内置了linux内核,近几年windows搞得新功能,但是技术不够成熟不能作为生产环境,这里也不太推荐
4.使用云服务器(强烈推荐)
我们可以直接在腾讯云、阿里云、华为云厂商直接购买一个云服务器,我们就有了外网ip,当我们把项目部署上去之后,就可以被外面访问到了

如果你是学生购买服务器优惠力度极大,阿里云学生认证还可以免费领取几个月
在这里插入图片描述
大家需要注意的是,我们在购买服务器时,机房选离自己比较近的,系统镜像选择centos 7,该发行版是市面上比较流行的
在这里插入图片描述
点进去就能看到自己的机器,然后会提供一个公网ip,如果是首次使用需要设置一个密码,现在我们就有了三个信息:ip、用户名(root)、密码,我们就可以使用这三个信息在终端就行登录了,我们这里的终端工具使用的是xshell
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里我们的邮箱填写自己的,然后选择两者(终端 + 图形化),然后点击下载就会将下载链接发到自己的邮箱了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看到这个命令提示符,证明我们连接成功了

三、Linux命名

Linux命令基础

命令行:即Linux终端(Terminal),是一种命令提示符页面,可以使用各种字符化命令对系统发出操作指令
命令:即Linux程序。一个命令就是一个Linux程序,在命令行提供字符化的反馈
在这里插入图片描述
Linux,命令通用格式:

 command [-options] [parameter]

command:命令本身
-options:[可选,非必填]命令的一些选项,可以通过选项来控制命令的行为细节
parameter:[可选,非必填]命令的参数,多用于命令的指向目标等
语法中[]代表可选的意思

ls

ls命令的作用是列出目录下的内容

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

当我们不使用选项和参数时,直接使用ls时,以平埔的方式列出当前目录下的内容
在这里插入图片描述
我们直接输入ls命令,列出当前工作目录下的内容。

-a选项,表示all,即列出全部文件(包含隐藏的文件/文件夹)
在这里插入图片描述
图中以 .开头的,表示的是Linux系统中隐藏的文件/文件夹

-l选项,表示以列表的形式展示内容,展示更多信息
在这里插入图片描述
我们经常使用 ll 代替 ls -l

我们语法中的选项是可以组合使用的,比如 -a -l

 ls -l -als -lals -al

上述三种写法都是一样的,同时应用 -a -l的功能

-h的作用是列出文件的大小,K、M、G,-h必须搭配-l一起使用,因为-l才会列出文件大小的属性
在这里插入图片描述

cd pwd

cd(Change Directory)命令,更改当前所在的工作目录

 cd [Linux路径]

cd无需选项,只有参数,表示切换到那个目录下,如果cd直接执行不写参数,root用户之间切换到root工作目录,其他用户回到HOME目录

在这里插入图片描述
我们在使用cd的时候,切换的路径不一定要一个一个字母输入,可以使用tab键不全,如果只有一个匹配的选项直接就补全了,如果有多个选项,双击tab列出所有匹配结果
pwd(Print Work Directory):查看当前工作目录
在这里插入图片描述

特殊路径符

绝对路径与相对路径:
绝对路径:以根目录为起点描述路径的一种写法,以 /开头
在这里插入图片描述
相对路径:以当前目录为起点,描述路径的一种写法,无需/开头
在这里插入图片描述
如果我们目录想要回退一级,如何做?我们可以使用cd,直接回到初始目录,也可以使用特殊路径符来完成
特殊路径符:

    .    表示当前目录..   表示上一级目录~    表示初始目录

在这里插入图片描述
大家需要注意 cd 和特殊路径符之间是有空格的

clear

clear:清空Linux终端的命令,主要是为了解决终端命令太多了清除一下,其实ctrl + l也是可以做到该功能的
在这里插入图片描述
在这里插入图片描述

mkdir

mkdir(Make Directory):创建新的目录

 mkdir [-p] Linux路径

参数是必填的,表示Linux路径,即要创建文件的路径,-p可选表示自动创建不存在的父目录,适用于我们创建连续多层级的目录
在这里插入图片描述
我们来试着创建一个多级目录
在这里插入图片描述
这样创建多级目录会报错,因为snut不存在,所以无法创建zd,我们可以通过-p选项,将整个目录全部创建
在这里插入图片描述
大家需要注意:创建文件夹需要限权问题,如果你不是root用户,请确保操作在HOME目录内,否则会创建失败

touch cat more

touch:创建文件

 touch Linux路径

在这里插入图片描述
大家也可以通过颜色来分别目录和文件 ,也可以通过ls -l去判断,d开头是文件夹,-是文件
在这里插入图片描述
cat:查看文件内容

  cat Linux路径

在这里插入图片描述
cat是直接将文件内容全部显示出来,more支持翻页,如果文件内容过多,可以一页页的展示
more:查看文件内容

 more Linux路径

在这里插入图片描述
我们可以查看一个系统文件,再查看过程中,按空格翻页,按q退出查看

cp mv rm

cp(Copy):用于复制文件\文件夹

 cp -r 参数1 参数2

-r用于复制文件夹使用,表递归,参数1表示被复制的文件或文件夹,参数2表示要复制去的地方
在这里插入图片描述
在这里插入图片描述
当我们之间复制文件夹时报错了,需要加上-r选项
在这里插入图片描述
mv(move):用于移动文件\文件夹

 mv 参数1 参数2

参数1表示被移动的文件或文件夹,参数2表示要移动的地方,如果目标不存在则进行改名
在这里插入图片描述
rm(remove):用于删除文件、文件夹

 rm [-r -f] 参数1 参数2 ... 参数n

-r用于删除文件夹,-f(force)强制删除(不会弹有提示确认信息),普通用户删除不会弹所以用不到,root用户删除会有提示,多个参数表示删除的多个文件、文件夹,使用空格隔开
在这里插入图片描述
rm命令支持通配符*(匹配任何内容,包含空)来做模糊匹配:
test* 代表匹配任何以test开头的内容
*test 代表匹配任何以test结尾的内容
*tets* 代表匹配任何包含test的内容

rm是一个极其危险的命令,特别是处于root(超级管理员)时,谨慎使用

su

su - 切换用户

 su - root 表示切换到root用户,需要输入密码

按exit命令退回普通用户

which find

大家需要注意我们在前面学习的这么多命令,实际上他们都是一个个二进制可执行程序,和windows中的.exe文件是一个意思,我们可以通过which命令,查看一系列命令程序文件存放在那里

 which 要查找的命令

在这里插入图片描述
find:按文件名查找文件
在这里插入图片描述
跟windows的该功能一致

 find 起始路径 -name "被查找文件名"

在这里插入图片描述
同样find命令,支持使用通配符*做模糊查询

find:按文件大小查询文件

 find 起始路径 -size +|-n[KMG]

+、-表示大于小于,n表示数字大小,KMG表示单位,kb,MB,GB
在这里插入图片描述

grep wc 管道符

grep:从文件中通过关键字过滤文件行

 grep [-n] 关键字 文件路径

选项-n显示匹配结果行的行号,关键字建议使用""(防止有特殊符号)包围起来,文件路径可作为内容输入端口
在这里插入图片描述
wc:统计文件行数,单词数量等

 wc [-c -m -l -w] 文件路径

-c统计bytes数量,-m统计字符数量,-l统计行数,-w统计单词数量,文件路径可以作为内容输入端口
在这里插入图片描述
管道符 | :将管道符左边命令的结果,作为右边的输入
在这里插入图片描述

ehco tail 重定向符

echo:在命令行输出指定内容,和print比较类似,建议将内容使用""包围

 echo 输出内容

在这里插入图片描述
反引号` : 被反引号`包围的字符会当作命令执行
在这里插入图片描述
重定向符: > 将左侧命令的结果,覆盖写入到右侧指定文件中,>>将左侧命令的结果,追加写到右侧指定文件中
在这里插入图片描述
tail: 查看文件尾部内容,跟踪文件的最新更改

 tail [-f -num] Linux路径

路径表示跟踪的文件路径,-f表示持续跟踪,-num填入具体数字,查看尾部多少行,默认是10行
在这里插入图片描述
在这里插入图片描述
我们来加入-f试一下
在这里插入图片描述
我们发现持续追踪后,程序一直在运行没有结束
在这里插入图片描述
我们复制一个会话写入内容
在这里插入图片描述
我们的持续追踪立马就显示了内容,那我们如何结束持续追踪呢,按Ctrl + C
在这里插入图片描述

ps

ps:用于查看当前系统上运行的进程

 ps [-a -u -x]

-a 显示一个终端的所有进程,-u以用户为主的格式来显示程序状况,-x显示所有程序,不以终端机来区分

在这里插入图片描述

 ps aux | grep "进程名"ps aux | grep "进程id"

netstat

netstat:查看系统上的网络状态

 netstat [-a -n -p]

-a 显示所有正在或不在侦听的套接字,-n显示数字像是地址而不是去解析主机、端口或用户名,-p显示套接字所属进程的PID和名称

 netstat -anpnetstat -anp | grep "进程名"netstat -anp | grep "端口号"

vi vim

vi\vim是visual interface的简称,是Linux最经典的文本编辑器,vim是vi的加强版,兼容vi的所有指令,不仅能编辑文本,还具有shell程序编辑的功能,可以根据不同颜色的字体辨别语法的正确性
在这里插入图片描述
vi\vim编辑器有三种工作模式:
命令模式(Command mode): 所有按键编辑器都理解为命令,驱动执行不同功能,在此模式下不能自由进行文本编辑
输入模式(Insert mode): 所谓的编辑模式,插入模式,在此模式下可以对文件进行自由编辑
底线命令模式(Last line mode): 以: 开始,通常用于对文件的保存、退出

 vim 文件路径

如果文件路径不存在,会编辑新文件。如果文件存在,编辑已有文件
快速入门:
1.输入 vim test1.txt,编辑一个新文件,执行后进入的是命令模式
2.在命令模式下按i,进入插入模式
3.在输入模式下输入:hello vim
4.输入完成后,按Esc回退到命令模式
5.在命令模式下,按: 进入底线命令模式
6.在底线命令模式输入 :wq,保存文件并退出vim编辑器
在这里插入图片描述

在这里插入图片描述
进入命令模式,按i进入输入模式
在这里插入图片描述
输入hello vim
在这里插入图片描述
按Esc退出插入模式
在这里插入图片描述
在命令模式按:进去底线命令模式,输入:wq保存并退出
在这里插入图片描述
底线命令模式命令:

命令作用
:wq保存并退出
:q退出
:q!强制退出
:w保存
:set nu显示行号
:set paste设置粘贴

相关文章:

Linux的基本命令的使用

文章目录一、初识LinuxLinux目录结构二、如何拥有一个Linux环境?三、Linux命名Linux命令基础lscd pwd特殊路径符clearmkdirtouch cat morecp mv rmsuwhich findgrep wc 管道符ehco tail 重定向符psnetstatvi vim一、初识Linux 我们的计算机由硬件和软件两部分组成&…...

RecycleView小结

RecycleView四级缓存 一级缓存:用于存放当前屏幕可显示区域的ViewHolder,目的是为了方便更新数据,以及对View操作时更加快捷二级缓存:用于缓存最近滑动出屏幕的ViewHolder,目的是为了当用户将该View滑出屏幕外时又突然…...

【Python】如何实现Redis构造简易客户端(教程在这)

文章目录前言一、准备二、原理剖析三、编写简易Redis客户端总结前言 Redis 是我们在开发过程中经常会用到的内存数据库,尤其是在Python的第三方模块Redis-py的支持下,在Python中使用Redis及其方便。 但是在有些情况下,我们无法使用像Redis-…...

326. 3 的幂 ——【Leetcode每日一题】

326. 3 的幂 给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。 整数 n 是 3 的幂次方需满足:存在整数 x 使得 n3xn 3^xn3x。 示例 1: 输入:n 27 …...

UE4 Sequence学习

1.常用轨道 1.1 Camera轨道 Camera轨道可以理解为Camera Cuts轨道和Camera Actor轨道,一般点击Sequencer上的摄像机图标可以自动创建: Camera Cuts轨道,可以进行不同相机机位的切换,一般会随着Camera Actor轨道自动创建&#x…...

总结MySQL、Redis的优化措施与使用 mysql_upgrade升级数据结构

目录 一.MySQL数据库优化 二.Redis优化 三.MySQL创建测试账号报错 一.MySQL数据库优化 遵循MySQL层优化的五个原则: 减少数据访问,返回更少的数据,减少交互次数减少服务器CPU开销,利用更多资源。理解SQL优化原理并进行SQL优化&#xff0c…...

C++11线程库

C11线程库 本质是对不同平台的线程库进行封装。因为windows和linux下各有自己的接口,这使得代码的可移植性比较差。C11中最重要的特性就是对线程进行支持了,使得C在并行编程时不需要依赖第三方库,而且在原子操作中还引入了原子类的概念。要使…...

智能化生产,提高效率!使用关键词采集工具助力企业数字化转型

关键词采集工具在企业数字化转型中的优势和作用进行阐述。 随着信息技术的不断发展,企业数字化转型已经成为了企业发展的必然趋势。 对于各种规模的企业而言,数字化转型可以提升企业的生产效率、降低成本、提高产品质量等方面带来更多的发展机遇。 而关…...

浅谈自动化测试用例创建和文档

通过自动创建测试用例和文档,探索自然语言处理 (NLP) 在革新软件测试方面的变革力量。 技术的快速发展导致对高效和有效的软件测试方法的需求增加。该领域最有前途的进步之一是自然语言处理 (NLP) 技术的集成。NLP 是人工智能(AI)的一个子集,专注于通过…...

[Java Web]AJAX Axios | 一种结合HTML来取代传统JSP的技术

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:Java Web 目录1、AJAX1.1、简介1.2、作用1.3、同步和异步1.4、代码实现1.4.1、服务端1.4.2、客户端1.4.2.1、完善…...

【C++】多态问答题

前言 本篇仅整理一些比较偏的多态的问答题 文章目录前言一. 内联与虚函数二. 静态函数与虚函数三. 构造函数与虚函数四. 虚函数与普通函数结束语一. 内联与虚函数 内联函数可以是虚函数吗? 首先我们看一下语法有没有问题 我们看到,程序成功运行了&#…...

【设计模式】适配器模式

一,定义适配器模式:结构型模式之一,适配器提供客户类需要的接口,适配器的实现就是把客户类的请求转化为对适配者的相应接口的调用。也就是说:当客户类调用适配器的方法时,在适配器类的内部将调用适配者类的方法&#x…...

跨域之CorsFilter

跨域之CorsFilter CorsFilter 是 Spring 框架提供的一个用于处理跨域请求的过滤器。在开发中,我们常常需要处理前端发来的跨域请求,CorsFilter 就可以帮助我们实现这一功能。 CorsFilter 主要用于设置跨域请求的响应头,以允许跨域请求能够被…...

STM32基于HAL工程读取DS1302时间数据

STM32基于HAL工程读取DS1302时间数据✨申明:本文章仅发表在CSDN网站,任何其他网站,未注明来源,见此内容均为盗链和爬取,请多多尊重和支持原创!🍁对于文中所提供的相关资源链接将作不定期更换。&#x1f4cc…...

《Effective Objective-C 2.0 》 阅读笔记 item10

第10条:在既有类中使用关联对象存放自定义数据 1. 关联对象 可以给某对象关联许多其他对象,这些对象通过“键”来区分,这就是关联对象。存储对象值的时候,可以指明“存储策略”(storage policy)&#xff…...

gpt3官网中文版-人工智能软件chat gpt安装

GPT-3(Generative Pre-trained Transformer 3)是一种自然语言处理模型,由OpenAI研发而成。它是GPT系列模型的第三代,也是目前最大、最强大的自然语言处理模型之一,集成了1750亿个参数,具有广泛的使用场景&a…...

工作常用、面试必问:Hive 窗口函数汇总

在SQL中有一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的。但是有时我们想要既显示聚集前的数据,又要显示聚集后的数据,这…...

spring5(五):AOP操作

spring5(五):AOP操作前言一、代理模式1、场景模拟2、代理模式2.1 概念2.2 静态代理2.3 动态代理二、AOP概述1、什么是 AOP?2、相关术语3、作用三、AOP底层原理1、AOP 底层使用动态代理2、AOP(JDK 动态代理)2.1 编写 J…...

functional.partial

functional.partial__slots____new__中的cls, /是什么意思?functools.partial这个partial类有什么作用类中没有__init__函数Python 内置的 functools.partial 类的实现。这个类可以用来创建一个新的函数对象,该对象是对一个原有函数的参数进行了部分应用…...

C#缩放PDF文件

项目上有个功能需求:将原PDF进行缩放至原先的90%大小。 使用的是spire.pdf插件,但是官方文档上的缩放只是改变显示,最终文件其实没有缩放成功。遂找到了另外的方式进行重绘。 上代码: using Spire.Pdf; using Spire.Pdf.Graphi…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务&#xff0c;但是又不想花钱&#xff0c;所以就想着自己搭建一个&#xff0c;刚好我们用的一个开源框架已经集成了MinIO&#xff0c;所以就选了这个 我这边对文件服务性能要求不是太高&#xff0c;单机版就可以 安装非常简单&#xff0c;几个命令就…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...