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

Linux的基本使用

1.Linux的背景

 1.1什么Linux

Linux是⼀个操作系统.和Windows是"并列"的关系.

  1.2Linux系统的优势

        1. 开源(意味着免费,便宜)

        2. 稳定(Linux可以运⾏很多年,都不会发⽣重⼤问题)

        3. 安全(Linux只有管理员或者特定⽤⼾才能访问Linux内核)

        4. ⾃由(不会被强加商业产品和服务)

        5. 社区⽀持(Linux在全球社区都⾮常活跃和使⽤⼴泛,有很多志愿者在线帮⼤家解决问                  题)

       1.3我们学习Linux什么

基础命令

Linux虽然也有图形化界⾯,但是在服务器/嵌⼊式设备上往往都是通过命令⾏的⽅式操作的.因此学习Linux命令就是使⽤Linux的重要基础.使⽤命令相⽐于使⽤图形界⾯主要有以下好处:

        1• 节省系统资源:运⾏图形界⾯需要让系统付出⼀些额外的资源开销.尤其是对于配置⽐较低的嵌⼊式设备,这⼀点⾄关重要.

         2•节省⽹络带宽:如果通过⽹络访问服务器,使⽤图形界⾯需要传输⼀帧⼀帧的图像,⽽使⽤命令只需要传输简单的字符串.

         3• 便于批量执⾏任务:可以通过⼀些"脚本"代码(⽐如LinuxShell)来批量执⾏⼀些任务,完成⼀些简单的编程⼯作.(⽐如定时备份⽂件,删除⽂件等).

Windows也有命令(也就是cmd),只是对于普通⽤⼾来说很少使⽤.

系统编程&⽹络编程

1.Linux⾃⾝提供了⼀些API,供程序猿调⽤来完成⼀些更复杂的编程任务(⽐如⽂件操作,多线程编程, socket编程等).

但是由于Java跨平台的特性,这部分功能已经被Java⾃⾝封装好了(流对象,Thread对象,Socket对象等).所以这部分内容我们不必再学习了.

部署JavaWeb项⽬

我们⾃⼰写的web程序,要想让其他的⽤⼾能够访问,就需要发布到服务器上.这是我们接下⾥重点学习的内容.

   2.服务器的部署

   对于这次学习,我准备购买腾讯云的服务器,购买一个服务器进行学习,

3.购买之后我们使用Xshell终端软件连接到linux

        

4.linux常见的命令

        1.LS

          语法:ls[选项][⽬录或⽂件]

               功能:对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信息。

               常⽤选项: • -a列出⽬录下的所有⽂件包括以.开头的隐含⽂件。

                • -d将⽬录象⽂件⼀样显⽰,⽽不是显⽰其下的⽂件。如:ls‒d指定⽬录

            • -k   以 k字节的形式表⽰⽂件的⼤⼩。ls ‒alk指定⽂件

                 • -l列出⽂件的详细信息。

                 • -r对⽬录反向排序。

                 • -t以时间排序。

                • -R列出所有⼦⽬录下的⽂件。(递归)

              2.pwd

                        语法:pwd

                        功能:显⽰⽤⼾当前所在的⽬录      

               3.cd  

                    Linux系统中,磁盘上的⽂件和⽬录被组成⼀棵⽬录树,每个节点都是⽬录或⽂                                 件。                

                        语法:cd⽬录名

                        功能:改变⼯作⽬录。将当前⼯作⽬录改变到指定的⽬录下.

                        

                        linux目录结构      

                        linux是一个树形的目录

                

                               ⼏个特殊的⽬录:

                                • /称为根⽬录

                                • .称为当前⽬录

                                • ..称为当前⽬录的上级⽬录

                        绝对路径vs相对路径

                        形如: /usr/share/tomcat/logs/ 以根⽬录开头的,称为绝对路径.

                        形如:    ./logs 以 . 或者 .. 开头的,称为相对路径.

                        使⽤tab键补全

                  我们敲的所有的Linux命令,都可以使⽤tab键来尝试补全,加快效率.使                       ⽤ctrl+c重新输⼊

                   如果命令或者⽬录敲错了,可以ctrl+c取消当前的命令

                4.touch

                语法:touch[选项]...⽂件...

               功能:touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者                    新建⼀个不存在的⽂件

                5.cat

                语法:cat[选项][⽂件]

                功能:查看⽬标⽂件的内容

                常⽤选项: • -n对输出的所有⾏编号

                      

                6.mkdir

                  语法:mkdir[选项]dirname...

                  功能:在当前⽬录下创建⼀个名为“dirname”的⽬录

               常⽤选项:

                • -p,--parents可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选                 项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多级⽬录

       举例:        # 递归建⽴多个⽬录      mkdir –p test/test1

                   7.vim的使用(重要)

                          1)  打开文件  vim [⽂件名]          

                        2)进⼊插⼊模式

                           vim打开⽂件后默认是普通模式.普通模式下键盘的按键表⽰⼀些特殊功能 的                            快捷键.(例如按下j并不是输⼊字⺟"j",⽽是表⽰光标往下移动⼀⾏).                               需 要进⼊插⼊模式才能进⾏⽂本编辑.

                      使⽤i键可以进⼊到插⼊模式.(左下⻆提⽰--INSERT--)然后就可以像记                         事本⼀样正常编辑了.

                        

                   3)保存

                       在插⼊模式下不能保存⽂件,需要先回到普通模式.按下 Esc 回到普通                                              模式.在普通模式下输⼊ :w ,再按下回⻋,即可保存⽂件.

                    4)退出

                在插⼊模式下不能退出,需要先回到普通模式.退出时,分以下情况:

              ①⽂件未修改:输⼊ :q ,再按下回⻋,即可退出

              ②⽂件修改并保存:使⽤ :wq 同时执⾏保存和退出.

              ③⽂件修改,但不希望保存:使⽤:wq! 进⾏强制退出

  8.rm

