Linux的基本介绍和常用命令
Linux和Windows的主要区别
Linux和Windows是两种具有不同特性的操作系统,它们具有各自的优点和适用场景。选择哪一个操作系统主要取决于用户的需求、技术背景及使用场景等。
Linux和Windows的主要区别如下:
- 开源VS闭源:Linux是开源的系统,其内核和大部分软件的代码都是公开的,任何人都可以进行查看和修改。而Windows系统则是闭源的商业操作系统,其源代码是不公开的,只有微软公司才能够进行修改等操作。
- 发行模式:Linux以发行版的形式进行发布,如Ubuntu、CentOS等,每个发行版都有自己的特点和目标用户群。而Windows则是以单一的官方版本进行发布,只不过是用户可以选择自己想要的版本,如Windows10,Windows11等。
- 用户界面:Windows系统采用图形化界面作为主要的交互方式,提供了直观的操作和良好的用户体验。Linux也提供了多种桌面环境,但其在图形化方面还是要比Windows落后一些。
- 应用程序和兼容性:Windows拥有庞大的应用程序生态系统,有许多商业软件和游戏专门为Windows开发。而Linux虽然也有许多优秀的开源和免费软件,但在商业软件和某些特定应用领域的支持上相对较少。此外,Windows在硬件和驱动程序的兼容性方面较为广泛,因为大多数硬件供应商更倾向于为Windows提供驱动程序。
- 安全性和稳定性:由于开源性质,Linux操作系统受到广泛的审查和贡献,具有良好的安全性和稳定性。相比之下,Windows由于其广泛的用户群和闭源性质,更常受到恶意软件的攻击,并可能面临一些安全和稳定性挑战。
- 部署和管理:Linux因其稳定性和灵活性,在服务器领域得到广泛应用。Linux通常被认为更适合于技术专业人员和系统管理员,需要一些命令行操作和配置知识。而Windows在桌面和家庭用户领域占据主导地位,提供了更简化与易用的界面和工具。
Linux的常用命令
Linux系统中没有盘符的概念,在Linux的目录结构中有一个根目录/,在根目录下存放的就是一些具体的文件。在Linux中,系统会把一些硬件设备给抽象成文件的形式存放在硬盘上。于是乎,Linux系统中有“一切皆文件”这样一句话。
在Linux系统中,存在一个终端程序,该终端提供了一个命令行界面,使得用户可以在该界面中输入命令来进行相应的操作。
在命令行界面中,存在一个命令提示符,用于提示用户输入Linux系统命令。在不同的Linux发行版和不同的用户下,命令提示符的样式和符号可能会有所不同。
在Ubuntu系统中,命令提示符形如[aibc@hostname ~]$,其中aibc是普通用户,@是连接符号,hostname表示主机名,~表示主目录或home目录(当前用户存放数据的目录),$表示普通用户。
root是超级用户(系统管理员),对应的符号为#,在这种形式下用户具有系统管理和配置的权限,可以执行所有的Linux系统命令。
Linux的常用命令如下:
- ls:列出当前目录下的文件和目录
ls /列出根目录下的文件和目录
ls -a列出目录下的所有文件和目录,包括.开头的隐含文件
ls -d只显示当前目录,而不显示其内容
ls -k以KB为单位显示文件大小
ls -l以长格式显示文件的详细信息
ls -r逆序显示目录
ls -s以文件大小排序
ls -t以文件修改时间排序
ls -1一行只显示一个文件 - cd:切换当前目录,后面跟上想切换目录的路径,可以是相对路径,也可以是绝对路径
cd或cd ~切换到当前用户的home目录
cd ..切换到当前目录的父目录
cd ~用户名切换到其他用户的home目录 - mkdir:创建一个新的目录
mkdir animal创建一个名为animal的目录,默认权限为777-umask,如果目录已存在将会提示错误
mkdir dog cat pig或mkdir {dog,cat,pig}创建多个平行目录,大括号内的逗号前后不能有空格
mkdir -p animal/dog/jinmao递归创建目录,目录存在也不会报错
mkdir -vp animal/{dog,cat,pig/{bigpig,smallpig}}递归创建多个目录,并显示创建信息 - rm:删除文件或目录;在Linux中没有回收站的概念,如果删除了,那就是彻底的删除了
rm abc.txt删除abc.txt文件,系统会询问我们是否确认删除
rm -r animal递归删除,系统会询问我们是否进入animal目录,是否进入dog目录,是否删除jinmao,是否删除dog,是否删除cat,是否删除pig,是否删除animal
rm -rf animal强制删除,不进行询问
rm -rf /根目录/是Linux系统里最顶级的节点了,如果把这个目录进行强制删除,那这个系统算是废了 - cp:复制文件或目录,后面跟两个参数,一个是源文件,另一个是目标文件
cp abc.txt def.txt在当前目录复制abc.txt,并将复制后的文件命名为def.txt
cp -r duck animal/将整个duck目录复制到animal目录中,复制目录时必须要添加-r - mv:移动或重命名文件或目录(类似剪切)
mv abc.txt def.txt在当前目录中移动相当于就是给文件重命名
mv abc.txt animal/dog/def.txt将abc.txt文件移动到animal/dog目录下,并重命名为def.txt - vim:进行文件内容的编辑,vim是Linux自带的文本编辑器,相当于Windows的记事本
vim abc.txt打开abc.txt这个文件
vim有命令模式、编辑模式、末行模式三种状态。打开文件时是命令模式,这个模式下是无法进行数据写入的,必须切换成编辑模式才能进行数据的插入,按键盘上的i键就可切换编辑模式。数据写好后,需要进行保存并退出,这需要在末行模式下操作,按键盘上的esc键将插入模式切换成命令模式,然后输入:即可进入到末行模式,在末行模式下输入wq,完成保存并退出 - pwd:显示当前工作目录的绝对路径
- touch:修改文件时间戳,或创建一个不存在的文件
touch -c不创建新文件
touch abc.txt创建一个不存在的abc.txt文件 - cat:读取文件内容
cat file_name显示文件全部内容
cat -b file_name显示文件非空行内容
cat -n file_name显示内容和行号 - echo:将内容写入文件
echo "hello" > abc.txt将hello写入abc.txt文件中 - grep:字符串匹配或正则表达式
grep "hello" abc.txt在abc.txt文件中快速搜索hello字符串,并把所有匹配成功的内容显示出来
grep -n "hello" abc.txt在显示匹配内容的时候同时显示行号
grep "hello" * -R*表示当前目录下的所有文件,-R表示递归搜索 - chmod:更改文件或目录的权限
- chown:更改文件或目录的所有者
- ps:显示当前运行的进程,ps命令显示的是进程的瞬间状态,并不动态连续显示
ps -ef-e显示系统内的所有进程信息,-f使用完整格式显示进程信息
ps axa显示当前终端下的所有进程信息,包括其他用户的进程信息;x显示当前用户在所有终端下的进程信息;ax可以显示系统中所有进程的信息
ps auxu使用以用户为主的格式输出进程信息
ps aux | grep mysql查询mysql的进程;有时候我们并不关心系统的所有进程,只是想看部分进程,就可以配合grep命令来使用;这里的|是管道符,作用是把前一个命令的输出作为后一个命令的输入 - top:显示系统资源使用情况,可对进程状态进行实时监控
top -a将进程按照使用内存排序
top -d seconds指定top命令每隔几秒更新,默认为3秒
top -i使top命令不显示任何闲置或僵死的进程
top -p通过指定进程ID来监控某个进程的状态 - kill:杀死进程
kill 3268先用ps命令查找3268这个进程,然后用kill命令将它杀死 - netstat:显示网络状态和端口占用信息
netstat -anp | grep 进程号查看该进程的网络信息;-a显示所有正在监听和未监听的套接字,-n拒绝显示别名,能显示数字的全部转化成数字,-p显示哪个进程在调用
netstat -nlp | grep 端口号查看该网络端口号占用情况;-l仅列出在监听的服务状态 - ifconfig:显示网络接口的配置信息
- ping:测试网络连接
- ssh:使用SSH协议进行远程连接
相关文章:
Linux的基本介绍和常用命令
Linux和Windows的主要区别 Linux和Windows是两种具有不同特性的操作系统,它们具有各自的优点和适用场景。选择哪一个操作系统主要取决于用户的需求、技术背景及使用场景等。 Linux和Windows的主要区别如下: 开源VS闭源:Linux是开源的系统&…...
Flutter 中
在Get状态管理库中,GetxController是一个用于管理状态和逻辑的基类。它具有一系列的生命周期方法,用于在不同的阶段执行相关的操作。下面是GetxController的生命周期方法及其执行顺序: onInit(): 这个方法在GetxController创建并加入到管理器…...
可视化高级绘图技巧100篇-总论
前言 优秀的数据可视化作品可以用三个关键词概括:准确、清晰、优雅。 准确:精准地反馈数据的特征信息(既不遗漏也不冗余,不造成读者疏漏&误读细节) 清晰:获取图表特征信息的时间越短越好 优雅&…...
Android AOSP源码编译——AOSP下载(一)
一、电脑配置 Ubuntu16.04 16G,硬盘的大小最好大于300G (我这边是找了个win电脑装了双系统 没有使用虚拟机的方式) 二、基础环境配置 1、安装git sudo apt install git配置git email和name git config --global user.email "youexample.com" git conf…...
Qt 文件对话框使用 Deepin风格
当你在Deepin或UOS 上开发 Qt 程序时,如果涉及到文件对话框功能,那么就会遇到调用原生窗口的问题。 如果你使用的是官方的Qt版本,那么在Deepin或者UOS系统上,弹出的文件对话框会是如下这样: 而Deepin或UOS系统提供的默…...
.net core 配置swagger
要在 ASP.NET Core 中配置 Swagger,您需要遵循以下步骤: 添加 Swagger NuGet 包:将 Swashbuckle.AspNetCore NuGet 包添加到项目中。 在 Startup.cs 文件中进行配置: using Microsoft.OpenApi.Models;public class Startup {// 省…...
leetcode707. 设计链表(单链表+虚拟头指针+双指针遍历)
题目:leetcode707. 设计链表 描述: 你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双向链…...
电脑麦克风没声音?
这3招就可以解决! 在我们使用电脑录制视频时,有时会遇到一个令人头疼的问题:麦克风没有声音。那么,为什么会出现这种情况呢?更重要的是,我们应该如何解决这个问题呢?本文将介绍3种方法…...
React Native元素旋转一定的角度
mMeArrowIcon: {fontSize: 30, color: #999, transform: [{rotate: 180deg}]},<Icon name"arrow" style{styles.mMeArrowIcon}></Icon>参考链接: https://reactnative.cn/docs/transforms https://chat.xutongbao.top/...
LeetCode 1749. 任意子数组和的绝对值的最大值
【LetMeFly】1749.任意子数组和的绝对值的最大值 力扣题目链接:https://leetcode.cn/problems/maximum-absolute-sum-of-any-subarray/ 给你一个整数数组 nums 。一个子数组 [numsl, numsl1, ..., numsr-1, numsr] 的 和的绝对值 为 abs(numsl numsl1 ... nums…...
初学HTML:在线简易画板设计。
最近在HTML,记录下一点点成果。 设计了一个简易画板,通过HTML的Canvas元素实现一个在线画板,用户可以在上面绘制图形或涂鸦。 下面是运行效果: 下面是代码: <!DOCTYPE html> <html> <head><ti…...
IDEA项目实践——Spring框架简介,以及IOC注解
系列文章目录 IDEA创建项目的操作步骤以及在虚拟机里面创建Scala的项目简单介绍 IDEA项目实践——创建Java项目以及创建Maven项目案例、使用数据库连接池创建项目简介 IDEWA项目实践——mybatis的一些基本原理以及案例 IDEA项目实践——动态SQL、关系映射、注解开发 文章目…...
Scala(第一章Scala入门)
文章目录 1.1 概述 1.1.1 为什么学习Scala1.1.2 Scala发展历史1.1.3 Scala和Java关系1.1.4 Scala语言特点 1.2 Scala环境搭建1.3 Scala插件安装1.4 HelloWorld案例 1.4.1 创建IDEA项目工程1.4.2 class和object说明1.4.3 Scala程序反编译 1.5 关联Scala源码1.6官方编程指南 1.1…...
Linux tcpdump 命令详解
简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的…...
试卷擦除答案的工具,几个步骤轻松搞定
在学生的学习生活中,考试是必不可少的一部分。然而,有时候我们在做完试卷后发现自己填错了答案,或者想要更改答案,但是试卷上已经有了痕迹。这时候,我们就需要一些工具来擦除答案。以下是几个简单的步骤,让…...
vue3部署宝塔后请求接口404以及刷新页面404的问题解决方案
技术:vue3.2.13 UI框架:element-plus 2.1.1 服务器:腾讯云Centos系统宝塔面板 Nginx:1.22.1 前提:宝塔面板》网站PHP项目 已经新建了项目 1.处理vue页面刷新报错404 如上图,在PHP网站》设置》配置文件,新增如下代码…...
java.sql.Date java.util.Date
文章目录 两者关系两者在时间显示上区别 两者关系 sql包中Date是util包子类 public class Date extends java.util.Date 两者在时间显示上区别 /*** 解决sql包中日期和util包日期转换问题*/Testpublic void t3(){Date utilDate new Date();java.sql.Date sqlDate new java.…...
斗象科技-2023攻防演练必修高危漏洞集合百度网盘下载(2版本)
下载地址见最下端: 高危风险漏洞一直是企业网络安全防护的薄弱点,也成为 HW 攻防演练期间红队的重要突破口;每年HW 期间爆发了大量的高危风险漏洞成为红队突破网络边界防护的一把利器,很多企业因为这些高危漏洞而导致整个防御体系被突破甚至靶…...
分布式数据库视角下的存储过程
存储过程很好呀,那些用不好的人就是自己水平烂,不接受反驳!我就有过这样念头,但分布式数据库,更倾向少用或不用存储过程。 1 我从C/S时代走来 C/S架构时代的末期最流行开发套件是PowerBuilder和Sybase数据库…...
深度学习常用的激活函数
深度学习的核心思想是通过多层次的神经网络结构,逐步抽取和表示数据中的高级特征,从而实现对复杂数据模式的学习和识别。 神经网络结构: 深度学习使用多层次的神经网络,包括输入层、隐藏层和输出层。这些网络结构允许模型自动学习…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
