【JavaEE进阶】 Linux常用命令

文章目录

  • 🍃前言
  • 🌴ls 与 pwd
    • 🚩ls
    • 🚩pwd
  • 🎍cd
    • 🚩认识Linux目录结构
  • 🍀touch与cat
    • 🚩touch
    • 🚩cat
  • 🌲mkdir与rm
    • 🚩mkdir
    • 🚩rm
  • 🎄cp与mv
    • 🚩cp
    • 🚩mv
  • 🍃tail
  • 🎋vim
    • 🚩创建/打开文件
    • 🚩进入插入模式
    • 🚩保存
    • 🚩退出
  • 🌳grep、ps、netstat
    • 🚩grep
    • 🚩ps
    • 🚩netstat
    • 🚩管道`|`
  • ⭕总结

🍃前言

本篇博客将对Linux常⽤命令进行一个简单的介绍,以方便后续Linux的操作

🌴ls 与 pwd

🚩ls

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

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

常⽤选项:

  • -a列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件。

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

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

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

  • -r 对⽬录反向排序。

  • -t 以时间排序。

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

例如

ls -l

小技巧:

  • 使用ll可以快速查看当前路劲下的所有文件以及目录

🚩pwd

语法:pwd

功能:显⽰⽤⼾当前所在的⽬录
在这里插入图片描述

🎍cd

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

语法: cd ⽬录名

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

举例:

# 返回上级⽬录
cd ..
# 进⼊⽤⼾家⽬录
cd ~
# 返回最近访问⽬录
cd -
# 访问bin目录
cd bin/

为了更好的理解与使用该命令,我们有必要了解一下Linux的目录结构

🚩认识Linux目录结构

Linux是一个树型结构
在这里插入图片描述
在这里插入图片描述
还有⼏个特殊的⽬录:

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

访问时我们还有必要了解以下绝对路径和相对路径

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

在进行Linux命令输入时,博主有几个小技巧

  1. 使⽤tab键补全

我们敲的所有的Linux命令,都可以使⽤tab键来尝试补全,加快效率.

  1. 使⽤ctrl+c重新输⼊

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

  1. 关于XShell下的复制粘贴
  • 复制:ctrl + insert(有些电脑insert需要配合fn来按)
  • 粘贴:shift+insert

🍀touch与cat

🚩touch

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

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

举例:
在这里插入图片描述

🚩cat

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

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

常用选项:

  • -n 对输出的所有行编号

在这里插入图片描述

🌲mkdir与rm

🚩mkdir

语法:mkdir [选项] dirname…

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

常⽤选项:

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

🚩rm

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

功能:删除⽂件或⽬录

常⽤选项:

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

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

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

使用举例如下:

在这里插入图片描述

注意事项:

  • 千万不要运⾏ rm -rf / ,尤其是在公司的⽣产服务器上.

🎄cp与mv

🚩cp

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

功能:复制⽂件或⽬录

说明:

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

常⽤选项:

  • -f 或 --force 强行复制⽂件或⽬录,不论目的⽂件或⽬录是否已经存在
  • -i 或–interactive覆盖⽂件之前先询问⽤户
  • -r递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理
  • -R 或 --recursive递归处理,将指定⽬录下的⽂件及⼦⽬录⼀并处理

举例:

 cp test1.txt test2.txt

🚩mv

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

功能:

  1. 视mv命令中第⼆个参数类型的不同(是目标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其移⾄⼀个新的⽬录中。
  2. 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬录名),它将所给的源⽂件或⽬录重命名为给定的目标⽂件名。
  3. 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄目标目录中。

常⽤选项

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

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

举例

 mv test1.txt test2.txt

🍃tail

语法:tail [必要参数] [选择参数] [⽂件]

功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。

选项:

  • -f 循环读取
  • -n<⾏数> 显示行数

举例:

 tail -10 test1.txt

🎋vim

vim 是⼀个知名的⽂本编辑器. 使⽤ vim 可以进⾏⽂本编辑了.

vim 就相当于 Windows 的记事本. 只不过功能⽐记事本强⼤⼀些.

🚩创建/打开文件

在这里插入图片描述

🚩进入插入模式

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

需要进⼊插⼊模式才能进⾏⽂本编辑.

使用i键可以进⼊到插⼊模式.(左下⻆提⽰–INSERT–)然后就可以像记事本⼀样正常编辑了.
在这里插入图片描述

🚩保存

在插⼊模式下不能保存⽂件,需要先回到普通模式.按下 Esc 回到普通模式.

在普通模式下输⼊ :w ,再按下回⻋,即可保存⽂件.

🚩退出

在插⼊模式下不能退出,需要先回到普通模式.

退出时,分以下情况:

  1. ⽂件未修改:输⼊ :q ,再按下回⻋,即可退出
  2. ⽂件修改并保存:使⽤ :wq 同时执⾏保存和退出.
  3. ⽂件修改, 但不希望保存:使⽤ :wq! 进⾏强制退出

