文章目录
一、初识Linux
我们的计算机由硬件和软件两部分组成,操作系统是软件的一类,主要作用是协助用户调度硬件工作,充当用户和计算机硬件之间的桥梁。
常见的操作系统有:
PC端:Windows、Linux、MaxOS
移动端:Android、IOS、鸿蒙系统
Linux的诞生:Linux是由林纳斯 托瓦兹在1991年创立并发展至今成为服务器操作系统领域的核心系统。
Linux的组成:Linux系统内核(内核提供最核心的功能,如:调度CPU,调度内存,调度文件系统,调度网络通讯,调度IO等),系统应用程序(可以理解为出厂自带程序,供我们用户快速上手操作系统,如文件管理器、任务管理器、图片查看等)
Linux系统发行版:内核无法被用户直接使用,需要配合应用程序才能被用户使用,在内核之上,封装系统应用程序,组合在一起就称之为Linux发行版
什么是图形化操作,什么是命令行操作?
图形化操作是指使用操作系统附带的图形化页面,以图形化的窗口形式获得操作反馈,从而对操作系统进行操作,使用
命令行操作是指使用各种命令,以文字字符的形式获得操作反馈,从而对操作系统进行操作,使用(我们Linux操作系统使用的是命令行形式,因为Linux操作系统的图形化页面不好用且不稳定,使用命令行的形式操作更加高效且稳定资源占用低)
Linux目录结构
Linux的目录结构是一个树型结构
Windows系统可以拥有多个盘符,如C,D,E盘
Linux没有盘符这个概念,只有一个根目录 /,所有的文件都在它下面
在Linux系统中,路径之间的层级关系,使用:/表示
在Windows系统中,路径之间的层级关系,使用:\来表示
出现在开头的 /表示根目录,出现在后面的/表示层次关系
二、如何拥有一个Linux环境?
1.使用虚拟机
在你的电脑上装个虚拟机软件(使用软件模拟硬件),就能在虚拟机上装系统了,但是没有外网ip,bug较多,不太推荐
2.使用物理机
直接将linux装在电脑上安装windows,但是Linux桌面使用起来不友好,这个操作难度比较大也不太推荐
3.使用wsl
windows内置了linux内核,近几年windows搞得新功能,但是技术不够成熟不能作为生产环境,这里也不太推荐
4.使用云服务器(强烈推荐)
我们可以直接在腾讯云、阿里云、华为云厂商直接购买一个云服务器,我们就有了外网ip,当我们把项目部署上去之后,就可以被外面访问到了
如果你是学生购买服务器优惠力度极大,阿里云学生认证还可以免费领取几个月
大家需要注意的是,我们在购买服务器时,机房选离自己比较近的,系统镜像选择centos 7,该发行版是市面上比较流行的
点进去就能看到自己的机器,然后会提供一个公网ip,如果是首次使用需要设置一个密码,现在我们就有了三个信息:ip、用户名(root)、密码,我们就可以使用这三个信息在终端就行登录了,我们这里的终端工具使用的是xshell
这里我们的邮箱填写自己的,然后选择两者(终端 + 图形化),然后点击下载就会将下载链接发到自己的邮箱了
看到这个命令提示符,证明我们连接成功了
三、Linux命名
Linux命令基础
命令行:即Linux终端(Terminal),是一种命令提示符页面,可以使用各种字符化命令对系统发出操作指令
命令:即Linux程序。一个命令就是一个Linux程序,在命令行提供字符化的反馈
Linux,命令通用格式:
command[-options][parameter]
command:命令本身
-options:[可选,非必填]命令的一些选项,可以通过选项来控制命令的行为细节
parameter:[可选,非必填]命令的参数,多用于命令的指向目标等
语法中[]代表可选的意思
ls
ls命令的作用是列出目录下的内容
ls[-a -l -h][Linux路径]
当我们不使用选项和参数时,直接使用ls时,以平埔的方式列出当前目录下的内容
我们直接输入ls命令,列出当前工作目录下的内容。
-a选项,表示all,即列出全部文件(包含隐藏的文件/文件夹)
图中以 .开头的,表示的是Linux系统中隐藏的文件/文件夹
-l选项,表示以列表的形式展示内容,展示更多信息
我们经常使用 ll 代替 ls -l
我们语法中的选项是可以组合使用的,比如 -a -l
ls-l -a
ls-la
ls-al
上述三种写法都是一样的,同时应用 -a -l的功能
-h的作用是列出文件的大小,K、M、G,-h必须搭配-l一起使用,因为-l才会列出文件大小的属性
cd pwd
cd(Change Directory)命令,更改当前所在的工作目录
cd[Linux路径]
cd无需选项,只有参数,表示切换到那个目录下,如果cd直接执行不写参数,root用户之间切换到root工作目录,其他用户回到HOME目录
我们在使用cd的时候,切换的路径不一定要一个一个字母输入,可以使用tab键不全,如果只有一个匹配的选项直接就补全了,如果有多个选项,双击tab列出所有匹配结果
pwd(Print Work Directory):查看当前工作目录
特殊路径符
绝对路径与相对路径:
绝对路径:以根目录为起点描述路径的一种写法,以 /开头
相对路径:以当前目录为起点,描述路径的一种写法,无需/开头
如果我们目录想要回退一级,如何做?我们可以使用cd,直接回到初始目录,也可以使用特殊路径符来完成
特殊路径符:
. 表示当前目录
.. 表示上一级目录
~ 表示初始目录
大家需要注意 cd 和特殊路径符之间是有空格的
clear
clear:清空Linux终端的命令,主要是为了解决终端命令太多了清除一下,其实ctrl + l也是可以做到该功能的
mkdir
mkdir(Make Directory):创建新的目录
mkdir[-p] Linux路径
参数是必填的,表示Linux路径,即要创建文件的路径,-p可选表示自动创建不存在的父目录,适用于我们创建连续多层级的目录
我们来试着创建一个多级目录
这样创建多级目录会报错,因为snut不存在,所以无法创建zd,我们可以通过-p选项,将整个目录全部创建
大家需要注意:创建文件夹需要限权问题,如果你不是root用户,请确保操作在HOME目录内,否则会创建失败
touch cat more
touch:创建文件
touch Linux路径
大家也可以通过颜色来分别目录和文件 ,也可以通过ls -l去判断,d开头是文件夹,-是文件
cat:查看文件内容
cat Linux路径
cat是直接将文件内容全部显示出来,more支持翻页,如果文件内容过多,可以一页页的展示
more:查看文件内容
more Linux路径
我们可以查看一个系统文件,再查看过程中,按空格翻页,按q退出查看
cp mv rm
cp(Copy):用于复制文件\文件夹
cp -r 参数1 参数2
-r用于复制文件夹使用,表递归,参数1表示被复制的文件或文件夹,参数2表示要复制去的地方
当我们之间复制文件夹时报错了,需要加上-r选项
mv(move):用于移动文件\文件夹
mv 参数1 参数2
参数1表示被移动的文件或文件夹,参数2表示要移动的地方,如果目标不存在则进行改名
rm(remove):用于删除文件、文件夹
rm[-r -f] 参数1 参数2 ... 参数n
-r用于删除文件夹,-f(force)强制删除(不会弹有提示确认信息),普通用户删除不会弹所以用不到,root用户删除会有提示,多个参数表示删除的多个文件、文件夹,使用空格隔开
rm命令支持通配符*(匹配任何内容,包含空)来做模糊匹配:
test* 代表匹配任何以test开头的内容
*test 代表匹配任何以test结尾的内容
tets 代表匹配任何包含test的内容
rm是一个极其危险的命令,特别是处于root(超级管理员)时,谨慎使用
su
su - 切换用户
su - root 表示切换到root用户,需要输入密码
按exit命令退回普通用户
which find
大家需要注意我们在前面学习的这么多命令,实际上他们都是一个个二进制可执行程序,和windows中的.exe文件是一个意思,我们可以通过which命令,查看一系列命令程序文件存放在那里
which 要查找的命令
find:按文件名查找文件
跟windows的该功能一致
find 起始路径 -name "被查找文件名"
同样find命令,支持使用通配符*做模糊查询
find:按文件大小查询文件
find 起始路径 -size +|-n[KMG]
+、-表示大于小于,n表示数字大小,KMG表示单位,kb,MB,GB
grep wc 管道符
grep:从文件中通过关键字过滤文件行
grep[-n] 关键字 文件路径
选项-n显示匹配结果行的行号,关键字建议使用""(防止有特殊符号)包围起来,文件路径可作为内容输入端口
wc:统计文件行数,单词数量等
wc[-c -m -l -w] 文件路径
-c统计bytes数量,-m统计字符数量,-l统计行数,-w统计单词数量,文件路径可以作为内容输入端口
管道符 | :将管道符左边命令的结果,作为右边的输入
ehco tail 重定向符
echo:在命令行输出指定内容,和print比较类似,建议将内容使用""包围
echo 输出内容
**反引号** : 被反引号
包围的字符会当作命令执行
重定向符: > 将左侧命令的结果,覆盖写入到右侧指定文件中,>>将左侧命令的结果,追加写到右侧指定文件中
tail: 查看文件尾部内容,跟踪文件的最新更改
tail[-f -num] Linux路径
路径表示跟踪的文件路径,-f表示持续跟踪,-num填入具体数字,查看尾部多少行,默认是10行
我们来加入-f试一下
我们发现持续追踪后,程序一直在运行没有结束
我们复制一个会话写入内容
我们的持续追踪立马就显示了内容,那我们如何结束持续追踪呢,按Ctrl + C
ps
ps:用于查看当前系统上运行的进程
ps[-a -u -x]
-a 显示一个终端的所有进程,-u以用户为主的格式来显示程序状况,-x显示所有程序,不以终端机来区分
ps aux |grep"进程名"ps aux |grep"进程id"
netstat
netstat:查看系统上的网络状态
netstat[-a -n -p]
-a 显示所有正在或不在侦听的套接字,-n显示数字像是地址而不是去解析主机、端口或用户名,-p显示套接字所属进程的PID和名称
netstat -anp
netstat -anp |grep"进程名"netstat -anp |grep"端口号"
vi vim
vi\vim是visual interface的简称,是Linux最经典的文本编辑器,vim是vi的加强版,兼容vi的所有指令,不仅能编辑文本,还具有shell程序编辑的功能,可以根据不同颜色的字体辨别语法的正确性
vi\vim编辑器有三种工作模式:
命令模式(Command mode): 所有按键编辑器都理解为命令,驱动执行不同功能,在此模式下不能自由进行文本编辑
输入模式(Insert mode): 所谓的编辑模式,插入模式,在此模式下可以对文件进行自由编辑
底线命令模式(Last line mode): 以: 开始,通常用于对文件的保存、退出
vim 文件路径
如果文件路径不存在,会编辑新文件。如果文件存在,编辑已有文件
快速入门:
1.输入 vim test1.txt,编辑一个新文件,执行后进入的是命令模式
2.在命令模式下按i,进入插入模式
3.在输入模式下输入:hello vim
4.输入完成后,按Esc回退到命令模式
5.在命令模式下,按: 进入底线命令模式
6.在底线命令模式输入 :wq,保存文件并退出vim编辑器
进入命令模式,按i进入输入模式
输入hello vim
按Esc退出插入模式
在命令模式按:进去底线命令模式,输入:wq保存并退出
底线命令模式命令:
命令作用:wq保存并退出:q退出:q!强制退出:w保存:set nu显示行号:set paste设置粘贴
版权归原作者 熬夜磕代码丶 所有, 如有侵权,请联系我们删除。