Linux 的常用命令

观前提示:本篇博客演示使用的 IDEA 版本为2021.3.3版本,使用的是Java8(又名jdk1.8)

前端使用VSCode(Visual Studio Code1.78.2)

电脑使用的操作系统版本为 Windows 10


目录

Linux 是什么

Linux 发展史

Linux 环境搭建

1. 虚拟机

2. 物理机

3. 使用 WSL

4. 云服务器

5. 实体服务器

云服务器

终端软件

XShell

Linux 常见命令

CTRL + L

ls

pwd

cd

Linux 文件权限示意图

touch

cat

echo 

注意区分 ls 和 cat 的区别 

Vim 文本编辑器

Vim 退出

 Vim 模式

插入模式: i

保存退出 :wq

mkdir

-p

touch 和 mkdir 的区别

rm 

mv

 移动演示​编辑

改名演示

cp 


Linux 是什么

Linux 是一个操作系统. 和 Windows 是 "并列" 的关系

日常用户主要是使用 Windows 系统, 而公司服务器 主要是 Linux 系统

Windows 是通过图形化界面进行操作, 而 Linux 则是通过命令行进行操作

Linux 使用命令操作的原因:

1. 服务器虽然配置高, 但是上面运行的任务多, 没有额外资源运行图形界面, 并且服务器要求稳定, 而图形化界面经常有 bug

2. 嵌入式设备配置比较低, 运行图形化界面也比较吃力

3. Android 本身有图形化界面, 也稳定好用
 

Linux 发展史

Linux 的发展历程可以追溯到上个世纪 90 年代初期。当时的计算机操作系统市场主要由 Microsoft Windows 和 Mac OS X 控制,而 Linux 则是由一些程序员在互联网上自愿开发的,它最初是基于 Unix 系统的设计。

1991 年,芬兰大学生林纳斯·托瓦兹(Linus Torvalds)开始着手开发一款操作系统内核,他将其命名为 “Linux”(Linux = Linus + Unix)。这款内核被上传到互联网上供其他开发者使用和改进。

1992 年,Richard Stallman 成立了自由软件基金会,将 GNU 计划作为旗帜,他的目标是打造一个自由的操作系统,其中包括了许多可自由使用、分发和修改的软件工具。而 Linux 内核则成为了 GNU 系统中的一部分。

在接下来的几年里,Linux 社区不断壮大,越来越多的开发者加入其中,为 Linux 内核和相关软件贡献代码。1993年,第一个 Linux 发行版 SLS(Softlanding Linux System)发布,之后又陆续推出了 SlackWare 、 Debian 、 RedHat 等多个流行的 Linux 发行版。

随着互联网的飞速发展,越来越多的公司开始看到 Linux 的商业价值,他们基于 Linux 开发了许多企业级软件,并提供相应的支持和服务。1998 年,Red Hat 公司成立,开始提供商业化的 Linux 发行版和技术支持服务。

21 世纪以来,Linux 在服务器、移动设备、嵌入式系统等领域得到了广泛的应用和推广,已经成为了全球最受欢迎的开源操作系统之一。同时,Linux 也在不断的发展和完善,现今已经成为了一个庞大而复杂的生态系统,拥有众多的发行版和应用软件,被广泛应用于云计算、虚拟化、人工智能等领域。

Linux 环境搭建

想要使用 Linux 需要搭建环境

一般情况下有四种选择:

1. 虚拟机

在电脑上装一个虚拟机软件, 在虚拟机上面装系统

缺点: 1. bug 多. 2. 没有外网 ip

2. 物理机

直接整一个电脑上面装 Linux 系统, 不使用 Windows 系统

缺点: bug 更多,因为需要图形化界面

3. 使用 WSL

Windows 搞的一个功能, 在 Windows 里面内置了 Linux 内核

缺点: 不能作为生产环境, 因为微软并未基于生产环境负载设计或构建 WSL

4. 云服务器

阿里,腾讯,华为等提供的服务器,直接买就行了

优点: 有外网ip,项目部署上去就可以被访问到

缺点: 要钱, 低配的价格还好,高配价格贼高

5. 实体服务器

不卖他们的服务器,自己组服务器

优点: 方便,想要什么配置弄什么配置

缺点: 需要会维护服务器

云服务器

本篇博客使用阿里的云服务器,因为他可以免费使用七个月

选择服务器的时候,选择系统镜像 Centos 7系列

买完服务器就可以登录了,设置密码的时候记得设置复杂,密码忘了就重置

