三十分钟学会Linux

Linux

一、配置虚拟机

企业级应用:RHEL/CentOS
桌面平台:Ubuntu
开源服务器:CentOS

1.配置网络

路径可以通过TAB键自动补齐

vi /etc/sysconfig/network-scripts/ifcfg-ens33

2.克隆虚拟机

链接克隆:

  1. 当前节点文件夹只存储差异性数据
  2. 相同数据存放在原始节点上
  3. 优点:节省硬盘空间
  4. 缺点:耦合性大

完整克隆:

  1. 就是基于原始节点完全拷贝到新节点的文件夹中
  2. 优点:耦合性抵
  3. 缺点:硬盘空间使用大
  4. 推荐使用完整克隆

3.修改配置与关机

修改主机名

​ hostname 主机名 本次有效,重启无效

​ vi /etc/hostname 修改完成后需要重启生效。

修改主机域名

​ vi /etc/hosts
​ 将来我们需要把所有的虚拟机都配置hosts文件
​ 192.168.163.101 node01
​ 192.168.163.102 node02

关闭虚拟机

​ shutdown -h now 立刻关机

4.日期与时间

查看时区
ll /etc/localtime
/etc/localtime -> …/usr/share/zoneinfo/America/Los_Angeles

设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

date
查看当前系统时间

cal 查看日历
cal 2020

修改时间
date -s 11:11:11
date -s 2019-11-11
date -s ‘2019-11-11 11:11:11’

5.日期自动同步

首先安装时间同步的服务
yum -y install ntp
自动同步网络时间中心
ntpdate cn.ntp.org.cn

二、Linux的文件系统

在这里插入图片描述

  1. / Linux文件系统的根目录

  2. /bin 软连接 /usr/bin 普通用户和管理员都能运行的文件

  3. /boot 引导分区

  4. /dev /media /mnt 第三方挂载目录

  5. /etc Linux操作系统配置文件所在地

  6. /home 普通用户家目录

  7. /lib 软连接 /usr/lib Linux操作系统所需的系统资源

    /lib64 软连接 /usr/lib64

  8. /opt 类似Windows系统的非系统盘

  9. /proc Linux操作系统内存相关的文件

  10. /root 超级管理员root的家

  11. /run Linux操作系统进程相关的文件

  12. /sbin 软连接 /usr/sbin 管理员才能运行的命令文件

  13. /srv 类似Windows系统的非系统盘

  14. /sys Linux操作系统的相关文件

  15. /tmp 临时目录,每次服务器重启会自动清空

  16. /usr 类似Windows系统的系统盘

  17. /var 动态数据文件 例如日志数据库文件

1.Linux的文件操作

cd:改变当前工作目录

​ cd -P 如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录(不走软链接,走真实地址)

​ cd -L 如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录(走软链接,cd /xxx 默认就是 -L)

ls/ll:显示出指定目录下所有的文件,文件的类型如下:

​ -:普通文件

​ d:文件夹

​ l:软连接

mkdir:创建文件目录

​ mkdir -p 会自动创建文件父目录

touch:如果没有就创建一个文件,如果该文件已经存在,修改文件的三个时间,将三个时间改为当前时间

​ access 访问时间

​ modify 修改文件内容时间

​ change 修改文件元数据信息时间

rmdir:删除空文件夹,可以安全的删除文件目录

rm:删除当前⽬录中的⽂件或者是⼦⽬录

​ rm -rf 删除文件夹

cp:拷贝文件或者文件目录

​ cp 源文件 目标目录

​ cp -r 拷贝文件夹下所有的内容

mv:移动⽂件到指定⽬录

kill-9 暴⼒杀死 kill-15 温柔杀死

pwd:显示当前⽬录的全路径名称

uname:显示当前操作系统的基本信息

stat:修改查看⽂件状态

vi或者vim:打开⽂件

ping:测试与指定主机的连接状态

ln:[选项] 源文件 目标文件 建立链接 默认硬链接

​ -s :建立软链接文件。如果不加 “-s” 选项,则建立硬链接文件;
​ -f :强制创建。如果目标文件已经存在,则删除目标文件后再建立链接文件;

