【Linux】-初识Linux
作者:学Java的冬瓜
博客主页:☀冬瓜的主页🌙
专栏:【Linux】
分享:逆着光行走,任风吹雨打。 ——《起风了》
主要内容:Linux的一些最基本指令,Linux的小程序,Linux关于连网端口的指令,Linux关于文件的指令,使用Linux编写代码。

文章目录
- 一、什么是Linux?
- 二、Linux好玩的一些东西
- 1、Linux一些最基本指令
- 2、Linux小程序
- 3、LInux关于连网端口的指令
- @ 判断连网
- @ 查看端口
- @ 连接/关闭网络
- 4、Linux关于文件的指令
- @ 创建文件
- @ 查看文件
- @ 删除文件
- 5、安装vim/gcc
- 三、使用nano编写Linux代码
一、什么是Linux?
Linux定位以及前后端开发定位:

- Linux系统应用:
1> 作为企业后台服务器
2> 嵌入式Linux系统
3> 个人桌面应用,比如安卓系统是基于Linux内核的。 - 企业使用Linux系统作为后台服务器原因:
免费,开源,稳定,安全。 - windows和Linux界面的区别:
Linux:Centos中的界面,其实是Centos中的一款软件,是以进程的形式存在于Linux操作系统中
Windows:界面和操作系统绑在一起,界面没加载完,操作系统就还没完成启动。 - 基本编程,系统编程,网络编程的区别?
基本编程:接近底层,如写C语言代码,写算法
系统编程:通过操作系统的接口进行业务处理,进程间通信、多线程编程、本地文件读写等等
网络编程:可以理解为是系统编程的一个分支,依托于系统编程,加入了网络接口,在后台使用多线程等方式处理业务,往后写到数据库,往前写到浏览器。
二、Linux好玩的一些东西
1、Linux一些最基本指令
su -:切换用户身份,从普通用户到超级用户
ctrl d:从超级管理用户到普通用户
whoami:查看当前用户
passwd:修改密码(先切换到超级管理员,再用这个指令)
2、Linux小程序
例一:跑动的火车
// 火车:有时候官方版本下载不了,就需要在非官方(epel)下载:
// sudo yum install -y epel-release)
[mhad@localhost ~]$ sudo yum install -y sl #安装
[sudo] password for mhad: #输入你的密码,这里是不会显示的
[mhad@localhost ~]$ sl #运行起来

