Linux --入门学习笔记
文章目录
- Linux
- 概述
- 基础篇
- Linux 的安装教程 ⇒ 太简单了,百度一搜一大堆。此处略……
- Linux 的目录结构
- 常用的连接 linux 的开源软件
- vi 和 vim 编辑器
- Linux 的关机、开机、重启
- 用户登录和注销
- 用户管理
- 添加用户 ⇒ ( useradd 用户名 ) ( useradd -d 制定目录 新的用户名 )
- 设置密码 ⇒ ( password 用户名 )
- 删除用户 ⇒ ( userdel 用户名 ) ( userdel -r 用户名 )
- 查看用户信息(id 用户名)
- 查看自己的信息(whoami / who am i)
- 用户组
- 新增组(groupadd 用户组)
- 删除组(groupdel 用户组)
- 增加用户时,直接上组(useradd -g 用户组 用户名)
- 修改用户的组(usermod -g 用户组 用户名)
- 用户和组相关的文件
- linux 运行级别
- 帮助指令
- 文件目录类
- 权限
- 修改文件属性 [ chgrp [ -R ] 属组名 文件名 ]
- 修改文件属主,也可以同时更改文件的属组 [ chown [ -R ] 属主名:[ 属组名 ] 文件名 ]
- chmod:更改文件(9个)属性
- 链接(硬链接、软链接)
- 磁盘管理(df、du)
- 进程管理
- 结构进程树
- 杀掉进程
- 环境安装
- rpm安装(jdk)、解压缩(tomcat)、yum在线安装(docker)
- jdk安装
- 测试运行jar程序
- 遇到问题解决(打包后只有4kb,并且提示找不到主类?
- 向这类安装,参考百度,配置什么的,都很详细,
Linux
概述
Linux 是一个开源、免费的操作系统,其安全性、稳定性、搞笑 、处理 得到了各行各业的认可。
需要牢记的一句话:“在Linux中,一切皆为文件”。
Linux 的吉祥物:Tux
主要发行版:RedHat、CentOs、Ubuntu(乌班图)
基础篇
Linux 的安装教程 ⇒ 太简单了,百度一搜一大堆。此处略……
Linux 的目录结构
根目录 ⇒ " / "
/
:根目录
/bin
:存放着经常使用的命令。
/sbin
:s 代表 super User 的意思。存放着 系统管理员使用的系统管理程序。
/home
:存放普通用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该用户名是以用户的账号命名。
/root
:该目录为系统管理员,也称之为超级权限的用户主目录。
/lib
:系统开机所需要的最基本的动态连接共享库,类似于Windows里的DLL文件。几乎所有应用程序都需要用到这些共享库
/lost + found
:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/etc
:所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库的my.conf
/usr
:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows中的 program files 目录
/boot
:存放的是启动Linux时需要的一些核心文件,包括一些连接文件以及镜像文件
/proc
:这个目录是一个虚拟目录,他是系统内存的映射,访问这个目录来获取系统的信息。
/srv
: 是service缩写,该目录存放一些服务启动后需要提取的数据
/sys
:这是linux内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs
/tmp
:这个目录是用来存放一些临时文件的。
/dev
:类似于 windows 中的设备管理器,把所有的硬件用文件的方式存储。
/mnt
:系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将外部储存挂载到/mnt/
下,这样进入该目录就可以看到里面的内容了。
/opt
:这是给主机额外安装软件所摆放的目录。比如,安装:“ oracle数据库 ” 就可以放到该目录下,默认为空。
/usr/local
:这是给另一个主机额外安装软件的目录。一般通过源码编译的方式安装。
var
:这个目录中存放着在不断扩充的东西,习惯将经常被修改的目录放到这个文件夹下面。比如日志…等。
/selinux [ security-enhanced linux ]
:SELinux 是一种安全子系统。它控制程序只能访问特定文件。有三种工作模式,可以自行设置。
/www
:关于网站相关的资源
常用的连接 linux 的开源软件
Xshell
和Xftp
⇒ 官网可以下载,不会的话可以去百度,很简单。
vi 和 vim 编辑器
内置的工具,相当于 windows 中的记事本
命令 | 功能 |
---|---|
i/a | 编辑模式 |
:wq | 写入并退出 |
:q | 退出 |
:q! | 不保存的退出 |
yy / 5yy | 拷贝当前行 / 拷贝当前向下的5行 |
p | 粘贴 |
dd / 5dd | 删除 / 删除当前向下的5行 |
/ nihao | 查找字符串 “nihao” |
n | 查找下一个 |
N | 查找上一个 |
:set nu / :set nonu | 查看当前行号 / 销毁当前行号 |
G | 快速定位到末尾行(一般模式下) |
gg | 快速定位到首行(一般模式下) |
u | 撤销动作 |
快速定位到某一行 | 行号 + G |
ctrl + f | 向下翻页 |
ctrl + b | 向上翻页 |
Linux 的关机、开机、重启
指令 | 功能 |
---|---|
shutdown -h now/时间 | 现在关机 / xx分钟后关机(默认是一分钟) |
shutdown -r now/时间 | 现在重启 / xx分钟后用重启 |
halt | 和上面的指令一样 |
reboot | 现在重启计算机 |
sync | 将内存的数据存储到磁盘内(防止数据没有保存)⇒ 小心使得万年船 |
用户登录和注销
尽量使用普通身份登录,然后可以和管理员相互切换。
指令 | 功能 |
---|---|
su - 用户名 | 切换身份 |
logout | 注销用户(在图形界面是无效的!)⇒ 如果是当前用户的账号下,则退出系统! |
用户管理
添加用户 ⇒ ( useradd 用户名 ) ( useradd -d 制定目录 新的用户名 )
默认家的目录在 / home / 用户名
设置密码 ⇒ ( password 用户名 )
别忘了设置用户名,要不然则是更改当前用户的用户名。
删除用户 ⇒ ( userdel 用户名 ) ( userdel -r 用户名 )
删除用户的话,用户虽然不能登录,但是 home 目录还是会存在。此时此刻,我们要慎重考虑需不需要带
-r
了。带的话,就会和家目录一起被干掉。
一般情况下还是建议保留的。
查看用户信息(id 用户名)
查看自己的信息(whoami / who am i)
用户组
新增组(groupadd 用户组)
如果 新增用户 没有选择 “组” 的情况下,会默认创建一个 用户名 组成的组。
删除组(groupdel 用户组)
增加用户时,直接上组(useradd -g 用户组 用户名)
修改用户的组(usermod -g 用户组 用户名)
用户和组相关的文件
/etc/passwd 文件
:用户配置的文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
/etc/shadow 文件
:口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group 文件
:组配置文件,记录Linux包含的组的信息
每行的含义:组名:口令:标识号:组内用户列表
linux 运行级别
查看当前用户级别:
systemctl get-default
命令:通过
init
来 控制运行级别
运行级别 | 说明 |
---|---|
0 | 关机 |
1 | 单用户模式 |
2 | 多用户没有网 |
3 | 多用户有网络 |
4 | 系统未使用保留给用户 |
5 | 图形界面 |
6 | 系统重启 |
帮助指令
Linux下,文件或者文件夹,前面有个小点的,基本上都是隐藏文件。
Linux下,选项是可以组合使用的。
man 指令
help 指令
示例:
help add
文件目录类
绝对路径:从根目录下开始
相对路径:从当前路径下开始
命令 | 作用 | 注释 |
---|---|---|
pwd | 显示当前路径 | 绝对路径 |
ls [-a] [-l] | 显示当前路径 【所有的,包括隐藏的】【以列表的方式】 | 相对路径 |
cd ~ / cd .. | 回到家路径 / 返回上一级 | cd /home/test/hah ⇒ 快速定位绝对路径 |
mkdir [-p] 文件路径 | 创建目录 【多级】 | 示例:mkdir -p /test/hah/test |
rmdir [-rf] 文件路径 | 删除文件夹【递归、强制】 | 谨慎使用 |
touch 文件名 | 创建一个空的文件 | |
cp [-r] 目标文件名/目标位置 复制到的位置 | 拷贝文件【递归】拷贝的文件名 把文件拷贝到哪 | 最前面加上\ ,则不会有提示,例如\cp -r /bin/hah /test/testcp |
rm -rf | 如上 | 这里指的是文件夹,上面指代的是文件,但是方法是一样的 |
mv 旧名字 新名字 /mv 旧目录/ 新路径 / mv 路径 | 重命名 / 将目录下的文件全部移动到新路径 / 移动、剪贴 | 举一反三,可以移动并重命名,示例:mv 旧名字 路径+新名字 |
cat [-n] 文件 | 查看文件【显示行号】 | cat只能查看,却不能修改,一般会带上管道命令 | more |
echo | 输出到控制台 | 可以尝试一下echo $path |
head 【-n 5】文件名 | 显示文件开头内容 | 默认不写参数的话,是默认前十行 |
tail 【-n 5】【-f】文件名 | 显示文件的末尾内容【末尾十行】【实时更新】 | 默认不写参数的话,是默认后十行 |
> | 覆盖、重定向 | cat 文件一 > 文件二 【如果文件不存在,则自动创建】 |
>> | 追加 | echo "内容" >> 文件 【如果文件不存在,则自动创建】 |
cat | 显示日历 | |
ln 指令 | ln -s 【源文件/目录】【软连接路径 + 名称】 | 也称为符号链接符,也称之为 windows 的快捷方式 |
history 【10】 | 查看历史执行的命令 【十条】 | !5 执行第5条命令 |
date | date /date +%Y/%m 当前时间/当前几点、当前多少分钟 |
more
管道符指令
命令 | 用法 |
---|---|
空格 | 向下翻页 |
回车 | 向下翻一行 |
q | 表示离开,不再显示内容 |
Ctrl + F | 向下滚动一屏 |
Ctrl + B | 向上返回一屏 |
= | 输出当前的行号 |
:f | 输出文件名和当前行号 |
less指令
⇒ 一般用于比较大的文件
和
more
文件类似,但是是一部分一部分加载,不会和more
一样,一口气加载完。
指令 | 用法 |
---|---|
空格 | 向下翻动一页 |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页 |
/字符串 | 向下搜索字符串的功能,用n或N来控制查找方向 |
?字符串 | 向上搜索字符串的功能,用n或N来控制查找方向 |
q | 离开less程序 |
权限
首先我们看第一列
字符 | 代表的含义 |
---|---|
d | 目录 |
- | 文件 |
I | 表示为链接文档 |
b | 可储存装置接口设备 |
c | 一次性读取装置,例如:键盘鼠标 |
其次我们看后面,rwx ⇒ 读、写、操作
修改文件属性 [ chgrp [ -R ] 属组名 文件名 ]
[ -R ] : 递归更改文件数组。就是在更改某个文件目录的数组时,如果加上 -R 的参数下,那么该目录的所有文件的属组都会改变。
修改文件属主,也可以同时更改文件的属组 [ chown [ -R ] 属主名:[ 属组名 ] 文件名 ]
[ R ]:同上
chmod:更改文件(9个)属性
你权限操作此文件
chmod [ -R ] rwx 文件和目录
字符 | 对应的数字 |
---|---|
r | 4 |
w | 2 |
x | 1 |
设置的方式有两种。一种是数字( chmod 777 ),一种是字符
链接(硬链接、软链接)
硬链接: A—B,拥有多个路径,防止误删。
软链接:类似 windows 下的快捷方式,删除了原文件,则访问不了
磁盘管理(df、du)
df : 列出文件系统整体的磁盘使用量 ⇒ 默认的是 字节,如果查看 mb 的情况下,使用 df -h
du : 检查磁盘空间使用量
du -a : 查看所有文件和子文件夹
进程管理
进程一般存在的方式: 前台 和 后台 运行。
ps查看当前系统 中正在执行的各种进程的信息。
参数 | 信息 |
---|---|
-a | 显示当前终端运行的所有进程信息(当前的进程一个) |
-u | 以用户的信息显示进程 |
-x | 显示后台运行进程的参数 |
查看专属的相关进程信息方式 | ps -aux | grep mysql |
可以查看到父进程的信息 | ps -ef | grep mysql |
结构进程树
pstree -pu
参数 | 含义 |
---|---|
-p | 显示父 id |
-u | 显示用户组 |
杀掉进程
参数 | 含义 |
---|---|
kill -9 进程的id | 结束进程(数字9) |
环境安装
rpm安装(jdk)、解压缩(tomcat)、yum在线安装(docker)
jdk安装
然后 vim 到
/etc/profile
中配置环境 ,写在最下面,然后保存退出
export JAVA_HOME=/usr/local/jdk/jdk-17.0.10
export PATH=$JAVA_HOME/bin:$PATH
测试运行jar程序
利用这些代码来开启端口号(百度有哦,一百度开启linux端口号就出来啦~~ 。我直接跳过啦)
遇到问题解决(打包后只有4kb,并且提示找不到主类?
向这类安装,参考百度,配置什么的,都很详细,
完结撒花
相关文章:

Linux --入门学习笔记
文章目录 Linux概述基础篇Linux 的安装教程 ⇒ 太简单了,百度一搜一大堆。此处略……Linux 的目录结构常用的连接 linux 的开源软件vi 和 vim 编辑器Linux 的关机、开机、重启用户登录和注销用户管理添加用户 ⇒ ( useradd 用户名 ) ( useradd -d 制定目…...
并发编程三大特性(原子性、可见性、有序性)
并发编程的三大特性实际是JVM规范要求的JVM实现必须保证的三大特性 不同的硬件和不同的操作系统在内存管理上有一定的差异,JAVA为了解决这种差异,使用JMM(Java Memry Model)来屏蔽各个操作系统之间的差异,使得java可以…...
物理学基础精解【41】
文章目录 核物理基础 Υ \varUpsilon Υ衰变1. Υ \varUpsilon Υ衰变的一般性质2. 具体的衰变模式3. 衰变公式和机制4. 实验观测和理论研究 Υ \varUpsilon Υ衰变概述一、定义二、公式三、定理一、定义二、公式三、定理 重带电粒子概述重带电粒子的性质重带电粒子的公式 重带…...

深入理解Linux内核网络(一):内核接收数据包的过程
在应用层执行read调用后就能很方便地接收到来自网络的另一端发送过来的数据,其实在这一行代码下隐藏着非常多的内核组件细节工作。在本节中,将详细讲解数据包如何从内核到应用层,以intel igb网卡为例。 部分内容来源于 《深入理解Linux网络》…...
mysql学习教程,从入门到精通,SQL LIKE 运算符(28)
1、SQL LIKE 运算符 在SQL中,LIKE运算符主要用于在WHERE子句中搜索列中的指定模式。它通常与通配符一起使用,如%(代表零个、一个或多个字符)和_(代表单个字符),以执行模糊匹配。下面是一个使用…...

uniapp微信小程序使用ucharts遮挡自定义tabbar的最佳解决方案
如图所示: 使用的ucharts遮挡住了我自定义的tabbar(如果不是提需求的有病,我才不会去自定义tabbar) 查阅了不少文档,说是开启 ucharts 的 canvas2d 即可: 官网文档地址: uCharts官网 - 秋云…...

C初阶(八)选择结构(分支结构)--if、else、switch
前言: C语言是用来解决问题的,除了必要的数据输入与输出(见前文),还要有逻辑结构。其中基本可以归为三类:顺序结构、选择结构、循环结构。今天,杰哥提笔写的是关于选择结构(又叫“分…...

基于Springboot vue应急物资供应管理系统设计与实现
博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php python(flask Django) 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找…...

区块链+Web3学习笔记
学习资料来源于B站: 17小时最全Web3教程:ERC20,NFT,Hardhat,CCIP跨链_哔哩哔哩_bilibili 该课程提供的Github代码地址,相关资料详见README.md: Web3_tutorial_Chinese/README.md at main sm…...
Redis: 集群高可用之节点与插槽管理
概述 Redis Cluster 集群模式,它使用的是分片来存储数据的,数据都存在多个节点上。而且使用了哈希槽这样的机制,它内部维护了 16384 个插槽那就是说每一个节点其实都具体的分布了一些槽,如果我们添加一个节点的话,槽总…...

HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例
HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例 在某地市的 XX 音乐节保障准备期间,为确保活动期间的网络质量,现场新开了 4.9G HUAWEI 室外基站。在网络优化和测试中,发现UE无法实现从 2.6G 到 4.9G 的正常切换。虽然现场具备 4.9G信号覆…...
Qt C++设计模式->责任链模式
责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许多个对象有机会处理请求,而不需要明确指定哪个对象处理。通过将这些对象连成一条链,请求沿着链传递,直到有对象处理它为止。该模式…...
paypal支付v2.0(php)支付代码
第一步:获取access_token: <?php$clientId ; // 替换为你的 PayPal Client ID $clientSecret ; // 替换为你的 PayPal Client Secret// PayPal API 请求的 URL $url "https://api-m.sandbox.paypal.com/v1/oauth2/token";// 初始化 cURL $ch …...
基于Python的自然语言处理系列(23):DrQA
在本篇文章中,我们将实现 DrQA 模型,该模型最初由论文 Reading Wikipedia to Answer Open-Domain Questions 提出。DrQA 是一种用于开放域问答系统的端到端解决方案,最初包括信息检索模块和深度学习模型。本次实现中,我们主要探讨 DrQA 的深度学习模型部分。 1. 数据加载 …...

誉天Linux云计算课程学什么?为什么保障就业?
一个IT工程师相当于干了哪些职业? 其中置顶回答生动而形象地描绘道: 一个IT工程师宛如一个超级多面手,相当于——加班狂程序员测试工程师实施工程师网络工程师电工装卸工搬运工超人。 此中酸甜苦辣咸,相信很多小伙伴们都深有体会。除了典…...

无人机控制和飞行、路径规划技术分析
无人机控制和飞行、路径规划技术是现代无人机技术的核心组成部分,它们共同决定了无人机的性能和应用范围。以下是对这些技术的详细分析: 一、无人机控制技术 无人机控制技术主要涉及飞行控制系统的设计、传感器数据的处理以及指令的发送与执行。飞行控…...

【C++】模拟实现红黑树
🦄个人主页:修修修也 🎏所属专栏:实战项目集 ⚙️操作环境:Visual Studio 2022 目录 一.了解项目功能 二.逐步实现项目功能模块及其逻辑详解 📌实现RBTreeNode类模板 🎏构造RBTreeNode类成员变量 🎏实现RBTreeNode类构…...

离线安装docker
背景描述 项目需要在研发环境虚拟机上安装docker部署应用。 所在的服务器是一个内网,无法访问到外网环境。 服务器OS版本是 麒麟V10 linux 安装docker 安装包下载 获取所需版本的docker binary包,官方链接https://download.docker.com/linux/stati…...

MySQL高阶2066-账户余额
目录 题目 准备数据 分析数据 总结 题目 请写出能够返回用户每次交易完成后的账户余额. 我们约定所有用户在进行交易前的账户余额都为0, 并且保证所有交易行为后的余额不为负数。 返回的结果请依次按照 账户(account_id), 日期( day ) 进行升序排序…...

《RabbitMQ篇》Centos7安装RabbitMQ
安装RabbitMQ 安装包网盘下载地址 链接:https://pan.baidu.com/s/1bG_nP0iCdAejkctFp1QztQ?pwd4mlw 先上传安装包到服务器(erlang-23.3.4.11-1.el7.x86_64.rpm和rabbitmq-server-3.9.16-1.el7.noarch.rpm)然后使用指令安装 # 安装 erlang r…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...