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

Linux系统的基础知识和常用命令

1、什么是Linux?
是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。
2、连接linux比较好用的工具:
一直在用FinalShell,不仅可以敲命令,还有图形化界面可操作
在这里插入图片描述
官网下载连接为:点击下载
3、登录后你在的位置?
一般登陆后,你的位置位于自己的主目录中。当不确定自己在哪,迷路时,可使用 pwd 显示当前目录

[root@ecs-yewuyingyong ~]# pwd
/root

4、文件的绝对路径和相对路径
绝对文件路径:描述了在虚拟机目录结构中该目录的确切位置,以虚拟目录根目录开始,相当于目录全名。
以正斜杠(/) 开始,比如 /usr/local
相对文件路径:允许用户执行一个基于当前位置的目标文件路径。
比如,当前在 /usr/local 下

[root@ecs-yewuyingyong ~]# cd /usr/local
[root@ecs-yewuyingyong local]# ls
bin  etc  games  include  lib  lib64  libexec  mysql-8.0.33  mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz  nginx  redis  sbin  share  src  tomcat-gwc  tomcat-php  var  web
[root@ecs-yewuyingyong local]# cd bin
[root@ecs-yewuyingyong bin]# 

5、如何切换目录
语法:cd destination
destination 相对文件路径或者绝对文件路径
/ 称为根目录
. 称为当前目录
… 称为当前目录的上级目录
cd …: 返回上级目录
cd ~:进入用户家目
cd -:返回最近访问目录
6、如何查看目录中的文件
ls 命令会用最基本的形式显示当前目录下的文件和和目录:

[root@ecs-yewuyingyong nginx]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src

可以用 ls -F来区分哪些是目录(目录带/),哪些是文件(文件不带/)

[root@ecs-yewuyingyong nginx]# ls -F
auto/  CHANGES  CHANGES.ru  conf/  configure*  contrib/  html/  LICENSE  Makefile  man/  objs/  README  src/

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-l 列出文件的详细信息。
-r 对目录反向排序。
-t 以时间排序。
-R 列出所有子目录下的文件。(递归)
7、创建文件或目录
(1) 创建文件:touch 文件名
批量创建文件:touch 文件名 文件名

[root@ecs-yewuyingyong temp]# touch a.txt
[root@ecs-yewuyingyong temp]# ls
a.txt
[root@ecs-yewuyingyong temp]# touch b.txt c.txt
[root@ecs-yewuyingyong temp]# ls
a.txt  b.txt  c.txt

(1) 创建目录:mkdir 目录名
批量创建目录:mkdir 文件名 目录名

[root@ecs-yewuyingyong temp]# mkdir me
[root@ecs-yewuyingyong temp]# ls
me
[root@ecs-yewuyingyong temp]# mkdir you she
[root@ecs-yewuyingyong temp]# ls
me  she  you

8、删除文件或目录
语法:rm destination
可带以下命令
-f: 不会出现警告信息,强制删除
-i: 会出现提示删除信息,询问是否删除
-r: 递归删除,常用在目录下的删除,就是把目录下的东西全删了

[root@ecs-yewuyingyong temp]# rm -r me
rm:是否进入目录"me"? y
rm:是否删除普通空文件 "me/a.txt"?y
rm:是否删除目录 "me"?y

rm 不能删除有文件的目录,需要递归删除。
9、重新命名文件,移动文件
语法:mv source target
(1) 重命名:

[root@ecs-yewuyingyong temp]# ls
redis
[root@ecs-yewuyingyong temp]# mv redis redis3.6
[root@ecs-yewuyingyong temp]# ls
redis3.6

(2) 移动文件:
新建 it 目录,把 java 目录移动到 it 目录下

[root@ecs-yewuyingyong temp]# ls
java
[root@ecs-yewuyingyong temp]# mkdir it
[root@ecs-yewuyingyong temp]# mv java it
[root@ecs-yewuyingyong temp]# ls -R
.:
it
./it:
java
./it/java:

10、复制文件
语法:cp source target

[root@ecs-yewuyingyong temp]# ls
a.txt  it
[root@ecs-yewuyingyong temp]# cp a.txt it
[root@ecs-yewuyingyong temp]# cd it
[root@ecs-yewuyingyong it]# ls
a.txt  java

当然也可以带上以下命令
-p 带上文件的属性一起赋值
-r 持续递归赋值,用于目录的复制行为
-f 强制复制
-i 若目标文档已经存在,会询问是否覆盖
注:如果重复复制,覆盖会默认进行询问,如果想强制执行不询问: cp -r 路径
11、压缩文件和解压文件
比如以 .gz 的格式举例。
压缩语法:gzip destination
解压语法:gunzip destination

