【Linux】保姆级 Linux 常见命令使用

news2024/11/14 15:32:36

🥰🥰🥰来都来了,不妨点个关注叭!
👉博客主页:欢迎各位大佬!👈

在这里插入图片描述

文章目录

  • 1. Linux 是什么
    • 1.1 Linux 是什么
    • 1.2 关于 Linux 我们需要学什么
  • 2. 需提前准备的东西
    • 2.1 环境 —— 如何获取到一个 Linux 环境
    • 2.2 软件 —— 使用终端软件 Xshell 进行远程登录
  • 3. Linux 常见命令
    • 3.1 ls 命令
    • 3.2 cd 命令
    • 3.3 pwd 命令
    • 3.4 touch 命令
    • 3.5 cat 命令
    • 3.6 echo 命令
    • 3.7 vim 命令
    • 3.8 mkdir 命令
    • 3.9 rm 命令
    • 3.10 cp 命令
    • 3.11 mv 命令
    • 3.12 grep 命令
    • 3.13 ps 命令
    • 3.14 netstat 命令
  • 4. Linux 常见面试题

1. Linux 是什么

1.1 Linux 是什么

LinuxLinux 是一个操作系统,和 Windows 是同类产品

日常生活中,我们使用的电脑都是以 Windows 为主,也有 Mac,实际上,Linux 的市场份额是比 Windows 更多的,比如:
1)服务器
2)嵌入式设备
3)移动端(手机) Anroid 其实就是 Linux

补充】操作系统简单来说,就是弄管理的软件

更准确的来说,Linux 是一个统称,可以认为是一个"操作系统内核"
在这里插入图片描述
有很多企业/组织,基于 Linux 内核,搭配了不同应用的程序,从而产生了不同的"操作系统",比如:ubuntu、redhat、CentOS等等(本期内容以 CentOS 为主)

1.2 关于 Linux 我们需要学什么

  • 基础命令:Linux也是有图形化界面,但是在实际工作中,一般不会使用,甚至都不会安装,因为 Linux 的图形化界面使用体验,整体来说是比较槽糕的~在服务器/嵌入式设备往往都是通过命令行的方式进行操作的,使用命令行操作有着更多的优势,一是带宽占用非常低,二是系统资源占用也非常低,三是命令行适合通过脚本来实现批量的重复操作,因此,学习 Linux 常见的命令,是使用 Linux 的基础
  • 部署JavaWeb项目:咱们自己写的 web 程序,只能自己在本机上访问,要想其他用户访问到,就需要部署到服务器上,服务器的操作系统,最最主流的就是 Linux。因此,我们需要学习如何将 web 程序部署到服务器上
    (下期内容将具体介绍如何部署JavaWeb项目,敬请期待~)

2. 需提前准备的东西

2.1 环境 —— 如何获取到一个 Linux 环境

有以下三种方式:

  • 使用虚拟机,即在你的电脑里虚拟出来一个假电脑(虚拟机软件存在很多bug,经常会出现一些各种各样奇怪的问题)
  • 使用Windows自带的 WSL 功能(Linux 影响力太大,Windows 内部集成了 Linux 内核),相比于虚拟机,问题少很多,但是仍无法解决部署问题
  • 买一个云服务器,云服务器有一个非常重要的优点:有外网IP!!! 后续将程序部署到云服务器上,此时程序就可以被别人访问到了~(云服务器对于学生有优惠,第一次可以白嫖三个月,本期内容使用的是阿里云服务器)

因此,尊嘟很推荐买一个云服务器~(怪好用的勒)

2.2 软件 —— 使用终端软件 Xshell 进行远程登录

Xshell 官网,点击下载,点击免费授权页面~

在这里插入图片描述
创建会话,名称可以任意取,主机则是服务器公网IP,连接后,需要输入用户名 root(无修改情况) 和密码

在这里插入图片描述
连接成功后,显示如下:

在这里插入图片描述

(下载安装使用还是很简单的~不过俺在Xshell连接服务器的时候,一直连不上,折腾半天,结果是校园网换成热点就好了!!!所以,如果连不上,可以看看是不是校园网的问题)

3. Linux 常见命令

学习 Linux 命令,可对比 Windows 中的一些操作,加深理解,同时,不需要去背!多加练习即可~

3.1 ls 命令

ls:list的缩写,列出当前目录/指定目录中都有哪些文件(相当于Windows中双击了某个目录,查看里面的内容)

  • ls 列出当前目录下有哪些文件,如下图:

在这里插入图片描述
其中,蓝色的字体表示的是目录,白色字体是文件

  • ls 具体目录 ls 后面跟一个具体的目录,即表示列出指定目录下有哪些文件

在这里插入图片描述
其中,ls / "/"表示 Linux 中的根目录,与 Windows系统中"此电脑"类似,如下图:

在这里插入图片描述
ls /rootls 的效果一致,如下:

在这里插入图片描述
原因】root 用户的 home 目录就是 /root,也就是以 root 身份登录后,默认所在的目录,/root 即 root 用户的 ~ 目录

注意】如果要查指定目录的时候,ls 后面仅用跟具体目录名称,千万不要加“/”,否则会出现以下错误:

在这里插入图片描述

  • ls-l 显示文件详细信息

在这里插入图片描述
注意】Linux 系统也提供 ll 命令与 ls-l 命令一致,后续即可用 ll

上述使用了 -l,还有一些其它的选项:

-a 列出目录下所有的文件,包括以.开头的隐含文件
-d 将目录像温江一样显示,而不是显示其下的文件
-k 以k字节的形式表示文件的大小
-l 列出文件的详细信息
-r 对目录反向排序
-t 以时间排序
-R 列出所有子目录下文件(递归)

这些选项,也叫"命令行参数",参数和参数之间,需要至少一个空格来分割~

3.2 cd 命令

cd切换当前目录(相当于在 Windows 资源管理器中,双击目录)
cd 后面需要跟上我们要切换的目录路径,可以使用绝对路径,也可以使用相对路径
(其中,绝对路径以 / 开头,相对路径以 ./ 表示当前目录或者 …/ 表示目录的上一级开头,./ 是经常省略的)

  • cd / 绝对路径的方式

在这里插入图片描述

  • cd ./ 相对路径的方式(从当前的路径开始)

在这里插入图片描述

其中,./ 也可以省略,如下图:

在这里插入图片描述

  • cd ../ 相对路径的方式(从当前路径的上一级开始)
    例如,上述的举例,当前我们所在目录为 test1,上一级目录为 home 目录,即 /root,也是 ~ 目录,现在切换到 root 下的 java1,如下:

在这里插入图片描述

  • cd 后面什么都不加的情况下,此时就会回到 home 目录

在这里插入图片描述

3.3 pwd 命令

  • pwd 显示当前目录的完整路径

上述介绍了 cd 命令,很可能经过几次切换目录后,就不知道目前具体所在的目录了,而这个 pwd 命令就是防止我们迷路的~

在这里插入图片描述

3.4 touch 命令

  • touch 文件名 用来创建一个文件

在这里插入图片描述

可以看到,输入之后,并没有任何反馈的信息,有的小伙伴就会疑惑了:这到底是创建成功呀,还是失败呀!其实是创建成功了,我们可以通过上述学的 ls 命令进行查看当前目录下的文件,如下图:

在这里插入图片描述
从上图可以看到,创建 111.txt 文件是成功了,在 Linux 中有这么一句话,没有消息就是最好的消息(就是没错呀~)

3.5 cat 命令

  • cat 查看文件内容

Linux 下都有 yum.conf 文件,以这个文件为例,先切换到 etc 目录,查看其中 yum.conf 文件的内容,如下图:

在这里插入图片描述
注意cat 仅针对简单短小文件还好,如果文件很大,cat 就不是很方便了~

补充man 也是 Linux 命令,查看用户手册
在这里插入图片描述

3.6 echo 命令

  • echo 内容 > 文件名 用来写文件

这里的" > ",是重定向的意思,echo 的写入方式并不是以追加的形式,而是清空文件内容再进行写入!

对"111.txt" 文件写入 hello world,这里可以看到并没有什么反馈,正如上面所说,没有消息就是最好的消息~

在这里插入图片描述
我们可以通过 cat 命令,查看 “111.txt” 文件内容,验证是否写入成功,由下图可以看到,写入成功!

在这里插入图片描述
echo 和 cat 命令

优点当需要使用脚本批量处理很多操作的时候,echo 和 cat 还是很有用的~ 比如,有个服务器集群,每个服务器都有一个数据文件,这个数据文件上记录了一个信息,就可以通过写一个脚本,通过这个程序,自动登录到这些机器上,并且读取文件内容,获取到版本号

缺点:每次 echo + 重定向,会清空原来的内容,echo 和 cat 命令只是适合针对简单的文件进行操作,如果文件复杂或者编辑需求复杂,就不太合适了

如果是需要针对复杂的文件,进行复杂的编辑,如何处理呢?

