入门linux之Ubuntu学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 1、介绍Ubuntu
  • 2、虚拟机目录解析
  • 3、常用指令
    • ls:罗列当前目录文件信息
    • 对ls -l 的结果解析
      • 1.第一个字符
      • 2.每三个字符(第一个字符后)
      • 3.共九个字符
      • 4.一个数字
      • 5.当前用户与 当前用户所在的组
      • 6.文件大小
      • 7.日期、时间、目录名
    • pwd:查看当前所在目录
    • cd:更改工作路径
    • 创建
      • 1.mkdir
      • 2.touch
    • 删除
      • 1.rmdir
      • 2.rm
    • 查看
    • wc:统计
    • 复制移动
      • 1.cp
      • 2.mv
    • 归档压缩
      • 1.tar
      • 2.gzip
    • 内容修改
      • 1.重定向
      • 2.管道
      • 3.过滤
    • 连接
      • 1.软连接
      • 2.硬链接
    • which:执行文件的位置
    • 其他
      • 1.ps:查看进程
      • 2.kill:杀死进程
      • 3.ifconfig:查看ip
      • 4.ping:连接(网址、IP)
  • 4、用户指令
    • 1.用户(用户组)的创建和删除
    • 2.更改用户权限
      • 用户类型
      • 权限类型(可以用数字表示)
      • 案例
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
    • 3.扩展
      • 1.chown
      • 2.chgrp
  • 5、ssh和scp
    • ssh
      • 安装
      • 服务操作
        • 1.service
        • 2.systemctl
    • scp
  • 6、Python与Pycharm
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

Ubuntu是一个功能强大、稳定可靠、易于使用和高度可定制的操作系统,适用于各种计算需求的用户。它免费提供给用户,并受到全球范围内的大量用户和开发者的支持和推崇。


提示:以下是本篇文章正文内容,下面案例可供参考

1、介绍Ubuntu

Ubuntu是一个基于Linux的操作系统,它是一个开放源代码的免费操作系统,广泛用于个人电脑、服务器和云计算等领域。Ubuntu由南非企业家马克·舍特尔沃思在2004年创建,其目标是为了提供一个易于使用、稳定可靠、安全性强的操作系统。

Ubuntu有着用户友好的界面和易于安装的特点,可以满足各种用户的需求,无论是初学者还是专业人士。它的默认桌面环境是基于GNOME桌面环境的Unity,但也提供了其他选择,如KDE、Xfce等。

Ubuntu拥有庞大的软件仓库,用户可以通过软件中心或者命令行轻松地安装和更新各种软件。它支持大多数常见的文件格式和多媒体格式,并且提供了多种办公套件、开发工具和娱乐软件。

除了个人电脑外,Ubuntu也被广泛应用于服务器和云计算环境。它具有良好的稳定性和安全性,提供了强大的服务器功能和工具,适用于各种规模的服务器环境。

Ubuntu还注重隐私和安全,提供了强大的防火墙和加密功能,以保护用户的数据和隐私安全。

总的来说,Ubuntu是一个功能强大、易于使用、稳定可靠且安全性高的操作系统,适用于各种使用场景,并且拥有庞大的社区支持和活跃的开发团队。

2、虚拟机目录解析

linux下一切皆文件,没有盘符,根目录就是/
类似树,一个支上一直向下延伸

  • Desktop:桌面

  • bin:可执行文件目录,普通用户

  • sbin:管理员可执行目录

  • lib*:lib、lib32、lib64、libx32:可执行文件的依赖库

  • user
    bin、sbin、lib*:用户安装过的可执行文件
    /local:bin、sbin、lib*

  • etc:所有软件的配置文件
    etc/apt/source.list:下载源在这里配置

  • home:用户家目录,相当于Windows的用户目录

  • opt:第三方软件安装的位置

  • proc:所有进程的文件

  • root:系统管理员家目录,普通用户没有权限访问

  • var:/locak:临时文件(锁文件),例:www:web目录
    log:日志路径;
    mail:邮件路径

上方知识图
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3、常用指令

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

ls:罗列当前目录文件信息

  • -a :显示所有隐藏文件信息(.开头)

  • -l:以列表显示详细信息

