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 : 查看文件内容

lessmore 类似,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优先级
NInice值。负值表示高优先级,正值表示低优先级
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(备忘)

  1. 查看 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/test
 ls -l 查看想要的文件夹(文件)

查看关于关键字的组名

# cat /etc/group|grep chen
cat /etc/group|grep 组名

在这里插入图片描述

chmod: 权限管理

#chmod 777 fileName
chmod 777 文件夹名(文件)

这个是对全部人进行开放
详细指令请看
请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LangChain(0.0.340)官方文档十一:Agents之Agent Types

LangChain官网、LangChain官方文档 、langchain Github、langchain API文档、llm-universe《Agent Types》、《Examples using AgentType》 文章目录 一、快速入门1.1 概念1.2 基本示例1.2.1 配置LangSmith1.2.2 使用LCEL语法创建Agents1.2.3 使用自定义runtime执行1.2.4 使用A…

分布式IO在工业自动化中的应用

传统的自动化产线及物流系统主要是利用PLC来处理数据&#xff0c;并将这些数据保存在PC当中。但是随着互联网技术的迅速发展&#xff0c;越来越多的系统集成商利用分布式IO模块&#xff0c;实现从控制器到自动化最底层之间的IO通信。 分布式IO在工业自动化中的应用 分布式IO是用…

【Android】自定义View组件,并实现在 Compose、Kotlin、Xml 中调用

从事 Android 开发以来&#xff0c;很少有过自定义 View 的相关开发需求&#xff0c;大部分 UI 都是可以集成某些官方组件&#xff0c;在组件的基础上完成能够大大缩短开发时间。但今天我要讲的是&#xff1a;如何使用 Android 开发一个Compose、Xml都可以调用的组件&#xff1…

[蓝桥 2023] 位乘积计数

问题描述 给定两个正整数 n 和 m&#xff0c;请你计算出&#xff0c;从 1到 n 的所有整数中&#xff0c;满足每一位上的数字乘积小于等于 m 的数字的个数。 例如&#xff0c;当 n12&#xff0c;m3 时&#xff0c;满足条件的数字有 1,2,3,10,11,12 共 6 个。 输入格式 输出格…

[LLM]大模型训练(二)--DeepSpeed使用

安装DeepSpeed与集成 DeepSpeed可以通过pip安装&#xff0c;无需指定PyTorch和CUDA的版本。DeepSpeed内包含需要自定义的CUDA算子&#xff0c;将通过即时编译的方式在运行时构建。 pip install deepspeed DeepSpeed与HuggingFace Transformers直接集成。使用者可以通过在模型…

使用WAZUH检测LD_PRELAOD劫持、SQL注入、主动响应防御

目录 1、检查后门 使用工具检测后门 1.chkrootkit 2.rkhunter 手动检查文件 检查ld.so.preload文件 2、检测LD_PRELOAD ubuntu配置 wazuh配置 3、检测SQL注入 ubuntu配置 攻击模拟 4、主动响应 wauzh的安装以及设置代理可以参考本篇&#xff1a;WAZUH的安装、设置…

自行车服务PEDALWAYS 网站bootstrap5模板

一、需求分析 自行车服务网站的作用是为骑行爱好者和自行车用户提供便捷的信息、工具和服务&#xff0c;以满足他们的需求。以下是一些常见的自行车服务网站的功能&#xff1a; 自行车租赁&#xff1a;提供自行车租赁服务&#xff0c;用户可以在线预订自行车并选择租赁期限&am…

【Java 数组解析:探索数组的奇妙世界】