[root@ecs-yewuyingyong temp]# ls
a.txt  it
[root@ecs-yewuyingyong temp]# gzip a.txt
[root@ecs-yewuyingyong temp]# ls
a.txt.gz  it
[root@ecs-yewuyingyong temp]# gunzip a.txt.gz
[root@ecs-yewuyingyong temp]# ls
a.txt  it

12、如何查看命令历史记录?
history 命令可以展示你用过的命令的历史记录
13、列出已经安装的包、安装软件、更新软件、卸载
列出已经安装的包:yum list installed
安装软件:yum install package_name
更新软件:yum update package_name
卸载软件:yum remove package_name //只删除软件包,保留数据文件和配置文件
如果不希望保留数据文件和配置文件,可以执行:yum erase package_name
14、源码安装通常的套路
tar -zxvf xx.gz //解压安装包
cd xx
./configure
make
make install
15、vim 编辑器的基本操作
语法:vim [文件名]
功能 :能打开一个文件,如果不存在就会创建文件.
注意事项 :
(1) 第一次进入的时候是普通模式.
(2) 想要编辑,要按下 i 进入插入模式
(3) 当把内容写完之后,按 Esc 退出插入模式
(4) 输入英文下的冒号 :然后根据情况输入5至7的字符
(5) q 如果未修改缓冲区数据,按 Enter 键退出。
(6) q! 取消所有对缓冲区数据的修改并按 Enter 键退出
(7) wq 将缓冲区数据保存到文件并按 Enter 键退出
16、查看设备还有多少磁盘空间
dm 可以查看所有已挂载在磁盘的使用情况,-m 用兆字节

[root@ecs-yewuyingyong ~]# df -m
文件系统        1M-块  已用  可用 已用% 挂载点
devtmpfs        15996     0 15996    0% /dev
tmpfs           16006     0 16006    0% /dev/shm
tmpfs           16006     1 16005    1% /run
tmpfs           16006     0 16006    0% /sys/fs/cgroup
/dev/sda1      100664 53539 42912   56% /
tmpfs            3202     0  3202    0% /run/user/0

17、查看当前系统中的进程
语法:ps [参数]
例如查询所在系统 nginx 的进程

[root@ecs-yewuyingyong ~]# ps aux|grep nginx
root      3744  0.0  0.0  20712  1520 ?        Ss    2023   0:00 nginx: master process /usr/local/web/nginx-iot/sbin/nginx -c /usr/local/web/nginx-iot/conf/nginx.conf
nobody   16489  0.0  0.0  21380  2388 ?        S    6月25   2:42 nginx: worker process
root     16857  0.0  0.0 112832   988 pts/1    S+   21:25   0:00 grep --color=auto nginx
root     18085  0.0  0.0  20564   660 ?        Ss   5月24   0:00 nginx: master process ./nginx
nobody   18086  0.0  0.0  21328  2076 ?        S    5月24  14:39 nginx: worker process
root     18260  0.0  0.0  20708  1560 ?        Ss   5月24   0:00 nginx: master process ./nginx
root     24103  0.0  0.0  21612  2480 ?        S    5月15   1:27 nginx: worker process

18、netstat 命令,查看当前的网络状态
netstat -anp
netstat -anp | grep “进程名”
netstat -anp | grep “端口号”
查看端口是否被占用,用下面命令

[root@ecs-yewuyingyong ~]# netstat ntulp|grep 8080 //查询8080端口是否被占用

19、搜索查询匹配的文件
语法 find 「搜索范围,就是目录」「选项」
从指定目录向下递归的遍历各个子目录,将满足条件的文件或目录显示在终端
-name 按照指定的文件名查找
-user 按照指定的用户进行查找
-size 按照文件大小进行查找
​ +10M 表示超过10M的

[root@ecs-yewuyingyong local]# find -name nginx
./nginx
./nginx/objs/nginx
./web/nginx-iot/sbin/nginx
./web/nginx-php/screen2.0/Cesium-1.92/ThirdParty/codemirror-5.52.0/mode/nginx
./web/nginx-php/screen1.7/Cesium-1.92/ThirdParty/codemirror-5.52.0/mode/nginx
./web/nginx-php/screen1.8/Cesium-1.92/ThirdParty/codemirror-5.52.0/mode/nginx
./web/nginx-php/screen2.3/Cesium-1.92/ThirdParty/codemirror-5.52.0/mode/nginx
./web/nginx-php/screen2.1/Cesium-1.92/ThirdParty/codemirror-5.52.0/mode/nginx
./web/nginx-php/screen2.2/Cesium-1.92/ThirdParty/codemirror-5.52.0/mode/nginx
./web/nginx-php/screen2.4/Cesium-1.92/ThirdParty/codemirror-5.52.0/mode/nginx
./web/nginx-php/screen/Cesium-1.92/ThirdParty/codemirror-5.52.0/mode/nginx
./web/nginx-php/screen1.9/Cesium-1.92/ThirdParty/codemirror-5.52.0/mode/nginx
./web/nginx-php/sbin/nginx
./web/nginx-gwc/sbin/nginx

