送了老弟一台 Linux 服务器,它又懵了!
大家好,我是鱼皮。
前两天我学编程的老弟小阿巴过生日,我问他想要什么礼物。
本来以为他会要什么游戏机、Q 币卡、鼠标键盘啥的,结果小阿巴说:我想要一台服务器。

鱼皮听了,不禁称赞道:真是个学编程的好苗子啊,行,我就送你一台最低配的 Linux 服务器吧!1 核 1 G 的那种。
小阿巴(感动):我焯,谢谢哥,但为什么送我最低配的呢?
鱼皮:对初学 Linux 的同学来说,一般不会部署特别大的项目,1 核 1 G 的服务器,无论是用来学习 Linux 命令,还是用来部署个人博客和小项目都已经足够了。后续如果需要用到更高的配置,再升级即可。
小阿巴:原来如此,之前就听说有同学买了 Linux 服务器后,由于不会用,就积灰了。那我先拿这个机子学习!
鱼皮:不错,你先自己摸索一下,就当平时的办公电脑一样用试试~
1 小时后。。。
鱼皮:怎么样,知道怎么使用 Linux 了么?
小阿巴:阿巴阿巴。。。这服务器为啥没界面啊!我不懂玩。

鱼皮:我送你的服务器安装的是 Linux 的一个发行版 —— CentOS 系统,默认是没有 Windows 和 Mac 那样的图形界面的,而是需要使用 命令行 来操作哦。
小阿巴:!为啥 Linux 要这么设计啊,它为啥不像 Windows 一样用图形界面呢?
鱼皮:这里其实是非常有考究的。正因为如此设计,不运行图形界面,能够大幅节省系统的资源,从而提高系统的 资源利用率 ,运行更多的项目(程序)。而且 Linux 支持多用户远程登录,不运行图形界面也可以一定程度上保证系统的稳定性。
高性能、低成本、更稳定,也是 Linux 服务器被广泛应用于生产环境部署项目的重要原因。
小阿巴:原来如此,我可算知道为啥说程序员都要学习 Linux 了。那我现在应该怎么入门 Linux 呢?面对小黑框框我一脸懵逼啊。。。

鱼皮:可以看下我之前写的 Linux 学习路线 ,入门 Linux 首先要做的就是 了解 Linux 的常用命令 ,能做到像用界面操作 Windows 一样灵活操作 Linux,那你就成功了!
小阿巴:的确,好像我之前经常在别人的简历上看到 “了解 Linux 命令” ,那我应该了解哪些 Linux 命令呢?
鱼皮:Linux 的常用命令可以分为几大类,简单给你介绍一下吧。
Linux 常用命令
文件操作命令
学习优先级最高,Linux 一切皆文件
- pwd:显示当前所在目录
- ls:查看目录下的文件
- mkdir:创建目录
- cd:切换当前目录
- mv:移动文件或目录
- cp:复制文件或目录
- rm:删除文件或目录
- zip:压缩文件
- unzip:解压文件
系统信息命令
后端开发重点,可使用这些命令进行异常分析
- top:查看进程及资源占用情况
- ps:查看进程信息
- free:查看内存占用情况
- df:查看磁盘占用情况
- ifconfig:查看网络接口信息
- netstat:查看网络状态信息
文件查看命令
后端开发重点,可使用这些命令快速定位项目日志中的异常信息
- cat:查看文件内容
- head:查看文件开头内容
- tail:查看文件末尾内容
- grep、sed、awk 三剑客:灵活查找和处理文件内容
用户权限命令
一般是给 Linux 运维(管理员)使用
- useradd:添加用户
- userdel:删除用户
- chmod:修改文件或目录权限
- chown:修改文件或目录所有者
鱼皮:当然,以上只是 部分 常用命令,Linux 还有很多实用的第三方库和命令,感兴趣可以自己探索下~
小阿巴:谢谢鱼皮,我这就去学习命令,背单词我最擅长!