语法:rm[-f-i-r-v][dirName/dir]

功能:删除⽂件或⽬录常⽤选项:

      • -f即使⽂件属性为只读(即写保护),亦直接删除

      • -i删除前逐⼀询问确认

       • -r删除⽬录及其下所有⽂件

       9.cp

        语法:cp [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录

         功能:复制⽂件或⽬录

         说明:cp指令⽤于复制⽂件或⽬录,如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定的所有⽂件或⽬录复制到此⽬录中。若同时指定多个⽂件或⽬录,⽽最后的⽬的地并⾮⼀个已存在的⽬录,则会出现错误信息

常⽤选项:

• -f或--force强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在

• -i或--interactive覆盖⽂件之前先询问⽤⼾

• -r递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理

• -R或--recursive递归处理,将指定⽬录下的⽂件及⼦⽬录⼀并处理

举例:cp test1.txt test2.txt

注意:复制,复制目录需要-r 同时就能够递归的把内容复制到其他地方

10. mv

        语法:mv[选项]源⽂件或⽬录⽬标⽂件或⽬录

功能:

1. 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其移⾄⼀个新的⽬录中。

2. 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。

3. 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄⽬标⽬录中。

     常⽤选项

• -f:force强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖

• -i:若⽬标⽂件(destination)已经存在时,就会询问是否覆盖!

11.man(查看手册)

12.grep

语法:grep[参数]...[⽂件]...

功能:⽤于查找⽂件中是否包含指定字符串,并显⽰对应的⾏.

这个意思就是把txt中包含aaa的行显示出来

选项:

• -n<⾏数>显⽰的⾏数

• -w全字匹配.要求整个单词都完全相同的结果才能匹配出来,⽽不仅仅是⼀个单词的⼀部分.

• -r递归查找.可以搜索多级⽬录下的所有⽂件.

• --color⾼亮查找到的结果

• --include指定查找某些⽂件

• --exclude指定排除某些⽂件

13.ps

        语法:ps[参数]...

        功能:⽤于查看当前系统上运⾏的进程

        选项:

                • a显⽰⼀个终端的所有进程

                • u以⽤⼾为主的格式来显⽰程序状况

                 • x显⽰所有程序,不⽌是会话中的进程

                • e显⽰所有进程,包括系统守护进程

                 • f显⽰完整格式输出

| 叫做管道  能够把多个命令连接到一起,把前一个命令的输出,作为后一个命令的输入

14.netstat

 语法:netstat[参数]...

功能:查看系统上的⽹络状态.

选项:

• -a显⽰所有正在或不在侦听的套接字

 • -n显⽰数字形式地址⽽不是去解析主机、端⼝或⽤⼾名

 • -p显⽰套接字所属进程的PID和名称
 







        

相关文章:

Linux的基本使用

1.Linux的背景 1.1什么Linux Linux是⼀个操作系统.和Windows是"并列"的关系. 1.2Linux系统的优势 1. 开源(意味着免费,便宜) 2. 稳定(Linux可以运⾏很多年,都不会发⽣重⼤问题) 3. 安全(Linux只有管理员或者特定⽤⼾才能访问Linux内核) 4. ⾃由(不会被强加商业产品和…...

亚信安慧AntDB全景观察:数据库领域的创新者

随着大数据时代的到来&#xff0c;对数据库的需求愈发强烈。在这一背景下&#xff0c;国产数据库逐渐崭露头角&#xff0c;亚信安慧AntDB作为重要的代表产品之一正积极参与到激烈的市场竞争中。亚信安慧AntDB不仅追求技术的革新和突破&#xff0c;同时也致力于满足用户日益增长…...

Linux 系统是如何收发⽹络包的

Linux 系统是如何收发⽹络包的&#xff1f; ⽹络模型 为了使得多种设备能通过⽹络相互通信&#xff0c;和为了解决各种不同设备在⽹络互联中的兼容性问题&#xff0c;国际标准化组织制定了开放式系统互联通信参考模型&#xff08;Open System Interconnection Reference Mode…...

飞跃前端瓶颈:技术进阶指南精华篇

引言&#xff1a; 在互联网的快车道上&#xff0c;前端技术日新月异。对于前端工程师而言&#xff0c;技术水平达到一定高度后&#xff0c;往往会遭遇成长的天花板。本文将探讨如何识别并突破这些技术瓶颈&#xff0c;分享实用的进阶策略和实践案例。 一、技术等级概览&#xf…...

Jenkins安装 Linux 更换镜像 安装插件

Jenkins安装 Linux 更换镜像 安装插件 前言 下面叙述了三种jenkins安装的方式,jenkins安装之前必须有java环境因为他是java写的… yum安装只能安装最新版本的jenkins,但是jenkins是java写的所以他强依赖java版本,当你的服务器的java版本与jenkins版本冲突时还需要给jenkins重…...

(一)基于IDEA的JAVA基础1

Java是一门面向对象的编程语言&#xff0c;不仅吸收了C语言的各种优点&#xff0c;还摒弃了C里难以理解的多继承、指针等概念&#xff0c;因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表&#xff0c;极好地实现了面向对象理论&#xff0…...

FPGA开源项目分享——基于FPGA加速的热扩散模拟器

导语 今天继续分享康奈尔大学FPGA课程ECE 5760的典型案例——基于FPGA加速的热扩散模拟器。 &#xff08;更多其他案例请参考网站&#xff1a; Final Projects ECE 5760&#xff09; 1. 项目概述 项目网址 https://people.ece.cornell.edu/land/courses/ece5760/FinalProje…...

【ARM 嵌入式 C 入门及渐进 12 --寄存器位清0和置位函数实现】

文章目录 寄存器位清0和置位函数实现示例使用方式注意事项 寄存器位清0和置位函数实现 在 C 语言中&#xff0c;可以使用宏定义来创建用于清除&#xff08;清零&#xff09;或设置&#xff08;置一&#xff09;32位地址中特定位的函数。以下是两个宏定义的示例&#xff1a; #…...

Java实现10万,并发去重,优雅地处理重复请求!

对于一些用户请求&#xff0c;在某些情况下是可能重复发送的&#xff0c;如果是查询类操作并无大碍&#xff0c;但其中有些是涉及写入操作的&#xff0c;一旦重复了&#xff0c;可能会导致很严重的后果&#xff0c;例如交易的接口如果重复请求可能会重复下单。 重复的场景有可…...

《深入解析 C#》—— C# 3 部分

文章目录 第三章 C#3&#xff1a;LINQ及相关特性3.1 自动实现属性&#xff08;*&#xff09;3.2 隐式类型 var&#xff08;*&#xff09;3.3 对象和集合初始化3.3.1 对象初始化器3.3.2 集合初始化器 3.4 匿名类型3.4.1 基本语法和行为3.4.2 编译器生成类型3.4.3 匿名类型的局限…...

Redis 的5种数据类型的基本命令

目录 String的基本命令 1. SET 2. GET 3. GETSET 4. STRLEN 5. APPEND 6. SETRANGE 7. GETRANGE 8. SETEX 9. SETNX 10. MSET 11. MGET 12. INCR 13. DECR 14. INCRBY 15. DECRBY 16. INCRBYFLOAT Map的基本命令 1. HSET 2. HGET 3. HMSET 4. HMGET 5. …...

【Liunx-后端开发软件安装】Liunx安装nginx

【Liunx-后端开发软件安装】Liunx安装nginx 使用安装包安装 一、简介 nginx&#xff0c;这个家伙可不是你厨房里的那位大厨&#xff0c;它可是互联网世界的“煎饼果子摊主”。想象一下&#xff0c;在熙熙攘攘的网络大街上&#xff0c;nginx挥舞着它的锅铲——哦不&#xff0c;是…...

力扣Lc20--- 202.快乐数(java版)-2024年3月20日

1.题目 2.知识点 &#xff08;1&#xff09;while (seen.contains(n) false) { // 循环体 } 与 !seen.contains(n) 等同 &#xff08;2&#xff09; 当传入数字 19 给 isHappy(19) 方法时&#xff0c;下面是每一行代码的执行过程&#xff1a; 初始化一个空的 HashSet&#…...

机器学习----交叉熵(Cross Entropy)如何做损失函数

目录 一.概念引入 1.损失函数 2.均值平方差损失函数 3.交叉熵损失函数 3.1信息量 3.2信息熵 3.3相对熵 二.交叉熵损失函数的原理及推导过程 表达式 二分类 联立 取对数 补充 三.交叉熵函数的代码实现 一.概念引入 1.损失函数 损失函数是指一种将一个事件&#x…...

Linux docker3--数据卷-nginx配置示例

一、因为docker部署服务都是以最小的代价部署&#xff0c;所以通常在容器内部很多依赖和命令无法执行。进入容器修改配置的操作也比较麻烦。本例介绍的数据卷作用就是将容器内的配置和宿主机文件打通&#xff0c;之后修改宿主机的配置文件就相当于修改了docker进程的配置文件&a…...

力扣454. 四数相加 II

思路&#xff1a;把四个数组拆成两对&#xff0c;两个分别相加&#xff0c;记录第一对的相加结果进map里&#xff0c;再把第二对数组 0-nums2-nums4 去map里面找出现了几次&#xff0c;这题不用对重复的四元组去重&#xff0c;所以出现多次都有效。 class Solution {public int…...

vulnstack1 渗透分析 红日靶场(一)

环境搭建 ip段设置 kali (coleak)&#xff1a;192.168.145.139 Windows 7 (stu1)&#xff1a;192.168.10.181、192.168.145.140 Winserver 2008 (owa)&#xff1a;192.168.10.180 Win2k3 (root-tvi862ubeh)&#xff1a;192.168.10.182复制 kali可以访问win7&#xff0c;但不能…...

外包干了6天,技术明显进步。。。

我是一名大专生&#xff0c;自19年通过校招进入湖南某软件公司以来&#xff0c;便扎根于功能测试岗位&#xff0c;一晃便是近四年的光阴。今年8月&#xff0c;我如梦初醒&#xff0c;意识到长时间待在舒适的环境中&#xff0c;已让我变得不思进取&#xff0c;技术停滞不前。更令…...

比较好的知识点

2023年Java超全面试题及答案解析---https://blog.csdn.net/qq_42301302/article/details/128785274 7分钟带你细致解析4个Java算法必刷题---https://blog.csdn.net/hcxy2022/article/details/127963797 50道JAVA基础算法编程题【内含分析、程序答案】---https://blog.csdn.net/…...

抖音开放平台的订单类API接口调用测试指南(内含详细步骤)

一、什么是抖音开放平台 抖音开放平台基于抖音母体&#xff0c;提供抖音服务基础设施和创新行业解决方案的平台。同时满足各类各类机构、创作者及服务商对于内容获取、分享的个性化需求&#xff0c;我们诚邀各个行业、不同阶段的合作伙伴与我们一起&#xff0c;共建内容良性生…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...