20、如何查看当前主机名,如何修改

[root@ecs-yewuyingyong ~]# hostname //查看当前主机名
ecs-yewuyingyong
[root@ecs-yewuyingyong ~]# hostname ecs-guanquyingyong//修改当前主机名
[root@ecs-yewuyingyong ~]# hostname //查看当前主机名
ecs-guanquyingyong

大家知道一般来讲命令重启就会失效,目前基本上用的centos7的比较多,两种方式可以支持重启生效。
(1) 命令

[root@ecs-yewuyingyong ~]# hostnamectl set-hostname leebao
[root@ecs-yewuyingyong ~]# hostname 
leebao
[root@leebao ~]#

(2) 修改配置文件:/etc/hostname

[root@leebao ~l# vim /etc/hostname

以上就是最常用的一些命令,另外使用 tab 键可以补全命令

相关文章:

Linux系统的基础知识和常用命令

1、什么是Linux? 是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯本纳第克特托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行…...

三相异步电动机的起动方法

1. 引言 2. 三相笼型异步电动机德起动方法 3. 三相绕线型异步电动机的起动方法 4. 软起动器起动 5. 参考文献 1 引言 三相异步电动机结构简单﹑价格低廉﹑运行可靠﹑维护方便,在工农业生产中得到了广泛应用。为使电动机能够转动起来,并很快达到工作转…...

【LinuxC语言】手撕Http协议之accept_request函数实现(一)

文章目录 前言accept_request函数作用accept_request实现解析方法根据不同方法进行不同操作http服务器响应格式unimplemented函数实现总结前言 在计算机网络中,HTTP协议是一种常见的应用层协议,它定义了客户端和服务器之间如何进行数据交换。在这篇文章中,我们将深入探讨Li…...

Redis Cluster 模式 的具体实施细节是什么样的?

概述 参考:What are Redis Cluster and How to setup Redis Cluster locally ? | by Rajat Pachauri | Medium Redis Cluster 的工作原理是将数据分布在多个节点上,同时确保高可用性和容错能力。以下是 Redis Cluster 运行方式的简要概述: …...

基于大模型的机器人控制

基于大模型的机器人控制是指利用深度学习中的大型神经网络模型来实现对机器人的精确控制。这种方法结合了深度学习的强大表征学习能力和机器人控制的实际需求,旨在提高机器人的自主性、灵活性和智能性。 基本原理 数据收集:首先,需要收集大量…...

在 PostgreSQL 中,如何处理数据的版本控制?

文章目录 一、使用时间戳字段进行版本控制二、使用版本号字段进行版本控制三、使用历史表进行版本控制四、使用 RETURNING 子句获取更新前后的版本五、使用数据库触发器进行版本控制 在 PostgreSQL 中,处理数据的版本控制可以通过多种方式实现,每种方式都…...

Rust 组织管理

Rust 组织管理 Rust 是一种系统编程语言,以其内存安全性、速度和并发性而闻名。它由 Mozilla 开发,并得到了一个庞大而活跃的社区的支持。Rust 的组织管理涉及多个方面,包括项目管理、社区参与、工具和库的维护,以及生态系统的整…...

vb.netcad二开自学笔记1:万里长征第一步Hello CAD!

已入门的朋友请绕行! 今天开启自学vb.net 开发autocad,网上相关资料太少了、太老了。花钱买课吧,穷!又舍不得,咬牙从小白开始摸索自学吧,虽然注定是踏上了一条艰苦之路,顺便作个自学笔记备忘!积…...

Vue的学习之数据与方法

前段期间&#xff0c;由于入职原因没有学习&#xff0c;现在已经正式入职啦&#xff0c;接下来继续加油学习。 一、数据与方法 文字备注已经在代码中&#xff0c;方便自己学习和理解 <!DOCTYPE html> <html><head><meta charset"utf-8">&l…...

刷题——在二叉树中找到最近公共祖先

在二叉树中找到两个节点的最近公共祖先_牛客题霸_牛客网 int lowestCommonAncestor(TreeNode* root, int o1, int o2) {if(root NULL) return -1;if((root->val o1) || (root->val o2)) return root->val;int left lowestCommonAncestor(root->left, o1, o2);i…...

nginx(三)—从Nginx配置熟悉Nginx功能

一、 Nginx配置文件结构 ... #全局块events { #events块... }http #http块 {... #http全局块server #server块{ ... #server全局块location [PATTERN] #location块{...}location [PATTERN] {...}}server{...}... #http全局块 …...

Python轮子:文件比较器——filecmp

原文链接&#xff1a;http://www.juzicode.com/python-module-filecmp filecmp模块可以用来比较文件或者目录。 安装和导入 filecmp是Python自带的模块&#xff0c;不需要额外安装&#xff0c;直接导入即可&#xff1a; import filecmp as fc #或者 import filecmp cmp()比较…...

uni-app组件 子组件onLoad、onReady事件无效

文章目录 导文解决方法 导文 突然发现在项目中&#xff0c;组件 子组件的onLoad、onReady事件无效 打印也出不来值 怎么处理呢&#xff1f; 解决方法 mounted() {console.log(onLoad, this.dateList);//有效// this.checkinDetails()},onReady() {console.log(onReady, this.da…...

leetcode力扣_排序问题

215.数组中的第K个最大元素 鉴于已经将之前学的排序算法忘得差不多了&#xff0c;只会一个冒泡排序法了&#xff0c;就写了一个冒牌排序法&#xff0c;将给的数组按照降序排列&#xff0c;然后取nums[k-1]就是题目要求的&#xff0c;但是提交之后对于有的示例显示”超出时间限制…...

在 .NET 8 Web API 中实现弹性

在现代 Web 开发中&#xff0c;构建弹性 API 对于确保可靠性和性能至关重要。本文将指导您使用 Microsoft.Extensions.Http.Resilience 库在 .NET 8 Web API 中实现弹性。我们将介绍如何设置重试策略和超时&#xff0c;以使您的 API 更能抵御瞬时故障。 步骤 1.创建一个新的 .…...

linux下高级IO模型

高级IO 1.高级IO模型基本概念1.1 阻塞IO1.2 非阻塞IO1.3 信号驱动IO1.4 IO多路转接1.5 异步IO 2. 模型代码实现2.1 非阻塞IO2.2 多路转接-selectselect函数介绍什么才叫就绪呢&#xff1f;demoselect特点 2.3 多路转接-pollpoll函数介绍poll优缺点demo 2.4 多路转接-epoll&…...

掌握Mojolicious会话管理:构建安全、持久的Web应用

掌握Mojolicious会话管理&#xff1a;构建安全、持久的Web应用 Mojolicious是一个基于Perl的高性能、异步Web开发框架&#xff0c;它提供了一套完整的工具来构建现代Web应用。会话管理是Web开发中的一个关键组成部分&#xff0c;它允许应用识别和保持用户的登录状态。本文将深…...

24西安电子科技大学马克思主义学院—考研录取情况

01、马克思主义学院各个方向 02、24马克思主义学院近三年复试分数线对比 PS&#xff1a;马院24年院线相对于23年院线增加15分&#xff0c;反映了大家对于马克思主义理论学习与研究的热情高涨&#xff0c;也彰显了学院在人才培养、学科建设及学术研究等方面的不断进步与成就。 6…...

12--RabbitMQ消息队列

前言&#xff1a;前面一章内容太多&#xff0c;写了kafka&#xff0c;这里就写一下同类产品rabbitmq&#xff0c;rabbitmq内容较少&#xff0c;正好用来过度一下&#xff0c;概念还是会用一些例子来说明&#xff0c;实际部署的内容会放在概念之后。 1、基础概念 1.1、MQ消息队…...

VMware替换关键技术:核心业务系统中,访存密集型应用的性能优化

越来越多用户采用虚拟化、超融合以及云平台环境来承载其核心业务&#xff0c;核心业务的高并发对性能的要求尤为严格&#xff0c;在VMware替换的热潮下&#xff0c;原VMware用户也更为关注新平台在核心业务上的性能表现是否对标&#xff0c;或实现超越。深信服将通过系列解析&a…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...

2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案

一、延迟敏感行业面临的DDoS攻击新挑战 2025年&#xff0c;金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征&#xff1a; AI驱动的自适应攻击&#xff1a;攻击流量模拟真实用户行为&#xff0c;差异率低至0.5%&#xff0c;传统规则引…...

【笔记】AI Agent 项目 SUNA 部署 之 Docker 构建记录

#工作记录 构建过程记录 Microsoft Windows [Version 10.0.27871.1000] (c) Microsoft Corporation. All rights reserved.(suna-py3.12) F:\PythonProjects\suna>python setup.py --admin███████╗██╗ ██╗███╗ ██╗ █████╗ ██╔════╝…...

若依项目部署--传统架构--未完待续

若依项目介绍 项目源码获取 #Git工具下载 dnf -y install git #若依项目获取 git clone https://gitee.com/y_project/RuoYi-Vue.git项目背景 随着企业信息化需求的增加&#xff0c;传统开发模式存在效率低&#xff0c;重复劳动多等问题。若依项目通过整合主流技术框架&…...