当前位置: 首页 > 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;共建内容良性生…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...