df -h: 分区信息

2.读取文件信息

cat
将整个文档加载到内存中,并进行一次性显示
除非后面使用管道,传递数据

tac
将整个文档加载到内存中,并进行一次性按行逆序显示

more less
分页查看文档内容
快捷键:
回车 下一行
空格 下一页
b 回退
q 退出

head
从文章开始读取N行
默认如果超过10行读取10行,否则读取现在行数
head -5 profile

tail
从文章末尾读取N行
head -3 profile | tail -1
利用管道只读取第N行
管道的作用就相当于把前面的结果以参数的方式传递给后面的命令
读取新增数据
ping www.baidu.com >>baidu
tail -F baidu
如果f:
它会监听指定inode的文件数据变化,但是当文件被删除后
即使创新创建,inode也会发生变化,于是监听失败
如果F
他会监听指定名字的文件,如果文件被删除后,重新创建
他会重新监听新文件的数据变化,监听不受影响

find
查找指定的文件
find 要查找的范围 -name 名字
find /etc -name profile

basename
剔除目录部分,只显示文件名
basename /etc/rc.d/rc.local

dirname
剔除非目录部分,只显示目录名
dirname /etc/rc.d/rc.local

3.VI和VIM编辑器

正常打开
vi profile

打开文件,并将光标置于第8行
vi +8 profile

打开最后一行
vi + profile
按n查找下一个,按N查找上一个

打开指定搜索单词的位置
vi +/if profile

三种模式

在这里插入图片描述

命令模式:每一个按键都有其具体的功能。

 使用 Vim 编辑器打开文件时,默认处于命令模式。此模式下,可使用方向键(上、下、左、右键)或 k(上)j(下)h(左)l(右)移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。
G :跳转至文件末尾。
gg :跳转至文件第一行。
数字gg :跳转到指定行,例如: 2gg ,跳转到第 2 行。
^ :跳转至行首。
$ :跳转至行末。
w :跳到下个单词处。
数字w :跳转到指定个数的单词处。
yw :复制一个单词。
3yw :复制三个单词。
yy :复制一行。
3yy :复制三行。
p :粘贴复制内容。
6p :粘贴 6 次。
dw :删除一个单词。
3dw :删除三个单词。
dd :删除一行。
3dd :删除三行。
u :回退到上一步的操作。
Ctrl + r :回退 u 执行的操作。
. :重复上一步操作。
x :剪切当前光标处字符。
3x :剪切三个字符。
r :替换,然后输入一个字符替换,例如:r1,光标处字符会被替换为 1。
3r :替换三个字符。
kjhl :方向键,分别对应上下左右。
ZZ :保存并退出。
ZQ :不保存退出。
Ctrl + s :锁屏。
Ctrl + q :解锁。

编辑模式:输入什么就是什么。

底行模式:保存文件或对文件中的指定内容执行查找或替换等操作。

:set nu :打开行号。
:set nonu :关闭行号。
/要查找的内容 :搜索指定的字符串。
	n :查找下一个。
	N :查找上一个。
s/要查找的内容/替换为的内容/修饰符 :替换字符串。
	/i :忽略大小写。
	/g :替换当前行所有,不加 /g 只替换当前行的第一个。
	3,8s/abc/lucky/g :替换指定行,不加 /g 只替换指定行的第一个。
	%s/要查找的内容/替换为的内容/g :替换全文,不加 % 表示只替换光标所在行。
:w :保存。
:q :退出。
:wq :保存并退出。
q! :强制退出,不保存。
  如果上次异常退出(比如文件正在编辑忽然断电或者直接把 Shell 窗口关闭了)会保留同名隐藏文件

在这里插入图片描述

o :只读模式打开文件。
e :读写模式打开文件。
r :通过 .swp 文件恢复文件内容。
d :删除 .swp 文件。
q :退出文件。
a :终止操作(也会退出文件)。

4.计算机间的数据传输

在这里插入图片描述

已知主机列表文件叫 known_hosts 在 /root/.ssh/known_hosts 。

Window - Linux

