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

news2024/11/24 16:12:44

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 键可以补全命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1898418.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Springboot的智慧信息化机房管理系统

1 项目介绍 1.1 研究目的和意义 随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对高校共享机房管理方面的要求也在不断提高,需要高校共享机房的人数更是不断增加,使得高校共享机房管理…

【Linux进阶】磁盘分区3——目录树,挂载

Linux安装模式下,磁盘分区的选择(极重要) 在Windows 系统重新安装之前,你可能会事先考虑,到底系统盘C盘要有多大容量?而数据盘D盘又要给多大容量等,然后实际安装的时候,你会发现其实…

【系统架构设计师】计算机组成与体系结构 ⑩ ( 磁盘管理 | 磁盘移臂调度算法 | 先来先服务算法 | 最短寻道时间优先 | 扫描算法 | 循环扫描算法 )

文章目录 一、磁盘移臂调度算法1、磁盘移臂调度算法简介2、先来先服务算法3、最短寻道时间优先4、扫描算法5、循环扫描算法 二、最短寻道时间优先算法示例 一、磁盘移臂调度算法 1、磁盘移臂调度算法简介 磁盘 数据块读取 的 性能 主要由 寻道时间旋转延时 决定 ; 旋转延时 …

软设之UML图中的用例图

UML图中用例图 用例图描述一组用例,参与者及它们之间的关系 关系包括: 包含关系,扩展关系,泛化关系 用例建模的流程: 识别参与者 合并需求获得用例 细化用例描述 调整用例模型

《C语言》认识数据类型和理解变量

🌹个人主页🌹:喜欢草莓熊的bear 🌹专栏🌹:C语言基础 目录 前言 一、数据类型的介绍 1.1 字符型 1.2 整形 1.3 浮点型 1.4 布尔类型 1.5 各种数据类型的长度 1.5.1 sizeof操作符 1.5.2 数据类型长度…

【React Hooks原理 - useCallback、useMemo】

介绍 在实际项目中,useCallback、useMemo这两个Hooks想必会很常见,可能我们会处于性能考虑避免组件重复刷新而使用类似useCallback、useMemo来进行缓存。接下来我们会从源码和使用的角度来聊聊这两个hooks。【源码地址】 为什么要有这两个Hooks 在开始…

2.4章节python中字符串类型

在Python中,字符串(String)是一种基本的数据类型,用于表示文本信息。字符串可以包含字母、数字、标点符号或任何Unicode字符。Python中的字符串是不可变的,这意味着一旦创建了字符串,就不能更改字符串中的字…

无人机运营合格证及无人机驾驶员合格证(AOPA)技术详解

无人机运营合格证及无人机驾驶员合格证(AOPA)技术详解如下: 一、无人机运营合格证 无人机运营合格证是无人机运营企业或个人必须获得的证书,以确保无人机在运营过程中符合相关法规和标准。对于无人机运营合格证的具体要求和申请…

TF-IDF计算过程一步步推导详解含代码演示

相关概念 TF-IDF TF-IDF(Term Frequency–Inverse Document Frequency)是一种用于资讯检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在…

交叉测试的优点和缺点!

交叉测试在软件测试中具有重要的地位和作用。通过交叉测试,可以提高软件质量、提升用户体验、增加测试覆盖率、提高测试效率以及满足市场需求和竞争优势。因此,在软件开发和测试过程中,应充分重视交叉测试的实施和应用。 以下是对其优缺点的…

STM32/GD32驱动步进电机芯片TM2160

文章目录 官方概要简单介绍整体架构流程 官方概要 TMC2160是一款带SPI接口的大功率步进电机驱动IC。它具有业界最先进的步进电机驱动器,具有简单的步进/方向接口。采用外部晶体管,可实现高动态、高转矩驱动。基于TRINAMICs先进的spreadCycle和stealthCh…

el-input-number 点击加减只能加一次

el-input-number 点击加减只能加一次 <el-input-number v-model"editForm.quantity" placeholder"请输入下单数量(店均)" change"quantityChangeFn"></el-input-number>需要在方法里面加 this.$forceUpdate() quantityChangeFn(val…

Postman保存API返回的token以全局使用的整个流程

1、 调通获取token的接口&#xff0c;包含传递参数的类型&#xff0c;和输入密码是否需要md5加密&#xff0c;根据接口的要求&#xff0c;传入数据 2、 查看接口响应的报文&#xff0c;可以看到token的有效时间&#xff0c;token的类型&#xff0c;里面的access_token就是想要获…

如何利用代理IP打造热门文章

作为内容创作者&#xff0c;我们都知道&#xff0c;有时候地理限制和访问障碍可能会成为我们获取新鲜素材和优质信息的障碍。使用代理IP&#xff0c;正是突破这些限制的好方法&#xff01; 1. 无缝获取全球视野 如果你还在苦恼看不到其他地区的热点文章&#xff0c;你可以尝试…

react 自定义 年-月-日 组件,单独选择年、月、日,并且产生联动

自定义 年-月-日 组件 code import { useState } from react function Year_Month_Date() {const [yearList, setYearList] useState([])const [monthList, setMonthList] useState([])const [dateList, setDateList] useState([])const [currentYear, setCurrentYear] u…

【C++】 解决 C++ 语言报错:Invalid Cast

文章目录 引言 无效类型转换&#xff08;Invalid Cast&#xff09;是 C 编程中常见且严重的错误之一。当程序试图进行不合法或不安全的类型转换时&#xff0c;就会发生无效类型转换错误。这种错误不仅会导致程序崩溃&#xff0c;还可能引发不可预测的行为。本文将深入探讨无效…

PLL和CDR的内部结构及其区别

比较PLL和CDR的内部结构及其区别&#xff1a; 基本结构&#xff1a; PLL&#xff08;相位锁定环&#xff09;&#xff1a; 相位检测器环路滤波器压控振荡器&#xff08;VCO&#xff09;分频器&#xff08;可选&#xff0c;用于频率合成&#xff09; CDR&#xff08;时钟数据恢复…

jmeter-beanshell学习2-beanshell断言

继续写&#xff0c;之前写了获取变量&#xff0c;设置变量&#xff0c;今天先写个简单点的断言。 一般情况用响应断言&#xff0c;就挺好使&#xff0c;但是自动化还要生成报告&#xff0c;如果断言失败了&#xff0c;要保存结果&#xff0c;只能用beanshell处理&#xff0c;顺…

昇思25天学习打卡营第17天(+1)|Diffusion扩散模型

1. 学习内容复盘 本文基于Hugging Face&#xff1a;The Annotated Diffusion Model一文翻译迁移而来&#xff0c;同时参考了由浅入深了解Diffusion Model一文。 本教程在Jupyter Notebook上成功运行。如您下载本文档为Python文件&#xff0c;执行Python文件时&#xff0c;请确…

LLM - 神经网络的训练过程

1. 对于回归问题&#xff0c;用损失函数来计算预测值和真实值的差异&#xff0c;一种常用的公式是如下图所示(Mean Square Error)&#xff0c;如果损失函数的值越小说明神经网络学习越准确&#xff0c;所以神经网络训练目标是减小损失函数的值&#xff0c; 2. 对于分类问题&…