后端程序员的Linux命令指南

后端程序员的终极命令指南:考考自己是不是真正掌握Linux的使用

欢迎各位穿着格子衬衫,常年抱着键盘睡觉的后端小伙伴们👋👋👋!今天,考考你们是不是掌握以下让你们在日后在服务器上叱咤风云的命令。如果都能答上来,想必日后工作中有关Linux系统的使用已经难不倒你了,如果没答上来也不要气馁,毕竟Linux系统的命令比较多,知道有这个命令即可,忘记利用搜索引擎🔍查看即可,不必强求背下。

关键词远程登录文件操作权限管理查找指令解压缩查看网络shell命令项目部署目录操作进程管理其他命令管道符

问题(答案在结尾)

建议:先做再看🌟🌟🌟

远程登录

Question 1: 使用哪条命令可以通过SSH连接到远程服务器?

Question 2: 如何在SSH连接时指定端口号? 🙅

文件操作

Question 3: 使用哪条命令可以创建一个新文件?

Question 4: 如何复制文件到另一个目录?

Question 5: 如何移动文件到另一个目录?

Question 6: 如何删除一个文件?

权限管理

Question 7: 如何更改文件的权限?

Question 8: 如何更改文件的所有者?

Question 9: 如何授予某个用户文件的读写权限?

查找指令

Question 10: 使用哪条命令可以在当前目录及其子目录中查找文件?

Question 11: 如何查找包含特定字符串的文件?

Question 12: 如何查找并删除某个扩展名的所有文件?

解压缩

Question 13: 使用哪条命令可以解压缩一个.tar.gz文件?

Question 14: 如何压缩目录为.zip文件?

Question 15: 如何查看.tar.gz文件的内容而不解压缩?

查看网络(重要‼️)

Question 16: 使用哪条命令可以查看当前系统的网络连接情况?

Question 17: 如何检查某个端口是否被占用?

Question 18: 如何显示当前机器的IP地址?

Shell命令

Question 19: 如何在Bash中定义一个变量?

Question 20: 使用哪条命令可以查看所有正在运行的后台进程?

Question 21: 如何将命令的输出重定向到一个文件?

项目部署

Question 22: 使用Docker如何构建一个镜像?

Question 23: 使用Docker如何进行卷挂载?

Question 24: 如何查看容器日志?

目录操作

Question 25: 使用哪条命令可以创建一个新目录?

Question 26: 如何删除一个非空目录?

Question 27: 如何切换到上一级目录?

进程管理(重要‼️)

Question 28: 使用哪条命令可以查看所有运行中的进程?

Question 29: 如何杀死一个指定的进程?

Question 30: 如何查看某个进程的详细信息?

其他命令

Question 31: 如何查看系统的磁盘使用情况?

Question 32: 使用哪条命令可以查看系统的内存使用情况?

Question 33: 如何查看系统的当前时间和日期?

定位项目异常(重要‼️)

Question 34: 如何查看项目的日志文件?

Question 35: 使用哪条命令可以实时监控日志文件的变化?

Question 36: 如何查找日志文件中包含特定关键字的行?

Question 37: 如何查看系统的错误日志?

Question 38: 如何查看某个进程的详细日志信息?

Question 39: 如何查看服务器的CPU和内存使用情况,以检测是否有异常?

管道符(重要‼️)

Question 40: 如何将ls命令的输出通过管道符传递给grep命令来查找文件名中包含“log”的文件?

Question 41: 如何将ps命令的输出通过管道符传递给grep命令来查找包含“nginx”的进程?

Question 42: 如何将df命令的输出通过管道符传递给grep命令来查找包含“sda”的磁盘信息?

答案

远程登录

Ans 1: 使用命令 ssh user@hostname 可以通过SSH连接到远程服务器。

  • 示例ssh user@192.168.1.1

Ans 2: 使用命令 ssh -p port user@hostname 在SSH连接时指定端口号。

  • 示例ssh -p 2222 user@192.168.1.1
文件操作

Ans 3: 使用命令 touch filename 可以创建一个新文件。

  • 示例touch newfile.txt

Ans 4: 使用命令 cp source destination 可以复制文件到另一个目录。

  • 示例cp file.txt /home/user/Documents/

Ans 5: 使用命令 mv source destination 可以移动文件到另一个目录。

  • 示例mv file.txt /home/user/Documents/

Ans 6: 使用命令 rm filename 可以删除一个文件。

  • 示例rm oldfile.txt
权限管理