设置完之后就有了三个信息

1. ip

2. 用户名 (root)

3. 密码 (自己设置的)

终端软件

使用终端工具进行登录, 虽然网页上也有登录入口, 页面内置了登录功能, 但是不太方便, 还是使用单独的终端工具进行登录

XShell

推荐使用 XShell

安装完成,启动 XSheel

输入密码

 

看到这个代表登录成功

 

Linux 常见命令

CTRL + L

Linux 清屏

ls

 ls: 查看指定目录中, 都有那些内容

语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-r 对目录反向排序。
-t 以时间排序。
-R 列出所有子目录下的文件。(递归)

 

下面以 ls -l 进行举例子

打开 Xshell 连接上你的云服务器,输入 ls 

你可能是这种情况

ls

也可能是这种情况 

不用担心是不是操作除了问题, 因为 ls 是查看当前目录中的内容, 第一种情况就是因为当前位置是空的,啥也没有,所以既不显示东西,也没有报错

第二种一般是 ls 配合 /,写法如下

ls /

ls空格/

给 ls 后面加上一个路径(相对/绝对), 就可以查看指定目录中的内容

/ 是"根目录"的意思

 目录,文件,这些内容存在电脑里,构成了一个 N 叉树结构, / (此电脑) 就是树根节点

Linux 没有盘符概念,不分 C盘, D盘

Linux树状文件系统结构示意图

观察上图可以发现, / 在 Linux 中的地位和 Object 在 Java 中的地位一样

ls -l /

注意: 1 I l ,分别是数字1, 大写 i, 小写 L .注意观察,不要总结规律,因为字体不同效果不同 

相比较于 ls -l, 更常使用 ll

ll

pwd

pwd: 查看目录当前完整的绝对路径

pwd

cd

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

语法: cd 目录名

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

cd

举例:

cd .. : 返回上级目录

cd ~:进入用户家目

cd -:返回最近访问目录


几个特殊的目录:

/ 称为根目录

. 称为当前目录

.. 称为当前目录的上级目录
 

cd 后面可以是相对路径,也可以是绝对路径

绝对路径就是用 / 开头, 相对路径就是用 . 或者 .. 开头. 其中 . 有时候可以省略

进到 root/etc 使用 ll 看看

页面很长,就不放出来全部了

小技巧: 使用 cd 切换路径的时候,不需要输入全部的 字母,可以 使用 tab 键补全

如果只有一个匹配的选项就自动补全了, 如果有多个选项, 需要双击 tab 才能列出所有的匹配结果

使用 ctrl + c 重新输入

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

Linux 文件权限示意图

touch

语法: touch [选项]... 文件...
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

touch java_0608.txt

在那个目录下面, 文件就会创建在哪里

创建完发现没有任何消息提示, 有句话说得好,没有消息就是好消息

没有消息说明成功了,如果出现问题就会有消息

想要查看文件是否创建成功,使用 ll 来看

cat

语法:cat [选项] [文件]
功能: 查看目标文件的内容

cat java_0608.txt

当前文件为空.所以什么都看不到

这个文件不为空,可以看到文件dd内容

echo 

echo 用来写文件,本身也是用来回显的

echo "hello world" > java_0608.txt

> 是覆盖

>> 是拼接

可以看出直接覆盖

 可以看出是拼接 

注意区分 ls 和 cat 的区别 

ls 是看目录里面有什么

cat 是看文件里面有什么

举个栗子: 你打开外卖APP, 看到各式各样的饭店,这就是 ll

当你点开某个饭店查看他具体有什么菜, 这就是 cat,

Vim 文本编辑器

Vim 是一款功能强大的文本编辑器,最初由 Bram Moolenaar 在上个世纪 90 年代开发,是 Unix 和 Linux 操作系统中最流行和常用的文本编辑器之一。Vim 的名字是 “Vi Improved”(Vi 的增强版)的缩写,它是在 Vi 文本编辑器基础上进行了改进和拓展,增加了许多方便快捷的编辑功能,使得它成为了程序员、系统管理员等专业人士的首选编辑工具之一。

Vim 具有丰富的功能和灵活的配置选项,它支持多种编辑模式,包括命令模式、插入模式、可视模式等。在命令模式下,用户可以输入各种命令来实现文本操作,比如搜索、替换、移动光标、删除等。在插入模式下,用户可以像在其他编辑器中一样直接输入文本。而在可视模式下,用户可以轻松地对文本进行选择和编辑。

