深入理解Ubuntu22:探索Linux操作系统的功能与应用

一、linux

(一)、安装

1、电脑可以安装双系统,即在一套硬件上只能同时运行一个操作系统,例:C盘安装win,D盘安装linux。

2、虚拟机

虚拟机需要硬件支持,并需开启VT-x.
如:VirtualBox/VMware Workstation
虚拟机是一种软件实现的虚拟计算机环境,用来模拟真实环境,可在虚拟机内运行操作系统。

3、安装

(1)、新建虚拟机
在这里插入图片描述

(2)、选择自定义
在这里插入图片描述
(3)、默认配置硬件
在这里插入图片描述
(4)、‘新建虚拟机向导’-‘稍后安装操作系统’
在这里插入图片描述
(5)‘客户机操作系统’-‘linux’,‘版本’-‘ubuntu’
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2590f327ae3c41958ec1bd79ffe8a40f.pn
(6)设置虚拟机名称与虚拟机位置
在这里插入图片描述
(7)设置处理器数量
在这里插入图片描述
(8)设置虚拟机内存
在这里插入图片描述
(9)网络类型、磁盘选择类型、磁盘容量、磁盘文件位置都可自定义。

(二)、虚拟机的基本操作

1、虚拟机快照:保存一个正确状态的虚拟机版本。

内容:保存快照、回退到上一个版本、管理快照

2、基本操作

(1)、汉化
在设置中更改语言
(2)、软件和更新
尽量不要更新
(3)、下载源
国内服务器
(4)、更新镜像
sudo apt update
(5)、查看ip
sudo apt install net-tools
(6)、调整分辨率
安装open-vm-tools
“查看”-“立即适应客户机”

(三)、目录

Linux下一切皆文件
没有盘符,根目录就是/

1、bin:普通用户可执行文件目录。
2、sbin:管理员可执行文件目录。
3、lib*:可执行文件依赖的类库。
4、usr:bin/sbin/lib*/local[bin/sbin/lib*]
5、etc:所有软件的配置文件,apt/sourse.list,下载源。
6、home:用户家目录。
7、root:系统管理员家目录,普通用户无法访问。
8、opt:第三方软件配置目录,如:pycharm。
9、var:lock:锁文件,www:日志文件,log:日志路径,mail:邮件看路径。

(四)常用指令

1、格式:指令名 选项(可选,一般没有先后顺序) 参数(可选)

2、斜杠/表示根目录,而点号.表示当前目录,双点号…表示父目录。

3、~表示当前用户的家目录(home directory)。cd ~会将你换到/home/user1目录下。

(1)、ls

罗列当前所有文件
-a: 显示所有隐藏文件(.开头)
-l:列表详细信息
每个字符:
-:代表是一个文件
d:表示是一个目录
l:代表是一个连接
九个字符:
头三个:当前用户
中间三个:当前用户组
最后三个:其他用户
每三个字符:r可读;w可写;x可执行;-无权限
一个数字:当前文件/目录 连接数(包括自己)
“当前用户"与"当前用户所在的组”,默认用户名与组名一致。
文件大小。
日期时间。
文件、目录名。
-h:文件大小可读性强
例:查看根目录列表信息:ls -alh /

(2)、cd:更改工作路径。

cd / :切换到根目录
cd … :上级路径
cd 路径名 :当前路径下面的文件夹
cd /etc/apt : 使用绝对路径
cd ~ : 回到当前用户家目录(一键回城)
cd - : 从哪里来回哪里去
例:cd ~/Desktop/: 去往桌面目录

(3)、mkdir

创建文件夹,默认在已有路径下创建。
-p :创建多级路径。

(4)、rmdir

删除空文件夹

(5)、touch

创建/更新文件

(6)、rm

删除文件
-r:递归,例:rm -rf 文件夹名:递归删除文件夹中的文件包括文件夹
-f:忽略错误
rm -rf / :删除跑路(不要轻易使用)

(7)、重定向

>:写入
>>:追加

(8)、更改文件中的内容

sed -i ‘s/原内容/新内容/g’ 文件名

(9)、查看

cat:查看文件内容

例:cat 文件名1 文件名2 文件名3 > 文件名4
将文件1、2、3中的内容写入文件4
head 默认查看所有; 加上-n,查看前几行

tail 默认查看全部;加上-n,表示查看后几行

