Linux学习笔记(一)
如果有自己的物理服务器请先查看这篇文章
文章目录
- 网卡配置
- Linux基础指令
- ls:列出目录内容
- cd(mkdir.rmkdir): 切换文件夹(创建,删除操作)
- cp:复制文件或目录
- mv:文件/文件夹移动
- cat:查看文件
- vi:文件查看编辑
- man:查看命令手册
- more: 查看文件内容
- less : 查看文件内容
- ps: 显示当前进程的状态
- 参数:
- 扩展
- top: 监控linux的系统状况
- 一、top前五条信息解释
- 二、进程信息
- df: 显示文件系统磁盘空间
- du: 显示目录空间使用情况
- 关于用户操作
- whoami:显示当前登录用户名
- useradd: 创建用户
- uesrmod: 加入用户组
- chmod: 权限管理
网卡配置
如果
ssh连接和yum都报错,可以查看这篇文章进行网卡配置(注意这个是CentOS的网络配置,一些属性不一样的话请参考其他系统的属性含义)
Linux基础指令
ls:列出目录内容
ls: 列出目录内容ls
扩展:
查询文件目录中所以的文件ls -a查询文件中的
权限,所属用户,所属组,文件大小,创建时间,文件名ls -l有时可以简写成
ll如果不能请老实写ls -l
cd(mkdir.rmkdir): 切换文件夹(创建,删除操作)
cd: 切换文件夹#cd /root/dir #cd dir cd 文件夹路径
mkdir:创建文件夹mkdir 想要创建的文件夹名称
rmkdir:删除文件夹(文件夹中内容必须是空的)rmdir 想要删除的文件夹名称
扩展
关于切换文件夹(拓展)
查询当前文件夹从根目录开始的全部路径pwd文件路径可以是
当前文件夹中的文件夹,也可以是根目录开始的全部路径
关于创建文件夹(拓展)
递归创建文件夹# mkdir -p dir1/dir2 mkdir -p 想要创建的文件夹名称关于删除文件夹(拓展)
如果你的文件夹中存在文件夹或者文件,是会删除报错,如何删除文件夹中有文件的文件夹rm -r 想要创建的文件夹名称
确认删除rm -ri 想要创建的文件夹名称
强制删除rm -rf 文件夹名称/文件名
cp:复制文件或目录
cp:复制文件# cp test.txt test02 # cp test /root/test/ cp 文件名 目标文件夹名称
cp -r:复制目录# cp -r test2 test1(意思是将test2文件夹复制到test1文件夹中) cp -r 想要复制的文件夹 想要放入的目标文件夹注意:用户使用该指令复制目录时,必须使用参数
-r或者-R
复制文件,并在目标文件已存在时进行确认
#cp -i file.txt /path/to/destination/ cp -i 文件名.扩展名 目标文件夹路径
拓展
touch: 需要复制文件,肯定要有文件,所以下面是创建文件(txt文件为例)# touch test.txt touch 文件名称.扩展名linux cp命令的其他指令可以查看这里
mv:文件/文件夹移动
mv:文件/文件夹移动# mv test3 ../(将test3目录移动到上一级目录) # mv test3 /root/dir1(将test3目录移动到指定目录) # mv test3/test1.txt ./(将test3目录中的test1.txt文件移动到当前目录) mv 文件夹(文件) 目标文件夹
拓展
将一个文件夹下的所有文件移动到指定文件夹mv 源文件夹/* 目标文件夹linux mv命令的其他指令可以查看这里
cat:查看文件
cat:查看文件#cat file.txt cat 想要查看目标文件.扩展名注意:
cat是查看文件中的文件内容,并不会参与编辑, 所以比如如果cat file.txt,但里面什么都没写,就不会显示内容,注意这并不是查询失败,而是没有内容所以显示什么都没看到
一般我们使用cat指令都是用来查看的, 详情请看
vi:文件查看编辑
vi: 文件查看编辑vi 文件名.扩展名这是linux自带的查看编辑
vim: 文件查看编辑
这是也是文件查看器vim 文件名.扩展名如果你的控制台报
bash:vim:Not Found(bash:vim:未找到命令)错,则你需要执行以下操作rpm -qa |grep vim如果这条指令执行不了
yum -y install vim*操作方式和
vi一致。
常用的有ESC键推出编辑;i键进入编辑;:q退出文件;:q!强制退出;:wq:退出并保存;:wq!强制退出并保存
man:查看命令手册
man:查看命令手册#man vi man linux命令
q键退出查看
more: 查看文件内容
逐页显示 文件 文档内容
more -s 文件从第 n 行开始显示文件文档内容。
#more +20 test.txt (从20行开始显示) more +n 文件详细指令请看
less : 查看文件内容
less与more类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。
查看文件# less test.txt less 文件名.文件扩展名ps查看进程信息并通过less分页显示
ps -ef |less详细指令请看
ps: 显示当前进程的状态
Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。
ps -ef | grep 进程关键字打比方查询mysql的运行状态
ps -ef | grep mysql

从左到右看一次是行程拥有者,PID,占用的 CPU 使用率,占用的记忆体使用率,占用的虚拟记忆体大小,占用的记忆体大小,终端的次要装置号码 (minor device number of tty),该行程的状态:,行程开始时间,执行的时间,所执行的指令
显示进程信息
ps -A

显示指定用户信息
#ps -u root ps -u 用户名

显示所有进程信息,连同命令行
ps -ef

参数:
ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
- -A 列出所有的进程
- -w 显示加宽可以显示较多的资讯
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的进程
- au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者PID: pid%CPU: 占用的 CPU 使用率%MEM: 占用的记忆体使用率VSZ: 占用的虚拟记忆体大小RSS: 占用的记忆体大小TTY: 终端的次要装置号码 (minor device number of tty)STAT: 该行程的状态:D: 无法中断的休眠状态 (通常 IO 的进程)R: 正在执行中S: 静止状态T: 暂停执行Z: 不存在但暂时无法消除W: 没有足够的记忆体分页可分配<: 高优先序的行程N: 低优先序的行程L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
START: 行程开始时间TIME: 执行的时间COMMAND:所执行的指令
详细指令请看
扩展
关闭进程
kill -9 PID
top: 监控linux的系统状况
top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。
top

一、top前五条信息解释
top - 14:49:28 up 1:33, 1 user, load average: 0.00, 0.00, 0.00
| 内容 | 含义 |
|---|---|
| 14:49:28 | 表示当前时间 |
| up 1:33 | 系统远行时间,格式为时:分 |
| 1 user | 当前登陆用户数 |
| load average: 0.00, 0.00, 0.00 | 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值 |
Tasks: 80 total, 2 running, 78 sleeping, 0 stopped, 0 zombie
| 内容 | 含义 |
|---|---|
| Tasks: 80 total | 进程总数 |
| 2 running | 正在运行的进程数 |
| 78 sleeping | 睡眠的进程数 |
| 0 stopped | 停止的进程数 |
| 0 zombie | 僵尸进程数 |
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
| 内容 | 含义 |
|---|---|
| 0.0%us | 用户空间占用CPU百分比 |
| 0.0%sy | 内核空间占用CPU百分比 |
| 0.0%ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
| 100.0%id | 空闲CPU百分比 |
| 0.0%wa | 等待输入输出的CPU时间百分比 |
| 0.0%hi | 硬中断(Hardware IRQ)占用CPU的百分比 |
| 0.0%si | 软中断(Software Interrupts)占用CPU的百分比 |
| 0.0 st | 用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间 |
Mem: 1922488k total, 406936k used, 1515552k free, 11940k buffers
| 内容 | 含义 |
|---|---|
| 1922488k total | 物理内存总量 |
| 406936k used | 使用的物理内存总量 |
| 1515552k free | 空闲内存总量 |
| 11940k buffers | 用作内核缓存的内存量 |
Swap: 835576k total, 0k used, 835576k free, 111596k cached
| 内容 | 含义 |
|---|---|
| 835576k total | 交换区总量 |
| 0k used | 使用的交换区总量 |
| 835576k free | 空闲交换区总量 |
| 111596k cached | 缓冲的交换区总量 |
二、进程信息
| 列名 | 含义 |
|---|---|
| PID | 进程id |
| USER | 进程所有者的用户名 |
| PR | 优先级 |
| NI | nice值。负值表示高优先级,正值表示低优先级 |
| VIRT | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
| RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
| SHR | 共享内存大小,单位kb |
| S | 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 |
| %CPU | 上次更新到现在的CPU时间占用百分比 |
| %MEM | 进程使用的物理内存百分比 |
| TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
| COMMAND | 命令名/命令行 |
Ctrl + c退出实时查看
详细指令请看
df: 显示文件系统磁盘空间
df

详细指令请看
du: 显示目录空间使用情况
方便阅读的格式显示的目标目录所占空间情况
# du -h test1 du -h dirName

详细指令请看
关于用户操作
whoami:显示当前登录用户名
whoami

useradd: 创建用户
#useradd username
useradd 用户名
为添加的用户指定相应的用户组
#useradd -g root tt useradd -g 用户组 用户
创建一个系统用户
#useradd -r tt useradd -r 用户名
为新添加的用户指定home目录
# useradd -d /home/myd tt useradd -d 目标目录 用户名
建立用户且制定ID
# useradd caojh -u 544 useradd 用户名 -u 用户id详细指令请看
拓展
查看所有用户ls /home
查看用户名和密码
用户名在/etc/passwd这个文件中;cat /etc.passwd
密码在/etc/shadow中cat /etc/shadow如果没有访问权限,请重新启动服务器,以root用户登录
为了安全,系统将明文密码进行了加密。接下来我们看看系统使用了什么加密方式:authconfig --test | grep hashing
Linux实用命令authconfig和authconfig-tui(备忘)
- 查看 autoconf、automake 是否已安装
rpm -qa|grep autoconf rpm -qa|grep automake
2. 查看 autoconf、automake 对应的包yum whatprovides autoconf automake
3. 安装#按照第2部查到的源来写,不一定一定要是是这个 yum -y install autoconf-2.69-30.oe1.noarch yum -y install automake-1.16.1-6.oe1.noarch其实我们要安装的并不是
autoconf,这只是介绍了另一种安装方式
安装authconfigsudo yum install authconfig --skip-broken如果安装不上也没关系,因为这只是1查询系统加密方式,一般会用
SHA256加密方式
因为linux系统是单项加密所以要么暴力破解要么破解不了,所以忘记密码的小伙伴请重新设置密码passwd 用户名
扩展
su:切换用户# su chen(管理员切换成普通用户) #sudo su root(普通用户切换成管理员) su 用户名用户名 is not in the sudoers file.
因为普通用户没有像root一样的运行权限,所以,凡是指令都要先使用sudo来执行,执行之后需要输入密码,但是出现了用户名 is not in the sudoers file.问题,解决办法vi /etc/sudoers增加配置, 在打开的配置文件中,找到root ALL=(ALL) ALL, 在下面添加一行
#其中xxx是你要加入的用户名称 xxx ALL=(ALL) ALL
su:拒绝权限
查看日志:tail -f /var/log/secure|grep su:
以root为例子vi /etc/pam.d/su注释这段
auth required pam_wheel.so use_uid
查看
当前如果是是普通用户时,切换回root用户输入用户密码即可sudo su root如果没有访问权限,请重新启动服务器,以root用户登录
passwd:设置密码passwd 用户名详细指令请看
uesrmod: 加入用户组
首先要确认你的Linux有哪些组
cat /etc/group
root是用户组 ,x是用户组指令,1002是用户组id
注意: 创建一个用户后,linux自动会创建相关用户名的组名,比如我创建了一个没有用户的chen用户,与之对应的linux会帮我们一起创建一个不存在的chen的组名
实例useradd chen su chen sudo cd test如果
非root用户使用sudo cd 目录切换不了目录(首先使用sudo su root切换到root下)which cd如果出现
/usr/bin/cd是正确的
那就要看文件夹的权限了#ll /root/testls -l 查看想要的文件夹(文件)
查看关于关键字的组名
# cat /etc/group|grep chen cat /etc/group|grep 组名
chmod: 权限管理
#chmod 777 fileName
chmod 777 文件夹名(文件)
这个是对全部人进行开放
详细指令请看
相关文章:
Linux学习笔记(一)
如果有自己的物理服务器请先查看这篇文章 文章目录 网卡配置Linux基础指令ls:列出目录内容cd(mkdir.rmkdir): 切换文件夹(创建,删除操作)cp:复制文件或目录mv:文件/文件夹移动cat:查看文件vi:文件查看编辑man:查看命令手册more: 查看文件内容less : 查看文件内容 ps: 显示当前进…...
Python 爬虫 教程
python爬虫框架:Scrapyd,Feapder,Gerapy 参考文章: python爬虫工程师,如何从零开始部署ScrapydFeapderGerapy? - 知乎 神器!五分钟完成大型爬虫项目 - 知乎 爬虫框架-feapder - 知乎 scrap…...
uniapp原生插件 - android原生插件打包流程 ( 避坑指南一)
【彩带- 避坑知识点】: 当时开发中安卓插件打包成功后,uniapp引用插件aar,用云打包 ,总是提示不包含插件。原因是因为module的androidManifest.xml文件没有注册activity。 这一步 很重要,一定要注册。 --------------------------…...
搭建maven私服
maven maven简介 什么是maven? Maven这个单词来自于意第绪语(犹太语),意为知识的积累。 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以…...
EST-100身份证社保卡签批屏按捺终端PC版web版本http协议接口文档,支持web网页开发对接使用
<!DOCTYPE html><html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width,initial-scale1.0"><title>演示DEMO</title><script type"text/…...
基于SpringBoot的毕业论文管理系统
文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的毕业论文管理系统,java…...
iToF人脸识别
iToF(间接飞行时间)是一种测量光飞行时间的技术,主要应用于人脸识别。 iToF人脸识别技术在哪些场景下会用到 iToF人脸识别技术可以应用于许多场景,以下是一些常见的应用场景: 平安城市:在城市监控系统中,iToF人脸识别技术可以用于实时监控、目标检测和识别,以及异常行为…...
Django开发3
Django开发3 Django开发编辑用户9.靓号管理9.1 表结构9.2 靓号列表9.3 新建靓号9.4 编辑靓号9.5 搜索手机号9.6 分页 10.时间插件11.ModelForm和BootStrap操作 各位小伙伴想要博客相关资料的话关注公众号:chuanyeTry即可领取相关资料! Django开发 部门管…...
MS2358:96KHz、24bit 音频 ADC
产品简述 MS2358 是带有采样速率 8kHz-96kHz 的立体声音频模数 转换器,适合于面向消费者的专业音频系统。 MS2358 通过使用增强型双位 Δ - ∑ 技术来实现其高精度 的特点。 MS2358 支持单端的模拟输入,所以不需要外部器 件,非常适…...
【Android12】Android Framework系列---tombstone墓碑生成机制
tombstone墓碑生成机制 Android中程序在运行时会遇到各种各样的问题,相应的就会产生各种异常信号,比如常见的异常信号 Singal 11:Segmentation fault表示无效的地址进行了操作,比如内存越界、空指针调用等。 Android中在进程(主要…...
中间件系列 - Redis入门到实战(原理篇)
前言 学习视频: 黑马程序员Redis入门到实战教程,深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 中间件系列 - Redis入门到实战 本内容仅用于个人学习笔记,如有侵扰,联系删除 学习目标 Redis数据结构Redis网…...
P2249 【深基13.例1】查找
P2249 【深基13.例1】查找 P2249 【深基13.例1】查找 题意 输入n 个不超过10的9次方的单调不减的(就是后面的数字不小于前面的数字)非负整数a1,a2,a3…然后进行 m 次询问。对于每次询问,给出一个整数q,要…...
linux常用shell脚本
查看系统当前进程连接数 netstat -an | grep ESTABLISHED | wc -l 如何在/usr目录下找出大小超过10MB的文件? find /usr -type f -size 10240k 添加一条到192.168.3.0/24的路由,网关为192.168.1.254? route add -net 192.168.3.0/24 netmask 255.2…...
Rust学习笔记005:结构体 struct
在 Rust 中,struct 是一种用于创建自定义数据类型的关键字,它允许你定义和组织数据的结构。struct 可以包含多个不同类型的字段(fields),每个字段都有一个名称和一个类型。 定义结构体 下面是一个简单的例子ÿ…...
maven中dependencyManagement标签
简介 dependencyManagement正如其名,用于项目依赖的统一管理。 在父项目中的pom.xml文件中加入dependencyManagement标签即可完成依赖版本的声明。在声明完成后,子项目(module)中引用相同的依赖时可以不指定version标签自动引入…...
SparkStreaming与Kafka整合
1.3 SparkStreaming与Kafka整合 1.3.1 整合简述 kafka是做消息的缓存,数据和业务隔离操作的消息队列,而sparkstreaming是一款准实时流式计算框架,所以二者的整合,是大势所趋。 二者的整合,有主要的两大版本。 kaf…...
openwrt源码编译
下载openwrt源码 git clone https://github.com/openwrt/chaos_calmer.git // 官方下载地址 当前我们基于15.05版本开发,如果开发者想用最新的OpenWRT系统,可以下载 https://github.com/openwrt/openwrt.git git clone https://github.com/Ying-Yun/o…...
【Leetcode Sheet】Weekly Practice 22
Leetcode Test 1349 参加考试的最大学生数(12.26) 给你一个 m * n 的矩阵 seats 表示教室中的座位分布。如果座位是坏的(不可用),就用 # 表示;否则,用 . 表示。 学生可以看到左侧、右侧、左上、右上这四个方向上紧邻…...
ROS TF坐标变换 - 静态坐标变换
目录 一、静态坐标变换(C实现)二、静态坐标变换(Python实现) 如前文所属,ROS通过广播的形式告知各模块的位姿关系,接下来详述这一机制的代码实现。 模块间的位置关系有两种类型,一种是相对固定…...
香橙派5plus从ssd启动Ubuntu
官方接口图 我实际会用到的就几个接口,背面的话就一个M.2固态的位置: 其中WIFI模块的接口应该也可以插2230的固态,不过是pcie2.0的速度,背面的接口则是pcie3.0*4的速度,差距还是挺大的。 开始安装系统 准备工作 一张…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...









