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

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

在这里插入图片描述

文章目录

  • 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.mzph.cn/bicheng/53064.shtml

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

相关文章

使用 Eigen 库中的 Kronecker 积运算

前言 在数值计算和线性代数的众多应用中,Kronecker 积(Kronecker Product)是一种常用的矩阵运算。Eigen 是一个高性能的 C 数值计算库,广泛用于科学计算和工程应用中。在 Eigen 库中,Kronecker 积运算属于不常用的扩展…

Linux 进程概念

冯诺依曼体系结构 我们常见的计算机,大部分都遵守冯诺依曼体系结构 关于冯诺依曼的注意点 1.这里的存储器指的是内存 2.不考虑缓冲情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备) 3.外设(输入或输出设备)要输入或者输出…

自定义校验--校验json长度

mysql8中支持json格式的字段,某些情况下使用很方便,但也带来一个问题,就是它的最大长度不能设置,最大支持4GB,如果有恶意程序保存一条4GB的数据进去,估计这张表就要卡死了,所以要加一个自定义校验&#xff…

学习周报-2024.8.31

目录 摘要 Abstract 创新点总结 模型数学原理 实验设置 一、验证实验 二、对比实验 摘要 这周重新梳理出论文的三个创新点,对所提出方法进行数学原理验证,证明其可行性。重新设置了实验部分,分为验证实验和对比实验,一共四…

真实较量|以挖矿告警闭环应急处置

背景 2024年6月18日,在公司关键位置部署的安全检测设备的告警日志中,发现大量挖矿软件请求矿池的告警事件。安全运营人员已经进行了相关处置,但是由于攻击者手法的隐蔽未处理干净,一直产生告警信息。 行动 通过与服务器运营人员…

Django+vue自动化测试平台(29)--测试平台集成playwright录制pytest文件执行

需求背景 一、 系统目标与功能概述 脚本管理: 系统需要能够组织和存储所有通过playwright官方插件录制的脚本。这包括脚本的上传、编辑、删除和版本控制功能。 脚本执行: 用户应该能够在后台界面上查看所有可用的脚本,并能够通过简单的点击操作来启动特定脚本的执…

【行测笔记】

题型 判断推理题型 1. 图形推理 位置规律-元素组成相同 横着看竖着看旋转翻折对称 样式规律-元素组成相似 元素组成相同 相同线条重复出现 相加相减旋转求同求异黑白加减规律 特征:图形轮廓和分割区域相同,内部颜色不同方法:相同位置运算…

python学习11-Pytorch环境安装与模型搭建

先查看下自己的电脑是否是英伟达显卡 如果不是就需要租用平台了,如 AutoDL算力云 https://www.autodl.com/home CUDA 当涉及到深度学习和 Python 时,CUDA 是一个非常重要的概念,它是 NVIDIA 开发的并行计算平台和应用程序编程接口(API&am…

从源码到产品:视频美颜SDK与直播美颜插件的开发详解

开发一款高效的视频美颜SDK与直播美颜插件,不仅需要深入理解图像处理技术,还需要考虑到性能优化、跨平台支持等多个方面的挑战。接下来,笔者将从源码开发的角度,详解视频美颜SDK与直播美颜插件的开发过程。 一、视频美颜SDK的核心…

仿华为车机功能之--修改Launcher3,实现横向滑动桌面空白处切换壁纸

本功能基于Android13 Launcher3 需求:模仿华为问界车机,实现横向滑动桌面空白处,切换壁纸功能(本质只是切换背景,没有切换壁纸)。 实现效果: 实现思路: 第一步首先得增加手势识别 第二步切换底图,不切换壁纸是因为切换壁纸动作太大,需要调用到WallpaperManager,耗…

asp.net core在win上的发布和部署

一、asp.net core两种发布方式 1、两个发布方式——【框架依赖发布】和【独立发布】 2、两种发布方式的差别 二、发布的详细过程 1、【生成】->【发布】 2、框架依赖发布 设置发布参数,然后进行发布 发布好的文件,把它们放到一个新的目录文件夹里 …

浏览器播放RTSP流,支持H264、H265等格式,支持IE、Chrome等浏览器

目录 背景 解决方案 效果 代码 前端代码 后端代码 下载 背景 项目中需要在浏览器中播放RTSP流,实在是不想折腾ActiveX控件 1、麻烦(开发麻烦、使用时设置也麻烦) 2、非IE浏览器不兼容 解决方案 使用OpenCvSharpNancy写一个解码服…

中仕公考怎么样?省考笔试成绩什么时候出?

根据往年的经验,省考笔试的成绩通常在考试后的大约一个月左右公布,但具体日期会根据各省份的公告而有所差异,不同省份具体时间不同,以2024年的为例: 广东省预计于笔试后约30天发布、山东省预计于笔试后约35天发布、浙…

Python计算机视觉四章-照相机模型与增强现实

目录 4.1针孔照相机模型 4.1.1照相机矩阵 4.1.2 三维点的投影 4.1.3 照相机矩阵的分解 4.1.4 计算照相机中心 4.2 照相机标定 4.2.1 一个简单的标定方法 4.3 以平面和标记物进行姿态估计 4.4 增强现实 4.4.1 PyGame和PyOpenGL 4.4.2 从照相机矩阵到OpenGL格式 4…

2024结构振动与智能控制国际学术会议(ICSVIC 2024)

文章目录 一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题六、咨询 一、会议详情 二、重要信息 大会官网:https://ais.cn/u/vEbMBz提交检索:EI Compendex、IEEE Xplore、Scopus 三、大会介绍 四、出席嘉宾 五、征稿主题 如想"投稿…

Day 1 : 数据结构

引入 以张三为例:CEF不能同时举办。 数据的逻辑结构 数据结构是什么 研究计算机数据之间的关系 逻辑结构和存储结构及其操作 基本概念 数据 数据元素 逻辑结构 按前趋和后继数将逻辑结构分为:线性结构和非线性结构。 即:找前…

Activity的生命周期

目录 前言 Activity的生命周期 五种状态 生命周期相关方法 前言 Android中有着四大组件:Activity、Service、ContentProvider和BroadcastReceiver。本篇我们主要讲解的是Activity组件,它是安卓提供给用户与手机之间进行交互的界面 控件,那…

基于SSM的咖啡馆管理系统

基于SSM的咖啡馆管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatisJSP工具:IDEA/Ecilpse、Navicat、Maven 系统展示 前台界面 后台界面 摘要 在当前这个信息爆炸的时代,众多行业正经历着…

win10环境下gvim离线配置插件的一些补充

0 总述 在上一篇博客,即《Windows系统下使用gvim配置LaTeX快速书写环境》一文中,本小白试图模仿神级人物Gilles Castel,打造vim下的 LaTeX \LaTeX LATE​X书写环境。实话实说,东施效颦了。虽不至于一无所得,但也仅仅算…

UE5开发——射击武器类拾取

整体框架: 拾取武器 要在 Unreal Engine 5 (UE5) 中实现一个按 E 键拾取武器的功能,您可以遵循以下步骤: ### 步骤 1: 创建拾取物品的基础类 1. 在 Content Browser 中创建一个新的 C 类,继承自 AActor 或者 AStaticMeshActor。…