🌳grep、ps、netstat

🚩grep

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

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

选项:

  • -n<行数>显示的行数
  • -w全字匹配.要求整个单词都完全相同的结果才能匹配出来,⽽不仅仅是⼀个单词的⼀部分.
  • -r递归查找.可以搜索多级⽬录下的所有⽂件.
  • –color⾼亮查找到的结果
  • –include指定查找某些⽂件
  • –exclude指定排除某些⽂件

举例使用如下;

 grep "hello" Hello.java

🚩ps

语法:ps [参数]…

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

选项:

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

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

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

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

  • f 显⽰完整格式输出

举例:

ps aux # 显⽰系统上所有的进程
ps aux | grep "进程名"
ps aux | grep "进程id"

🚩netstat

语法:netstat [参数]…

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

选项:

  • -a 显示所有正在或不在侦听的套接字
  • -n 显示数字形式地址⽽不是去解析主机、端⼝或⽤⼾名
  • -p 显示套接字所属进程的PID和名称

举例:

netstat -anp
netstat -anp | grep "进程名"
netstat -anp | grep "端⼝号"

🚩管道|

在前面的两个命令中我们可以看到这样一个符号|

我们称之为它为管道

管道是⼀种古⽼的"进程间通信"⽅式. 在 Linux 指令中可以使⽤ | 作为管道标记.

意思是将前⼀个指令标准输出的内容,作为第⼆个指令的标准输⼊内容.

使用举例如下:

ps -ef|grep "java"
ps -ef|head -10
tail -f log.txt|grep "Exception"

⭕总结

关于《【JavaEE进阶】 Linux常用命令》就讲解到这儿,感谢大家的支持,欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/719028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GD库没有安装FreeType 支持Call to undefined function App\Services\imagettfbbox()

GD库是一个功能强大的图像处理库&#xff0c;广泛用于生成和处理图像。然而&#xff0c;默认情况下&#xff0c;GD库不包含FreeType扩展&#xff0c;该扩展用于处理字体和文本。如果您需要在GD库中使用更多的字体和文本效果&#xff0c;您可以按照以下步骤安装和启用FreeType扩…

十五、单词造句

描述 GG Bond在和妹妹做一个游戏&#xff0c;GG Bond给定了妹妹一些单词字符串&#xff0c;他想让妹妹把这些单词拼接成以空格间隔开的句子&#xff0c;很可惜妹妹Python没有学好&#xff0c;你能使用join函数帮帮她吗&#xff1f; 输入描述&#xff1a; 多行输入多个字符串…

Java基础 - 7 - 常用API(二)

API&#xff08;全称 Application Programming Interface&#xff1a;应用程序编程接口&#xff09; API就是Java帮我们已经写好的一些程序&#xff0c;如类、方法等&#xff0c;可以直接拿过来用 JDK8 API文档&#xff1a;Java Platform SE 8 一. Object Object类的作用 Ob…

mybatis多数据源切换

1.前提 项目中有可能需要去其他的数据库取其他的表的信息 2.思路 2.1 直接使用原生jdbc&#xff08;不推荐&#xff09; 2.2 不使用我们全局配置的mybatis&#xff0c;对指定文件夹下使用我们指定的Session 3.解决办法 指定该配置的范围 package com.maycur.openapi.dao.my…

『Linux从入门到精通』第 ㉓ 期 - 管道

文章目录 &#x1f490;专栏导读&#x1f490;文章导读&#x1f427;进程间通信的目的&#x1f427;如何进行进程间通信&#x1f427;进程间通信的分类&#x1f427;管道&#x1f426;什么是管道&#x1f426;管道原理 &#x1f427;实例代码&#x1f427;管道的特点&#x1f4…

Protobuf学习笔记以及序列化的一些概念要点(暂放C++笔记专栏)

Protobuf学习笔记以及序列化的一些概念要点 —— 杭州 2024-03-03 文章目录 Protobuf学习笔记以及序列化的一些概念要点1.Protobuf概念2.实际测试2.1.准备一个test.proto2.2.使用 protoc 命令行工具来编译一个 Protocol Buffers 文件 test.proto3.3.创建一个main.cpp写C++代码…

mysql 事务的隔离级别

一、事务的隔离级别要解决的问题&#xff1a; 1&#xff09;脏读&#xff1a;读到了其它事务未提交的数据即脏读&#xff0c;未提交意味着数据有可能会被回滚&#xff0c;也就是最终有可能不会存储到数据库中&#xff0c;即读到了最终不一定存在存在的数据&#xff0c;即为脏读…

如何选择程序员职业赛道:挑战与机遇并存的职业探索指南

程序员如何选择职业赛道&#xff1f; 作为程序员&#xff0c;选择职业赛道是一项重要的决策&#xff0c;不仅影响你的职业发展&#xff0c;也影响着你的工作生活。本文将为你介绍如何选择程序员职业赛道&#xff0c;以及每个方向的特点、挑战和机遇&#xff0c;帮助你做出明智…