选项一个杠 - 就可以了,例:-al

  • -h:文件大小,可读性强,例:从4096变为4.0K(下方图片中)

  • 完整格式:ls -alh /:根目录有哪些文件

对ls -l 的结果解析

显示结果
在这里插入图片描述

可以以 drwxr-xr-x 2 wll wll 4096 3月 14 00:08 Documents 为例

1.第一个字符

  • -: 代表是一个文件

  • d:代表是一个目录

  • l:代表是一个连接(软连接、硬链接)

2.每三个字符(第一个字符后)

Eg:drwxr-x—中的rwx、r-x、r-x

  • r:可读
  • w:可写
  • x:可执行
  • -:无权限

3.共九个字符

去掉第一个字符(例:rwxr-xr-x)

  • 头三个:当前用户

  • 中间三个:当前用户组

  • 最后三个:其他用户

4.一个数字

2
当前文件/目录,连接数:有几个连接连到这个目录里

5.当前用户与 当前用户所在的组

wll wll

  • 默认组名与用户名一致

6.文件大小

4096

7.日期、时间、目录名

3月 14 00:08 Documents

pwd:查看当前所在目录

pwd:查看当前所在目录

在这里插入图片描述

cd:更改工作路径

  • cd …(两个点):上级路径
  • cd 路径名:当前路径下的文件
  • cd /etc/apt:使用绝对路径
  • cd ~:回到当前用户家目录(一键回城)
  • cd -:从哪来回哪去

创建

1.mkdir

mkdir:创建文件夹

mkdir:只能在已经存在的文件夹下创建

  • -p 创建多级文件夹
    例:mkdir -p folder3/folder33;folder3:是不存在的

2.touch

  • touch 文件名 ==》 创建文件,如果已经存在会替换掉原文件

删除

1.rmdir

rmdir:删除空目录

2.rm

rm:删除文件,无法删除文件夹

  • rm -f:忽略错误,即使有错也不会爆红(有就删,没有就算了)

  • rm -r:递归

  • rm -rf:递归删除

  • rm -rf /:删库跑路,将根目录下的全部删完,不要使用!不要使用!不要使用!

查看

  • cat:查看内容,可以查看多个文件
    cat 文件列表 ==> cat f1 f2 f3

  • head:查看头10行
    -n:查看前n行

  • tail:查看后10行
    -n:查看后n行

  • more:每次查看一屏信息(文件信息将屏幕铺满)
    空格翻页;q:退出

wc:统计

  • -l:行数

  • -w:单词数

  • -c:字节数(大小)

复制移动

1.cp

cp:拷贝文件

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

2.mv

mv:移动文件

mv 源文件 新文件(如果是目录,名字不变;如果是文件名会改名)

:移动文件时可以先拷贝一份,有的文件是不能随便移动的,而且在linux中删除(还原)文件是一件很麻烦的事!!!

归档压缩

1.tar

tar:归档,将多个文件放在一起不压缩

  • -f:归档名,需要位于最后一个选项

  • -c:创建归档

  • -t:查看归档文件

  • -v:显示进度

  • -x:解开归档

创建一个归档:tar -cf 归档包名.tar 归档那些文件

新的归档文件比原始文件还大

		例子:tar  -cf  f15.tar  f1  f2  f3  f4 f5   ,	将f1-f5文件归档成f15.tar如果归档的文件不存在,仍然会归档,只是会出现警告

2.gzip

gzip:压缩解压

  • -d:解压
  • -r:压缩

内容修改

1.重定向

  • >:写入,会覆盖原内容,相当于open中的只写w
  • >>:追加

2.管道

|(竖线):管道

  • 左侧作为输入
  • 右侧作为输出

例子
cat /etc/apt/source.list | more
将左侧/etc/apt/source.list 作为内容以右侧的方式输出

3.过滤

grep:行过滤

  • -n:显示行号
    例子
    cat /etc/apt/sources.list | grep -n aliyun
    将/etc/apt/sources.list中带有aliyun的输出(带行号)

在这里插入图片描述

连接

ln:连接,分为软连接、硬链接

1.软连接

软连接:带有选项,-s