lrzsz
需要手动安装:yum -y install lrzsz
rz:将文件从window上传到Linux
sz 文件:将文件从Linux传输到Window
安装完 lrzsz 插件以后,还支持使用鼠标拖拽文件至 Xshell 的方式来上传文件

xftp
较为通用的文件传输方式

Linux - Linux

scp

​ scp 表示安全复制,该命令可以在两个位置之间安全地复制文件和目录。使用 scp,可以复制文件:

​ 从本地系统到远程系统;
​ 从远程系统到本地系统。

使用 scp 传输数据时,文件是加密的,因此任何敏感内容都不会在传输过程中被篡改。

scp 源数据地址(source) 目标数据地址(target)

常用选项:
-C (大写):允许传输过程中压缩,可提高效率

​ -r :递归传输整个目录(如果传输的是文件则不需要这个参数)

​ -p (小写):保留源文件的修改时间和访问权限等

​ -P (大写):指定远程主机的 ssh 端口

​ -l :limit 限制传输带宽 KB/s, -l 1 表示限制每秒 1kb 的传输效率

​ -v :详细模式,打印有关其进度的调试消息的选项,这有助于调试连接、身份验证和配置问题(调试可以使用)

rsync

rsync 也是一个比较实用的命令,用于通过远程 Shell 在两个位置之间同步文件,它通传输源和目标之间的差异来提供更快的文件传输。使用前需要先安装命令(传输的双方都必须安装 rsync)

​ 增量备份和在拷贝目录时,排除掉目录中的某些文件这两个场景 scp 就满足不了

scp 源数据地址(source) 目标数据地址(target)
# A端的~/test目录拷贝到B端的~目录,B端~目录下不会出现test目录,而是把A端的~/test目录下的所有文件拷贝到B端的~目录

-r :递归传输目录下所有文件
-a :归档模式,保持所有文件属性。递归同步并保留符号链接、组、所有者和权限,它比 -r 更常用
-v :显示 rsync 过程的详细信息, -vvvv 可以获取更加详细的信息
-z :传输时进行压缩处理
-exclude=PATTERN :排除不需要传输的文件格式
-exclude-from=FILE :排除 FILE 中指定格式的文件
-bwlimit :限制 I/O 带宽 KB/s
–partial :恢复因某些原因而中断的传输
–progress :显示传输进度
-P (大写):由两个参数组成。 --partial :恢复某些原因而中断的传输, --progress :显示传输进度
–delete :从目标目录中删除无关文件。例如某一端删除了某些文件,使用该参数后另一端对应的文件也会被删除

区别

在这里插入图片描述

scp 通过安全的 SSH 连接进行文件传输(总是安全的),rsync 不是加密传输,rsync 必须通过 SSH 传输才能安全;
如果要传输大文件,并且传输在完成之前断开连接,rsync 会从中断的地方继续传输,而 scp 没有;
rsync 默认是只拷贝有变动的文件,scp 是全量拷贝,所以 rsync 很适合做增量备份。

5.文件压缩

tar

​ 主要针对的文件是 lucky.tar.gz
​ 解压缩
​ tar -zx(解压)v(过程)f(文件) lucky.tar.gz
​ 压缩
​ tar -zc(压缩)f(文件) tomcat.tar.gz(压缩后的名字) apache-tomcat-7.0.61(源文件)
​ tar -zxf tomcat.tar.gz -C /opt/
​ -C 指定解压缩的文件目录

zip和unzip

​ 安装
​ yum install zip unzip -y
​ 压缩
​ zip -r tomcat.zip apache-tomcat-7.0.61
​ 解压缩
​ unzip tomcat.zip

三、Linux的网络信息

1.网络相关命令

