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 ax
a显示当前终端下的所有进程信息,包括其他用户的进程信息;x显示当前用户在所有终端下的进程信息;ax可以显示系统中所有进程的信息
ps aux
u使用以用户为主的格式输出进程信息
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数据库…...

深度学习常用的激活函数
深度学习的核心思想是通过多层次的神经网络结构,逐步抽取和表示数据中的高级特征,从而实现对复杂数据模式的学习和识别。 神经网络结构: 深度学习使用多层次的神经网络,包括输入层、隐藏层和输出层。这些网络结构允许模型自动学习…...

黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 :爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...