ln -s 原始文件 新文件

  • 相当于快捷方式,可以连接目录、文件

  • 删除原始文件,连接出来的文件将会无法使用

  • ls -l 的结果开头为l

2.硬链接

ln 原始文件 新文件

  • 只能连接文件,连接出来的也是一个文件

  • 相当于拷贝一份.,两者之间有关联

  • 修改一个另外一个也会变;删除一个,另外一个可以继续使用

which:执行文件的位置

linux自带python3

在这里插入图片描述

其他

1.ps:查看进程

  • ps -ef:显示所有进程的详细信息

在这里插入图片描述

2.kill:杀死进程

kill -9 进程号:杀死进程

  • -9:清理相关资源

3.ifconfig:查看ip

在这里插入图片描述

4.ping:连接(网址、IP)

在这里插入图片描述

4、用户指令

linu是多用户、多任务操作系统

  • whoami:我是谁,查看当前用户

  • 用户和用户组的存储的位置
    /etc/passwd:用户信息文件
    /etc/group:用户组信息文件

在这里插入图片描述
在这里插入图片描述

1.用户(用户组)的创建和删除

  • useradd:创建用户(需要权限,前方加上sudo)==》 sudo useradd 用户名(没有用户家目录)

    -m:创建用户时同时创建家目录
    -g:指定组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • userdel:删除用户,同上加sudo
    -r:自动删除家目录
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • groupadd:创建组

  • groupdel:删除组

在这里插入图片描述

  • passwd 用户名:设置密码,默认设置root

  • su:切换用户(默认切换到root用户)
    su 用户名
    在这里插入图片描述
    补充:其他用户
    在这里插入图片描述

  • exit:退出当前用户返回上一次用户,直到退出系统

2.更改用户权限

chmod:更改权限

用户类型

  • u:所属用户
  • g:所属用户组里的其他用户
  • o:组外其他用户

权限类型(可以用数字表示)

  • r:读;4
  • w:写;2
  • x:执行,二进制执行,文件夹进入;1
  • -:无权限;0

在这里插入图片描述

对于其他用户不让进、不让读、不让写

案例

1

在这里插入图片描述

chmod g+w temp1:让temp1文件夹 所属用户所在组的其他用户拥有写的权限

2

在这里插入图片描述

chmod o=rwx temp1:让其他用户(wll)拥有读写、执行的权限

在这里插入图片描述
temp3(同组)对于temp1可读,可执行,不能写;wll(其他用户)可读写、可执行

3

在这里插入图片描述

chmod u+w,g+w,o=rwx temp1:修改三种用户

4

在这里插入图片描述

chmod 000 temp1:所有用户没有权限

5

在这里插入图片描述

chmod 777 temp1:所有用户所有权限

6

在这里插入图片描述

chmod 750 temp1:当前用户所有权限,组里用户可读可执行,其他用户没有权限

补充:一个数字代表一个用户
7:所有权限 ==》 可读4 + 可写2 + 可执行1 = 7
5:可读、可执行:可读4 + 可执行1 = 5

3.扩展

1.chown

直接修改所属用户

  • 参数-R 递归修改

2.chgrp

直接修改用户所属组

  • 参数 -R 递归修改

5、ssh和scp

ssh

一种通信协议,例:TCP、UDP、HTTP

注意事项

  • 连网:ping baidu.com成功即连网
  • 更新下载源:sudo apt update
  • 切换下载源(切换镜像):镜像(下载源)不支持安装包

安装

sudo apt install openssh-server
在这里插入图片描述

服务操作

查看状态

1.service
  • sudo service sshd status

  • sudo service sshd start

  • sudo service sshd stop

  • sudo service sshd restart

在这里插入图片描述

2.systemctl
  • sudo systemctl status sshd

  • sudo systemctl start sshd

  • sudo systemctl stop sshd

  • sudo systemctl srestart sshd

在这里插入图片描述
两个均可,从中可以看到ssh服务安装成功

scp

ssh是一种安全传输协议,scp是基于ssh的远程传输工具

使用方法:scp 文件名 用户名@IP:远程文件路径

具体操作可以看下方安装pycharm

6、Python与Pycharm