ifconfig
查看当前网卡的配置信息
这个命令属于 net-tools中的一个命令,但是Centos7中minimal版并没有集成这个包,所以7的时候需要自己手动安装
如果没有ifconfig ,可以使用ip addr 临时代替
netstat
查看当前网络的状态信息
一个机器默认有65536个端口号[0,65535]
这是一个逻辑的概念,将来我们需要使用程序监听指定的端口,等待别人的访问
一个端口只能被一个程序所监听, 端口已经被占用
netstat -anp
netstat -r 核心路由表 == route
ping
查看与目标IP地址是否能够连通
telnet
查看与目标IP的指定端口是否能够连通
yum install telnet -y
telnet 192.168.31.44 22
curl
restful 我们所有的资源在网络上中都有唯一的定位
那么我们可以通过这个唯一定位标识指定的资源

2.主机间的相互免秘钥

在这里插入图片描述

1.生成密钥

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

运行以上命令后会在 ~/.ssh/ 目录下生成一对密钥对。

2.拷贝公钥

把自己的公钥传递给对方主机即可,这个公钥文件必须放在对方主机的~/.ssh/authorized_keys 文件中。

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.163.102

注意:第一次建立连接时会弹出一个警告,需要输入 yes 将该主机添加到当前设备的已知主机列表中。这个警告是可以忽略的,一会我
们讲如何忽略。

查看对方主机的 ~/.ssh/authorized_keys

​ 传输文件测试是否已免密

3.SSH 公钥检查

SSH 连接远程主机时,会检查主机的公钥。如果是第一次该主机,会显示该主机的公钥摘要,提示用户是否信任该主机。

当选择接受,就会将该主机的公钥追加到文件 ~/.ssh/known_hosts 中。

为了方便关闭严格的密钥检查

本次生效: ssh -o StrictHostKeyChecking=no root@node01
永久生效:修改 /etc/ssh/ssh_config 文件的配置,在 Host * 节点下配置以下信息:
# 严格的密钥检查 no
StrictHostKeyChecking no

SSH 对主机公钥的检查等级是根据 StrictHostKeyChecking 变量来配置的:

StrictHostKeyChecking=no :最不安全的级别,当然也没有那么多烦人的提示了,相对安全的内网建议使用。如果访问的计算机的公钥在本地不存在,会自动添加到文件中(默认是 known_hosts ),并且给出一个警告

StrictHostKeyChecking=ask :默认的级别,就是出现刚才的提示。如果连接和公钥不匹配,给出提示,并拒绝登录。

StrictHostKeyChecking=yes :最安全的级别,如果连接和公钥不匹配,拒绝连接,不会提示详细信息。

四、用户-组-权限

1.用户

在这里插入图片描述

useradd 命令可以用来创建新的用户或更改用户的信息。帐号建好之后,再用 passwd 设定帐号的密码。使用 useradd 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中。

useradd [选项] [用户名]

-D :改变新建用户的预设值
-c :添加备注文字
-d :新用户每次登陆时所使用的家目录
-e :用户终止日期,日期的格式为 YYYY-MM-DD
-f :用户过期几日后永久停权。当值为 0 时用户立即被停权,而值为 -1 时则关闭此功能,预设值为 -1
-g :指定用户对应的用户组
-G :定义此用户为多个不同附属组的成员
-m :用户目录不存在时则自动创建
-M :不建立用户家目录,优先于 /etc/login.defs 文件设定
-n :取消建立以用户名称为名的群组
-r :建立系统帐号
-u :指定用户 id

新增用户(默认会创建同名的组和家目录)

useradd 用户名

设置密码

passwd 用户密码

查看用户

id 用户名
cat /etc/passwd
cat /etc/shadow

修改用户

# 修改用户名(组名称和家目录是不会被修改的)
usermod -l newname oldname
# 锁定用户(禁止登录)
usermod -L 用户
# 解锁用户
usermod -U 用户名

删除用户

userdel -r 用户名

切换用户

su - 用户名

注意:使用 su 命令时,有 - 和没有 - 是完全不同的,- 选项表示在切换用户身份的同时,连当前使用的环境变量也切换成指定用户的。

2.组

在这里插入图片描述

修改用户的组:

# -g 修改主组(只能一个)
[root@node01 ~]# usermod 用户名 -g 组名
# -G 修改附属组(可以多个)
[root@node01 ~]# groupadd 组名
[root@node01 ~]# groupadd 组名
[root@node01 ~]# usermod 用户名 -G 组名,组名