more 每次查看一屏信息;按空格,可翻页;按q,表示退出

(10)、wc:对文件进行统计

-l:行数
例:wc -l 文件名
-w :单词数
-c :字符数

(11)、|:管道

左侧作为输入
右侧作为输出
例:cat abc | head -3
对于abc文件中的内容只显示前三行

(12)、grep:行过滤

-n:显示行号
例:grep -n 所找内容 文件名 相当于 cat 文件名 | grep -n 所找内容

(13)、cp:拷贝文件

cp 原文件 新文件 (如果是目录,名字不改变)

(14)、mv:移动文件

mv 原文件 新文件 (如果是目录, 名字不变)

(15)、tar:归档

-c:创建归档文件
例:tar -cf 归档名.tar 文件1 文件2 文件3
-f:归档名,需要位于最后一个选项
-t:罗列归档文件
-x:解开归档
-v:查看进度
后缀为.tar

(16)、gzip:压缩

后缀为.tar.gz
-r:将归档的压缩
例: gzip -r 归档名.tar
-d:解压
例:gzip -d 压缩名.tar.gz

(17)、ln:连接

硬链接:ln 原始文件 新文件
相当于拷贝一份文件,但两者又有关联
一个改变,另一个也改变
一个删除另一个也可以删除
只能连接文件,链接出来的也是文件
软连接:带有-s
ln -s 原文件 新文件
相当于快捷方式,可以连接文件,也可以连接文件夹
原文件删除后,链接出来的文件不可使用,即原始文件失效,连接文件不可使用

(18)、pwd:

查看当前所在的目录。

(19)、which:

bin执行文件的位置,定位并显示给定命令的绝对路径。

(20)、ps:

查看当前进程。
-ef:查看所有进程的详细信息。
-wf:显示完整的进程信息。
pid:进程号。
ppid:父进程号。

(21)、kill:

杀死进程。
-9:清理相关资源。

(22)、ifconfig:

查看ip信息。

(23)、wget:

wget+网址:下载。

(24)、clear:

清屏

(25)、quit或Ctrl+C

退出。

(五)、用户相关指令

1、linux为多用户,多任务操作系统。

在 Linux 系统中,可以创建多个用户账户,每个用户都有自己的用户名和密码,以及独立的用户环境和权限。这种多用户的机制使得多个用户可以在同一台计算机上共享资源,同时保持彼此的隐私和安全性。

2、常用指令

(1)、whoami:

显示用户

(2)、用户和组的存储位置:
  • /etc/passwd:用户信息文件。例:cat /etc/passwd,显示用户信息。
  • /etc/group:用户组信息。
(3)、useradd:

创建用户
注意使用权限,例:sudo useradd -m temp1
例2:sudo useradd -m -g 组名 用户名
-m:创建家目录,即:/home/user名。
-g:指定组

(4)、userdel:

删除用户
注意使用权限,例:sudo userdel -r temp1
-r:自动删除家目录

(5)、groupadd:

创建组
例:sudo groupadd 组名

(6)、groupdel:

删除组
例:sudo groupdel 组名

(7)、passwd:

设置密码
默认给root设置密码,即:sudo passwd
sudo passwd 用户名

(8)、su:

切换用户
默认切换到root
注意su root之前,先给root设置密码
su 用户名
例:su temp1

(9)、exit:

退出到当前用户的上一个用户
直到退出终端

(10)、chmod:

修改权限
改变文件或目录权限的命令
它可以控制文件或目录的读取、写入和执行权限,以及文件所有者、所属组和其他用户的权限设置。
chmod [选项] 模式 文件名
用户类型:
u:文件所属用户;g:所属用户组里的其他用户;o:组外其他用户。
权限类型:
r:读,4;w:写,2;x:执行,1。
-R递归修改

案例
chmod g+w temp1
让temp1文件夹所属的用户 所在的组的其他用户拥有写的权限
chmod o=— temp1
组外其他用户没有任何权限
chmod o-w temp1
组外其他用户没有写权限
chmod u+w,g-w,o=— temp1
修改三种用户
注意权限之间不要有空格
chmod 777 temp1
所有用户的所有权限
chmod 750 temp1
当前用户所有权限,组里用户可读可执行,其他用户没有权限

(10)、chown:

直接修改所属用户
例:chown 新用户名 旧用户名
参数:-R递归修改

(11)、chgrp:

直接修改用户所属组
例:chgrp 新组名 旧组名
参数:-R递归修改

(六)ssh与scp

1、ssh为一种通信协议

2、使用

(1)注意事项
  • 联网:查看是否联网,例如:ping baidu.com
  • 更新下载源:sudo apt update
  • 切换下载源(切换镜像):因为镜像可能不支持安装包
(2)下载sshd

sudo apt install openssh-service
查找进程号:ps -ef | grep sshd
查看状态:sudo systemctl status sshd
或:sudo service sshd status

3、使用工具

(1)scp是基于ssh的远程传输工具
(2)使用方法
  • 格式:scp 原始文件 新文件
  • scp 文件名 用户名@ip:远程文件路径

路径支持绝对路径也支持相对路径(用户家目录)
也支持改名字
-r 递归传输文件

  • scp 用户名@ip:远程文件路径 文件名
    路径支持绝对路径也支持相对路径(用户家目录)
    也支持改名字
    -r 递归传输文件

例:
在Windows窗口下
向linux中传入文件
scp abc.txt gaosinan@192.168.11.x:abc.txt
用户名和ip都是linux的
向linux中传入文件夹
scp -r efg gaosinan@192.168.11.x:efg

(七)服务操作

service

sudo service sshd start
sudo service sshd status
sudo service sshd stop
sudo service sshd restart

systemctl

sudo systemctl start sshd
sudo systemctl status sshd
sudo systemctl stop sshd
sudo systemctl restart sshd

(八)Python与pycharm

1、linux自带Python

给Python添加软连接
sudu   ln   -s   /usr/bin/python3.10   /usr/bin/python/

2、在linux系统下安装pycharm

1.在Windows下,下载linux版本的pycharm

注意不要有中文路径

2、移动到linux系统下

在Windows黑窗口下:scp pycharm-community-2023.3.4.tar.gz gaosinan@192.168.11.3:pycharm.tar.gz

3、更改opt文件夹的权限

opt文件夹是用于安装第三方软件包的
opt文件夹在根目录下,即/下
sudo chmod -R 777 opt

4、将pycharm.tar.gz移动到opt文件夹下

mv pycharm.tar.gz /opt/

5、将pycharm.tar.gz解压

进入opt文件夹
cd /opt/
gzip -d pycharm.tar.gz

6、将pycharm.tar解包(解开归档)

tar -xvf pycharm.tar

7、进入解档后的文件的bin文件夹

cd /opt/pycharm-community-2023.3.4/bin/

8、运行pycharm的启动文件

./pycharm.sh
注意在终端中使用sh启动文件启动pycharm后,在使用pycharm时不要关闭

9、设置pycharm快捷方式

“file”-“Tools”-“Create Desktop ……”

(九)Vim文本编辑器

1、三种模式

  • 普通模式:键盘输入内容被解释为指令
  • 插入模式:可以输入状态
    按下i或a进入插入模式
    按下esc退出插入模式
  • 命令行模式:按下:进入命令行模式
    可以搜索替换

2、linux自带vi编辑器

(1)使用升级版vim

sudo apt install vim

(2)文件操作

vim 文件名:有就打开,没有就创建

命令行模式

:进入命令行
q 退出;q!:退出,不保存;wq 保存,退出;

在普通模式下进行

gg:文件开头
gg:跳转到文档的开头(go to beginning of file)
G:文件末尾
G:跳转到文档的末尾(go to end of file)
M:文件中间
k:上
j:下
h:左
l:右

插入模式

在插入模式按下二手车退出 进入普通模式
i:光标之前插入
l:行首
a:光标之后插入
A:行末
o:下一行插入
O:上一行插入

其他指令

yy:复制一行
p:粘贴
u:撤销

删除内容

x:delete,表示删除
dd:delete line,表示删除整行
d0:delete to beginning of line,表示删除光标位置到行首的文本
D:delete to end of line,表示删除光标位置到行尾的文本

搜索

/向下搜索内容
?向上搜索内容
n寻找下一个
n:next,表示向下查找下一个匹配项
N寻找上一个
N:previous,表示向上查找上一个匹配项

(十)Ubuntu22下使用Mysql

1、mysql安装

sudo apt install mysql-server
mysql 8,没有配置密码

2、进入mysql

1、使用mysql_secure_installation配置
2、使用系统root登录mysql系统
直接登录mysql
mysql root用户默认没有密码