例二:画讲话的动物
[mhad@localhost ~]$ sudo yum install -y boxes
[sudo] password for mhad:
[mhad@localhost ~]$ echo Hello Linux | boxes -d cat/\ /\|`\\_,--="=--,_//`|\ ." :'. .': ". /==) _ : ' : _ (==|>/O\ _ /O\<|| \-"~` _ `~"-/ |>|`===. \_/ .===`|<.-"-. \===' | '===/ .-"-.
.---{'. '`}---\, .-'-. ,/---{.'. '}---.) `"---"` `~-===-~` `"---"` (
( Hello Linux )) (
'---------------------------------------'
例三:使用Linux进入百度官网,浏览页面
[mhad@localhost ~]$ sudo yum install -y elinks
[sudo] password for mhad:
[mhad@localhost ~]$ elinks www.baidu.com

3、LInux关于连网端口的指令
@ 判断连网
ping -c2 www.baidu.com:判断连网,如果有2条响应内容,则表示连网了;不联网则输出:ping: www.baidu.com: Name or service not known
@ 查看端口
ifconfig:查看端口
[mhad@localhost ~]$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.221.128 netmask 255.255.255.0 broadcast 192.168.221.255inet6 fe80::f4f1:ac8c:cc14:6282 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:f8:47:0a txqueuelen 1000 (Ethernet)RX packets 131961 bytes 186659338 (178.0 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 20528 bytes 1272300 (1.2 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1 (Local Loopback)RX packets 68 bytes 5920 (5.7 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 68 bytes 5920 (5.7 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255ether 52:54:00:21:f6:09 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
@ 连接/关闭网络
sudo ifup ens33:连接网络
sudo ifdown ens33:关闭网络,如下:可以发现,关闭网络后,inet和inet6这两行都没有了
[mhad@localhost ~]$ sudo ifdown ens33
[sudo] password for mhad:
Device 'ens33' successfully disconnected.
[mhad@localhost ~]$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500ether 00:0c:29:f8:47:0a txqueuelen 1000 (Ethernet)RX packets 131991 bytes 186661328 (178.0 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 20532 bytes 1272689 (1.2 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1 (Local Loopback)RX packets 68 bytes 5920 (5.7 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 68 bytes 5920 (5.7 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255ether 52:54:00:21:f6:09 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
4、Linux关于文件的指令
@ 创建文件
mkdir:创建目录,在当前目录下创建目录。
cd:切换目录
cd..:回退到上级目录
pwd:查看当前的根目录
示例1:
[mhad@localhost ~]$ mkdir Lession
[mhad@localhost ~]$ cd Lession
[mhad@localhost Lession]$ pwd
/home/mhad/Lession
@ 查看文件
ls:当前目录下所有文件
ll:当前目录下所有文件的详细信息,d开头是文件目录,-开头是普通文件
ls -l:显示列表,但不包括隐藏文件,ls -l比ls显示当前目录更多信息。
ls -la(或ls -l -a):显示列表,包括隐藏文件 (以点开头的文件:隐藏文件)
示例2:
[mhad@localhost ~]$ ls
a.out code Code.c Desktop Documents Downloads Lession Music Pictures Public Templates test.c Videos
[mhad@localhost ~]$
[mhad@localhost ~]$ ll
total 32
-rwxrwxr-x. 1 mhad mhad 8512 Mar 5 00:20 a.out
-rwxrwxr-x. 1 mhad mhad 8512 Mar 12 20:32 code
-rw-rw-r--. 1 mhad mhad 79 Mar 12 20:31 Code.c
drwxr-xr-x. 2 mhad mhad 6 Mar 2 21:33 Desktop
drwxr-xr-x. 2 mhad mhad 6 Mar 2 21:33 Documents
drwxr-xr-x. 2 mhad mhad 6 Mar 2 21:33 Downloads
drwxrwxr-x. 2 mhad mhad 6 Mar 12 21:10 Lession
drwxr-xr-x. 2 mhad mhad 6 Mar 2 21:33 Music
drwxr-xr-x. 2 mhad mhad 6 Mar 2 21:33 Pictures
drwxr-xr-x. 2 mhad mhad 6 Mar 2 21:33 Public
drwxr-xr-x. 2 mhad mhad 6 Mar 2 21:33 Templates
-rw-rw-r--. 1 mhad mhad 64 Mar 5 00:19 test.c
drwxr-xr-x. 2 mhad mhad 6 Mar 2 21:33 Videos
[mhad@localhost ~]$
@ 删除文件
rm 文件名:删除文件
rm -rf 目录名:删除目录
5、安装vim/gcc
[mhad@localhost Lession]$ sudo yum install -y vim
[mhad@localhost Lession]$ sudo yum install -y gcc #gcc是默认安装的
三、使用nano编写Linux代码
[mhad@localhost ~]$ touch code.c #创建Code.c文件
[mhad@localhost ~]$ nano code.c #nano 是一个Linux下很简单的文本编辑器,该指令表示进入code.c文件编辑
#include <stdio.h>
int main()
{printf("你好,Linux!\n");return 0;
}
[mhad@localhost ~]$ gcc -o code code.c #gcc是linux下的C编译器,该指令表示编译文件
[mhad@localhost ~]$ ls
code code.c #code是编译后产生的文件
[mhad@localhost ~]$ ./code #运行
你好,Linux!
相关文章:
【Linux】-初识Linux
作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Linux】 分享:逆着光行走,任风吹雨打。 ——《起风了》 主要内容:Linux的一些最基本指令,Linux的小程序,Linux关于连…...
精选7个 Python 学习资源库,助你成为优秀的开发者
当你在学习编程时,很容易被大量的资源所吓到,不知道该从何开始。 GitHub 仓库是一个很好的起点,因为它们提供了一种非常实用的方式来了解实际的编程应用。你可以查看其他人的代码,并将其与自己的代码进行比较和学习。 当涉及到 …...
【大数据处理与可视化】三 、Pandas库的运用
【大数据处理与可视化】三 、Pandas库的运用实验目的实验内容实验步骤一、使用pandas库分别创建Series对象和DataFrame对象,并对创建的对象使用索引、排序等相关操作;练习DataFrame对象的统计计算和统计描述的功能。1&2、创建一个DataFrame(d…...
FPGA解码SDI视频任意尺寸缩放拼接输出 提供工程源码和技术支持
目录1、前言2、SDI理论练习3、设计思路和架构SDI摄像头Gv8601a单端转差GTX解串SDI解码VGA时序恢复YUV转RGB图像缩放FDMA图像缓存实现拼接HDMI驱动4、vivado工程详解5、上板调试验证并演示6、福利:工程代码的获取1、前言 FPGA实现SDI视频编解码目前有两种方案&#…...
线索二叉树结构
线索二叉树结构1.线索二插树的作用2.线索二叉树的定义3.线索二叉树的结构4. 线索二叉树的操作4.1. 建立一棵中序线索二叉树4.2. 在中序线索二叉树上查找任意结点的中序前驱结点4.3. 在中序线索二叉树上查找任意结点的中序后继结点4.4. 在中序线索二叉树上查找任意结点在先序下的…...
6.网络爬虫——BeautifulSoup详讲与实战
网络爬虫——BeautifulSoup详讲与实战BeautifulSoup简介:BS4下载安装BS4解析对象Tag节点遍历节点find_all()与find()find_all()find()豆瓣电影实战前言: 📝📝此专栏文章是专门针对网络爬虫基础,欢迎免费订阅&#…...
Vue:路由管理模式
三种模式 Vue.js 的路由管理有三种模式: Hash 模式(默认):在 URL 中使用 # 符号来管理路由。例如,http://example.com/#/about。这个模式的好处是可以避免浏览器向服务器发送不必要的请求,并且不需要特殊…...
7个最好的PDF编辑器,帮你像编辑Word一样编辑PDF
PDF 是具有数字思维的组织的重要交流工具。提供高效的工作流程和更好的安全性,可以创建重要文档并与客户、同事和员工共享。文档的布局已锁定,因此无论在什么设备上查看,格式都保持不变。这是让每个人保持一致的好方法——尤其是那些使用Micr…...
【数据结构】树的介绍
文章目录前言树的概念及结构树的概念树的表示树在实际中的运用二叉树的概念及结构二叉树的概念现实中的二叉树特殊的二叉树二叉树的性质二叉树的储存结构顺序存储链式存储写在最后前言 🚩本章给大家介绍一下树。树的难度相对于前面的数据结构来说,又高了…...
CoreDNS 性能优化
CoreDNS 作为 Kubernetes 集群的域名解析组件,如果性能不够可能会影响业务,本文介绍几种 CoreDNS 的性能优化手段。合理控制 CoreDNS 副本数考虑以下几种方式:根据集群规模预估 coredns 需要的副本数,直接调整 coredns deployment 的副本数:k…...
前端三剑客常见面试题及其答案
目录 1、什么是 HTML? 2、什么是 CSS? 3、什么是 JavaScript? 4、什么是盒模型? 5、什么是浮动? 6、什么是定位? 7、什么是选择器? 8、什么是事件? 前端的三剑客指的是 HTML…...
【DFS专题】深度优先搜索 “暴搜”优质题单推荐 10道题(C++ | 洛谷 | acwing)
文章目录题单一、模板 [极为重要]全排列DFS组合型DFS指数DFS二、专题烤鸡 (指数BFS)P1088 火星人 【全排列】P1149 火彩棒 [预处理 ]P2036 PERKETP1135 奇怪的电梯 暴力P1036 [NOIP2002 普及组] 选数 (组合)P1596 [USACO10OCT]Lake Counting …...
微信小程序自定义组件生命周期有哪些?
微信小程序自定义组件的生命周期函数分为三类: 创建时执行的生命周期函数、更新时执行的生命周期函数和销毁时执行的生命周期函数。 下面是具体的生命周期函数及其触发时机: 创建时执行的生命周期函数: created:在组件实例刚刚…...
Linux就该这么学(六)
一、从“/”开始 Linux 系统中的文件和目录名称是严格区分大小写的。例如,root、rOOt、rooT 均代表不同的目录,并且文件名称中不得包含斜杠(/)。Linux 系统中的文件存储结构如下图所示。 在 Linux 系统中,最常见的目录…...
目标检测算法——YOLOv5/v7/v8改进结合涨点Trick之Wise-IoU(超越CIOU/SIOU)
超越CIOU/SIOU | Wise-IoU助力YOLO强势涨点!!! 论文题目:Wise-IoU: Bounding Box Regression Loss with Dynamic Focusing Mechanism 论文链接:https://arxiv.org/abs/2301.10051 近年来的研究大多假设训练数据中的…...
【蓝桥杯选拔赛真题39】python输出数字组合 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析
目录 python输出数字组合 一、题目要求 1、编程实现 2、输入输出...
网络安全工程师做什么?
网络安全很复杂。数字化转型、远程工作和不断变化的威胁形势需要不同的工具和不同的技能组合。 系统必须到位以保护端点、身份和无边界网络边界。负责处理这种复杂安全基础设施的工作角色是网络安全工程师。 简而言之,网络安全工程师是负责设计和实施组织安全系…...
总结:K8S运维常用命令
一、部署./kubectl apply -f biz-healing-pod.yaml 二、查看部署的资源1、podkubectl get pod -A:获取所有pod没有IP?用-o wide参数看详细信息:./kubectl get pod -n deepflow -o wide2、service查看hubble-manager命名空间下有哪些service/d…...
你是真的“C”——进行动态内存分配库函数的使用详解
你是真的“C”——申请动态空间库函数的使用详解😎前言🙌一、为什么需要动态内存分配?💞free 函数😘malloc 库函数😘calloc 库函数😘realloc 库函数😘总结撒花💞…...
Python|蓝桥杯进阶第五卷——数论
欢迎交流学习~~ 专栏: 蓝桥杯Python组刷题日寄 蓝桥杯进阶系列: 🏆 Python | 蓝桥杯进阶第一卷——字符串 🔎 Python | 蓝桥杯进阶第二卷——贪心 💝 Python | 蓝桥杯进阶第三卷——动态规划 ✈️ Python | 蓝桥杯进阶…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
Linux操作系统共享Windows操作系统的文件
目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...
简约商务通用宣传年终总结12套PPT模版分享
IOS风格企业宣传PPT模版,年终工作总结PPT模版,简约精致扁平化商务通用动画PPT模版,素雅商务PPT模版 简约商务通用宣传年终总结12套PPT模版分享:商务通用年终总结类PPT模版https://pan.quark.cn/s/ece1e252d7df...
深入理解 C++ 左值右值、std::move 与函数重载中的参数传递
在 C 编程中,左值和右值的概念以及std::move的使用,常常让开发者感到困惑。特别是在函数重载场景下,如何合理利用这些特性来优化代码性能、确保语义正确,更是一个值得深入探讨的话题。 在开始之前,先提出几个问题&…...
