当前位置: 首页 > news >正文

Linux命令和使用

Linux介绍

Linux是⼀个操作系统

Linux的优势

  1. 开源(意味着免费,便宜)
  2. 稳定(Linux可以运行很多年,都不会发生重大问题)
  3. 安全(Linux只有管理员或者特定用户才能访问Linux内核)
  4. 自由(不会被强加商业产品和服务)
  5. 社区支持(Linux在全球社区都非常活跃和使用广泛,很多志愿者在线帮大家解决问题)

对于Java程序员来说,关于Linux重点学习基础命令和项目部署即可.

首先需要搭建Linux环境

Linux环境搭建方式

有四种方式:

  1. 直接安装在物理机上.
  2. 使用虚拟机软件,将Linux搭建在虚拟机上.
  3. 使用WSL(Windows Subsystem for Linux).这个是Windows近几年开发的新功能,在Windows系统内集成了⼀个Linux.
  4. 使用云服务器(推荐),可以直接在腾讯云,阿里云或华为云等服务器厂商处直接购买⼀个云服务器.

需要获取到的信息

  1. 服务器的外网IP
  2. 服务器的管理员账户(固定为root)
  3. 管理员账户密码

连接Linux

博主使用XShell
下载地址:Xshell
使用XShell登陆主机

ssh 服务器外网ip地址

如果网络畅通,将会提示输入用户名密码.输入即可正确登陆.

登录失败的原因

  1. 未输入用户名和密码
  2. IP输入错误
  3. 确认安装的是Ubuntu(安装其他操作系统,比如windowsserver,确实⽆法登录)
  4. 是否设置了初始密码
  5. 服务器是否启动
  6. 通过控制台登录
  7. 以上都没问题,咨询客服

Linux常用命令

文件相关(mv mkdir cd ls)
进程相关( ps top netstat )
权限相关(chmod chown useradd groupadd)
网络相关(netstat ip addr)
测试相关(测试网络连通性:ping 测试端口连通性:telnet)

文件相关

mv

mv 源文件 目标文件
• -f:force强制的意思,如果=目标文件已经存在,不会询问而直接覆盖
• -i:若目标文件(destination)已经存在时,就会询问是否覆盖!

mv test1.txt test2.txt

ls

列出该目录下的所有子目录与文件
常⽤选项:
• -a 列出目录下的所有文件,包括以.开头的隐含文件。
• -d 将目录象文件⼀样显示,而不是显示其下的文件。如:ls ‒d指定目录
• -k 以k字节的形式表示文件的大小。ls ‒alk指定文件
• -l 列出文件的详细信息。
• -r 对目录反向排序
• -t 以时间排序。
• -r 列出所有子目录下的文件。(递归)

tail

用于显示文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
• -f 循环读取
• -n<行数>显示行数

tail -10 test1.txt

mkdir

在当前目录下创建目录

-p 此时若路径中的某些目录尚不存在,加上此选项后,系统将自动
建立好那些尚不存在的目录,即⼀次可以建立多级目录

mkdir –p test/test1
cd

将当前工作目录改变到指定的目录下.
返回上级目录
cd …
进入用户家目录
cd ~
返回最近访问目录
cd -

pwd

显示用户当前所在的目录

vim

vim是⼀个知名的文本编辑器,使用vim可以进行文本编辑了

  1. 创建文件
    vim 文件名
  2. 插入模式
    使用i 进入插入模式,使用j 光标往下一行
  3. 保存
    先回到普通模式(esc),在普通模式下输入:w 再回车即可保存
  4. 退出
    先回到普通模式
    1)文件未修改 :q 再回车
    2)文件修改并保存 :wq 再回车
    3)文件修改但不保存 :wq!再回车
grep

grep 参数 文件名
用于查找文件中是否包含指定字符串,并显示对应的行
-n: 显示行数
-w: 全字匹配
-r : 递归查找
–color: 高亮查找结果
–include: 指定查找某些文件
–exclude: 指定排除某些文件

rm

删除文件或目录
• -f 即使文件属性为只读(即写保护),亦直接删除
• -i 删除前逐⼀询问确认
• -r 删除目录及其下所有文件

cat

查看相关文件的内容
-n 对输出的所有行进行编号

进程相关

ps命令里都有哪些选项,ps展示哪些东西?

在这里插入图片描述
ps命令展示内容:

PID:进程ID。
PPID:父进程ID。
USER:进程所属用户。
%CPU:CPU占用率。
%MEM:内存占用率。
VSZ:虚拟内存大小。
RSS:物理内存大小。
TTY:终端设备。
STAT:进程状态。
START:进程启动时间。
TIME:进程累计CPU占用时间。
COMMAND:进程命令或可执行文件。

ps命令选项:

