Linux基础(包括centos7安装、linux基础命令、vi编辑器)

news2024/12/23 18:56:55

一、安装CentOS7

需要:1、VMware Workstation;2、CentOS7镜像

1、安装镜像

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

2、虚拟机配置

开启虚拟机,鼠标从vm中移出来用快捷键ctrl+alt

请添加图片描述

请添加图片描述

请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述

点击开始安装,设置密码,等待安装完成,,重启。

3、注意事项

如果没有获取到虚拟机的ip地址,就是由于启动服务器是未加载网卡,导致ip地址初始化失败而造成的,就应该修改网络初始化配置,设定网卡在系统启动时初始化。

以下显示正常

请添加图片描述

4、安装SSH连接工具-finalshell

  1. 安装
  2. 连接linux

请添加图片描述请添加图片描述
请添加图片描述

请添加图片描述

二、Linux常用命令

注意事项:

1、在敲出文件/目录/命令的前几个字母后,按下tab键会自动补全,再按一下 tab 键,系统会提示可能存在的命令;

2、输入命令后 加上**-help–help**会显示帮助文档

1、安装等

  • yum -y install [xxx] :安装,且回答全部为是。yum -y install tree,安装tree命令。
  • 打包压缩:tar 与 gzip 命令结合可以使用实现文件 打包和压缩;tar 只负责打包文件,但不压缩,用 gzip 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.gz
# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...
# 解包文件
tar -xvf 打包文件.tar
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径

2、目录

  • pwd:显示当前目录。

    [root@localhost home]# pwd
    /home
    
  • tree:以树形结构显示当前以及子目录以及文件,部分linux系统需要安装。

    • -a 显示所有的包括隐藏(以.开头的是隐藏文件);-d 显示目录
[root@localhost home]# tree
.
└── test_order
    └── test.c

1 directory, 1 file
[root@localhost home]# tree -a /root
/root
├── anaconda-ks.cfg
├── .bash_history
├── .bash_logout
├── .bash_profile
├── .bashrc
├── .cache
│   └── abrt
│       └── lastnotification
├── .config
│   └── abrt
├── .cshrc
├── .tcshrc
└── test_order
    └── test.c

5 directories, 9 files
[root@localhost home]# tree /root
/root
├── anaconda-ks.cfg
└── test_order
    └── test.c

1 directory, 2 files
[root@localhost home]# tree -d /root
/root
└── test_order

1 directory
[root@localhost home]# tree -ad /root
/root
├── .cache
│   └── abrt
├── .config
│   └── abrt
└── test_order

5 directories

  • cd 切换目录
    • cd 切换到当前目录的主目录
    • cd ~ 切换到当前用户的主目录(/home/用户目录)
    • cd . 保持在当前目录不变
    • cd … 切换到上级目录
    • cd - 可以在最近两次工作目录之间来回切换

3、查找

  • find [路径] -name “*.py”:查找该路径下后缀名为py的文件
[root@localhost home]# find -name "*.c"
./test_order/test.c
[root@localhost home]# find /root -name "*.c"
/root/test_order/test.c
[root@localhost home]# find /home -name "*.c"
/home/test_order/test.c

4、查看相关

  • ls

    • -l:展示详细信息

      [root@localhost home]# ls
      test_order
      [root@localhost home]# cd test_order/
      [root@localhost test_order]# ls
      test.c
      [root@localhost test_order]# ls -l
      总用量 0
      -rw-r--r--. 1 root root 0 1117 09:17 test.c
      [root@localhost test_order]# ls -li
      总用量 0
      17340868 -rw-r--r--. 1 root root 0 1117 09:17 test.c
      [root@localhost test_order]# 
      
查看文件
  • tail:tail [options] [file]

    • -f :持续追踪文件变化,既可以动态地查看文件的最新内容

    • -n [NUM]:表示输出文件的最后 NUM 行内容,默认10

    • 查看文件的最后 10 行内容:

      tail file.txt

      查看文件的最后 20 行内容:

      tail -n 20 file.txt

      持续查看文件的最新内容:

      tail -f file.txt

  • cat:用来 查看文件内容、创建文件、文件合并、追加文件内容 等功能;cat 会一次显示所有的内容,适合 查看内容较少 的文本文件

  • more:more 命令可以用于分屏显示文件内容,每次只显示一页内容;适合于 查看内容较多的文本文件

操作键功能
空格键显示手册页的下一屏
Enter键 一次滚动手册页的一行
b回滚一屏
f前滚一屏
q退出
/word搜索 word 字符串
  • grep:Linux 系统中 grep 命令是一种强大的文本搜索工具;grep 允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式。
选项含义
-n显示匹配行及行号
-v显示不包含匹配文本的所有行(相当于求反)
-i忽略大小写

常用的两种模式查找