3、创建用户

create user ‘zzy’@‘%’ identified by ‘123456’;

4、分配权限

grant all on . to ‘zzy’@‘%’;

5、刷新权限

flush privileges;

(十一)Ubuntu22下使用Redis

1、下载redis安装包

sudo apt install redis-server

2、查看redis状态

systemctl status redis
连接redis客户端
redis-cli

3、配置redis的conf文件

到root用户下:su
到redis文件夹下找到配置文件:cd /etc/redis
修改配置文件:vim redis.conf
requirepass 123456
bind 0.0.0.0 :: 1
注意要把原来的bind注释掉

4、重新启动

sudo systemctl restart redis

5、查看状态

sudo systemctl status redis

6、使用redis客户端连接

redis-cli -h 192.168.11.x -a 123456

(十二)Ubuntu22下使用mongodb

官方网站

https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/
查看虚拟机版本号
cat /etc/lsb-release

安装

1、sudo apt-get install gnupg curl

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc |
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg
–dearmor

2、echo “deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
3、sudo apt-get update
4、sudo apt-get install -y mongodb-org
5、查看mongod状态

systemctl status mongod

6、如果没有启动,重新启动,再查看状态

sudo systemctl start mongod
sudo systemctl status mongod

7、进入mongo客户端

mongosh

8、更改mongo的配置文件mongod.conf

进入 /etc/
即不在root用户下
su gaosinan
更改配置文件
sudo vim mongod.conf
重启mongod
sudo systemctl restart mongod

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

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

相关文章

气象ARWpost、grads 等使用的ctl和dat格式的grd 二进制文件

气象ARWpost、grads 和 Fortran使用的ctldat格式的grd 二进制文件,在Python中可以用xgrads包来读取或者转成nc 格式使用。 xgrads包官网说明地址:https://xgrads.readthedocs.io/en/latest/ 示例1,打开多个空间场相同,时间不同的 …

安防监控视频汇聚平台EasyCVR接入海康Ehome设备,设备在线但视频无法播放是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

51单片机-蜂鸣器

1.蜂鸣器的介绍 无源蜂鸣器不能一直通电&#xff0c;无源蜂鸣器内部的线圈较小&#xff0c;易烧坏 蜂鸣器的驱动 达林顿晶体管&#xff08;npn型&#xff09; 应用&#xff1a; 按下独立按键同时蜂鸣器响起提示音&#xff0c;数码管显示对应的独立按键键码 #include <REG…

不确定性建模:传感器噪声与输入输出扰动/干扰

鲁棒性在控制系统设计中是至关重要的&#xff0c;因为实际的工程系统容易受到外部干扰和测量噪声的影响&#xff0c;而且在设计中使用的数学模型和实际中的实际系统之间总是存在差异。通常需要一个控制工程师设计一个控制器&#xff0c;使闭环系统稳定&#xff0c;并在存在干扰…

Spring的事务传播机制有哪些?

Spring的事务传播机制用于控制在多个事务方法相互调用时事务的行为。 一、问题解析 在复杂的业务场景中&#xff0c;多个事务方法之间的调用可能会导致事务的不一致&#xff0c;如出现数据丢失、重复提交等问题&#xff0c;使用事务传播机制可以避免这些问题的发生&#xff0c…

面试算法-66-二叉树的层序遍历

题目 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]] 解 class Solut…

HTML实现卷轴动画完整源码附注释

动画效果截图 页面的html结构代码 <!DOCTYPE html> <html> <head lang=

golang sync.Map之如何设计一个并发安全的读写分离结构?

在 golang中&#xff0c;想要并发安全的操作map&#xff0c;可以使用sync.Map结构&#xff0c;sync.Map 是一个适合读多写少的数据结构&#xff0c;今天我们来看看它的设计思想&#xff0c;来看看为什么说它适合读多写少的场景。 如下&#xff0c;是golang 中sync.Map的数据结构…

HarmonyOS ArkTS 通用事件(二十三)

通用事件目录 点击事件事件ClickEvent对象说明EventTarget8对象说明示例 触摸事件事件TouchEvent对象说明TouchObject对象说明示例 挂载卸载事件事件示例 点击事件 组件被点击时触发的事件。 事件 ClickEvent对象说明 从API version 9开始&#xff0c;该接口支持在ArkTS卡片中…