鱼皮:记住,学 Linux 命令不要去死记硬背!把每个命令都敲几遍,有个大概的印象,后面部署项目的时候多操作下自然就熟悉了。像我们在工作中,也不会刻意去背这些命令,如果忘记了某个命令的用法,可以直接用 命令 --help 快速查看帮助文档,或者通过 Linux 命令集网站查询即可,比如:https://www.linuxcool.com/。
小阿巴:谢谢,我刚刚查到一个命令: rm -rf /* ,这就去试试!
鱼皮:住手啊!

我的编程导航网站:https://www.code-nav.cn
相关文章:
送了老弟一台 Linux 服务器,它又懵了!
大家好,我是鱼皮。 前两天我学编程的老弟小阿巴过生日,我问他想要什么礼物。 本来以为他会要什么游戏机、Q 币卡、鼠标键盘啥的,结果小阿巴说:我想要一台服务器。 鱼皮听了,不禁称赞道:真是个学编程的好苗…...
CentOS 7(2009) 升级 GCC 版本
1. 前言 CentOS 7 默认安装的 gcc 版本为 4.8,但是很多时候都会需要用到更高版本的 gcc 来编译源码,那么本文将会介绍如何在线升级 CentOS 的 gcc 版本。 2. 升级 GCC (1). 安装 centos-release-scl; [imaginemiraclecentos7 ~]$ sudo yum…...
java非静态代码块和静态代码块介绍
代码块 SE.10.0…02.28 非静态普通代码块:定义在方法内部的代码块,不用任何关键字修饰,又名构造代码块、实例代码块 静态代码块:用static修饰的代码块 非静态代码块 public class Test {public static void main(String[] args…...
Golang中接口类型详解与最佳实践(二)
之前的文章《Golang中的interface(接口)详解与最佳实践》详细介绍了接口类型的定义、使用方法和最佳实践。接口类型使得编写可扩展、可维护和可复用的高质量代码变得更加容易。 如何判断是否实现了某个接口? 还是使用之前文章的例子,例如声明了如下一个…...
ChatGPT 探讨内存屏障的意内存
一、与 ChatGPT 探讨内存屏障的意内存 轻松的氛围,跟 ChatGPT 从内存屏障问题一直扯到CAP原理 我: 2023/4/14 17:48:09 那我可以理解为{ shared_var 1; asm volatile ("sfence" ::: "memory"); asm volatile ("lfence" …...
P1039 [NOIP2003 提高组] 侦探推理
此题难度为:提高/省选- 作者为:CCF_NOI 题目描述 明明同学最近迷上了侦探漫画《柯南》并沉醉于推理游戏之中,于是他召集了一群同学玩推理游戏。游戏的内容是这样的,明明的同学们先商量好由其中的一个人充当罪犯(在明…...
模拟电路学习笔记 - 概念与结论
真空二极管,电子管ENIAC发源地,基础方法二极管双极管三极管场向管学习特性,最终运放运方的目的是运用,射频,计算…放大电路大功率元器件和微元器件学习他们的特性分粒 集成设计的角度,不要仅仅分析设计的前…...
Linux驱动开发:I2C子系统
目录 1、I2C简介 1.1 两根线 1.2 信号 1.3 写时序 1.4 读时序 1.5 I2C速率 1.6 I2C驱动框架简介 2、I2C设备驱动 2.1 I2C相关API 2.1.1 i2c_driver 2.1.2 注册:i2c_add_driver 2.1.3 注销:i2c_del_driver 2.1.4 module_i2c_driverÿ…...
[C++] 动态内存与智能指针
众所周知,C五大内存区:全局数据区(静态区)、代码区、栈区、堆区、常量区。 全局数据区(静态区):存放全局变量,静态数据和常量; 代码区:存放所有类成员函数和非成员函数代码,函数体的二进制代码。…...
多态的原理
有了虚函数,会在类的对象增加一个指针,该指针就是虚函数表指针_vfptr;虚表本质就是函数指针数组,虚表里面存放着该对象的虚函数的地址; 派生类继承有虚函数基类的对象模型 子类继承父类的虚表指针时,是对父类的虚表指针进行了拷…...
RK3588平台开发系列讲解(内存篇)Linux 伙伴系统数据结构
平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、 页二、区三、内存节点沉淀、分享、成长,让自己和他人都能有所收获!😄 📢Linux 系统中,用来管理物理内存页面的伙伴系统,以及负责分配比页更小的内存对象的 SLAB 分配器了。 本篇将介绍伙伴系统相关数据结…...
Windows(MFC/C++)上进程间通讯的几种简单又实用的方法
前段时间,做了一个项目,涉及数据传输。项目实现方式有很多种,但不同的实现方式,对数据的传输方法不同,且各有优缺点。 下文就不同情况来如何选择数据传输(通讯)方式。 先说说需求,模块A获取测试数据&#…...
嘉兴桐乡会计考证培训-备考中级职称有必要报班吗?
备考中级会计职称有必要报班吗?其实,备考报班不能说是必需的,但听课学习确实是节省时间的一种方式,根据同学们的反馈,自学所花费的时间远远多于跟着老师学。上元教育就整理了一些学员报班之前走过的弯路 报班之前 在2…...
java元注解和自定义注解的区别
Java的元注解和自定义注解是两个不同的概念。 元注解是Java内置的一组用于修饰其他注解的注解,包括Retention、Target、Inherited和Documented。它们可以控制被修饰的注解的保留策略、目标范围、是否继承等属性,并且可以在编写自定义注解时使用。 Retent…...
技术到底是什么
背景 我发了朋友圈:做了个奇怪的梦,梦见被离职了,理由竟然是:你技术太菜了 我补充评论:我还没想明白怎么回事,就醒了。有点遗憾的是:想再努力反驳两句,结果没机会了… 很多人评论…...
什么CRM客户管理系统最好?
产业互联网背景下,企业数字化转型日渐深化。毋庸置疑,客户是企业的命脉,企业发展的关键便是以客户为中心,为客户创造价值,并不断实现企业的可持续性增长,而这也是每个企业永不落幕的主题。 一套优秀的CRM客…...
吴军《计算之魂》读后感
前言 断断续续,终于完成了这本书的第一次通读,记录下自己的一些想法。 先说一个小故事。前段时间家里买了一个小鱼缸,问我有没有办法让水自动循环,但不想用电。没有好的想法,去小某书上搜了下,好多案例教…...
CSS进阶
01-复合选择器 定义:由两个或多个基础选择器,通过不同的方式组合而成。 作用:更准确、更高效的选择目标元素(标签)。 后代选择器 后代选择器:选中某元素的后代元素。 选择器写法:父选择器 …...
金兰组织 | 2023金兰解决方案集经营管理篇正式发布
为助力企业创新管理、提质增效,人大金仓携手金兰组织成员单位,于近期发布多项经营管理领域的联合解决方案,共享创新应用成果。 /人大金仓高级副总裁宋瑞/ 人大金仓高级副总裁宋瑞在致辞中表示:“联合解决方案创新是指通过把不同领…...
【python】pytorch包:深度学习(序章)
今日听闻师姐说pytorch实现深度学习要比keras更好用一些,特此记录 Part 0. 机器学习 与 深度学习 的联系与区别 参考B站视频链接 联系 深度学习是机器学习的分支,人工神经网络为基础,对数据的特征进行学习的方法 区别 特征抽取 机器学…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
