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

查看关于关键字的组名

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

在这里插入图片描述

chmod: 权限管理

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

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

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

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

相关文章

Redis(Linux版本7.2.3)

1、停止Redis服务器 [roottssvr1-c1 sysconfig]# ps -ef | grep redis root 322 1 0 10月30 ? 02:58:53 ./bin/redis-server 0.0.0.0:6379 root 32664 12498 0 14:45 pts/0 00:00:00 grep --colorauto redis [roottssvr1-c1 sysconfig]# [roottssvr…

ShuffleZKP:匿名、不可连接消息的合规证明

1. 引言 Mingxun Zhou等人2023年论文《Proof of Compliance for Anonymous, Unlinkable Messages》&#xff0c;开源代码实现见&#xff1a; https://github.com/shufflezkp/shuffle-zkp-open&#xff08;Go&#xff09;

webrtc中的接口代理框架

文章目录 接口代理框架Proxy体系类结构导出接口 webrtc的实际运用PeerConnectionFactoyPeerConnection使用 接口代理框架 webrtc体系庞大&#xff0c;模块化极好&#xff0c;大多数模块都可以独立使用。模块提供接口&#xff0c;外部代码通过接口来使用模块功能。 在webrtc中通…

NGUI基础-三大基础组件之Event System(Uicameras)

目录 主要作用 相关参数 (建议&#xff1a;红色是重点&#xff0c;黑色的了解即可&#xff09; Event Type Events go to Process Events in Event Mask​编辑 Debug Command Click Allow Multi Touch Auto Hide Cursor Sticky ToolTip/Long press ToolTip/ToolTip…

分库分表之Mycat应用学习一

1 为什么要分库分表 1.1 数据库性能瓶颈的出现 对于应用来说&#xff0c;如果数据库性能出现问题&#xff0c;要么是无法获取连接&#xff0c;是因为在高并发的情况下连接数不够了。要么是操作数据变慢&#xff0c;数据库处理数据的效率除了问题。要么是存储出现问题&#xf…

树与图的搜索

目录 树与图的深度优先遍历 树与图的宽度优先遍历 树与图的深度优先遍历 题目如下&#xff1a; 树是一种特殊的图&#xff0c;是一种无环连通图&#xff0c;图分两种&#xff0c;无向图&#xff08;边无方向&#xff09;和有向图&#xff08;边有方向&#xff09;&#xff0…

人是需要被肯定和认可的,赞美也是一种动力

前几天转发了一些网上的文章&#xff0c;突然有了10个关注我的人&#xff0c;赞美数和收藏量也上去了一些。 这是一种很意外的惊喜。 看了一下主题是&#xff1a; 1,如何将.NET8创建的控制台程序部署成WINDOWS服务。 2,.NET进阶篇06-async异步、thread多线程 3,易语言启动线程传…

六、Redis 分布式系统 —— 超详细操作演示!

六、Redis 分布式系统 —— 超详细操作演示&#xff01; 六、Redis 分布式系统6.1 数据分区算法6.1.1 顺序分区6.1.2 哈希分区 6.2 系统搭建与运行6.2.1 系统搭建6.2.2 系统启动与关闭 6.3 集群操作6.3.1 连接集群6.3.2 写入数据6.3.3 集群查询6.3.4 故障转移6.3.5 集群扩容6.3…

leetcode递归算法题总结

递归本质是找重复的子问题 本章目录 1.汉诺塔2.合并两个有序链表3.反转链表4.两两交换链表中的节点5.Pow(x,n) 1.汉诺塔 汉诺塔 //面试写法 class Solution { public:void hanota(vector<int>& a, vector<int>& b, vector<int>& c) {dfs(a,b…

算法(3)——二分查找

一、什么是二分查找 二分查找也称折半查找&#xff0c;是在一组有序(升序/降序)的数据中查找一个元素&#xff0c;它是一种效率较高的查找方法。 二、二分查找的原理 1、查找的目标数据元素必须是有序的。没有顺序的数据&#xff0c;二分法就失去意义。 2、数据元素通常是数值…

【PTA-C语言】实验七-函数与指针I

如果代码存在问题&#xff0c;麻烦大家指正 ~ ~有帮助麻烦点个赞 ~ ~ 目录——实验七-函数与指针I 6-1 弹球距离&#xff08;分数 10&#xff09;6-2 使用函数输出一个整数的逆序数&#xff08;分数 10&#xff09;6-3 使用函数求最大公约数&#xff08;分数 10&#xff09;6-4…

Flink Job 执行流程

Flink On Yarn 模式 ​ 基于Yarn层面的架构类似 Spark on Yarn模式&#xff0c;都是由Client提交App到RM上面去运行&#xff0c;然后 RM分配第一个container去运行AM&#xff0c;然后由AM去负责资源的监督和管理。需要说明的是&#xff0c;Flink的Yarn模式更加类似Spark on Ya…