还记得前面讲过linux自带python3
所以不需要再安装python了
可以建立一个软连接
sudo ln -s python3.10 python
在这里插入图片描述
后续只要在任何地方输入python就可以进入python环境了

在这里插入图片描述

下面主要介绍pycharm的安装


在官方网站下载pycharm的linux安装包

在这里插入图片描述

然后通过Windows终端scp将安装包传输到虚拟机上

在这里插入图片描述

然后使用Xshell将安装包进行解压,我们将安装包解压到opt,但是因为权限的问题,无法 “写” ,所以需要先进行权限修改
在这里插入图片描述
修改后:
在这里插入图片描述
将安装包移动到opt,随后进行解压

在这里插入图片描述
使用虚拟机运行
在这里插入图片描述

在这里插入图片描述

好了,pycharm安装完成了
如果你们不想每回运行pycharm都需要运行 ./pycharm.sh

可以按照下面的方式安装快捷方式
在这里插入图片描述

在这里插入图片描述


总结

以上就是今天要讲的内容,望诸君共勉٩(๑>◡<๑)۶

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

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

相关文章

jmeter超高并发报错解决方法

1、比如jmeter设置并发量为5000&#xff0c;运行后报错socket closed。原因是客户端与服务端做了三次握手之后&#xff0c;后面不需要握手了&#xff0c;但是jmeter没有这个功能&#xff0c;5000个并发每次发接口请求都是独立的&#xff0c;jmeter端口处理不了这么大量的请求&a…

【嵌入式DIY实例】-DIY 灌水机

DIY 灌水机 文章目录 DIY 灌水机1、硬件准备2、YF-S201 霍尔效应水流量传感器介绍3、4x4矩阵键盘4、硬件接线5、代码实现在这个项目中,我们将使用流量传感器和 Arduino 构建一个水灌装机。用户使用 44 键盘输入液体总量。泵在收到用户输入后抽取准确数量的水。当准确数量完成后…

v-for=“item in arr“ 的理解

在 Vue.js 中&#xff0c;v-for 是一个指令&#xff0c;用于在模板中渲染一个列表的数据。v-for"item in arr" 这个语法中&#xff0c;item 和 arr 分别代表以下含义&#xff1a; item: item 是当前迭代到的数组元素或对象的别名。在每次迭代中&#xff0c;item 会被…

Android视角看鸿蒙第八课(module.json5中的各字段含义之abilities)下