数组的引入 我们先通过一段简单的代码引入数组的概念。 import java.util.Scanner; public class TestArray01{public static void main(String[] args){//功能&#xff1a;键盘录入十个学生的成绩&#xff0c;求和&#xff0c;求平均数&#xff1a;//定义一个求和的变量&…

C语言与人生:数组交换和二分查找

少年们&#xff0c;大家好。我是博主那一脸阳光&#xff0c;今天和分享数组交换和二分查找。 前言&#xff1a;探索C语言中的数组交换操作与二分查找算法 在计算机编程领域&#xff0c;特别是以C语言为代表的低级编程语言中&#xff0c;对数据结构的理解和熟练运用是至关重要的…

【小白专用】winform启动界面+登录窗口 更新2024.1.1

需求场景&#xff1a;先展示启动界面&#xff0c;然后打开登录界面&#xff0c;如果登录成功就跳转到主界面 首先在程序的入口路径加载启动界面&#xff0c;使用ShowDialog显示界面&#xff0c; 然后在启动界面中添加定时器&#xff0c;来实现显示一段时间的效果&#xff0c;等…

Spring 是如何解决循环依赖问题的方案

文章目录 Spring 是如何解决循环依赖问题的&#xff1f; Spring 是如何解决循环依赖问题的&#xff1f; 我们都知道&#xff0c;如果在代码中&#xff0c;将两个或多个 Bean 互相之间持有对方的引用就会发生循环依赖。循环的依赖将会导致注入死循环。这是 Spring 发生循环依赖…

电机(一):直流有刷电机和舵机

声明&#xff1a;以下图片来自于正点原子&#xff0c;仅做学习笔记使用 电机专题&#xff1a; 直流电机&#xff1a;直流有刷BDC&#xff08;内含电刷&#xff09;&#xff0c;直流无刷BLDC&#xff08;大疆的M3508和M2006&#xff09;,无刷电机有以下三种形式&#xff1a;&a…

超市订单管理系统

比较简单的超市订单管理系统

十大排序的个人总结之——选择排序

一、选择排序&#xff1a; 选择排序是所以用到它的时候&#xff0c;数据规模越小越好。 时间复杂度&#xff1a;无最好最坏&#xff0c;永远都是O(n) 不占用额外空间&#xff08;唯一好处&#xff09; 还不稳定&#xff08;几乎已经被淘汰了的排序算法&#xff09; 1. 算法…

基于Springboot实现天天生鲜销售电商平台

SSM毕设分享 基于Springboot实现天天生鲜销售电商平台 1 项目简介 Hi&#xff0c;各位同学好&#xff0c;这里是郑师兄&#xff01; 今天向大家分享一个毕业设计项目作品【】 师兄根据实现的难度和等级对项目进行评分(最低0分&#xff0c;满分5分) 难度系数&#xff1a;3分 …

MySQL基础笔记(1)基础理论

一.基本概念 DB&#xff1a;数据库&#xff0c;存储数据的仓库&#xff0c;数据是有组织地进行存储DBMS&#xff1a;操纵和管理数据库的大型软件 SQL&#xff1a;结构化查询语言&#xff0c;操作关系型数据库的编程语言&#xff0c;定义了一套操作关系型数据库的统一标准 &…

uniapp:实现手机端APP登录强制更新,从本地服务器下载新的apk更新,并使用WebSocket,实时强制在线用户更新

实现登录即更新&#xff0c;或实时监听更新 本文介绍的是在App打开启动的时候调用更新&#xff0c;点击下方链接&#xff0c;查看使用WebSocket实现实时通知在线用户更新。 uniapp&#xff1a;全局消息是推送&#xff0c;实现app在线更新&#xff0c;WebSocket&#xff0c;ap…

ECharts与Excel的火花

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、ECharts&#xff1a;现代数据可视化的利器 二、Excel&#xff1a;经典的数据处理与分析工具 三、ECharts与Excel的结合&#…

Linux软件包管理器——yum命令

如何使用yum 一、快速认识yum(简单介绍)二、快速使用yum2.1 rzsz2.2 linux命令行小游戏和彩蛋 三、yum的整个生态问题 一、快速认识yum(简单介绍) Linux中我们也要进行工具/指令/程序&#xff0c;安装&#xff0c;检查卸载等&#xff0c;需要yum的软件 安装软件的方式&#xf…

视频合并软件,重塑你的创意世界

在数字化的世界里&#xff0c;视频已经成为了我们表达自我、传递信息的重要方式。而合并视频&#xff0c;更是将这种表达推向了一个新的高度。通过简单的操作&#xff0c;我们不仅能够将不同的视频完美地融合在一起&#xff0c;更能赋予它们全新的含义。 所需工具&#xff1a;…