MySQL 多表关系(介绍) 一对多/多对多

一对多 举例介绍 例子: 部门与员工 在常理上来说: 一个部门有多个员工&#xff0c;一个员工只对应一个部门实现方式: 在多的一方建立外键&#xff0c;指向一的一方的主键 多对多 举例介绍 例子: 学生与课程 在常理上来说: 一个学生可以有多个课程,一门课程可以有多个学生实…

6.如何判断数据库搜索是否走索引?

判断是否使用索引搜索 索引在数据库中是一个不可或缺的存在&#xff0c;想让你的查询结果快准狠&#xff0c;还是需要索引的来帮忙&#xff0c;那么在mongo中如何判断搜索是不是走索引呢&#xff1f;通常使用执行计划&#xff08;解释计划、Explain Plan&#xff09;来查看查询…

【LEMONSQUEEZY: 1【mysql写shell】】

前期环境准备 靶机下载地址 https://vulnhub.com/entry/lemonsqueezy-1%2C473/ 信息收集 ┌──(root㉿kali)-[/home/test/桌面/lemmon] └─# nmap -sP 192.168.47.1/24 --min-rate 3333 Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-20 14:02 CST Stats: 0:00:06 e…

关于layui如何动态更新数据

因为在写项目时用layui来完成后台&#xff0c;想点击下一页或者对于下拉切换数据的条数&#xff0c;然后一开始没注意它的table.render里面的url&#xff0c;&#xff08;不是没注意吧&#xff0c;就是没看到await等明显的请求方式&#xff0c;就以为它只能请求JSON文件里面的数…

ATG-2081功率信号源在电子实验中的应用

功率信号源被广泛应用于电子实验领域&#xff0c;主要用于产生精确、干净的高频信号。这些信号可以被用于测试各种电子器件和电路&#xff0c;例如射频、微波电路和天线等。下面将介绍功率信号源在电子实验中的应用。 功率信号源可以产生稳定、高质量的RF和微波信号&#xff0c…

【Maven入门篇】(3)依赖配置,依赖传递,依赖范围,生命周期

&#x1f38a;专栏【Maven入门篇】 &#xfeff;> &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#xfeff;> &#x1f386;音乐分享【The truth that you leave】 &#xfeff;> &#x1f970;欢迎并且感谢大家指出我的问题 文章目录 &…

【译】矢量数据库 101 - 什么是矢量数据库?

原文地址&#xff1a;Vector Database 101 - What is a Vector Database? 1. 简介 大家好——欢迎回到 Milvus 教程。在上一教程中&#xff0c;我们快速浏览了每天产生的日益增长的数据量。然后&#xff0c;我们介绍了如何将这些数据分成结构化/半结构化数据和非结构化数据&…

【学习】CMMI评估认证的意义和需要注意的问题

​ CMMI认证是软件能力成熟度集成模型&#xff0c;是软件行业中的一种质量管理体系&#xff0c;旨在评估软件开发组织的成熟度和能力&#xff0c;以帮助企业提高软件质量、降低成本、控制风险&#xff0c;并获得更好的商业效益。 一、CMMI评估认证的意义 1. 提高软件质量&am…

GAMES101 学习3

Lecture 13 ~ 16 Shadow mapping 一种图像空间算法生成阴影时不需要知道场景中的几何信息会产生走样现象 最重要的思想&#xff1a;如果有的点不在阴影里你又能看到这个点&#xff0c;那么说明摄像机可以看到这个点&#xff0c;光源也可以看到这个点 经典的Shadow mapping …

Linux-docker安装数据库mysql

1、拉去mysql镜像&#xff1a; docker pull mysql2、创建容器挂载路径 mkdir -p /usr/local/jiuxiang/mysql/data # 数据存储位置 mkdir -p /usr/local/jiuxiang/mysql/logs # 日志存储位置 mkdir -p /usr/local/jiuxiang/mysql/conf # 配置文件3、启动容器 docker run -…

数据结构 之 二叉树

&#x1f389;欢迎大家观看AUGENSTERN_dc的文章(o゜▽゜)o☆✨✨ &#x1f389;感谢各位读者在百忙之中抽出时间来垂阅我的文章&#xff0c;我会尽我所能向的大家分享我的知识和经验&#x1f4d6; &#x1f389;希望我们在一篇篇的文章中能够共同进步&#xff01;&#xff01;&…