-a:显示所有进程,包括其他用户的进程。
-u:显示用户相关的进程信息。
-x:显示没有控制终端的进程。
-e:显示所有进程,等同于-a选项。
-f:显示详细的进程信息,包括进程的父进程、运行状态等。
-l:显示长格式的进程信息,包括进程的PID、PPID、CPU占用率等。
-r:显示正在运行的进程。
-o:自定义输出格式。

top

在这里插入图片描述
主要会展示:

Load average(平均负载):显示系统在最近1分钟、5分钟和15分钟内的平均负载情况。
Tasks(任务):显示当前运行、睡眠、停止和僵尸状态的进程数量。
CPU usage(CPU使用情况):显示CPU的总体使用率以及每个CPU核心的使用率。
Memory usage(内存使用情况):显示物理内存的总量、已使用量、空闲量、缓冲区和缓存区的使用量。
Swap usage(交换空间使用情况):显示交换空间的总量、已使用量和剩余量。
进程列表:显示当前运行的进程列表,包括进程的PID、用户、CPU占用率、内存占用率、进程状态、启动时间和进程命令。

netstat

netstat[参数]…
查看系统上的网络状态.
选项:
• -a 显示所有正在或不在侦听的套接字
• -n 显示数字形式地址而不是去解析主机、端口或用户名
• -p 显示套接字所属进程的PID和名称

|

将前一个指令标准输出的内容,作为第二个指令的标准输入内容.

部署到Linux

apt常用命令

列出所有软件包

apt list

过滤出java

apt list |grep “java”

更新软件包

sudo apt-get update

如果切换到root用户命令前就不需要加sudo了

安装软件包

sudo apt install package_name

移除软件包

sudo apt remove package_name

如果要删除包含所有配置文件的软件
包,使用purge而不是remove

查看MySQL状态

sudo systemctl status mysql

连接mysql

sudo mysql

使用alter user命令修改密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY
‘BITE@yyds.666’;

卸载MySQL

停止mysql
sudo systemctl stop mysql
卸载mysql
sudo apt-get remove --purge mysql-server mysql-client mysql-common
删除 MySQL 配置文件和数据
sudo rm -rf /etc/mysql /var/lib/mysql
#清理残留文件和目录
sudo apt-get autoremove
sudo apt-get autoclean
#验证卸载结果
mysql --version

修改配置文件

Maven打包上传到Linux

后台运行程序

nohup java -jar 包 &

Linux可以通过> 把需要输出的内容写到指定文件中.这样的操作称为"重定向".

nohup java -jar 包 >/指定文件&

查看当前服务的进程

ps -ef|grep java

杀掉进程

kill -9 PID

http://www.dtcms.com/a/367220.html

相关文章:

  • 【数学建模学习笔记】机器学习回归:决策树回归
  • Qt---状态机框架QState
  • Java ForkJoin
  • 办公任务分发项目 laravel vue mysql 第一章:核心功能构建 API
  • Dify 低代码平台技术详解与实践
  • 实验室智能化管理信息系统如何重塑实验室运作模式?
  • Linux系统shell脚本(三)
  • 解密注意力计算的并行机制:从多头并张量操作到CUDA内核优化
  • 【Luogu_P5839】 [USACO19DEC] Moortal Cowmbat G【动态规划】
  • C语言(长期更新)第14讲:指针详解(四)
  • 第六章 Cesium 实现简易河流效果
  • FastDDS:第三节(3.2小节)
  • 规则引擎开发现在已经演化成算法引擎了
  • #T1359. 围成面积
  • Java并发编程:sleep()与wait()核心区别详解
  • 通过Interface扫描获取所有其实现类
  • AI 浪潮下阿里云“高光”乍现,但离终局胜利尚远
  • MySQL主从复制进阶(GTID复制,半同步复制)
  • 搭建基于 Solon AI 的 Streamable MCP 服务并部署至阿里云百炼
  • 鸿蒙NEXT动画开发指南:组件与页面典型动画场景解析
  • ios按键精灵提示 “设备信息丢失”如何处理?
  • 在Ant Design Vue 中使用图片预览的插件
  • Elixir通过Onvif协议控制IP摄像机,扩展ExOnvif的摄像头停止移动 Stop 功能
  • 【RNN-LSTM-GRU】第五篇 序列模型实战指南:从选型到优化与前沿探索
  • 对于数据结构:链表的超详细保姆级解析
  • 从0到1搭建某铝箔智慧工厂网络:5G与WiFi 6助力智能制造
  • 2025年财会领域专业资格认证选择指南
  • AR眼镜在智能制造的应用方向和场景用例|阿法龙XR云平台
  • BERT家族进化史:从BERT到LLaMA,每一次飞跃都源于对“学习”的更深理解
  • 【深度学习】P1 引言:深度学习的万家灯火