深入理解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

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

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

相关文章

Ubuntu18.04显示--有线连接未托管

引用: Ubuntu18.04连不网 报"有线连接未托管"_ubuntu20.04以太网未托管-CSDN博客 正文 虚拟机环境配置: VirtaualBox Ubuntu18.04桌面版 问题现象: Ubuntu18.04虚拟机的桌面上提示“有线连接未托管”,虚拟机不能上网&#xf…

使用倒模耳机壳UV树脂胶液制作舞台监听耳返入耳式耳机壳有哪些缺点?

使用倒模耳机壳UV树脂胶液制作舞台监听耳返入耳式耳机壳也存在一些缺点,具体如下: 成本较高:相对于传统的塑料或金属材料,UV树脂胶液的成本较高,需要更多的材料和工艺成本。制作难度较大:由于UV树脂的特殊…

鸿蒙ArkTS实战开发-Native XComponent组件的使用

介绍 本篇Codelab主要介绍如何使用XComponent组件调用NAPI来创建EGL/GLES环境,实现在主页面绘制一个正方形,并可以改变正方形的颜色。本篇CodeLab使用Native C模板创建。 如图所示,点击绘制矩形按钮,XComponent组件绘制区域中渲…

校招岗位大解析

校园招聘岗位需要综合考虑岗位描述、行业背景、公司文化、职业发展路径、技能要求、薪酬福利以及公司口碑等多个方面的因素,全面了解并综合考虑这些因素,才能更好地选择适合自己的岗位,实现个人职业发展目标。 1. 软件/后端/前端开发 软件/…

【SpringBoot】如何定义接口

定义get接口 使用GetMapping定义一个基本get接口 RestController //表示定义一个json格式返回给前端 public class test {private Map<String,Object> map new HashMap<>();GetMapping(value "/test") //定义接口路径public Object userInfo(Strin…

搭建Linux内核开发环境——保姆教程(持续更新中)

搭建Linux内核开发环境——保姆教程&#xff08;持续更新中&#xff09; git版本管理汇编器链接器调试器编辑器构建系统模拟器文档工具图形设计工具 在此文中&#xff0c;持续完善&#xff0c;搭建内核开发环境的细节&#xff0c;有需要的小伙伴儿可以持续关注下 git版本管理 …

【小白入门篇1】GPT到底是怎样练成?

由于具有代表性的OpenAI公司GPT模型并没有开源&#xff0c;所以本章节是参考一些开源和现有课程&#xff08;李宏毅&#xff09;讲解ChatGPT原理。本章没有涉及到很多数学运算&#xff0c;比较适合小白了解GPT到底是怎么练成。GPT的三个英文字母分别代表Generative(生成式)&…

【LeetCode】升级打怪之路 Day 27:回溯算法 — 单词拆分问题

今日题目&#xff1a; 140. 单词拆分 II139. 单词拆分 参考文章&#xff1a;回溯算法&#xff1a;单词拆分 今天主要做了两道单词拆分的问题&#xff0c;都是需要使用回溯算法来解决&#xff0c;第一个题目难度不大&#xff0c;第二个题目需要在“剪枝”上多做一些功夫&#xf…

电脑共享文件使用记录怎么查

共享文件是指在网络环境下&#xff0c;多台计算机之间或同一台计算机的不同用户之间&#xff0c;能够对文件进行共享的一种机制。 通过共享文件&#xff0c;用户可以方便地在多台计算机之间传输和访问文件&#xff0c;实现文件资源的共享和协作。 在共享文件的设置中&#xf…

基于modbus TCP实现EPICS与西门子S7 1200系列1215C PLC的通信

PLC介绍 西门子系列PLC在国内的市场占比第一&#xff0c;1200系列中小型PLC&#xff0c;因其众多的产品序列、强大的通讯功能和丰富扩展模块&#xff0c;被使用在工业生产、自动化生产线、智能制造、机器人等各行各业。根据CPU的供电电源的型号和数字量输出的类型&#xff0c;…

FANUC机器人零点标定的基本步骤(出厂数据)

FANUC机器人零点标定的基本步骤(出厂数据) FANUC 零点数据存在问题的机器人通常会出现以下几种报警: (1)SRVO-062报警 - 脉冲编码器数据丢失,机器人完全不能动,具体消除方法可参考以下链接中的内容: FANUC机器人SRVO-062报警原因分析及处理对策 (2)SRVO-075报警 -…

某智慧化平台实施方案—资料原件word

1.概述 2.项目介绍 3.项目实施 4.实施计划 5.人员培训 6.项目验收 7.售后服务 8.项目保障措施 软件全套资料原件获取进主页。

软件测试 -- Selenium常用API全面解答(java)

写在前面 // 如果文章有问题的地方, 欢迎评论区或者私信指正 目录 什么是Selenium 一个简单的用例 元素定位 id定位 xpath定位 name定位 tag name 定位和class name 定位 操作元素 click send_keys submit text getAttribute 添加等待 显示等待 隐式等待 显示等…

【STC8A8K64D4开发板】第2-17讲:PCA实现数模转换(DAC)

第2-17讲&#xff1a;PCA实现数模转换&#xff08;DAC&#xff09; 学习目的了解DAC数模转换原理及RC积分电路原理。掌握STC8A8K64D4系列单片机实现DAC功能的硬件和软件设计。 DAC简介 DAC (全称是Digital to Analog Convertor)数模转换器是一种将数字信号转换为模拟信号&a…

Java多线程实战-CompletableFuture异步编程优化查询接口响应速度

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️本系列源码仓库&#xff1a;多线程并发编程学习的多个代码片段(github) &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正…

现代卷积神经网络

深度卷积神经网络&#xff08;AlexNet&#xff09; 经典机器学习的流水线&#xff1a; ①获取一个有趣的数据集&#xff1b; ②根据光学、几何学&#xff0c;手动对特征数据集进行预处理&#xff1b; ③通过标准的特征提取算法&#xff0c;如SIFT&#xff08;尺度不变特征变…

BT 宝塔面板 宝塔面板可以登录, 但是使用里边功能的时候就被拒绝链接

目录 问题 面板可以登录 功能请求被拒绝尝试重启面板 也不行解决方案 更新BT版本 问题 面板可以登录 功能请求被拒绝 面板可以登录 但是 使用里边功能的时候 就会被拒绝 尝试重启面板 也不行 气的我都想重装了 但是我又懒得配置 我怀疑是请求头的问题 解决方案 更新BT版本 …

【力扣hot100】128.最长连续序列

给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1&#xff1a; 输入&#xff1a;nums [100,4,200,1,3,2] 输出&#xff1a;4 解…

【运维】MacOS Wifi热点设置

目录 打开热点 配置共享网段 打开热点 打开macOS设置&#xff0c;进入通用->共享 点击如下图标进行配置&#xff0c; 会进入如下界面&#xff08;⚠️目前是打开共享状态&#xff0c;无法修改配置&#xff0c;只有在未打开状态才能进入配置&#xff09; 配置完成后&#x…

WebClient上载文件——实现将本地文件同步到远端服务器上

问题描述 用户上传产品示例图片到服务器端上&#xff0c;客户端在请求图片资源时&#xff0c;当服务端架设了多个节点的情况下&#xff0c;由于没有负载均衡请求到保存图片资源的服务器&#xff0c;出现图片访问404的问题。 这里保存上传文件时&#xff0c;同时需要将该文件保…