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

Linux命令记不住?保姆级教程来了

在软件开发过程中,Linux操作系统因其稳定性、安全性和高效性而备受青睐。作为开发者,熟练掌握Linux常用命令,不仅可以提高工作效率,还能更好地管理服务器和进行代码部署。本文将介绍一些开发常用的Linux命令及其应用场景,帮助读者快速上手。

一、文件与目录操作

ls:列出目录内容。
  •  场景:查看当前目录下有哪些文件和子目录。
  •  示例:ls -l(以长格式显示文件和目录的详细信息)。

    图片

cd:切换目录。
  • 场景:在文件系统中导航,进入不同的目录。
  • 示例:cd /path/to/directory(切换到指定目录)。

    图片

pwd:显示当前工作目录。
  • 场景:确定当前所在的目录位置。
  • 示例:pwd(显示当前目录的绝对路径)。

    图片

mkdir:创建目录。
  • 场景:新建文件夹用于存放文件或子目录。
  • 示例:mkdir new_directory(创建名为new_directory的文件夹)。
rm:删除文件或目录。
  • 场景:删除不再需要的文件或空目录。
  • 示例:rm -r directory(递归删除目录及其内容)。

二、文本处理

cat:显示文件内容。
  • 场景:查看文本文件的内容。
  • 示例:cat filename.txt(显示filename.txt文件的内容)。
grep:搜索文本内容。
  • 场景:在文件中搜索特定的字符串或模式。
  • 示例:grep "pattern" filename.txt(在filename.txt中搜索包含pattern的行)。
sed:流编辑器,用于文本替换、删除等操作。
  • 场景:修改文件内容,如替换字符串、删除行等。
  • 示例:sed 's/old/new/g' filename.txt(将filename.txt中的old替换为new)。
awk:文本处理工具,用于模式扫描和文本/数据提取。
  • 场景:处理结构化文本数据,如CSV文件。
  • 示例:awk '{print $1}' filename.csv(打印filename.csv文件的第一列)。

三、系统信息与进程管理

top:实时显示系统状态。
  • 场景:监控服务器性能,查看CPU、内存使用情况等。
ps:显示当前进程状态。
  • 场景:查看正在运行的进程信息。
  • 示例:ps -ef(显示所有进程的详细信息)。
kill:终止进程。
  • 场景:结束运行中的进程。
  • 示例:kill -9 PID(强制终止进程ID为PID的进程)。

四、网络工具

ping:测试网络连接。
  • 场景:检查与远程主机的连通性。
  • 示例:ping www.example.com(测试与www.example.com的连接)。