3.权限

在这里插入图片描述

在这里插入图片描述

权限分别对应了用户、组、其他,那我们就可以直接修改文件所属信息来达到权限的控制。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

四、程序员指南:数据平面开发套件

REORDER LIBRARY 重排序库提供了根据其序列号对mbuf进行重排序的机制。 16.1 操作 重排序库本质上是一个对mbuf进行重新排序的缓冲区。用户将乱序的mbuf插入重排序缓冲区,并从中提取顺序正确的mbuf。 在任何给定时刻,重排序缓冲区包含其序列号位于序列…

人工智能Keras的第一个图像分类器(CNN卷积神经网络的图片识别)

CNN卷积神经网络是人工智能的开端,CNN卷积神经网络让计算机能够认识图片,文字,甚至音频与视频。CNN卷积神经网络的基础知识,可以参考:CNN卷积神经网络 LetNet体系结构是卷积神经网络的“第一个图像分类器”。最初设计用于对手写数字进行分类,上期文章我们分享了如何使用k…

西南科技大学814考研二

C语言数据结构与算法 线性表 顺序表(静态分配内存) #include <stdio.h> #include <stdbool.h> //静态顺序表 #define MAX_SIZE 8 //顺序表储存的数据类型 typedef int ElemType; typedef struct {ElemType data[MAX_SIZE];int length; }SeqList; //初始化顺序表…

解决 vite 4 开发环境和生产环境打包后空白、配置axios跨域、nginx代理本地后端接口问题

1、解决打包本地无法访问空白 首先是pnpm build 打包后直接在dist访问&#xff0c;是访问不了的&#xff0c;需要开启服务 终端输入 npm install -g serve 然后再输入 serve -s dist 就可以访问了 但要保证 路由模式是&#xff1a;createWebHashHistory 和vite.conffig.j…

移动机器人路径规划(四)--- 考虑机器人模型下的运动规划KINODYNAMIC PATHFINDING

目录 1 动力学概念简介 2 State Lattice Planning 3 Boundary Value Problem 4 混合A*算法 Hybrid A* 5 Kinodynamic RRT* 1 动力学概念简介 一种生成机器人的运动同时受限制于运动学的约束&#xff08;避障&#xff09;以及动力学的约束&#xff08;在速度加速度力的约束…

构建自定义ChatGPT,微软推出Copilot Studio

11月16日&#xff0c;微软在美国西雅图举办“Microsoft Ignite 2023”全球开发者大会。本次人工智能成为重要主题&#xff0c;微软几乎把所有产品都集成了生成式AI功能并发布了一系列全新产品。 其中&#xff0c;微软重磅推出了Copilot Studio&#xff08;预览版&#xff09;&…

IO流-打印流

一&#xff0c;打印流 二&#xff0c;常用方法 三&#xff0c;案例 package Print.sd;import java.io.FileNotFoundException; import java.io.PrintStream; import java.nio.charset.Charset;public class Main {public static void main(String[] args) throws FileNotFound…

RasberryPi 3B+ 树莓派 初识

关于香橙派的学习暂时告一段落&#xff0c;从本节开始学习树莓派3B&#xff01; 我在亚马逊官网购买了3b和壳子&#xff0c;安装完成后大概长这样&#xff1a; &#xff08;感觉的确像一台小型电脑主机了&#xff09; 树莓派的引脚功能图 图参&#xff1a;树莓派3B 引脚图说明…

SELF-RAG: 让LLM集检索,生成跟评判等多种能力于一身

SELF-RAG: 让LLM集检索&#xff0c;生成跟评判等多种能力于一身 提纲 1 简介 2 SELF-RAG 3 实验结论 4 讨论 参考文献 1 简介 尽管基础能力出众&#xff0c;但是大模型只能依赖于被压缩到模型参数中的知识&#xff0c;所以经常会生成不符合事实的回复。针对这种事实性错…

Devart dotConnect ADO.NET Data Providers Crack

