Linux基本指令

举报
游离 发表于 2023/03/08 19:39:55 2023/03/08
【摘要】 Linuxlinux是linus在1991年写出来的,如今linux已经是全世界第一大操作系统,它的市场份额远远超过windows linux应用范围服务器领域,绝大多数都是Linux嵌入式设备(路由器 冰箱 洗衣机 空调…)大多数是Linux移动端 的Android系统本质上也是Linux系统在桌面PC领域 ,Windows是绝对的王者我们最重要的是掌握通过命令行来操作Linux ...

Linux

linux是linus在1991年写出来的,如今linux已经是全世界第一大操作系统,它的市场份额远远超过windows

linux应用范围

  1. 服务器领域,绝大多数都是Linux

  2. 嵌入式设备(路由器 冰箱 洗衣机 空调…)大多数是Linux

  3. 移动端 的Android系统本质上也是Linux系统

    在桌面PC领域 ,Windows是绝对的王者

我们最重要的是掌握通过命令行来操作Linux

Linux发行版

谈到Linux,其实它不是一个完整的操作系统,它是一个操作系统的内核(内核就是操作系统中最核心的东西)

完整的操作系统 = 内核 + 配套的应用程序

Linux内核是开源的,就有很多的公司/组织, 基于这个内核,搭配不同的应用程序,这就有了很多的发行版

常见的发行版:

image-20230222202958750

目前公司中最常见的是Redhat(红帽),但是收服务费

我们在学习阶段使用的是开源免费的centos

云服务器上有外网的ip,将程序放到云服务器上,就能让别人也能访问自己的程序

使用xshell中断来管理linux系统

image-20230222211544182

可以 看出来Linux一开始是没有图形化界面的,Linux是有图形化界面的,但是在服务器上基本都不会装,所以服务器上的Linux基本上都是命令行的形式

相比于图形化界面,命令行是很有优势的

  1. 命令行是生产力工具,一开始上手不是很容易,但是熟练了之后效率就会高很多
  2. 在网络远程操作的时候,传输命令的成本要比传输图形低很多,所以 同步性比较好
  3. 命令行特别适合"自动化",可以将一些重复性的操作进行批量化的处理

image-20230222212718164

root部分表示当前的用户名,Linux支持多个用户

@后面的字符串是在买服务器 的时候默认生成的

~的位置表示当前出于那个目录下面

~本身表示当前用户的"home"目录

$表示当前用户是普通成员,#号表示当前的用户是管理员

此处学Linux,最重要的是基本的指令,其实指令都是不难的,还是熟练度的问题,所以要多多练习指令

在xshell中切换全屏 : alt + enter

在xshell中清屏: ctrl + l

要想想要停止运行,就使用ctrl + c

在Linux的复制: ctrl + insert, 粘贴: shift + insert

其实在Windows上面也是支持的,但是常用的还是ctrl c/v

使用上下方向键就能查看之前敲过的命令,输入history也能查看之前的命令

关于目录操作的命令

ls 查看当前目录中的内容

ls是列出当前目录下都有啥文件

image-20230223201556650

深蓝色是文件夹(目录)

白色的是普通文件

浅蓝色的是链接文件(快捷方式)

这里的 / 是根目录

ls -l 的简写形式就是 ll (查看当前路径下有哪些文件)

linux和Windows一样,目录结构都是N叉树的结构,都是windows的根目录是"我的电脑", 但是在Linux上是没有盘符的概念的(没有什么C盘 D盘),全都是在 / 下面

ls是查看当前的目录下的文件

ls 后面跟上具体的路径,就可以查看指定目录的内容

ls -l (也就是 ll ),可以以列表的形式来查看目录下的文件

pwd 查看当前所处的绝对路径

image-20230223203043251

可以看出来,一开始出于根目录下( / ), 通过cd root ,当前的路径就变成了/root

cd 切换当前的目录

cd / 直接调到根目录下

cd在切换目录的时候,后面可以跟上绝对路径或者相对路径

image-20230223203916833

要是不想使用相对路径,也是可以直接使用 cd root/ 的

touch 创建一个新文件

image-20230223210828300

cat 显示文件的内容到控制台上

echo 将想要的内容写到文件中

image-20230223212752982

echo本来的作用是将后面的内容打印的控制台上

通过 > (重定向)就能将内容写到指定的文件中

再使用cat 文件来打印到控制台上

但是cat(读), echo(写)确实能实现读写文件,但是写的时候每次都会清空文件内容再写进去,所以并不方便

