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
,这只是介绍了另一种安装方式
安装authconfig
sudo 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的速度,差距还是挺大的。 开始安装系统 准备工作 一张…...

JWT+Redis 实现接口 Token 校验
1、业务逻辑 有一些接口,需要用户登录以后才能访问,用户没有登录则无法访问。 因此,对于一些限制用户访问的接口,可以在请求头中增加一个校验参数,用于判断接口对应的用户是否登录。 而对于一些不需要登录即可访问的接…...

C语言 linux文件操作(二)
文章目录 一、获取文件长度二、追加写入三、覆盖写入四、文件创建函数creat 一、获取文件长度 通过lseek函数,除了操作定位文件指针,还可以获取到文件大小,注意这里是文件大小,单位是字节。例如在file1文件中事先写入"你好世…...

机器学习分类
1. 监督学习 监督学习指的是人们给机器一大堆标记好的数据,比如: 一大堆照片,标记出哪些是猫的照片,哪些是狗的照片 让机器自己学习归纳出算法或模型 使用该算法或模型判断出其他没有标记的照片是否是猫或狗 上述流程如下图所…...

CSS之元素转换
我想大家在写代码时有一个疑问,块级元素可以转换成其他元素吗? 让我为大家介绍一下元素转换 1.display:block(转换成块元素) display:block可以把我们的行内元素或者行内块元素转换成块元素 接下来让我为大家演示一下: <!DO…...

自激振荡电路笔记 电弧打火机
三极管相关 三极管的形象描述 二极管 简单求解(理想) 优先导通(理想) 恒压降 稳压管(二极管plus) 基础工作模块 理想稳压管的工作特性 晶体管之三极管(“两个二极管的组合” ) 电弧打火机电路 1.闭合开…...

Linux su 命令
Linux su(英文全拼:switch user)命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。 使用权限:所有使用者。 语法 su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USE…...

论文阅读: AAAI 2022行人重识别方向论文-PFD_Net
本篇博客用于记录一篇行人重识别方向的论文所提出的优化方法《Pose-Guided Feature Disentangling for Occluded Person Re-identification Based on Transformer》,论文中提出的PDF_Net模型的backbone是采用《TransReID: Transformer-based Object Re-Identificati…...

蓝牙物联网灯控设计方案
蓝牙技术是当前应用最广泛的无线通信技术之一,工作在全球通用的 2.4GHZ 的ISM 频段。蓝牙的工作距离约为 100 米,具有一定的穿透性,没有方向限制。具有低成本、抗干扰能力强、传输质量高、低功耗等特点。蓝牙技术组网比较简单,无需…...

Codeforces Round 900 (Div. 3)(A-F)
比赛链接 : Dashboard - Codeforces Round 900 (Div. 3) - Codeforces A. How Much Does Daytona Cost? 题面 : 思路 : 在序列中只要找到k,就返回true ; 代码 : #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)…...

vue大屏-列表自动滚动vue-seamless-scroll
vue大屏-列表自动滚动vue-seamless-scroll vue-seamless-scroll的官方文档地址:https://chenxuan0000.github.io/vue-seamless-scroll/zh/guide/ 具体效果可到官方文档那里查看。 1、下载依赖 npm install vue-seamless-scroll --save2、使用例子 <template…...