参数含义
^a行首,搜寻以 a 开头的行
ke$行尾,搜寻以 ke 结束的行

4、软链接

  • ln -s file1 file3:给file1创建一个软链接file3

软链接(也称为符号链接或symlink)是指一个特殊类型的文件,它包含了另一个文件或目录的路径信息。也就是说,软链接是一个指向另一个对象的快捷方式,它不共享相同的内容,属性和权限。软链接可以跨越不同的分区和文件系统创建。被链接的文件最好用绝对路径。

[root@localhost test_order]# ln -s /home/test_order/test.c /home/new.txt
[root@localhost test_order]# ls
test.c
[root@localhost test_order]# cd ..
[root@localhost home]# ls
new.txt  test_order
[root@localhost home]# ls -l
总用量 0
lrwxrwxrwx. 1 root root 23 1117 09:43 new.txt -> /home/test_order/test.c
drwxr-xr-x. 2 root root 20 1117 09:17 test_order
[root@localhost home]# ls -li
总用量 0
  765566 lrwxrwxrwx. 1 root root 23 1117 09:43 new.txt -> /home/test_order/test.c
17340867 drwxr-xr-x. 2 root root 20 1117 09:17 test_order

在Linux系统中,可以使用rm命令来删除软链接。例如,如果要删除file3这个软链接,可以执行rm file3。这样,就会删除file3这个文件名,但是不会影响file1或者其所在的路径。只有当原文件被移动或删除时,软链接才会失效。例如: mv file1 file4。这样,就会移动file1到另一个位置,并且使得file3无法找到正确的路径。

5、创建删除

  • mkdir 创建一个新目录
    • -p 递归创建目录
[root@localhost home]# mkdir test_mkdir/test1
mkdir: 无法创建目录"test_mkdir/test1": 没有那个文件或目录
[root@localhost home]# mkdir -p test_mkdir/test1
[root@localhost home]# tree
.
├── test_mkdir
│   └── test1
└── test_order
    └── test.c

3 directories, 1 file
  • touch:创建文件或修改文件时间,如果文件 不存在,可以创建一个空白文件;如果文件 已经存在,可以修改文件的末次修改日期
[root@localhost test_order]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 11月 17 09:17 test.c
[root@localhost test_order]# touch test.c
[root@localhost test_order]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 11月 17 10:00 test.c
[root@localhost test_order]# touch test.cpp
[root@localhost test_order]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 11月 17 10:00 test.c
-rw-r--r--. 1 root root 0 11月 17 10:00 test.cpp
  • rm 删除文件或目录
    • -f:强制删除,忽略不存在的文件,无需提示
    • -r:递归地删除目录下的内容,删除文件夹 时必须加此参数

6、拷贝移动

  • cp 源文件 目标文件

    • -r 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
    [root@localhost home]# cp /home/test_order ./test_cp
    cp: 略过目录"/home/test_order"
    [root@localhost home]# ls
    test_mkdir  test_order
    [root@localhost home]# cp -r  /home/test_order ./test_cp
    [root@localhost home]# tree
    .
    ├── test_cp
    │   ├── test.c
    │   └── test.cpp
    ├── test_mkdir
    │   └── test1
    └── test_order
        ├── test.c
        └── test.cpp
    
    4 directories, 4 files
    
  • mv 源文件 目标文件:移动文件或目录,或者重命名文件或目录

7、其它

1、重定向

Linux 允许将命令执行结果 重定向到一个 文件;将本应显示在终端上的内容 输出/追加 到指定文件中。其中
> 表示输出,会覆盖文件原有的内容
>> 表示追加,会将内容追加到已有文件的末尾

2、管道
  • Linux 允许将 一个命令的输出 可以通过管道 做为 另一个命令的输入
  • 可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里 | 的左右分为两端,
    左端塞东西(写),右端取东西(读)

常用的管道命令有:

  • more :分屏显示内容
  • grep :在命令执行结果的基础上查询指定的文本

8、远程登录和复制文件

1、ssh
最简单的用法只需要指定用户名和主机名参数即可,主机名可以是 IP 地址或者域名。
$ ssh user@hostname

SSH 默认连接到目标主机1的 22 端口上,可以使用-p选项指定端口号
$ ssh -p 10022 user@hostname

直接连接并在后面加上要执行的命令就可以了
$ ssh pi@10.42.0.47 ls -l

9、文本处理

grep

命令格式:grep [options] [pattern] file 其中options可以放在后面任意位置

命令 参数 匹配模式 文件数据

-i : Linux大小写敏感,忽略字符大小写

-o : 仅显示匹配的字符串本身

-v : 显示没有被匹配的行

-E :支持使用扩展的正则表达式元字符

-q : 静默模式,不输出任何信息

-n : 显示行号

-F : 相当于fgrep,匹配固定字符串的内容。