更加常见的需求是在文件中进行"编辑"修改,只改动部分的内容

mkdir 创建目录

mkdir 后面可以是一个目录名,也可以是多个目录名,进一步就可以使用cd来进行切换目录了

可以使用 tree . 命令来展示目录的结构,这里 点号的意思是针对当前目录进行树形展示

但是使用tree . 命令的前提是包管理器安装了

yum -y install tree

image-20230223214527387

​ 这里可以直接使用 yum install tree的,但是中途会出现[y/d/N]确认

y就是yes 同意的意思

N就是no,不同意的意思

d是download的意思,也就是只下载不安装(install分为两个部分,一个是下载,一个是安装)

所以在上面安装tree的使用,使用了 -y 就是直接同意,也就是下载并安装

rm 删除

删除文件

rm + 文件名.格式(默认是./文件名.格式)

也可以使用绝对路径来删除

image-20230223215956412

在删除的过程中,会让我们确认删除,直接输入y就行了

要是不想确认,直接 rm 文件名.格式 -f (强制删除)

注意: 删除是很危险的操作,在Linux是没有回收站的,所以一定要谨慎

image-20230223220714723

删除目录

rm -rf 目录名

​ 目录是N叉树,所以可能有很多层,删除目录意味着要删除该目录下面的所有的子目录和文件,所以要使用递归®来删除目录,强制 f

image-20230223221437181

==注意==

rm -rf /这个操作是极度危险的,/是Linux的顶级目录 ,所有的目录和文件都是在/下面的,要是真是执行了这个操作就相当于是删库跑路,直接就G了!!!

但是有时候有可能会不小心敲出这个命令

rm -rf / root/java105.txt

这里就是在root前面多敲了一个空格,此时Linux就会理解成你想要删除根目录和后面的文件,所以照样还是删库了!!!那就完蛋了!

在centos7系统中存在一个防呆设计,它会让你确认一下是否真的要删除根目录,但是并不是所有的系统都是有防呆设计的,要是真的多敲了一个空格,就真的完蛋了!

所以执行rm命令的时候一定要多加小心,一定要万分谨慎!!!

mv 移动 重命名

image-20230224144627109

mv在移动的时候还能有重命名的作用

image-20230224144815794

mv还能重命名

image-20230224145029868

所以mv既可以移动文件和命令,又可以重命名

cp 复制 重命名

image-20230224145610069

cp(复制)和mv(移动)一样,都能进行重命名文件/目录

image-20230224145757039

cp复制文件的时候可以直接使用,但是要复制目录的时候要加上 -r (递归)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3JCXeP0I-1678273754841)(…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20230224150253482.png)]

总结

以上一共提到了10个命令

ls

pwd

cd

touch

cat

echo

mkdir

rm

mv

cp

应该回忆一下,都是比较常用的命令

vim

vim算是Linux上的记事本,能针对文件进行编辑,但是vim还是比较有难度的,所以这里只是介绍一下vim的简单使用

如何打开文件

vim 文件名(绝对路径或者相对路径)

如何编辑文件

在vim中为了提高效率,引入了很多的快捷键,在默认情况(普通模式)下按下的都是快捷键,并不能输入,要是想输入,就要 进入到插入模式(insert)

按 i 进入插入模式

image-20230224151746317

如何保存退出

想要退出,首先要按esc回到普通模式(要是已经回到了普通模式的话,界面的左下角就会什么都没有),之后输入 :wq ,进行保存退出

要是返回到普通模式,不能退出了,可以使用:q! 来强制性退出

grep 文本查询

grep是文本查询,查询一个文件是否包含匹配的字符串

image-20230224193646899

image-20230224193829039

ps aux 进程展示

这里的ps是process show 的意思,也就是展示当前的进程

但是直接输入ps是不完整的进程,所以要显示完整的进程,就要使用 ps aux

这里的ps aux 会出现所有的进程,所以会很多,所以要进行一下筛选使用grep

image-20230224194938449

这里的 | 叫做管道操作,就是将前面的输出作为后面的输入

netstat -anp查看网络状态

使用netstat是用来查看绑定的端口号

这里的查看某个进程的端口绑定情况,也会有很多,所以还是要配合grep 来 进行文本的查询

image-20230224195543385

在实际的工作中,主要是使用ps aux 来查看服务器进程是否存在, 使用netstat -anp 来查看服务器端口是否正确绑定

查看某一个文件的绝对路径

locate 文件名.格式

image-20230302183616413

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。