ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Linux基本使用和程序部署

Linux基本使用和程序部署

一,Linux背景知识

1.1 Linux是什么

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

1.2 Linux 发行版

Linux严格意义上来说只是一个操作系统内核

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

由于Linux是一个完全开源免费的内核,因此有些公司/开源组织又基于Linux内核,提供了不同的配套程序,构成了不同的发行版

企业中主要使⽤的发⾏版是RedHat(红帽),CentOS(RedHat的社区免费版本)和ubuntu.但是RedHat 是收费的, CentorOS官⽅在2020年12⽉份通知:2021年底停⽌维护CentOS8,2024年6⽉30⽇停⽌维护 CentOS7,后续将⽆法获得官⽅升级和补丁

1.3 Linux的优势

1. 开源(意味着免费,便宜)

2. 稳定(Linux可以运⾏很多年,都不会发⽣重⼤问题)

3. 安全(Linux只有管理员或者特定⽤⼾才能访问Linux内核)

4. ⾃由(不会被强加商业产品和服务)

5. 社区⽀持(Linux在全球社区都⾮常活跃和使⽤⼴泛,有很多志愿者在线帮⼤家解决问题)

1.4 Linux的基础使用

基础命令

Linux 虽然也有图形化界面,但是在服务器/嵌⼊式设备上往往都是通过命令行的方式操作的。因此学习Linux命令就是使用Linux的重要基础

使⽤命令相⽐于使⽤图形界⾯主要有以下好处:

• 节省系统资源:运⾏图形界⾯需要让系统付出⼀些额外的资源开销.尤其是对于配置⽐较低的嵌⼊ 式设备,这⼀点⾄关重要.

• 节省⽹络带宽:如果通过⽹络访问服务器,使⽤图形界⾯需要传输⼀帧⼀帧的图像,⽽使⽤命令只需要传输简单的字符串.

便于批量执⾏任务:可以通过⼀些"脚本"代码(⽐如LinuxShell)来批量执⾏⼀些任务,完成⼀些简单的编程⼯作.(⽐如定时备份⽂件,删除⽂件等).

二,Linux常用命令

ls

语法:ls[选项][目录或文件]

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

常用选项:

· -a 列出该目录下的所有文件,包括以 . 开头的隐含文件

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

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

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

• -r 对⽬录反向排序。

• -t 以时间排序。

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

pwd

语法: pwd

功能:显⽰⽤⼾当前所在的⽬录

cd

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

语法:cd⽬录名

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

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

touch

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

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

cat

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

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

常⽤选项:

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

cat会把所有的文件内容都显示在屏幕上,所以cat适合小的文件

和cat同样用于查看文件的还有more(一次显示一页的内容,ctrl+c退出)、less(进入另一个页面查看文件的内容,:q 退出),head(默认是显示十行的内容,采用-n 的形式来显示指定行数的内容,比如-50则显示50行的内容),tail(采用-n 的形式显示文件内容末尾n行的内容)

vim

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

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

1) 创建⽂件/打开⽂件

vim [⽂件名]

2) 进⼊插⼊模式

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

使⽤i键可以进⼊到插⼊模式.(左下⻆提⽰--INSERT--)然后就可以像记事本⼀样正常编辑了.

3) 保存

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

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

4) 退出

在插⼊模式下不能退出,需要先回到普通模式. 退出时,分以下情况:

①⽂件未修改: 输⼊ :q ,再按下回⻋,即可退出

②⽂件修改并保存: 使⽤ :wq 同时执⾏保存和退出.

③⽂件修改,但不希望保存: 使⽤ :q! 进⾏强制退出

④保存冲突,强制保存::wq!

w:保存

q:退出

!:强制

rm

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

功能:删除⽂件或⽬录 常⽤选项:

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

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

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

cp

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

功能:复制⽂件或⽬录

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

常⽤选项:

•-f 或 --force 强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在

•-i 或--interactive 覆盖⽂件之前先询问⽤⼾

•-r递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号 链接,则⼀律视为普通⽂件处理

•-R或--recursive递归处理,将指定⽬录下的⽂件及⼦⽬录⼀并处理

mkdir

语法:mkdir[选项]dirname...

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

常⽤选项:

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

mv

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

功能:

1. 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其移⾄⼀个新的⽬录中。

2. 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。

3. 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄⽬标⽬录中。

常⽤选项

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

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

grep

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

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

选项:

•-n显⽰的⾏数

•-w全字匹配.要求整个单词都完全相同的结果才能匹配出来,⽽不仅仅是⼀个单词的⼀部分.

•-r递归查找.可以搜索多级⽬录下的所有⽂件.

•--color ⾼亮查找到的结果

•--include 指定查找某些⽂件

•--exclude指定排除某些⽂件

ps

语法:ps[参数]...

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

选项:

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

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

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

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

• f显⽰完整格式输出

netstat

语法:netstat[参数]...

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

选项:

•-a显⽰所有正在或不在侦听的套接字

•-n显⽰数字形式地址⽽不是去解析主机、端⼝或⽤⼾名

•-p显⽰套接字所属进程的PID和名称

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进