《极客时间 - 左耳听风》【文章笔记 + 个人思考】

《极客时间 - 左耳听风》 原文链接 &#xff1a;https://time.geekbang.org/column/intro/100002201?tabcatalog 备注&#xff1a;加粗部分为个人思考 01 | 程序员如何用技术变现&#xff1f;&#xff08;上&#xff09; 备注&#xff1a;加粗部分为个人思考) 01 | 程序员如何…

Window系统部署Splunk Enterprise并结合内网穿透实现远程访问本地服务

文章目录 前言1. 搭建Splunk Enterprise2. windows 安装 cpolar3. 创建Splunk Enterprise公网访问地址4. 远程访问Splunk Enterprise服务5. 固定远程地址 前言 本文主要介绍如何简单几步&#xff0c;结合cpolar内网穿透工具实现随时随地在任意浏览器&#xff0c;远程访问在本地…

【24最新版PythonPycharm安装教程】小白保姆级别安装教程

今天&#xff0c;我就来教大家一下&#xff0c;如何去安装Python&#xff01; 需要博主打包好的一键激活版Pycharm&&Python也可扫下方直接获取 ​ 1 了解Python Python是一种面向对象的解释型计算机程序设计语言&#xff0c;由荷兰人Guido van Rossum于1989年发明&…

[C++]使用纯opencv去部署yolov9的onnx模型

【介绍】 部署 YOLOv9 ONNX 模型在 OpenCV 的 C 环境中涉及一系列步骤。以下是一个简化的部署方案概述&#xff0c;以及相关的文案。 部署方案概述&#xff1a; 模型准备&#xff1a;首先&#xff0c;你需要确保你有 YOLOv9 的 ONNX 模型文件。这个文件包含了模型的结构和权…

Flutter Gradle下载失败的解决方案

Flutter Gradle可能会由于网络原因下载失败,这个时候我们可以首先下载Gradle&#xff0c;然后再进行配置。具体步骤如下&#xff1a; 第一步&#xff1a;下载对应版本的gradle 可以通过下面地址下载&#xff0c;也可以百度里面搜对应的版本 【极速下载】gradle各版本快速下载地…

【HTML】HTML基础2(一些常用标签)

目录 例子 首先是网页图标 然后是一些常用标签 插入图片 例子 <!DOCTYPE html> <html><head><link rel"icon" href"img/银河护卫队-星爵.png" type"image/x-icon"><meta charset"utf-8"><title>…

大数据的分类分级管理

一.背景 为了公司给的师带徒&#xff0c;为培训写点材料。让徒弟做事情要有章法&#xff0c;有行业视野&#xff0c;知道方向和资料从哪里去找。 二.参考标准 要管理企业的大数据&#xff0c;从什么地方开始呢&#xff1f;首先应该完成企业数据的分类、分级&#xff0c;或者参…

一文掌握python常用的dict(字典)操作

目录 一、字典的创建与基本特性 1.创建字典 2.字典的基本特性 二、字典的常用操作 1.访问字典中的值 2.添加、修改键值对 3.删除键值对 4.获取字典中的所有键、值和键值对 5.遍历字典 6.查找键是否存在 7.使用 get() 方法获取值 8.合并字典 9.字典排序 10.使用字…

如何限制一个账号只在一处登陆

大家好&#xff0c;我是广漂程序员DevinRock&#xff01; 1. 需求分析 前阵子&#xff0c;和问答群里一个前端朋友&#xff0c;随便唠了唠。期间他问了我一个问题&#xff0c;让我印象深刻。 他问的是&#xff0c;限制同一账号只能在一处设备上登录&#xff0c;是如何实现的…

Javascript:数组的使用

目录 一、前言 二、正文 三、结语 一、前言 为了能存储多个数据&#xff0c;我们接下来介绍数组。 二、正文 数组是一种将一组数据存储在单个变量名下的方式。 let arr[] 声明语法: let 数组名[数据1,数据2,..数据n] 例 let names[小明,小刚,小红,小丽] 数组是按顺序保存…

【大厂AI课学习笔记NO.56】(9)模型评测

作者简介&#xff1a;giszz&#xff0c;腾讯云人工智能从业者TCA认证&#xff0c;信息系统项目管理师。 博客地址&#xff1a;https://giszz.blog.csdn.net 声明&#xff1a;本学习笔记来自腾讯云人工智能课程&#xff0c;叠加作者查阅的背景资料、延伸阅读信息&#xff0c;及学…

Python采集学习笔记-request的get请求和post请求

使用http://httpbin.org测试,一个简单的 HTTP 请求和响应服务。(需联网)1.导入requests包 import requests 2.测试get请求 url http://httpbin.org/get par {key1: value1, key2: value2} # 不带参数请求 r1 requests.get(url) # 带参数请求 r2 requests.get(url, paramspa…