Android视角看鸿蒙第八课(module.json5中的各字段含义之abilities&#xff09;下 导读 上篇文章开始学习abilities下的各字段含义&#xff0c;因为篇幅原因只学习了name、srcEntry、description、icon和label字段的含义和用法&#xff0c; 这篇文章继续学习和了解其他字段。 …

GPT4.0

GPT4.0 支持官网所有功能以及所有第三方GPTS&#xff0c;完全同步官网。无需魔法&#xff0c;填写授权码直达官网。全天超18小时维护&#xff0c;无需担心不稳定。没有永久卡&#xff0c;3.5免费提供&#xff0c;4.0可以按需下单即可&#xff0c;不存在跑路。 需要的联系

格瑞纳电子邀您参观2024杭州快递物流展

2024长三角快递物流供应链与技术装备展览会 2024.7.8-10 杭州国际博览中心 参展企业介绍 北京格瑞纳电子产品有限公司是一家立足于专业科学技术领域集产品代理、培训咨询和个性化增值服务的高科技公司&#xff0c;于2009年成立于北京&#xff0c;立足于复杂系统仿真领域&…

皓学IT:WEB06_ EL表达式JSTL标签库

一、EL表达式 1.1.特点 是一个由java开发的工具包 用于从特定域对象中读取并写入到响应体开发任务&#xff0c;不能向域对象中写入。 EL工具包自动存在Tomcat的lib中&#xff08;el-api.jar&#xff09;&#xff0c;开发是可以直接使用&#xff0c;无需其他额外的包。 标准…

seleniumUI自动化实例(登录CSDN页面)

今天分享一个CSDN登录模块的登录场景 1.配置文件 CSDNconf.py&#xff1a; from selenium import webdriver options webdriver.ChromeOptions() options.binary_location r"D:\Program Files\360\360se6\Application\360se.exe" # 360浏览器安装地址 driver w…

电脑审计系统知多少

域智盾的电脑审计系统是一款功能强大的软件&#xff0c;主要用于监控和审计电脑的使用情况。通过安装该系统&#xff0c;组织能够全面了解员工的电脑活动。 首先&#xff0c;该系统能够详细记录用户的上网记录&#xff0c;包括访问的网站、浏览的网页内容等。这使得管理员可以监…

剑指offer面试题42 翻转字符顺序 VS 左旋字符串

考察点 字符串遍历知识点 题目 分析 类似这种题目只能观察元素特点找出规律确定算法了&#xff0c;像第一道题目翻转单词顺序&#xff0c;我们可以很容易的得到翻转每个字符后的的字符串&#xff0c;再仔细观察一下紧接着以空格为间隔分别翻转俩边的字符串就可以解这道题目了…

鸿蒙Harmony应用开发—ArkTS-@Provide装饰器和@Consume装饰器:与后代组件双向同步

Provide和Consume&#xff0c;应用于与后代组件的双向数据同步&#xff0c;应用于状态数据在多个层级之间传递的场景。不同于上文提到的父子组件之间通过命名参数机制传递&#xff0c;Provide和Consume摆脱参数传递机制的束缚&#xff0c;实现跨层级传递。 其中Provide装饰的变…

YOLOv8 如何实现多主干特征融合方式 | GhostNet+ShuffleNet / SwinTransformer+ShuffleNet

文章目录 前言模块添加方法双特征提取例子`GhostNet+ShuffleNet` 双主干结构图代码`Swin+ShuffleNet` 双主干结构图代码参数量与计算量1. 什么是YOLO-Magic框架?2. 如何加入这个框架?3. 加入后如何使用框架?4. GitHub组织是什么?

LeetCode-热题100:39.组合总和

题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被…

使用 Python 读取 Word 文件

使用 Python 读取 Word 文件 0. 引言安装必要的库 1. 读取和提取 Word 文件中的文本2. 提取 Word 文件中的图片 0. 引言 要使用 Python 读取 Word 文件并识别其中的对象&#xff08;如图片&#xff09;和文本&#xff0c;你可以使用 python-docx 库来处理文本&#xff0c;和 d…

大数定律与中心极限定理

大数定律与中心极限定理 大数定律切比雪夫不等式依概率收敛切比雪夫大数定律辛钦大数定律伯努利大数定律 中心极限定理列维-林德伯格中心极限定理&#xff08;Lindeberg-Levy central limit theorem&#xff09;棣莫弗-拉普拉斯中心极限定理&#xff08;De Moivre-Laplace cent…

【运放】LM358和LM324

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

python脚本for循环

使用python脚本单个输出Hello单词。 for循环实例&#xff1a; ​ [rootkvm-72 py]# cat for02.py #for i in hello: #for i in "hello": #for i in hello: for i in """hello""":print("i ", i)​ 单个字符输出结果&…

C语言运算符优先级

C语言运算符的优先级&#xff08;从高到低&#xff09;如下所示&#xff1a; 1. ()&#xff1a;括号 2. []&#xff1a;数组索引 3. . 和 ->&#xff1a;结构体和联合体成员选择 4. 和 --&#xff1a;自增和自减 5. !&#xff1a;逻辑非 6. ~&#xff1a;位取反 7. -&…

力扣---打家劫舍---动态规划

思路 1&#xff1a; 我将res[i]定义为&#xff1a;一定要取第 i 个房子的前提下&#xff0c;能获取的最大金额。那么直接用cnt从头记录到尾&#xff0c;每个房子的res最大值即是答案。那么递推公式是什么&#xff1f;res[i]max(res[i-2],res[i-1],...,res[0])nums[i]。数组初始…

如何配置nginx反向代理服务器

配置Nginx作为反向代理服务&#xff0c;你需要编辑Nginx的配置文件&#xff08;通常是nginx.conf或在其下的某个sites-available目录下的特定域名配置文件&#xff09;&#xff0c;并在其中添加反向代理相关配置块。以下是一个基本的反向代理配置示例&#xff1a; # 假设这是位…