1. grep '^a' test.txt -i -n    #查找以a开头的行,显示行号并且忽略大小写。
       'a$'                   #查找以a结尾的行
       'a*'                   #查找a出现一次或者多次行号      
2. grep -v '^$' test.txt       #反向输出所有非空格内容(过滤空行)
3. grep "\.$" test.txt -n      #输出以.为结束的行,\为转义字符,.为特殊字符。
       '^.*c'                 #以任意内容开头, 直到c结束
4. grep "[abc]" test.txt -n -o #匹配abc字符中的任意一个,得到它的行数和行号,只显示被匹配的关键字。
       "[^a]"           -c    #匹配除a以外的字符,显示被匹配了多少行。
       "[a+]"           -n    #+号表示匹配前一个字符1一次或多次.
       "[go?d]"         -n    #匹配god或者good
5. grep -E "(ab)+c" test.txt -n   #匹配ab出现一次或者多次以c结尾的行,并显示行号。
       "go(|o|od)d"             #|或的意思,()将一个或多个字符捆绑一起, 当作一个整体进行处理。
       "(ab){1,3}"              #匹配ab字符一到三次。
sed

awk

三、命令别名

~表示root目录

[root@localhost ~]# vi ~/.bashrc
[root@localhost ~]# 
[root@localhost ~]# source ~/.bashrc      //让命令生效
[root@localhost ~]# 
[root@localhost ~]# dps 
CONTAINER ID   IMAGE     PORTS                               STATUS          NAMES
d23e74f2b636   nginx     0.0.0.0:80->80/tcp, :::80->80/tcp   Up 21 minutes   nginx
[root@localhost ~]# dps
CONTAINER ID   IMAGE     PORTS                               STATUS          NAMES
d23e74f2b636   nginx     0.0.0.0:80->80/tcp, :::80->80/tcp   Up 21 minutes   nginx
[root@localhost ~]# 

四、vi编辑器

请添加图片描述

  1. 命令行模式
按键说明
:w保存。(w)rite
:w!强制保存(即使文件只读)
:q退出编辑器。(q)uit
:q!强制退出编辑器(不保存所做的编辑)
:wq保存并退出
:wq!强制保存并退出
:x保存并退出,同 :wq
:x!强制保存并退出,同 :wq!

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

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

相关文章

通往RAG之路(二):版面结构检测方法介绍

一、基于yolov5的版面结构检测 AG系统搭建过程中,版面分析是不可缺少的一个步骤,本文介绍用yolov5进行版面结构信息识别,后续再搭配表格识别、公式识别、文字识别等模块进行版面还原,完成PDF结构化输出。 1.1、环境搭建 conda c…

解决方案:在autodl环境下为什么已安装torch打印出来版本号对应不上

文章目录 一、现象二、解决方案 一、现象 平台:autodl 镜像:PyTorch 2.0.0 Python 3.8(ubuntu20.04) Cuda 11.8 GPU:A40(48GB) * 1 CPU:15 vCPU AMD EPYC 7543 32-Core Processor 内存:80GB 安装torch:1.13.0环境&a…

深入理解指针(6)

目录&#xff1a; 1.字符指针变量 2.数组指针变量 3.二维数组传参本质 4.函数指针变量 5.函数指针的应用 1.字符指针变量 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() {char a w;char* p &a;printf("%p ", p);} 当我们想取出…

UE 【材质编辑】自定义材质节点

使用UE的材质编辑器&#xff0c;蓝图提供了大量的节点函数&#xff1a; 实际上&#xff0c;这是一段封装好的包含一串HLSL代码的容器。打开“Source/Runtime/Engine/Classes/Material”&#xff0c;可以看到很多不同节点的头文件&#xff1a; 照葫芦画瓢 以UMaterialExpressi…

ORM 编程思想

一、ORM简介 对象关系映射&#xff08;英语&#xff1a;Object Relational Mapping&#xff0c;简称ORM&#xff0c;或 O/R mapping&#xff09;是一种为了解决面向对象语言与关系数据库存在的 互不匹配的现象。 二、实体类 实体类就是一个定义了属性&#xff0c;拥有getter、…

51单片机——存储器

1、存储器简介 RAM优点存储速度非常快&#xff0c;缺点成本高&#xff0c;掉电丢失数据。 ROM优点掉电不丢失数据&#xff0c;缺点存储速度比较慢。 所以在实际应用中&#xff0c;我们都是采用两者结合的方式。程序运行时&#xff0c;数据存储在RAM中&#xff0c;需…

自己开发完整项目一、登录功能-04(集成jwt)

一、说明 前面文章我们写到了通过数据库查询出用户信息并返回&#xff0c;那么在真实的项目中呢&#xff0c;后端是需要给前端返回一个tocken&#xff0c;当前端通过登录功能认证成功之后&#xff0c;我们后端需要将用户信息和权限整合成一个tocken返回给前端&#xff0c;当前端…

