Linux学习笔记(一)

 如果有自己的物理服务器请先查看[这篇文章](https://blog.csdn.net/yasinawolaopo/article/details/132391128)

文章目录

      • 网卡配置
      • Linux基础指令
        • ls:列出目录内容
        • cd(mkdir.rmkdir): 切换文件夹(创建,删除操作)
        • cp:复制文件或目录
        • mv:文件/文件夹移动
        • cat:查看文件
        • vi:文件查看编辑
        • man:查看命令手册
        • more: 查看文件内容
        • less : 查看文件内容
      • ps: 显示当前进程的状态
          • 参数:
          • 扩展
        • top: 监控linux的系统状况
          • 一、top前五条信息解释
          • 二、进程信息
        • df: 显示文件系统磁盘空间
        • du: 显示目录空间使用情况
      • 关于用户操作
        • whoami:显示当前登录用户名
        • useradd: 创建用户
        • uesrmod: 加入用户组

网卡配置

如果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/testls -l 查看想要的文件夹(文件)

查看关于关键字的组名

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二进制文件分割器

二进制文件分割器 时间: 2023.12.29 作者: FlameCyclone 自己写的一个能方便分割文件的小工具 使用说明 输出文件名 输出文件名规则前缀文件名开始固定名称序号(10/16进制显示, 宽度以输出最大序号为准)分割范围(16进制显示, 宽度以输出最大范围为准)CRC32校验码8字符组成…

touchHLE实战之游戏

前面推荐了touchHLE&#xff0c;号称可以玩旧的IOS游戏&#xff0c;但是国外还是管理的很严格的&#xff0c;一直没有找到合适的游戏文件测试。最近&#xff0c;发现官网上公布了开发者赠送的一款游戏&#xff0c;试了下完美运行。 看到国外贴吧reddit上有人推荐可用的ipa资源&…

蓝桥杯C/C++程序设计——成绩统计

题目描述 小蓝给学生们组织了一场考试&#xff0c;卷面总分为 100 分&#xff0c;每个学生的得分都是一个 0 到 100 的整数。 如果得分至少是 60 分&#xff0c;则称为及格。如果得分至少为 85 分&#xff0c;则称为优秀。 请计算及格率和优秀率&#xff0c;用百分数表示&am…

不同语言告别2023,迎接2024

一、序言 1.一名合格的程序员&#xff0c;始于Hello World&#xff0c;终于Hello World&#xff0c;用不同语言表达2023最后一天。 2.在这一年里&#xff0c;博主新接触了VUE、Python、人工智能、JAVA的框架SprinBoot、微服务等&#xff0c;然后一路来感谢大家的支持&#xf…

ClickHouse基础知识(一):ClickHouse 入门

1. ClickHouse 入门 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库&#xff08;DBMS&#xff09;&#xff0c;使用 C 语言编写&#xff0c;主要用于在线分析处理查询&#xff08;OLAP&#xff09;&#xff0c;能够使用 SQL 查询实时生成分析数据报告。 2. Cl…

python使用selenium控制浏览器进行爬虫

这里以谷歌浏览器为例&#xff0c;需要安装一下chromedriver&#xff0c;其他浏览器也有相对应的driver&#xff0c;chromedriver下载地址&#xff1a;https://googlechromelabs.github.io/chrome-for-testing/ 然后是打开python环境安装一下依赖pip install selenium&#xf…

【低代码平台】10个开源免费Airtable 的替代方案

Airtable是一个易于使用的简单低代码平台&#xff0c;有助于团队协作管理复杂的数据表&#xff0c;并创建定制的工作流程。把它想象成一个类固醇上的云电子表格。 Airtable还简化了数据输入过程&#xff0c;连接和集成第三方服务和应用程序&#xff0c;并提供了许多数据导入/导…

毅速:3D打印技术传统模具行业影响深远

随着3D打印技术的不断发展和完善&#xff0c;一系列的优势使其在模具制造领域的应用越来越广泛&#xff0c;这一技术在模具行业的应用将为整个行业带来变革。 首先&#xff0c;3D打印技术将大幅提高模具制造的精度和效率。传统的模具制造过程中&#xff0c;由于加工设备的限制和…

gitee(码云)仓库内容更新,使用TortoiseGit同步本地仓库和远程仓库

前言&#xff1a; 网上有很多同步仓库教程&#xff0c;但都是git命令行操作。这篇使用TortoiseGit可视化操作同步本地仓库和远程仓库 克隆本地仓库&#xff0c;上传远程仓库&#xff0c;下载TortoiseGit可以看这篇使用gitee&#xff08;码云&#xff09;上传自己的代码&#xf…

Altium Designer20中遇到的问题和解决办法记录

最近二战考完研了&#xff0c;重新拾起之前学的一些项目&#xff0c;最近在优化以前话的四层PCB版的时候发现了在使用AD使碰到一些问题现在记录如下&#xff1a; 1.Altium Designer 中的 Clearance Constraint 错误如何修改 &#xff1a; 我遇到的报错如下&#xff1a;  这…

Vue模板编译

Vue模板编译 Vue生命周期中&#xff0c;在初始化阶段各项工作做完之后调用了vm.$mount方法&#xff0c;该方法的调用标志着初始化阶段的结束和进入下一个阶段&#xff0c;从官方文档给出的生命周期流程图中可以看到&#xff0c;下一个阶段就进入了模板编译阶段(created和befor…

2023年“中银杯”四川省职业院校技能大赛“云计算应用”赛项样题卷①

2023年“中银杯”四川省职业院校技能大赛“云计算应用”赛项&#xff08;高职组&#xff09; 样题&#xff08;第1套&#xff09; 目录 2023年“中银杯”四川省职业院校技能大赛“云计算应用”赛项&#xff08;高职组&#xff09; 样题&#xff08;第1套&#xff09; 模块一…

GitHub 一周热点汇总 第3期 (2023/12/24-12/30)

GitHub一周热点汇总第三期 (2023/12/24-12/30)&#xff0c;梳理每周热门的GitHub项目&#xff0c;了解热点技术趋势&#xff0c;掌握前沿科技方向&#xff0c;发掘更多商机。元旦就要到了&#xff0c;提前祝大家新年快乐。 #1 StreamDiffusion 项目名称&#xff1a;StreamDiff…

50. Pow(x, n)(Leetcode) C++递归实现(超详细)

文章目录 前言一、题目分析二、算法原理1.递归分析2.递归实现 三、代码实现复杂度分析总结 前言 在本文章中&#xff0c;我们将要详细介绍一下Leetcode中第50题&#xff0c; Pow(x, n)的内容 一、题目分析 题目要求很简单&#xff1a;我们模拟实现一个pow函数。 二、算法原理…

32--网络编程

1.、网络编程概述 Java是 Internet 上的语言&#xff0c;它从语言级上提供了对网络应用程序的支持&#xff0c;程序员能够很容易开发常见的网络应用程序。 Java提供的网络类库&#xff0c;可以实现无痛的网络连接&#xff0c;联网的底层细节被隐藏在 Java 的本机安装系统里&a…

从仿写持久层框架到MyBatis核心源码阅读

接上篇手写持久层框架&#xff1a;https://blog.csdn.net/liwenyang1992/article/details/134884703 MyBatis源码 MyBatis架构原理&主要组件 MyBatis架构设计 MyBatis架构四层作用是什么呢&#xff1f; API接口层&#xff1a;提供API&#xff0c;增加、删除、修改、查询…

【SpringBoot】SwaggerKnif4j接口文档集成

[TOC] 序&#xff1a;接口文档 ​ 在开发过程中&#xff0c;接口文档是非常重要的一环&#xff0c;在 Spring Boot 中&#xff0c;我们可以通过集成第三方来实现接口文档的自动生成。 ​ 通过注解来描述接口&#xff0c;然后根据这些注解自动生成接口文档&#xff0c;它不仅…

⑩①【缓存】Redis持久化 RDB + AOF

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ ⑩①Redis持久化 RDB AOF Redis数据快照 - RD…

Channel 使用事项和注意细节

&#xff08;1&#xff09;channel 可以声明为只读&#xff0c;或者只写性质 &#xff08;2&#xff09;channel 只读和只写的最佳实践案例 在默认情况下&#xff0c;管道是双向管道&#xff0c;即可读可写。 var ch chan intfunc main() {//声明为只写管道var chan1 chan<…

【中小型企业网络实战案例 五】配置可靠性和负载分担

【中小型企业网络实战案例 三】配置DHCP动态分配地址-CSDN博客 【中小型企业网络实战案例 四】配置OSPF动态路由协议 【中小型企业网络实战案例 二】配置网络互连互通-CSDN博客 【中小型企业网络实战案例 一】规划、需求和基本配置_大小企业网络配置实例-CSDN博客 配置VRRP联…