当前位置: 首页 > 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和名称
 







        

相关文章:

  • vue3+threejs新手从零开发卡牌游戏(七):创建卡组
  • 掌握Go语言:Go语言结构体,精准封装数据,高效管理实体对象(22)
  • 重磅|国家能源局开展配电网安全风险管控重点行动
  • 微前端架构
  • 实验三 前端性能优化-CSS优化
  • Unity InputField实现框自适应内容简便方法
  • 自动化测试 —— 基于Jmeter之DDT!
  • 设计模式:面向对象设计的六大原则
  • 以太网网络变压器
  • Vue3:路由的两种模式history模式和hash模式
  • laravel(源码笔记)Facades的调用过程
  • base64转图片util
  • C语言学习笔记day8
  • 【保姆级讲解Linux常见命令】
  • SpringCloudAlibaba系列之Seata实战
  • Android交互
  • CSS 专业技巧
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JWT究竟是什么呢?
  • linux安装openssl、swoole等扩展的具体步骤
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • nodejs调试方法
  • react 代码优化(一) ——事件处理
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 闭包--闭包之tab栏切换(四)
  • 大快搜索数据爬虫技术实例安装教学篇
  • 关于Java中分层中遇到的一些问题
  • 规范化安全开发 KOA 手脚架
  • 前言-如何学习区块链
  • 异常机制详解
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • #include<初见C语言之指针(5)>
  • #微信小程序:微信小程序常见的配置传值
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (原)Matlab的svmtrain和svmclassify
  • ./configure,make,make install的作用
  • .net 发送邮件
  • .NET 事件模型教程(二)
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET6 命令行启动及发布单个Exe文件
  • .net分布式压力测试工具(Beetle.DT)
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • @requestBody写与不写的情况
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [bug总结]: Feign调用GET请求找不到请求体实体类
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [C/C++随笔] char与unsigned char区别
  • [C++进阶篇]STL中vector的使用
  • [C语言]——内存函数
  • [DP 训练] Longest Run on a Snowboard, UVa 10285