【Python技术】使用langchain、fastapi、gradio生成一个简单的智谱AI问答界面

前几天&#xff0c;智谱AI BigModel开放平台宣布&#xff1a;GLM-4-Flash 大模型API完全免费了&#xff0c;同时开启了GLM-4-Flash 限时免费微调活动。对想薅免费大模型羊毛的个人玩家&#xff0c;这绝对是个好消息&#xff0c;我们不仅可以免费使用BigModel开放平台上的GLM-4-…

产品入门篇笔记

产品和产品经理 产品&#xff1a;解决某个问题的物品&#xff0c;无形、有形都可以。 产品经理&#xff1a;简单而言就是想清楚怎么做的人&#xff0c;需要想清楚产品怎么设计&#xff0c;要分析什么用户、在什么场景、怎么样的需求&#xff1b;然后考虑产品的功能、优势、价值…

LeetCode_sql_day20(1398.购买了产品A和产品B却没有购买产品C的顾客)

描述: Customers 表&#xff1a; ------------------------------ | Column Name | Type | ------------------------------ | customer_id | int | | customer_name | varchar | ------------------------------ customer_id 是这张表中具有唯一…

李沐讲座:大语言模型的实践经验和未来预测 | 上海交大

本文简介 本博客记录了李沐关于语言模型与职业生涯分享的精彩讲座&#xff0c;涵盖了大语言模型的核心要素、工程实践中的挑战&#xff0c;以及演讲者个人职业生涯中的心得体会。 李沐简介 李沐&#xff08;Mu Li&#xff09;是一位在人工智能与深度学习领域具有广泛影响力的…

电感的分类

电感作为电子电路中的重要元件&#xff0c;具有多种分类方式&#xff0c;每种类型的电感都有其独特的优缺点。以下是对电感分类及其优缺点的详细分析&#xff1a; 一、按工作频率分类 高频电感&#xff1a;适用于高频电路&#xff0c;具有较高的自谐振频率和较低的损耗。 优点…

【学习笔记】 陈强-机器学习-Python-Ch13 提升法

系列文章目录 监督学习&#xff1a;参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归&#xff08;SAheart.csv&#xff09; 【学习笔记】 陈强-机器学习-Python-…

【python计算机视觉编程——图像聚类】

python计算机视觉编程——图像聚类 6.图像聚类6.1 K-means聚类6.1.2 图像聚类6.1.3 在主成分上可视化图像6.1.4 像素聚类 6.2 层次聚类6.3 谱聚类 6.图像聚类 6.1 K-means聚类 from scipy.cluster.vq import * import numpy as np from pylab import * matplotlib.rcParams[f…

第二篇——勾股定理:为什么在西方教毕达哥拉斯定理?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 数学大厦的建立以及与自然科学的逻辑关系&#xff0c;以及他们的边界在这…

sql-libs第三关详细解答

首先看看and 12会不会正常显示 结果正常显示&#xff0c;说明存在引号闭合 加了一个引号&#xff0c;发现报错信息中还存在括号&#xff0c;说明sql语句中有括号&#xff0c;那我们还要闭合括号 现在就好了&#xff0c;and 11正常&#xff0c;and 12不正常&#xff0c;那就开始…

常用高性能架构模式

《从0开始学架构》里讲述了常用的高性能架构模式&#xff0c;这里面很多大家可能也都用过了&#xff0c;我应该也写过相关的技术文章。正好按照书里的思路重新梳理一次。 一、读写分离 读写分离的基本原理是将数据库读写操作分散到不同的节点上 感想&#xff1a; 读写分离应…

Go入门:gin框架极速搭建图书管理系统

Go入门:gin框架极速搭建图书管理系统 前言 本项目适合 Golang 初学者,通过简单的项目实践来加深对 Golang 的基本语法和 Web 开发的理解。 项目源码请私信,欢迎前往博主博客torna.top免费查看。 项目结构 D:. ├─ go.mod ├─ go.sum │ ├─ cmd │ └─ main │ …

Jenkins配置使用LDAP的用户和密码登录

# 检查配置文件是否正确 [rootlocalhost schema]# slaptest -u 62c6aafe ldif_read_file: checksum error on "/etc/openldap/slapd.d/cnconfig/olcDatabase{1}monitor.ldif" 62c6aafe ldif_read_file: checksum error on "/etc/openldap/slapd.d/cnconfig/olcD…

Java注解和JDK新特性

1. 注解 1.1. 认识注解 Annotation&#xff1a;JDK1.5新提供的技术 编译检查&#xff1a;比如SuppressWarnings, Deprecated和Override都具有编译检查的作用替代配置文件&#xff1a;使用反射来读取注解的信息 注解就是代码里的特殊标记&#xff0c;用于替代配置文件&#…