开发数据相关 .NET 应用程序的终极解决方案&#xff1a;快速、灵活、全面、功能丰富、支持 ORM 的 ADO.NET 提供程序 概述 实体框架 连接字符串 博客 高性能 ADO.NET 数据提供程序 dotConnect 是基于 ADO.NET 架构和采用多项创新技术的开发框架构建的增强型数据连接解决方​​…

C++初阶-内存管理

内存管理 一、C/C内存分布二、C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free三、C内存管理方式new/delete操作内置类型new和delete操作自定义类型 四、operator new与operator delete函数operator new与operator delete函数 五、new和delete的实现原理内置类…

数据同步策略解读

前言 我们都知道在大多数情况下&#xff0c;通过浏览器查询到的数据都是缓存数据&#xff0c;如果缓存数据与数据库的数据存在较大差异的话&#xff0c;可能会产生比较严重的后果的。对此&#xff0c;我们应该也必须保证数据库数据、缓存数据的一致性&#xff0c;也就是就是缓…

新版JetBrains ToolBox【Windows】修改应用安装位置

WIndows下新版的JetBrainse ToolBox 无法修改应用安装路径 关闭 ToolBox 应用修改配置文件.settings.json 路径&#xff1a;C:\Users\用户名\AppData\Local\JetBrains\Toolbox "install_location": "xxx",

【Hello Go】Go语言工程管理

工程管理 工作区工作区介绍GOPATH设置 包自定义包main包main函数和init函数导入包点操作别名操作_操作 测试案例GOPATH配置go install使用 在我们实际的工作中 直接运用到编译器进行编译链接的场景少之又少 这是因为 在工程中不会只有一个源文件 并且源文件之间也有着相互依赖…

调试/抓包工具

一、Fiddler【推荐window使用】 介绍&#xff1a;个人认为是 Windows 平台最好用的抓包工具&#xff1b; 下载&#xff1a;Fiddler | Web Debugging Proxy and Troubleshooting Solutions 使用方式&#xff1a;这一篇文章写的很全&#xff0c;认真看完就够用了 Fiddler 抓包工…

FL Studio21.2最新版本支持终身免费更新

你是否体验过Tomorrowland现场万人蹦迪的的激情&#xff1f;又是否加入过“死墙&#xff08;Mosh pit&#xff1a;一种Bass音乐节常有的娱乐方式&#xff09;”的狂欢盛宴&#xff1f;随着时代发展&#xff0c;以电子音乐为代表的数字音乐已然象征着时尚与潮流。在这股风靡全球…

YB203H系列是一组CMOS技术实现的三端低功耗高电压稳压器

概述: YB203H系列是一组CMOS技术实现的三端低功耗高电压稳压器。输出电流为200mA且允许的输入电压可高达80V。具有几个固定的输出电压&#xff0c;范围从2.1V到12.0V.CMOS技术可确保其具有低压降和低静态电流的特性。最高耐压100W.尽管主要为固定电压调节器而设计&#xff0c;…

Mysql -常见函数

目录 字符串函数 数值函数 日期函数 流程函数 字符串函数 -- 拼接 SELECT CONCAT(Hello, World); -- 小写 SELECT LOWER(Hello); -- 大写 SELECT UPPER(Hello); -- 左填充 SELECT LPAD(01, 5, -); -- 右填充 SELECT RPAD(01, 5, -); -- 去除空格 SELECT TRIM( Hello World )…

群晖邮件设置,错误535 Authenticate failed问题

设置邮件通知或者报警很方便&#xff0c;群晖内部内置这个功能。在设置的时候遇到错误535 Error&#xff1a;authentication failed。 原因是&#xff1a;这个错误就是认证失败&#xff01; 但是相信很多的同学明明用户名和密码填的是对的&#xff0c;就是说认证失败&#xf…

MATLAB中plotmatrix函数用法

目录 语法 说明 示例 使用两个矩阵输入创建散点图矩阵 使用一个矩阵输入创建散点图矩阵 指定标记类型和颜色 创建并修改散点图矩阵 plotmatrix函数的功能是创建散点图矩阵。 语法 plotmatrix(X,Y) plotmatrix(X) plotmatrix(___,LineSpec) plotmatrix(ax,___) [S,AX,B…