Ans 7: 使用命令 chmod permissions filename 可以更改文件的权限。

  • 示例chmod 755 script.sh

Ans 8: 使用命令 chown owner:group filename 可以更改文件的所有者。

  • 示例chown user:group file.txt

Ans 9: 使用命令 chmod u+rw filename 可以授予某个用户文件的读写权限。

  • 示例chmod u+rw file.txt
查找指令

Ans 10: 使用命令 find . -name "filename" 可以在当前目录及其子目录中查找文件。

  • 示例find . -name "file.txt"

Ans 11: 使用命令 grep -r "search_string" directory 可以查找包含特定字符串的文件。

  • 示例grep -r "TODO" /home/user/projects/

Ans 12: 使用命令 find . -name "*.ext" -exec rm {} \; 可以查找并删除某个扩展名的所有文件。

  • 示例find . -name "*.log" -exec rm {} \;
解压缩

Ans 13: 使用命令 tar -xzvf file.tar.gz 可以解压缩一个.tar.gz文件。

  • 示例tar -xzvf archive.tar.gz

Ans 14: 使用命令 zip -r archive.zip directory 可以压缩目录为.zip文件。

  • 示例zip -r backup.zip /home/user/Documents/

Ans 15: 使用命令 tar -tzvf file.tar.gz 可以查看.tar.gz文件的内容而不解压缩。

  • 示例tar -tzvf archive.tar.gz
查看网络

Ans 16: 使用命令 netstat -tuln 可以查看当前系统的网络连接情况。

  • 示例netstat -tuln

Ans 17: 使用命令 lsof -i :port 可以检查某个端口是否被占用。

  • 示例lsof -i :80

Ans 18: 使用命令 ip addr 可以显示当前机器的IP地址。

  • 示例ip addr
Shell命令

Ans 19: 使用命令 variable=value 可以在Bash中定义一个变量。

  • 示例myvar="Hello World"

Ans 20: 使用命令 jobs 可以查看所有正在运行的后台进程。

  • 示例jobs

Ans 21: 使用命令 command > file 可以将命令的输出重定向到一个文件。

  • 示例ls > filelist.txt
项目部署

Ans 22: 使用命令 docker build -t imagename . 可以使用Docker构建一个镜像。

  • 示例docker build -t myapp .

Ans 23: 使用命令 docker run -v host_dir:container_dir imagename 可以使用Docker进行卷挂载。

  • 示例docker run -v /home/user/data:/data myapp

Ans 24: 使用命令 docker logs container_id 可以查看容器日志。

  • 示例docker logs 1234567890ab
目录操作

Ans 25: 使用命令 mkdir directory 可以创建一个新目录。

  • 示例mkdir new_directory

Ans 26: 使用命令 rm -r directory 可以删除一个非空目录。

  • 示例rm -r old_directory

Ans 27: 使用命令 cd .. 可以切换到上一级目录。

  • 示例cd ..
进程管理

Ans 28: 使用命令 ps aux 可以查看所有运行中的进程。

  • 示例ps aux

Ans 29: 使用命令 kill -9 PID 可以杀死一个指定的进程。

  • 示例kill -9 1234

Ans 30: 使用命令 tophtop 可以查看某个进程的详细信息。

  • 示例top
其他命令

Ans 31: 使用命令 df -h 可以查看系统的磁盘使用情况。

  • 示例df -h

Ans 32: 使用命令 free -m 可以查看系统的内存使用情况。

  • 示例free -m

Ans 33: 使用命令 date 可以查看系统的当前时间和日期。

  • 示例date
定位项目异常

Ans 34: 使用命令 cat /path/to/logfile 可以查看项目的日志文件。

  • 示例cat /var/log/myapp.log

Ans 35: 使用命令 tail -f /path/to/logfile 可以实时监控日志文件的变化。

  • 示例tail -f /var/log/myapp.log

Ans 36: 使用命令 grep "keyword" /path/to/logfile 可以查找日志文件中包含特定关键字的行。

  • 示例grep "ERROR" /var/log/myapp.log

Ans 37: 使用命令 journalctl -xe 可以查看系统的错误日志。

  • 示例journalctl -xe

Ans 38: 使用命令 cat /proc/PID/fd/1 可以查看某个进程的详细日志信息。

  • 示例cat /proc/1234/fd/1

Ans 39: 使用命令 tophtop 可以查看服务器的CPU和内存使用情况,以检测是否有异常。

  • 示例top
管道符

