一,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和名称