这里 vim 就闪亮登场了~ vim,是 Linux 系统自带的文本编辑器,相当于 Windows 的记事本,接下来,我们一起来看看,如何使用 vim ~

3.7 vim 命令

vim 使用技巧是非常丰富的,vim 这里本期内容仅介绍最基本的三个用法:1)打开文件 2)编辑文件 3)保存退出

1) 打开文件vim 文件名/文件路径

以上述的"111.txt"文件为例,如下图:

在这里插入图片描述
进来以后,我们可以看到这样一个界面:

在这里插入图片描述
在这里,如果想输入,敲键盘进行编辑是没有任何反应的~

因为, vim 打开文件默认是普通模式,普通模式下键盘的按键表示一些特殊功能,因此,如果需要编辑,我们需要进入插入模式,才能进入文本编辑

2)编辑文件按下 i 键进入插入模式(其中,左下角会看到 – INSERT–) 这样就可以像记事本一样正常编辑了~

在这里插入图片描述
其中,在 Linux 下,复制的快捷键为:Ctrl+Insert 粘贴的快捷键是:Ctrl+Insert

比如,进行如下编辑:


3)保存退出先按 Esc 退出,回到普通模式,再输入:wq,再按回车

在编辑完文件后,我们发现并没有像 Windows 系统那样的"×",让我们关闭页面,同时,也没有快捷键,按 Ctrl+s 进行保存文件,在 Linux 系统中,操作如下:

  • 先按 Esc 退出
  • 再输入:wq,按下回车

在这里插入图片描述
可以看到,关闭了页面,通过 cat 命令,我们来看看是否保存成功,发现:保存成功!

在这里插入图片描述

3.8 mkdir 命令

mkdir:make directory 创建目录(与 Windows 中新建一个文件夹类似)

  • mkdir 目录名 创建一个目录,可以通过 ls 查看,是否创建成功

在这里插入图片描述

  • mkdir -p 目录1/目录2/目录3 可以递归地创建目录,比如想要创建 aaa/bbb/ccc,如下:

在这里插入图片描述
可以通过 pwd 命令,查看 ccc 的路径:

在这里插入图片描述

3.9 rm 命令

rm删除目录/删除文件

  • rm 文件名 删除某个文件

这里删除指定文件的时候,一般在我们删除的时候,Linux 都会提示我们是否确认删除,输入 y,即为确认删除,如下:

在这里插入图片描述

  • rm -r 目录名 删除某个目录

使用 rm+文件名,即可删除文件,但是如果使用这样的方式删除目录,Linux 会提示不能删除,这是一个目录,如下:
在这里插入图片描述
这里,删除目录,我们需要使用 rm -r + 目录名,递归删除这个目录和该目录下的所有文件,如下:

在这里插入图片描述
这里可以发现,在递归删除一个目录的时候,每删除一个目录,Linux 系统都会询问是否确认删除,如果有成千上万的目录,这样一个个确认删除,那得确认到啥时候呀!

  • rm - rf 目录名 f 表示的是强制删除,无需确认,如下:

先递归依次创建出目录,aaa/bbb/ccc,再进行递归删除,可以看到使用 rm - rf 目录名 无需确认~

在这里插入图片描述

3.10 cp 命令

cp复制文件/目录

  • cp 源文件 目标文件 复制文件

先创建一个"111.txt"文件,通过 cp 命令进行复制操作,通过 ls 命令查看,发现复制成功!如下:

在这里插入图片描述

注意】这样的拷贝操作,有时候很危险,如果我们复制的文件已经存在的话,此时,进行复制,就会出现"覆盖"的情况,原有的文件会被新的文件替换掉!

  • cp -r 源目录 目标目录 复制目录

这里使用 cp 命令,复制目录,相比于复制文件,需要多加一个 -r 和上述使用 rm 一致,对于文件无需加,对于目录,需要加 -r

这里我们 a 目录中有一个 test.txt 文件,将 a 目录拷贝到 b 目录,如下:

在这里插入图片描述
可以看到,创建一个 a 目录,同时在 a 目录下,创建文件 test.txt 文件,将 a 目录复制 b 目录,通过 ls 命令,可以查看复制成功,同时看到 b 目录下也有 test.txt 文件

3.11 mv 命令

mv移动或者重命名文件/目录

  • mv 源文件 目标文件 将源文件移动到目标文件

通过上述的栗子,我们已经有一个 b 目录,其中,里面有 test.txt 文件,现将这个 test.txt 文件移动到 c 目录下,并重新命名为 test1.txt,如下:
在这里插入图片描述
上述介绍的是将一个文件移动到其它目录下,如果移动的源文件和目标文件在同一个目录下,此时就相当于是给这个文件改名字,与 Windows 中重命名类似,比如将 c 目录下 test1.txt 改名字为 test2.txt,如下:

在这里插入图片描述

  • mv 源目录 目标目录 将源目录移动到目标目录

在这里,与上述的 rm 命令和 cp 命令不同,移动目录不需要加 -r 递归移动,直接移动即可,将 c 目录移动到 a 目录下,如下:

在这里插入图片描述

3.12 grep 命令

grep字符串匹配

  • grep 字符串 文件名 快速搜索某个文件中是否包含某个特定字符串

在这里插入图片描述

  • grep 字符串 * -R 快速搜索所有文件中是否包含某个特定字符串
    在这里插入图片描述
    grep 命令不仅有搜索功能,还能搭配不同的命令进行联动,如 ps 命令和 netstat 命令,我们一起来看看吧~

3.13 ps 命令

ps查看进程

  • ps 直接通过 ps 能够查看的内容非常有限,通常需要使用一些固定选项

在这里插入图片描述

  • ps aux 列出系统中所有的进程

在这里插入图片描述

  • ps aux | grep mysql 搭配 grep 命令使用,通过这样的一个命令,我们就可以查看包含 mysql 的进程,如下:
    在这里插入图片描述

3.14 netstat 命令

netstat用来查询网络状态

  • netstat -anp 用于显示网络连接的详细情况

在这里插入图片描述

  • netstat -anp | grep java 搭配 grep 命令使用,通过这样的一个命令,我们就可以查看 java 进程网络状态,如下:
    在这里插入图片描述

4. Linux 常见面试题

  1. 说说你常用的 Linux 命令有哪些?
  2. Linux 给定进程名,如何查看进程 pid
  3. Linux 给定进程名,如何查看进程的绑定端口号

A1:第一个问题,就是回答一下自己常用的命令,以上介绍的命令即可,比如最最常用的 lscd命令等
A2:第二个问题,可以使用 ps 命令,比如想要查看 mysql 进程的 pid,使用:ps aux | grep mysql
A3:第三个问题,可以使用 netstat 命令,比如想要查看 java 进程的端口号,使用: netstat -anp | grep java

💛💛💛本期内容回顾💛💛💛

在这里插入图片描述
✨✨✨本期内容到此结束啦~

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

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

相关文章

关于PowerDesigner的使用

1.PowerDesigner概述: 1.PowerDesigner是一款开发人员常用的数据库建模工具,用户利用该软件可以方便地制作 数据流程图、概念数据模型 、 物理数据模型 ,它几乎包括了数据库模型设计的全过程,是Sybase公司为企业建模和设计提供的…

蓝色炫酷碎粒子HTML5导航源码

源码介绍 蓝色炫酷碎粒子HTML5导航源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面 效果预览 源码获取 蓝色炫酷碎粒…