Ans 40: 使用命令 ls | grep "log" 可以将ls命令的输出通过管道符传递给grep命令来查找文件名中包含“log”的文件。

  • 示例ls | grep "log"

Ans 41: 使用命令 ps aux | grep "nginx" 可以将ps命令的输出通过管道符传递给grep命令来查找包含“nginx”的进程。

  • 示例ps aux | grep "nginx"

Ans 42: 使用命令 df -h | grep "sda" 可以将df命令的输出通过管道符传递给grep命令来查找包含“sda”的磁盘信息。

  • 示例df -h | grep "sda"

总结

如果你掌握了以上这些命令,那么你已经能够在后端开发的道路上独当一面了。这些命令覆盖了从远程登录到文件操作,从权限管理到进程管理,再到项目异常定位的方方面面。无论是日常维护还是紧急故障处理,都能让你得心应手。

当然,Linux命令远不止这些,继续深入学习和实践,你会发现更多有趣且强大的工具。希望这篇指南对你有所帮助,也祝你在后端开发的世界里畅游无阻,成为一名真正的终端大师!

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

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

相关文章

关于微信小程序取消获取用户昵称的一些思考

官方说明,有部分小程序乱用授权,强迫用户提交头像和昵称。 核心是微信担心用户信息被滥用。 其一 ,微信头像经常是本人真是照片,在现在人工智能算法的加持下,人脸数据太容易被套取。 其二,微信名称同理&…

CVPR 2024第三弹:小编与李飞飞教授惊喜同框,CVPR之家乐队火爆演奏惊艳全场

CVPR 2024第三弹:小编与李飞飞教授惊喜同框,"CVPR之家"乐队火爆演奏惊艳全场! 会议之眼 快讯 2024 年 CVPR (Computer Vision and Pattern Recogntion Conference) 即国际计算机视觉与模式识别会议,于6月1…

最新评测:2024年13款国内外缺陷跟踪管理工具(含免费/开源)

文章中介横向对比了11款主流缺陷管理工具:1. PingCode;2. Worktile;3. Jira;4. ZenTao(禅道);5. Bugzilla;6. Redmine;7. Tapd;8. MantisBT;9. Tr…

AttributeError: ‘ImageDraw‘ object has no attribute ‘textsize‘

python项目生成词云图的时候报错:AttributeError: ‘ImageDraw’ object has no attribute ‘textsize’ 解决办法 出现这个问题,可能是因为Pillow版本过高导致的,我们可以尝试通过降低Pillow的版本来解决它。 我通过将Pillow版本降低到9.4.…

贴图法美化Button按钮

贴图法美化Button按钮 项目是在下面这篇文章里的基础上进行美化的:MFC实现INI配置文件的读取 1. 初始效果 2.最终效果 3. 增加 CImgButton 类 1.1 ImgButton.h 头文件 #pragma once // CImgButtonclass CImgButton : public CBitmapButton {DECLARE_DYNAMIC(CImgBu…

游戏本地化以拓展海外市场

Logrus IT Korea的总监元庆燕(KyoungYeon Won)发表了一场关于“游戏本地化”的讲座,讲述了独立游戏开发者如何在梦想拓展海外市场的过程中,正确地本地化他们的游戏以满足国际市场的期望,以及实现这一重要任务的过程。 …

注解详解系列 - @ResponseStatus

注解简介 在今天的每日一注解中,我们将探讨ResponseStatus注解。ResponseStatus是Spring框架中的一个注解,用于为控制器方法指定HTTP响应状态码和理由短语。 注解定义 ResponseStatus注解用于标记控制器方法或异常类,以指示HTTP响应的状态码…

webpack 压缩图片

压缩前: 压缩后: 压缩后基本上是压缩了70-80%左右 1.依赖版本及配置 "imagemin-webpack-plugin": "^2.4.2", "imagemin-mozjpeg": "^7.0.0", "imagemin-pngquant": "^5.0.1", "webpa…

定个小目标之刷LeetCode热题(26)

这道题属于一道简单题&#xff0c;可以使用辅助栈法&#xff0c;代码如下所示 class Solution {public boolean isValid(String s) {if (s.isEmpty())return false;// 创建字符栈Stack<Character> stack new Stack<Character>();// 遍历字符串数组for (char c : …

项目3:从0开始的RPC框架(扩展版)-2

