系统运维
1.什么是Linux
是一个“操作系统”
最常用的“桌面”操作系统Windows
最常用的服务器端操作系统,Linux
最常用的移动端操作系统IOS,Android(本质也是Linux)
更本质的说,Linux是一个操作系统内核
操作系统=内核+一组配套的应用程序
现在我们使用的Linux系统是Centos6
在Linux内核的基础上,可以包装成很多不太一样的系统,称为“Linux发行版”
常见的发行版:Ubuntu,RedHat,Deepin,Debian,,,
公司中常用的企业级的Linux就是RedHat(红帽)
RedHat是收费系统,Centos是免费版
Centos本身的源代码和RedHat几乎一样
2.为啥要学Linux
Linux服务器领域中最主要使用的操作系统(没有之一)
Linux 嵌入式领域中最主要使用的操作系统(之一)
Linux 移动端领域中最主要使用的操作系统(没有之一)Android
不管以后从事什么样的开发岗位,Linux都是必备技能
Linux能不能用于桌面领域?1%
3.对于Java方向的同学Linux要学到什么程度
C++方向的同学来说,学习Linux不光要学习基本操作,还需要学习Linux系统编程内容(API)
Java方向的同学来说,学习Java重点是学习基本操作,系统编程是不太需要的,Java是跨平台的
如何获取Linux环境
下策:把Linux直接安装到物理机上(使用起来BUG很多非常不方便,适合比较喜欢折腾的“大佬”玩家)
中策:使用虚拟机软件(VMWare收费,Virtual Box免费) 虚拟机软件 能够使用软件虚拟出一组硬件设备(虚拟的电脑)。虚拟机软件会和360等流氓软件冲突
上策:使用云服务器
腾讯云,阿里云(真实的服务器)
1)BUG非常少,几乎不用折腾,遇到问题随时可以咨询客服
2)程序部署到云服务器,就可以直接在外网访问,就可以把程序部署上去,现场给面试官演示
XShell中使用Ctrl+fn+insert复制,Ctrl+fn+insert粘贴
4.Linux基本指令
好处:
1.使用指令操作服务器,网络传输的带宽要求很小
2.能够更方便的使用脚本的方式完成一些重复的操作
指令:
1.ls:查看当前目录中的所有文件和目录
ls -l (ll是缩写形式):更详细的查看文件/目录信息 /Linux根目录
操作系统上的目录结构是一个树形结构
ls -l 的结果:
d表示当前是一个目录
l表示当前是一个链接文件(快捷方式)
-表示普通文件
2.cd:切换当前目录(用过cd目录可以进入任意你想进入的目录)
[root@VM_0_5_centos /]:方括号中的/表示当前目录是根目录
~表示当前目录是用户的home目录
cd .. 切换到当前目录的上级目录(..表示当前目录的上级目录,当前节点的父节点)
.表示当前目录(可以省略)
3.pwd:查看当前目录的完整路径(绝对路径)
如果你是root用户,home目录就在/root目录下
/root/project/java.oj 绝对路径
../java.oj 相对路径
4.touch创建一个空文件
5.cat读取文件内容
6.echo命令写文件
echo "大哥吃野味" > test.txt
表示“重定向”
重定向:相当于呼叫转移
echo默认是输出到显示器上,通过 > 就重定向到指定文件中
7.rm删除文件
删除操作可能会有提示,有提示的话,敲y来确认删除
删除操作非常危险,Linux上没有回收站,一旦敲下rm就真的被删除了,使用常规手段无法恢复
一般系统在删除文件只是把这个文件标记为“不可用”,数据可能还残留着。
如何才能彻底的删除文件,永远找不回来?(物理删除,把硬盘砸了)
专门的“硬盘粉碎机”
8.mkdir创建目录
Linux有个哲学,no news
is good news 没有消息就是好消息
mkdir 111/222/333 -p创建多级目录
9.rm -r删除目录
删除目录需要递归删除
这个删除过程类似于树的“后序遍历”
目录中可能包含其他文件,删除目录的时候也需要把内部的文件也删除掉
目录中可能也包含其他目录,就得递归的把里面的子目录先删除才可以
rm -rf 不需要确认,直接递归删除(非常危险的操作,一旦操作之后内容是无法通过常规手段恢复)
rm -rf / 所有危险中的NO 1的操作,敲这个命令==作死
10.man 查看某个指令的帮助信息
Centos可以设置系统语言(简体中文/英文)
man手册和系统语言是一致的(建议看英文版本)
补充说明:敲指令的技巧
1.Tab键:自动补全命令
敲一次能够尝试补全内容,快速敲两次,能够提示出所有可能的选项
2.使用Ctrl+l清理屏幕
3.使用Ctrl+c取消当前敲了一半的命令