Cat 和 Echo 只是简单粗暴的读写文件,读写内容非常简单,使用他们没有问题,如果读写内容更复杂的,就需要使用更强大的编辑器了。
Vi/Vim 就是 Linux 上默认的自带的记事本程序。
Vim 是 Vi 的升级版本,用法差不多,文篇博客重点介绍 Vim

在 Xsheel 中复制粘贴不再是 ctrl +c(复制), ctrl +v(粘贴) .  ctrl +c 在终端中有特殊含义: 终止当前运行的程序

而 Xsheel 中复制粘贴则是: ctrl + insert(复制), shift + insert(粘贴), Windows 也支持这个

Vim 退出

vim java_0608.txt

输入完上面的命令按下回车会直接进入 vim 

进去以后,会发现不知道怎么操作,怎么退出

先输入 :,q 再按下回车,就可以退出了

就会回到这个页面

 Vim 模式

vim 最核心的概念: 模式(mode)

进去以后,默认是普通模式(normal mode), 普通模式下, 键盘的大部分按键都是有特定含义的快捷键

插入模式: i

进行编辑的时候, 需要进入插入模式(insert mode), 输入小写字母 i ,就能进入插入模式

先进入 vim, 在按 i. 左下角的提示会变成 insert, 此时处在插入模式

 此时就可以随意编辑了

保存退出 :wq

按下 esc, 回到普通模式(vim中的模式有十几种, 都是按 esc 回到普通模式)

接着按下 :wq 保存退出即可

:wq

注意: 如果 vim 没有正确关闭, 在下次启动的时候,会报错, 提示说你上次没有正确关闭, 可以直接按 D 删除未保存内容, 按 R 恢复之前编辑的内容

mkdir

语法:mkdir [选项] dirname...
功能:在当前目录下创建一个名为 “dirname”的目录
 

在 root 里面创建 java 文件夹

-p

创建多级目录

mkdir -p aaa/111/222/333/444

touch 和 mkdir 的区别

touch(创建空文件)命令用于创建一个新的文件,或者更新已有文件的时间戳信息,它的语法如下:

touch file1.txt

这条命令将创建一个名为 file1.txt 的空文件,如果 file1.txt 文件已经存在,则 touch 命令将更新 file1.txt 文件的访问和修改时间为当前时间。

而 mkdir(创建目录)命令则用于创建一个新的目录(也就是所谓的文件夹),它的语法如下:

mkdir dir1

小结,touch 命令用于创建空文件或更新文件时间戳,而 mkdir 命令用于创建新目录。

rm 

语法:rm [-f-i-r-v] [dirName/dir]
功能:删除文件或目录


常用选项:
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

 

就拿刚刚用 -p 创建的来测试删除

rm -rf /root/java/aaa

如上所示,我在 root/java 里面创建了一个 1.txt 的文件 

现在来删除他

当 rm 后面跟着文件名,他会询问是否删除,y 就删除,不删除就输入其他的

输出 y ,就删除了 

询问是否删除不取决于删除的是目录还是文件,取决于是 rm 文件. 还是rm -rf /文件.

注意: 

rm -rf/

上面这条语句是递归的删除根目录

r: 递归

f: 不确认,强制删除

Linux 没有回收站,当你打出这条指令并且执行的时候,你的 Linux 就会无了(东西全删, 根目录 都不给你留下)

这个操作,是很多人都会触发的操作,倒不是删库跑路,而是

rm -rf / root/java/1.txt

rm -rf空格/空格root/java/1.txt

这条指令,多敲了一个空格

rm 认为你删除两个目录

1. /

2. root/java/1.txt

mv

语法: mv [选项] 源文件或目录 目标文件或目录


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


常用选项
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

 

新建三个目录用来测试

在 aaa 里面创建一个 1.txt

 移动演示

改名演示

cp 

语法:cp [选项] 源文件或目录 目标文件或目录


功能: 复制文件或目录


说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在
的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的
目的地并非一个已存在的目录,则会出现错误信息

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

 

cp(copy) = 复制 + 粘贴

 把 java_0608.txt 复制粘贴到 java 里面去

注意:

mv 如果移动的是目录, 此时操作和移动文件没有区别

cp 如果拷贝的是目录, 需要加上 -r 选项, 表示递归,否则会报错

补充:

grep 字符串查找

ps 查看进程

netstat 查看网络信息


本文完,感谢观看,不足之处请在评论区指出 !

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值