Linux基本使用
文章目录
- 【JavaEE】Linux基本使用
- 1. 如何获取一个Linux的环境
- 2. 终端软件来远程登录
- 3. Linux基本使用
- 3.1 命令提示符
- 3.2 ls
- 3.3 cd
- 3.4 pwd
- 3.5 touch
- 3.6 cat
- 3.7 man
- 3.8 echo
- 3.9 vim
- 3.9.1 打开文件
- 3.9.2 编辑文件
- 3.9.3 保存退出
- 3.9.4 vimtutor
- 3.10 mkdir
- 3.11 rm
- 3.12 cp 与 mv
- 3.13 grep
- 3.13.1 grep 和 ll
- 3.13.2 grep 和 ps
- 3.13.3 grep 和 netstat
我们已经解决了一个项目的前后端部分,而我们就差这临门一脚,就是“发布”,让别人通过网络可以访问你的网站!
而我们由于没有外网ip,导致别人访问不到!
而这跟Linux有着千丝万缕的关系!
Linux准确来说,是一个“统称”,或者可以认为是一个“操作系统内核”
一个完整的系统 = 操作系统内核 + 配套的应用程序
基于Linux黑河,搭配了不同的应用程序,诞生了不同的“操作系统”
有如下这些:
他们都内置了Linux内核,所以这类操作系统都可以说是Linux系统~
重点介绍这几个:
不过我们学习以centos为主~
云服务器,贵不贵?
对于学生,有很大的优惠!甚至1折!
有几个选择:腾讯云、华为云、阿里云…
差不多平均10块/月
你可以注册个阿里云,免费送3个月的云服务器
具体的我不说,大概就是
- 搜索阿里云云服务器
- 注册,免费试用
- 选择7开头版本的Centos服务器
- 重置密码
现在我们有了三个信息:
- 服务器的ip
- 服务器的用户名(固定为root)
- 服务器的密码(重置后的)
我们讲的是老牌终端工具:XShell
在一开始,我们一个会话都没有,所以要建立一个
- 主机填写刚才的公网ip!
工具的选项的查看里,可以设置透明度:
- 还可以全屏显示
退出的话,上方右键取消即可
快捷键ctrl + L 可以清空屏幕剩下最后一条(当然向上滚动可以看到之前的内容)
可能命令行的操作不是很好上手,Linux也有对应的图形库
命令行则很便捷的去操作,甚至适用一些脚本~
接下来,我们开始学习Linux最常见的命令~
其中相当一部分命令都是跟文件和目录相关的操作
在Linux系统中,"ls"是"list"的缩写,表示列出目录中的内容。因此,“ls"的全称是"list”。
就是列出当前目录/指定目录中都有哪些文件~
跟windows图形化对应的就是,打开目录,映入眼帘文件/目录列表
看似啥都没有,但是要记住:“没有现象就是最好的现象”
没有调配色方案的话
- 蓝色的是目录
- 白色的是普通文件
- 红色的是特殊文件
但是这不是绝对的,之后遇到我们各自对应好就行~
ls 后接目录,可以查看指定的目录的列表
/ 表示Linux的“根目录”,对标windows中的“此电脑”
云服务器上任何一个文件,都从属于 /目录~
ls /root:
因为root用户的home目录就是/root,所以我们默认所在的home目录就是/root,也就是~
ls -l:
类似于,windows中图形化的平铺与列表
除了-l,Linux还提供了一些其他的选项:
- -a 列出目录下的所有文件,包括以.开头的隐含文件。
- -d 将目录象文件一样显示,而不是显示其下的文件。如: Is -d指定目录
- -k 以k字节的形式表示文件的大小。Is -alk指定文件
- -l 列出文件的详细信息。
- -r 对目录反向排序。
- -t 以时间排序。
- -R 列出所有子目录下的文件。(递归)
这些选项,也叫做“命令行参数”
在Linux中,"cd"是"Change Directory"的缩写。
意思就是,切换目录
注意:
/
为根目录,并不是当前目录./
为当前目录,经常省略../
为上级目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
我们常常进入一个目录后,ll 一下看看有什么,再决定接下来进入哪里
- 就相当于我们图形化的操作(适度联想一下)
进入etc然后ll:
列出了很多内容,现在提交教一个方法
进入yum后ll:
验证绝对路径:
后面加/代表后续还有目录可以加入
cd后面不添加任何路径:回到home目录~
cd 和 ls 可以说是最常见的linux的两个命令
"pwd"在Linux中是"Print Working Directory"的缩写。该命令用于在命令行界面中显示当前工作目录的完整路径。
就是防止你迷路的,我们cd很多次后,可能会很混乱,我们就可以通过pwd,查看我们“现在在哪”,即完整路径
对应到windows中图形化的这个:
这个命令的用途是创建一个空的文件
如果原本这个文件名就存在,并不会改变其内容,而只是改变文件的创建时间为现在
在Linux中,“cat"的全称是"concatenate”,而不是"Concatenate"。"Cat"是一个用于连接文件内容并输出到标准输出的命令工具。
我们找一个不空的文件来演示:
针对短小的文件,这个使用cat就不太好
查看用户手册的命令
"man"在Linux中是"manual"的缩写。"man"命令是一个用于查看系统或命令的在线帮助文档的命令。使用"man"命令可以获取关于特定命令、工具或系统函数的详细说明和用法。
输入man cat后:
按q即退出~
man ls …都可以查看对应的手册~
通过上下键滚动哦,而不是鼠标~
"echo"在Linux中并没有具体的全称,它只是一个简单的命令行工具。"echo"命令用于在终端中打印出给定的字符串或变量的值。
意思就是写文件
如何写文件呢?
echo string > filename
>
可以认为是“重定向”,字符串原本回显到命令行,现在重定向到test.txt
但是每次都会将之前的内容清空
对于编辑的需求复杂,用echo和cat来操作很复杂~
“vim"在Linux中的全称是"Vi IMproved”。"vim"是一款强大而流行的文本编辑器,它是原始的Unix编辑器"vi"的增强版。"vim"提供了许多增强功能和命令,以便更高效地进行文本编辑和编程工作。
是Linux上自带的文本编辑器,相当于windows的记事本
我们只需要掌握这三个~
vim filename
vim为了追求编辑效率,引入大量快捷键~
vim中的模式(mode)
我们要进入编辑文本,就得进入insert morde(插入模式)
按 i 进入insert mode:
输入文本:
复制粘贴在linux不是Ctrl c 和 Ctrl v,因为这两个快捷键有其他的含义
复制为:Ctrl insert
粘贴为:Shift insert
现在,vim的基本行为跟记事本一致
记事本就是,ctrl s然后点叉
千万别太习惯地去按ctrl s
- ctrl s 是xshell的功能:冻结画面(但是期间输入的东西依旧有效)
- 解冻:Ctrl q
按esc回到普通模式
:wq
再按回车
“wq"代表"write and quit”
其他的十几种模式,就不进行讲解了~
cat test.txt 去检查一下:
“mkdir"在Linux和其他类Unix系统中的全称是"make directory”。它是一个用于创建新目录的命令。
一次创建多个目录:空格分割每个目录名
通过路径创建目录:
就是remove,删除文件/目录
我们先创建即可普通文件在一些目录里:
删除目录的话要加 -r 为参数,代表的含义是“递归”
如果你嫌麻烦,就多加一个 -f 参数,强制删除
删除多个目录:
在linux中是可以删除本目录和上级目录的:
其实我很疑惑居然可删除本目录,并且还显示存在于aaa
并且rm删除后就是完全的删除,没有后悔的余地,也没有回收箱之类的!
因此,有时候人会小心会出现,
这样,如果输入rm -fr /$DIT。没错,打错了一个字,系统不认识这个变量,当做空字符串处理,那么就相当于:
- rm -fr / !!!
我就不演示了,我可不想重装系统,如果有重要的数据,那么这是一个巨大的损失!
删除本目录下的所有文件和目录:
在Linux中,“cp"的全称是"复制”(Copy),“mv"的全称是"移动”(Move)或"重命名"(Rename)。
我用windows的图形化界面辅助理解:
cp:
- 按住ctrl拖动
可见,是一个复制粘贴操作
mv:
- 直接拖动
可见是一个剪切粘贴的操作
演示:
cp:
mv:
关于重命名:
移动目录是一样的:
- 不要尝试一些不合理的操作即可
- 例如目录移动到文件,是不合理的
文件移动到目录,如果后面没写文件名,就不会触发重命名~
复制目录的话还得加上 -r ~
- 因为不像mv是“更换位置/修改路径属性”这种O(1)操作这么简单
- cp操作就很慢
重命名目录的操作类似,只不过如果新目录名存在,就会触发移动/复制
边移动/复制 边重命名的操作:
注意:
cp和mv操作也是一个危险的操作
虽然有一些Linux系统有提示,但是一些没有~
还有,父目录无法移动/复制到子目录,这是合理的,合理才怪了!
之前提到的,Linux是没有回收站的,所以rm操作会导致文件/目录永久消失。
所以我们可以建一个目录,模拟回收站,删除的目录和文件就mv到里面~
在Linux中,
grep
的全称是"Global Regular Expression Print",它是一个强大的命令行文本搜索工具,用于在文件中查找匹配指定模式的行,并输出结果。
即“字符串匹配”
准备测试案例省略~
测试:
- -n选项表示显示文件中关键字出现在第几行
- -r / -R选项表示递归,没有这个指定不了目录
- 多提一嘴:–include A* --exclude B
- 代表,找A开头的目录/文件,不找B目录/文件
可以不带双引号,因为根据默认这个命令顺序代表这个就是个字符串
但是如果目录内容太多,可能会卡半天,按Ctrl C终止
grep不仅仅能搜索文件中的内容,还可以跟其他命令形成联动,打一套“组合拳”
命令:命令语句 | grep String
我们已学的命令,只要是列出东西的,都是可以跟grep进行组合的~
在Linux中,
ps
的全称是"Process Status",它是一个常用的命令行工具,用于显示当前运行的进程信息。
直接使用ps查看的内容非常有限,往往得搭配一些选项
例如:ps aux,列出系统的所有进程
- 相当于开了任务管理器~
列出很多很多,而怎么找到我们想要看的进程?
命令:ps aux | grep String
而这个 | 竖线,的形象说法叫做“管道”
在Linux中,
netstat
的全称是"Network Statistics",它是一个常用的命令行工具,用于显示网络连接、路由表和网络接口的详细信息。netstat
可以提供有关网络连接状态、端口占用情况、IP地址等方面的信息。
用来查询网络状态,可想而知信息很多
直接敲netstat:
我们要搭配选项:-anp
如果我们要查询mysql服务器的端口号,我们就可以这样操作:
我们常常ps来搭配grep查看某个进程的pid,还有netstat搭配grep查看某个进程的端口号
文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭!Linux基本的使用已经讲解完毕了,接下来就是部署项目了,由于本文篇幅较长,就安排在接下来的文章!