火焰传感器详解(STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 三、程序设计 main.c文件 IR.h文件 IR.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 火焰传感器是一种常用于检测火焰或特定波长(760nm-1100nm)红外光的传感器。探测角度60左右&am…

MQTT学习:MQTT vs AMQP,mosquitto安装,调试工具mqttfx mqttx

前言 物联网vs互联网? 数据量/数据源:物联网的数据多是设备的自动采集,其数量远远超过互联网,互联网的数据更多是人工生成的 MQTT 协议(Message Queuing Telemetry Transport)vs AMQP 协议(Advanced Message Queuing Protocol)是两种在物联网中广泛使用的协议。 物联网…

推荐一款灵活,可靠和快速的开源分布式任务调度平台

今天给大家推荐一款灵活,可靠和快速的开源分布式任务调度平台——SnailJob。 前言 什么是任务调度? 任务调度,是指在多任务的环境下,合理地分配系统资源,调度各个任务在什么时候,由哪一个处理器处理&…

【简单】 猿人学web第一届 第15题 备周则意怠,常见则不疑

数据接口分析 数据接口 https://match.yuanrenxue.cn/api/match/15 请求时需要携带 page 页码,m为加密参数 cookie中没有加密信息,携带 SessionId请求即可 加密参数还原 查看数据接口对应的 requests 栈 m参数 是通过 window.m() 方法执行后得到的 打上…

分布式系统中的Dapper与Twitter Zipkin:链路追踪技术的实现与应用

目录 一、什么是链路追踪? 二、核心思想Dapper (一)Dapper链路追踪基本概念概要 (二)Trace、Span、Annotations Trace Span Annotation 案例说明 (三)带内数据与带外数据 带外数据 带…

『 C++ 』多线程相关

文章目录 极短临界区互斥锁的短板原子操作类 atomicatomic 原子操作原理 CASCAS 操作解决多线程创建链表的节点丢失问题多线程下的 shared_ptr 智能指针最简单的单例模式 极短临界区互斥锁的短板 如果两个线程同时对一个共享资源变量x进行自增操作将会出现线程安全问题,这个线程…

官方宣布Navicat免费使用!

官方宣布Navicat免费使用! 对于开发者和数据库管理员来说,Navicat一直是不可或缺的工具之一。官方宣布Navicat可以免费使用,这无疑是个令人振奋的消息!虽然是精简版,但足够日常使用。文末有下载链接。 无论你是管理M…

Linux 文件接口和文件管理

目录 一、回顾c语言文件操作 二、系统调用的文件操作 系统调用文件接口 open: close: write: 代码测试: ​编辑 ​编辑 read: 语言和系统函数间的关系: flags的实现思路 三、OS内文件的管理 语…

时序预测 | 基于MAMbaS+transformer时间序列预测模型(pytorch)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MAMBAS,transformer python代码,pytorch架构 可以发刊,先发先的,高精度代码。 需知:好的创新性模型可以事半功倍。。 适合功率预测,风电光伏预测&#xff0…

ubuntu通过smba访问华为设备

文章目录 ubuntu通过smba访问华为设备华为设备设置ubuntu设置访问测试 ubuntu通过smba访问华为设备 华为设备设置 华为设备在华为分享一栏下有共享至电脑的选项,打开即可,这里会创建用户名和密码进入设置 -> 关于手机/平板电脑 -> 状态信息&…

Android 10.0 mtk平板camera2横屏预览旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,所以就需要看下mtk的camera2的相关预览功能,然后看下进入 launcher camera的时候看下如何实现预览横屏显示 如图所示: 2.mtk平…

【Linux】文件魔法师:时间与日历的解密(8/15完成)

欢迎来到 CILMY23 的博客 🏆本篇主题为:文件魔法师:时间与日历的解密 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法专题 | 代码…

Golang | Leetcode Golang题解之第390题消除游戏

题目&#xff1a; 题解&#xff1a; func lastRemaining(n int) int {a1 : 1k, cnt, step : 0, n, 1for cnt > 1 {if k%2 0 { // 正向a1 step} else { // 反向if cnt%2 1 {a1 step}}kcnt >> 1step << 1}return a1 }

数学建模强化宝典(6)0-1规划

前言 0-1规划是决策变量仅取值0或1的一类特殊的整数规划。这种规划的决策变量称为0-1变量或二进制变量&#xff0c;因为一个非负整数都可以用二进制记数法用若干个0-1变量表示。在处理经济管理和运筹学中的某些规划问题时&#xff0c;若决策变量采用0-1变量&#xff0c;可把本来…

upload-labs-master靶场通关攻略

第一关 上传并进行抓包&#xff0c;修改后缀为php 第二关 抓包修改后缀 第三关 改后缀为php3 第4关 使用Apache的配置文件.htaccess来上传文件 然后再上传php文件 第5关 使用.user.ini来上传文件 然后再上传jpg文件 访问upload目录下的readme.php文件 第6关 大小写绕过 第…

公钥密码学

1. 非对称密码学 非对称密码学&#xff08;Asymmetric Cryptography) 中的 “非对称” 指的是用于加密数据的密钥和用于解密数据的密钥是不一样的&#xff08;如果一样&#xff0c;那就是对称密码学&#xff09;。对称密码学也称为共享密钥密码学。类似地&#xff0c;非对称密码…

大模型笔记01--基于ollama和open-webui快速部署chatgpt

大模型笔记01--基于ollama和open-webui快速部署chatgpt 介绍部署&测试安装ollama运行open-webui测试 注意事项说明 介绍 近年来AI大模型得到快速发展&#xff0c;各种大模型如雨后春笋一样涌出&#xff0c;逐步融入各行各业。与之相关的各类开源大模型系统工具也得到了快速…

neural-admixture:基于AI的快速基因组聚类

最近学习祖源分析方面的内容&#xff0c;发现已经有了GPU版的软件&#xff0c;可以几十倍地加快运算速度&#xff0c;推荐使用&#xff01;小数据集的话家用显卡即可hold住&#xff0c;十分给力&#xff01; ADMIXTURE 是常用的群体遗传学分析工具&#xff0c;可以估计个体的祖…