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的速度,差距还是挺大的。 开始安装系统 准备工作 一张…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...