一、linux 介绍
os 操作系统:
windows,dos,android ,ios,unix ,linux
linux系统:是一个免费,开源的操作系统,能多cpu,多用户,多线程的操作系统,比windows更稳定,是在UNIx系统的基础上开发的新系统
linux主流发型版:
centos 免费
redhat 红帽子
ubuntu 乌班图
gentoo
dibian
opensuse
linx操作系统的优点:
1、系统稳定,
2、开源作为服务器来使用
为什么学Linux系统?
1、作为服务器,用于部署系统,企业中开发的系统都会部署在linux系统
LNMP= linux+nginx+MySQL+php 论坛
LAMP=linux+apache+mysql+php 多有米,cms
(2) 嵌入式的系统领域
二、linux的搭建
方式有两种:
方式一:linux和ios系统同时安装
方式二:先linux----稍后安装ios系统同时安装
三、linux命令
ifconfig 查看虚拟机ip地址 ,注意点:就是看左上角的网络断开情况
liunx 链接xshell方法:
(1)新建,添加ip,输入账号,密码,勾选记住
(2)ssh +ip地址 输入账号 输入密码
我们学习期间用超级用户:root 密码:123456
快照功能:
快照是拍摄和恢复,删除功能
方法:虚拟机-快照-拍摄快照 (备份系统)
恢复快照(还原系统)
pwd 查看当前路径
/ 根目录
cd / 进入根目录
建议:在home文件,usr文件这两个文件下面操作 ;
cd /home ,cd /usr
ls 横向显示目录下所有的文件和目录名称
ll 是ls -1 的简写 ;表示纵向显示当前目录的所有文件和目录的详细信息
ls -a 显示所有目录下所有的文件和目录,还有所有的隐藏文件
./ 表示当前目录
.表示当前目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd ../../.. 返回上三级目录
cd / 到根目录
切换用户:
su root 切换超级用户 #
su 普通用户名 切换普通用户名 $
注意:普通用户切换回root用户,需要密码;
root用户切换普通用户不需要输入密码;
service iptables restart 重启防火墙
service iptables start 开启防火墙
service iptables stop 关闭防火墙
service iptables status 查看防火墙挡墙状态
service network restart 重启网卡
service network start 开启网卡
service network status 查看网卡的状态
service network stop 停止网卡
ping 查看网络是否通
例如:ping www.baidu.com 退出:ctrl+c或ctrl+z
mkdir + 目录名 创建目录
mkdir -p a/b/c 创建层级目录
mkdir aa bb cc 同时创建多个目录
rm 删除命令
touch创建文件
rm 删除文件前进行确认
rm -r
删除目录
rm -rf
强制删除文件/目录rm -rf * 删除当前目录下所有
文件和目录
cp复制
cp 原文件 新文件 同一路径
cp /路径/原文件 /路径 /新文件
cp -r 复制目录
cp -r 原目录 + 新目录
clear 清屏
mv 移动,重命名
vim 或vi 编辑文件
vim +文件名
三种模式:
编辑模式 i键 ----输入内容
命令模式 esc键 或ctrl+c键
底层命令模式 shift+: w 保存 q退出 !强制退出
wq q! wq! w
cat 查看文件的所有内容
cat 文件名|grep 查看的内容
head 查看文件前面指定行数
head 文件名 默认查询文件前10行
head -n 行数 文件名 指定查询文件的前多少行
tail 查看文件末尾指定的行数
tail -n 行数 文件名 查看指定的末尾行数
tail -f +文件名 查看实时日志
more 以百分比的形式查看文件
注意点:按回车向下查看
less 以上下翻页的形式查询文件
注意点:按上下键翻页查看
find /路径 -name 查找名字
find /路径 -type 类型的分类(f 普通文件,d目录,b块设备, l链接,p管道)find /路径 -siZe 按照文件大小查找
find /路径 -ctime 根据时间查找
find /路径 -user 用户名 根据用户查找
cat 文件|grep 字符串
三剑客(chmod,chown,chgrp)
chmod 修改权限
工作中出现文件没有权限如何解决?
chown 修改文件拥有者也是属主
chgrp 修改拥有文件属组
cat /etc/passwd 查看所用的用户
cat /etc /group 查看所用的用户组
useradd 添加用户 (用户名和用户组相同)
useradd 用户名 -g 组名 (用户名和组名可以不同)
tar -cvf 打包名.tar 打包的内容
tar -xvf 解压包名
zip 打包名.zip 打包的文件名和目录
unzip 解压zip包
yum install 包名 在线安装
yum remove 包名 在线卸载
yum install lrzsz 传输文件工具
rz 本地windows 传输到linux中
rz ,回车 ,选择windows中的文件传输到linux中
sz linux 中的文件传输到windows
sz 文件名 ,回车 选择windows 的保存路径
rpm 包
rpm -ivh 包名 在线解压
java -version 查看jdk的版本
xftp工具的使用
xftp工具
下载xftp工具,安装后打开xshell,可以直接在xshell中直接启动xftp工具
windows文件传输到linux环境
左边的文件拖动到右边
linux文件传输到windows环境
右边的文件拖动到左边
========================
scp 超复制
第一种:从另一台服务器上那文件到本地
scp 用户名 @ 对方的IP地址 :路径 本地路径
scp root@192.168.180.132:/home/baoan2 aa /home
第二种:把文件 放到另外一台服务器上
scp 本地路径 用户名@对方ip地址:路径
scp ./luofang_129 root@192.168.180.132:/home
输入密码
sftp 加密的文件传输 (更安全,在同一个局域网内)
sftp +ip (对方的ip)
put
put 本地传输文件路径和包名 另一台服务区的存放路径
put /home/xlh/gg /home/xlh
get 另一台服务器的路径和文件 本地存放路径
例如get /home/xlh/po /home/xlh/
重定向符号
1. > 覆盖
2. >> 追加
> 覆盖
例如:把file1 文件中的内容覆盖到file2
cat file1 >file2
>> 追加
例如:把file1文件中的内容追加到file2文件末尾
cat file1 >>file2
注意点
记得时候,1覆盖2追加(1个>覆盖,2个>追加)
系统命令:
系统命令:
df 查看磁盘使用情况
Filesystem:代表该文件系统时哪个分区,所以列出的是设备名称。
1K-blocks:说明下面的数字单位是1KB,可利用-h或-m来改变单位大小,也可以用-B来设置。
Used:已经使用的空间大小。Available:剩余的空间大小。
Use%:磁盘使用率。如果使用率在90%以上时,就需要注意了,避免磁盘容量不足出现系统问题,尤其是对于文件内容增加较快的情况(如/home、/var/spool/mail等)。
Mounted on:磁盘挂载的目录,即该磁盘挂载到了哪个目录下面。
======
df -h 以人们易读的GB、MB、KB等格式显示
=============================
top 查看动态进程命令
详解:
第一行:
10:01:23 — 当前系统时间
126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)
2 users — 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行:
Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态
6.7% us — 用户空间占用CPU的百分比。
0.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
92.9% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比
在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充充电了。
第四行:内存状态
8306544k total — 物理内存总量(8GB)
7775876k used — 使用中的内存总量(7.7GB)
530668k free — 空闲内存总量(530M)
79236k buffers — 缓存的内存量 (79M)
第五行:swap交换分区
2031608k total — 交换区总量(2GB)
2556k used — 使用的交换区总量(2.5M)
2029052k free — 空闲交换区总量(2GB)
4231276k cached — 缓冲的交换区总量(4GB)
六行是空行
第七行以下:各进程(任务)的状态监控
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 — 进程名称(命令名/命令行)
===========================
free从/proc/meninfo收集到以下信息:
Men:内存的使用情况
Swap:交换空间的使用情况
total:总内存
used:已经使用的内存
shared:共享内存(主要被tmpfs使用的内存)
buff/cache:buff和cache的和
available:启动新进程时可用的内存
buffer 在操作系统中指 buffer cache, 中文一般翻译为 "缓冲区"。
cache 在操作系统中指 page cache,中文一般翻译为 "页高速缓存"。页高速缓存是内核实现的磁盘缓存。它主要用来减少对磁盘的 I/O 操作。
free 是真正尚未被使用的物理内存数量。
available 是从应用程序的角度看到的可用内存数量。Linux 内核为了提升磁盘操作的性能,会消耗一部分内存去缓存磁盘数据,就是我们介绍的 buffer 和 cache。所以对于内核来说,buffer 和 cache 都属于已经被使用的内存。当应用程序需要内存时,如果没有足够的 free 内存可以用,内核就会从 buffer 和 cache 中回收内存来满足应用程序的请求。所以从应用程序的角度来说,available = free + buffer + cache。请注意,这只是一个很理想的计算方式,实际中的数据往往有较大的误差。
===========
ps查看当前进程命令
ps命令就是最基本进程查看命令
- -A :所有的进程均显示出来,与 -e 具有同样的效用;
- -a : 显示现行终端机下的所有进程,包括其他用户的进程;
- -u :以用户为主的进程状态 ;
- x :通常与 a 这个参数一起使用,可列出较完整信息
ps aux 查看所有用户的进程ps -ef|grep 服务名称 (重点)
- USER:该进程属于那个使用者账号。
- PID :该进程的进程ID号。
- %CPU:该进程使用掉的 CPU 资源百分比;
- %MEM:该进程所占用的物理内存百分比;
- VSZ :该进程使用掉的虚拟内存量 (Kbytes)
- RSS :该进程占用的固定的内存量 (Kbytes)
- TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
- STAT:该程序目前的状态,主要的状态有:
- R :该程序目前正在运作,或者是可被运作;
- S :该程序目前正在睡眠当中,但可被某些讯号(signal) 唤醒。
- T :该程序目前正在侦测或者是停止了;
- Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
- START:该进程被触发启动的时间;
- TIME :该进程实际使用 CPU 运作的时间。
- COMMAND:该程序的实际指令。
ps -ef|grep 服务名称 查看一个服务状态
===============
kill命令 杀进程命令kill -9 +进程号 强制杀进程
1.命令格式:
kill[参数][进程号]
只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 下面是常用的信号:
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
===============
netstat -ntlp命令
查看所有已经开启的端口
hostname命令 查看主机名称whoami命令 查看当前操作用户 who命令 查看在线登录用户getconf LONG_BIT 查看系统位数
du -sh +文件/目录 查看某个文件/目录的大小du -sh 查看当前目录的大小
du [选项][文件]
说明:
-a 显示所有目录或文件的大小
-b 以byte为单位,显示目录或文件的大小
-c 显示目录或文件的总和
-k 以KB为单位输出
-m 以MB为单位输出
-s 仅显示目录或文件的总计数值
-h 以K,M,G为单位,提高信息可读性
-x 跳过不同的文件系统目录
-S 显示目录的大小,但不含子目录大小。
-D 显示指定符号链接的源文件大小
————————————————
==========================
reboot 重启
=========================
重启linux系统
shutdown命令
shutdown now 现在关机
halt 关机
init0 关机
init 6 重启uname 显示当前的操作系统的名称
history 显示历史操作记录
history -c 删除历史操作记录
date 显示当前时间
date -s 修改系统时间 date -s '2020-07-13 09:45:00'
===================
fdisk -l 查看硬盘和分区信息
fdisk [必要参数][选择参数]
必要参数:
- -l 列出素所有分区表
- -u 与”-l”搭配使用,显示分区数目
选择参数:
- -s<分区编号> 指定分区
- -v 版本信息
菜单操作说明
- m :显示菜单和帮助信息
- a :活动分区标记/引导分区
- d :删除分区
- l :显示分区类型
- n :新建分区
- p :显示分区信息
- q :退出不保存
- t :设置分区号
- v :进行分区检查
- w :保存修改
- x :扩展应用,高级功能
=====================
====================
ifcongig eth0 修改的ip 修改ip地址 例如:ifconfig eth0 192.168.111.111
route 查看路由表
alias 别名 alias 别名=原命令 创建别名
unlias 别名 取消别名
tab 键 联想键
上下键 ,对使用的命令可以上下查找
cat /etc/shadow 存储用户账号的密码
cat /etc /gshadow 存储用户组的账号的密码
uptime 显示系统运行了多长时间
pstree 以树状的方式显示所有进程
vim /etc/profile 环境变量
案例图:
df

free
ps -ef|grep 服务名称
top
第一行:
10:01:23 — 当前系统时间
126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)
2 users — 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行:
Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态
6.7% us — 用户空间占用CPU的百分比。
0.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
92.9% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比
在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充充电了。
第四行:内存状态
8306544k total — 物理内存总量(8GB)
7775876k used — 使用中的内存总量(7.7GB)
530668k free — 空闲内存总量(530M)
79236k buffers — 缓存的内存量 (79M)
第五行:swap交换分区
2031608k total — 交换区总量(2GB)
2556k used — 使用的交换区总量(2.5M)
2029052k free — 空闲交换区总量(2GB)
4231276k cached — 缓冲的交换区总量(4GB)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架