六. 自定义协议 1. 需求分析 在目前的RPC框架中&#xff0c;采用Vert.x的HttpServer作为服务提供者的Web服务器&#xff0c;底层使用HTTP协议进行网络传输。但HTTP协议只是RPC框架网络传输的一种可选方式&#xff0c;还有其它更好的选择。 RPC框架注重性能&#xff0c;但HTT…

基于组件的架构:现代软件开发的基石

目录 前言1. 基于组件的架构概述1.1 什么是组件&#xff1f;1.2 组件的分类 2. 基于组件的架构的优势2.1 提高代码的可重用性2.2 增强系统的灵活性2.3 简化维护和升级2.4 促进团队协作 3. 实现基于组件的架构3.1 识别和定义组件3.2 设计组件接口3.3 组件的开发和测试3.4 组件的…

【启明智显产品分享】工业级HMI芯片——Model3,不止是速度,USB\CAN\8路串口

一、引言 Model3作为一款工业级HMI芯片&#xff0c;其性能卓越且功能全面。本文将从多个角度深入介绍Model3芯片&#xff0c;以展示其不仅仅是速度的代表。 二、Model3核心特性介绍 Model3工业级跨界MCU是一款国产自主的基于RISC-V架构的高性能芯片&#xff0c;内置平头哥E…

作为一名车载测试工程师,核心能力是什么?

核心能力 汽车系统知识&#xff1a;作为车载测试工程师&#xff0c;首先需要具备深入的汽车系统知识&#xff0c;包括动力系统、传动系统、底盘系统、车身系统等各个方面的知识。只有对汽车系统有足够的了解&#xff0c;才能进行有效的测试和验证工作。 测试方法和工具&#xf…

【文献及模型、制图分享】“一带一路”沿线国家水资源禀赋及开发利用分析

公众号新功能 目前公众号新增以下等功能 1、处理GIS出图、Python制图、区位图、土地利用现状图、土地利用动态度和重心迁移图等等 2、核密度分析、网络od分析、地形分析、空间分析等等 3、地理加权回归、地理探测器、生态环境质量指数、地理加权回归模型影响因素分析、计算…

jenkins中配置参数化,并在python脚本接收参数实现参数化执行

在公司内进行Monkey测试脚本集成jenkins时&#xff0c;因为需要指定公司内不同的app进行测试。那么可以有两种方法解决该问题&#xff0c;要么创建多个脚本文件&#xff0c;多个jenkins jobs&#xff0c;进行构建。要么可以在配置job时通过传参数的方式&#xff0c;在python脚本…

算法基础精选题单 动态规划(dp)(区间dp)(个人题解)

目录 前言&#xff1a; 正文&#xff1a; 题单&#xff1a;【237题】算法基础精选题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 (nowcoder.com) NC50493 石子合并&#xff1a; NC50500 凸多边形的划分&#xff1a; NC235246 田忌赛马&#xff1a…

排序算法、堆排序、大顶堆、小顶堆、手写快排-215. 数组中的第K个最大元素、2336. 无限集中的最小数字

目录 215. 数组中的第K个最大元素 题目链接及描述 题目分析 堆排序分析 堆排序代码编写 快排分析 快排代码编写 2336、无限集中的最小数字 题目链接及描述 题目分析 代码编写 215. 数组中的第K个最大元素 题目链接及描述 215. 数组中的第K个最大元素 - 力扣&#…

C#.net6.0语言+B/S架构+前后端分离 手术麻醉信息管理系统源码

C#.net6.0语言&#xff0b;B/S架构前后端分离 手术麻醉信息管理系统源码 什么是手术麻醉信息管理系统 满足医院等级评级需求 满足电子病历评级需求 满足科室需求 术前 1、患者术前评估/诊断 2、术前讨论制定手术方案 3、手术准备 4、术前准备 术中 1、送手术室 2、麻…

数据库浅识及MySQL的二进制安装

数据库基础概念与MySQL二进制安装与初始化 使用数据库的必要性 数据库可以结构化储存大量数据信息&#xff0c;方便用户进行有效的检索访问 有效的保持数据信息的一致性&#xff0c;完整性&#xff0c;降低数据冗余 可以满足应用的共享和安全方面的要求 数据库基本概念 数据…

【SpringBoot3.x】自定义开发通用SDK

1. 前言 相信大家学习SpringBoot到现在&#xff0c;使用Maven构建项目时&#xff0c;会在pom.xml文件中引入各种各样的依赖&#xff0c;那么我们如何将自己常用的一些工具类库进行封装成starter或者SDK供其他项目使用呢&#xff0c;本博客就会带着大家一步一步创建自定义的SDK…