curl:传输数据,支持多种协议。
  • 场景:发送HTTP请求,下载文件等。
  • 示例:curl -O example.com/file.zip(下载…

五、压缩与解压缩

tar:打包或解包文件。
  • 场景:将多个文件或目录打包成一个tar文件,或者将tar文件解包成原始的文件和目录。
  • 示例:打包文件:tar -cvf archive.tar file1 file2;解包文件:tar -xvf archive.tar。
gzip:压缩或解压缩文件。
  • 场景:使用gzip格式对文件进行压缩,以减小文件大小;或者对gzip压缩的文件进行解压缩。
  • 示例:压缩文件:gzip filename(生成filename.gz);解压缩文件:gunzip filename.gz。
bzip2:另一种压缩工具,通常比gzip压缩率更高。
  • 场景:当需要更高的压缩率时,可以使用bzip2进行压缩。
  • 示例:压缩文件:bzip2 filename(生成filename.bz2);解压缩文件:bunzip2 filename.bz2。

六、包管理工具

对于不同的Linux发行版,有不同的包管理工具用于安装、更新和删除软件包。

apt(Debian/Ubuntu等):用于管理软件包。
  • 场景:安装、更新、卸载软件包。
  • 示例:安装软件包:sudo apt install package-name;更新软件包列表:sudo apt update。
yum(CentOS/RedHat等):另一个流行的包管理工具。
  • 场景:与apt类似,用于管理RPM格式的软件包。
  • 示例:安装软件包:sudo yum install package-name;搜索软件包:yum search keyword。

七、用户与权限管理

useradd:添加新用户。
  • 场景:为系统创建新用户账户。
  • 示例:sudo useradd newuser(添加名为newuser的新用户)。
passwd:修改用户密码。
  • 场景:为新用户设置密码,或更改现有用户的密码。
  • 示例:passwd newuser(为newuser用户设置密码)。
chmod:改变文件或目录的权限。
  • 场景:调整文件或目录的读、写、执行权限。
  • 示例:chmod 755 filename(将filename的权限设置为rwxr-xr-x)。
chown:改变文件或目录的所有者和所属组。
  • 场景:将文件或目录的所有权转移给其他用户或组。
  • 示例:sudo chown newuser:newgroup filename(将filename的所有者改为newuser,所属组改为newgroup)。

八、其他常用命令

man:查看命令的手册页。
  • 场景:当你不确定某个命令的用法或参数时,可以使用man命令查看其详细的说明文档。
  • 示例:man ls(查看ls命令的手册页)。
history:显示命令历史。
  • 场景:查看之前执行过的命令列表,便于回顾和重复使用。
  • 示例:直接输入history即可查看命令历史。
find:在文件系统中查找文件。
  • 场景:根据文件名、大小、修改时间等条件在目录树中搜索文件。
  • 示例:查找当前目录及其子目录下所有以.txt结尾的文件:find . -name "*.txt"。

以上只是Linux常用命令的一部分,实际上Linux的命令集非常庞大且功能强大。掌握这些命令可以帮助开发者更高效地管理服务器、编写脚本、进行代码部署等操作。建议在实际工作中多加实践,逐步熟悉并掌握这些命令的用法和技巧。同时,也可以参考Linux的官方文档或相关书籍,以获取更详细和深入的信息。

欢迎关注我的公众号“程序员洋哥”,原创技术文章第一时间推送。

图片

相关文章:

Linux命令记不住?保姆级教程来了

在软件开发过程中,Linux操作系统因其稳定性、安全性和高效性而备受青睐。作为开发者,熟练掌握Linux常用命令,不仅可以提高工作效率,还能更好地管理服务器和进行代码部署。本文将介绍一些开发常用的Linux命令及其应用场景&#xff…...

基于GitBucket的Hook构建ES检索PDF等文档全栈方案

背景 之前已简单使用ES及Kibana和在线转Base64工具实现了检索文档的demo,预期建设方案是使用触发器类型从公共的文档源拉取最新的文件,然后调用Java将文件转Base64后入ES建索引,再提供封装接口给前端做查询之用。 由于全部内容过长&#xff…...

C语言:数组、字符串知识点整理:

数组:(长度的计算) 补充:数组长度sizeof(arr)/sizeof(arr[0]) 注意:!!!不适用于当arr 充当形参时(函数传参)!!! 因为函数…...

Linux mmap系统调用

文章目录 前言一、mmap()函数简介二、代码演示2.1 mmap使用场景2.2 私有匿名映射2.3 私有文件映射2.4 共享匿名映射2.5 共享文件映射 参考 前言 NAMEmmap, munmap - map or unmap files or devices into memorySYNOPSIS#include <sys/mman.h>void *mmap(void *addr, siz…...

VSCode搭建ARM开发环境

为了构建Cortex M系列单片机免费开源的开发环境&#xff0c;网络上了解来看VSCODEGCCJLINK是一套比较高效的组合方式&#xff0c;下面记录环境搭建的流程。 我这边的PC环境为 WIN7专业版64bit。 需要用到的工具 Visual Studio CodeSTM32CubemxARM GCC 交叉编译工具链&#x…...

centos7 python3.12.1 报错 No module named _ssl

https://blog.csdn.net/Amio_/article/details/126716818 安装python cd /usr/local/src wget https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz tar -zxvf Python-3.12.1.tgz cd Python-3.12.1/ ./configure -C --enable-shared --with-openssl/usr/local/opens…...

探索HTTP协议:网络通信的基石

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

几大开源免费的 JavaScript 富文本编辑器测评

MarkDown 编辑器用的时间长了&#xff0c;发现发现富文本编辑器用起来是真的舒服。 一直以来写博客都是用的 MarkDown 编辑器&#xff0c;MarkDown 文档简单方便&#xff0c;使用几个简单的符号就可以定义出样式统一的富文本内容。写博客的时间长了&#xff0c;小玖就越来越排…...

MongoDB聚合运算符:$dateFromString

文章目录 语法使用使用例子对规则进行说明格式指示符 举例日期转换错误处理onError空值的粗粒 onNull $dateFromString聚合运算符将日期时间字符串转换为日期对象。 语法 { $dateFromString: {dateString: <dateStringExpression>,format: <formatStringExpression&g…...

Postman(注册,使用,作用)【详解】

目录 一、Postman 1. Postman介绍 2. 安装Postman 3. 注册帐号再使用(可保存测试记录) 4. 创建workspace 5. 测试并保存测试记录 一、Postman postman工具可以发送不同方式的请求,浏览器只能发送get请求(所有用这个工具) 在前后端分离开发模式下&#xff0c;前端技术人员…...

电商数据分析18——电商广告投放的数据分析与优化

目录 写在开头1. 电商广告投放的挑战与机遇1.1 广告投放的主要目标与挑战1.2 广告数据分析的价值 2. 数据分析在广告投放中的应用2.1 目标受众分析与精准定位2.2 广告效果评估与ROI分析2.3 A/B测试与广告内容优化 3. 广告投放优化的实践案例3.1 案例分享&#xff1a;精准定向提…...

Docker下Jenkins打包java项目并部署

docker 构建Jenkins sudo docker run --namezen_haslett --userjenkins --privilegedtrue --volume/home/cyf/server/jenkins/jenkins_home:/var/jenkins_home -v /usr/lib/jvm/java-17-openjdk-amd64:/usr/lib/jvm/java-17-openjdk-amd64 -v /usr/lib/maven/apache-mav…...

android 快速实现 recyclerview 的所有item 都执行动画

1.在adapter 里面重写onViewAttachedToWindow 和 onViewDetachedFromWindow 两个方法 package com.example.widget;import android.view.ViewGroup; import android.view.animation.Animation; import android.view.animation.LinearInterpolator; import android.view.animat…...

Excel转pdf

1、excel-内存值--Workbook 转pdf /** * excel To pdf * * param outPath 输出路径 * param workbook excel-内存值 * throws IOException */ public static void excelToPdf(String outPath,Workbook workbook) throws IOException, DocumentException { Document documentnul…...

QT:用opencv的KNN识别图片中的LED数字(一)

前言 一款功能测试的软件demo,使用了QT作为界面,主要使用了opencv的KNN识别,使用gstreamer作为管道,用来打开图片。后期会写一篇打开摄像头实时识别的文章。 (正在写,未完成,稍候) 效果一预览: 效果二预览: 效果三预览: 正在写。。。 设计思路 1. 软件UI设计 2. …...

leetcode72. 编辑距离

leetcode72. 编辑距离 题目 思路 dp[i][j] 代表 word1 到 i 位置转换成 word2 到 j 位置需要最少步数&#xff0c;所以&#xff0c; 当 word1[i] word2[j]&#xff0c;dp[i][j] dp[i-1][j-1]&#xff1b; 当 word1[i] ! word2[j]&#xff0c;dp[i][j] 1 min(dp[i-1][j-1]…...

R语言的数据类型与数据结构:向量、列表、矩阵、数据框及操作方法

R语言的数据类型与数据结构&#xff1a;向量、列表、矩阵、数据框及操作方法 介绍向量列表矩阵数据框 介绍 R语言拥有丰富的数据类型和数据结构&#xff0c;以满足各类数据处理和分析的需求。本文将分享R语言中的数据类型&#xff0c;包括向量、列表、矩阵、数据框等&#xff…...

第十六章 构建和配置 Nginx 以与 Web 网关配合使用 (Windows) - 将 NSD 与 Nginx 结合使用

文章目录 第十六章 构建和配置 Nginx 以与 Web 网关配合使用 (Windows) - 将 NSD 与 Nginx 结合使用将 NSD 与 Nginx 结合使用CSPNSD_pass hostname:portNum;CSP on; and CSP off;CSPFileTypes filetype1[ filetype2...];CSPNSD_response_headers_maxsize size;CSPNSD_connect_…...

数据中台:数字中国战略关键技术设施

文章目录 每日一句正能量前言为何要建设数据中台数据中台建设痛点数据中台学习资料聚焦前沿&#xff0c;方法论体系更新与时俱进&#xff0c;紧跟时代热点深入6大行业&#xff0c;提炼实践精华大咖推荐&#xff0c;数字化转型必备案头书购买链接赠书活动 每日一句正能量 人生之…...

mac上更改vscode快捷键

以移动当前行代码为例 mac上的vscode&#xff0c;默认移动当前行代码的快捷键是⌥↑即option↑按键 现在我想改成command↑ 步骤如下 1.打开vscode-code-首选项-键盘快捷键 2.打开快捷键列表 3.输入move line&#xff0c;找到要改动的这个快捷键 当前行-右键-更改键绑定&…...

Day18:信息打点-小程序应用解包反编译动态调试抓包静态分析源码架构

目录 小程序获取-各大平台&关键字搜索 小程序体验-凡科建站&模版测试上线 小程序抓包-Proxifier&BurpSuite联动 小程序逆向-解包反编译&动态调试&架构 思维导图 章节知识点 Web&#xff1a;语言/CMS/中间件/数据库/系统/WAF等 系统&#xff1a;操作系…...

真实案例分享:MOS管电源开关电路,遇到上电冲击电流超标

做硬件&#xff0c;堆经验。 分享一个案例&#xff1a;MOS管电源开关电路&#xff0c;遇到上电冲击电流超标&#xff0c;怎么解决的呢&#xff1f; 下面是正文部分。 —— 正文 —— 最近有一颗用了挺久的MOSFET发了停产通知&#xff0c;供应链部门找到我们研发部门&#xff0c…...

LCR 164. 破解闯关密码

解题思路&#xff1a; 贪心 class Solution {public String crackPassword(int[] password) {String[] strs new String[password.length];for(int i 0; i < password.length; i)strs[i] String.valueOf(password[i]);Arrays.sort(strs, (x, y) -> (x y).compareTo(…...

【鸿蒙 HarmonyOS 4.0】常用组件:List/Grid/Tabs

一、背景 列表页面&#xff1a;List组件和Grid组件&#xff1b; 页签切换&#xff1a;Tabs组件&#xff1b; 二、列表页面 在我们常用的手机应用中&#xff0c;经常会见到一些数据列表&#xff0c;如设置页面、通讯录、商品列表等。下图中两个页面都包含列表&#xff0c;“…...

打造经典游戏:HTML5与CSS3实现俄罗斯方块

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…...

什么是系统工程(字幕)48

0 00:00:00,760 --> 00:00:03,550 那这里我们要说一下 1 00:00:04,050 --> 00:00:06,163 你看&#xff0c;刚才我们这里 2 00:00:06,163 --> 00:00:06,740 3 00:00:07,440 --> 00:00:13,460 这个我们把它说成&#xff0c;打开这个&#xff0c;关闭这个 4 00:00:…...

Jenkins发送邮件、定时执行、持续部署

集成Allure报告只需要配置构建后操作即可。但如果是web自动化&#xff0c;或是用HTMLTestRunner生成报告&#xff0c;构建后操作要选择Publish HTML reports&#xff0c;而构建中还要添加Execute system Groovy script插件&#xff0c;内容&#xff1a; System.setProperty(&q…...

Mysql的Cardinality值

什么是Cardinality值&#xff1f; Cardinality值是Mysql做索引优化时一个非常关键的值&#xff0c;优化器会根据这个值来判断是否使用这个索引&#xff0c;它表示索引中唯一值的数目估计值&#xff0c;该值应该尽可能接近1&#xff0c;如果非常小&#xff0c;则用户需要考虑是否…...

数据结构 - 栈和队列

本篇博客将介绍栈和队列的定义以及实现。 1.栈的定义 栈是一种特殊的线性表&#xff0c;只允许在固定的一端进行插入和删除数据&#xff0c;插入数据的一端叫做栈顶&#xff0c;另一端叫做栈底。栈中的数据遵守后进先出的原则 LIFO (Last In First Out)。 插入数据的操作称为压…...

C++:模版进阶 | Priority_queue的模拟实现

创作不易&#xff0c;感谢三连支持 一、非类型模版参数 模板参数分类为类型形参与非类型形参。 类型形参即&#xff1a;出现在模板参数列表中&#xff0c;跟在class或者typename之类的参数类型名称。 非类型形参&#xff0c;就是用一个常量作为类(函数)模板的一个参数&…...