1、什么是Linux
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
1、操作系统
操作系统是一组主管并控制计算机软硬件、资源以及服务的应用程序。简单来说,它还是一个软件。
2、常见的操作系统
1、PC
windows、MacOS、Linux、Unix
Unix创始人:汤普森、丹尼斯 里奇
2、移动端
Android、IOS、塞班、鸿蒙
3、Linux的前世今生
Linux是在Unix后出现的,他吸收了很多Unix的优秀理念和思想,又有自己的特点。
GNU组织,最初的想法就是要建立一个自由的Unix操作系统。
1990年,林纳斯·本纳第克特·托瓦兹开发了Linux第一个版本。
Linux是由Unix转变而来,Unix是收费的操作系统,Linux是免费的,他的理念是Free(自由)。Linux的源代码是开源的。
常见的LInux版本:
1、红帽企业版(Linux Red Hat Enterprise Linux, RHEL )
2、Ubuntu
3、 社区企业操作系统(Community Enterprise Operating System, CentOS )
我们学习以centOS为例。
2、Linux应用在哪里
Linux大多情况应用在服务器,这也是Java方向程序员为什么必须要学习Linux的一个原因。
在少数情况也有在Linux上开发软件,或者应用到小型机、嵌入式、树莓派等设备上。
3、为什么要用Linux
Linux的优势:
1、跨平台的硬件支持
Linux的内核大部分是C开发的,而且遵循国际标准,所以对硬件的支持很好,跨平台的优势得以体现。
2、丰富的软件支持
Linux有丰富的软件库,包括办公、娱乐、开发工具等软件。尤其对程序员非常友好,编译工具基本都有。
3、支持多用户多任务
Linux支持多个用户,多个用户组操作,可以分配不同的权限;Linux对每个进程都是平等处理的,可以同时执行多个程序,而且之间是独立的。
4、更安全更可靠
Linux是开源的,有更多的人去维护它,而且它的机制也使得病毒很难侵入,自带的防火墙、安全认证等工具都很强大。
5、良好的稳定性
Linux非常稳定,可以常年开机不关,基本不会出现宕机事件,应用程序运行的也很稳定,不会出现莫名其妙的挂掉。
6、免费
Linux是开源免费的,商用不需要支付费用。
4、什么情况下用Linux
1、嵌入式开发
2、做为服务器
3、开发Linux应用时
4、就是喜欢的人
5、Linux安装
1、VirtualBox安装
运行安装程序,一直下一步即可。如果不想安装到C盘,可以自己选盘符。
注意:软件开发安装所有程序时,不要安装到有中文或特殊符号的路径下。
2、安装操作系统
点击新建,弹出如下对话框
名称:自己定义,不要用中文或特殊符号。
文件夹:建议不放在c盘,占用空间会比较大,可以自定义一个文件夹。
类型:选择Linux
版本:Other Linux 64-bit
下一步
内存分配,建议2048M。
下一步
创建虚拟硬盘,在这里不创建,后续还是要创建。
重点核对内存和硬盘的大小。
注意网络设置,桥接网卡,选择正在用的网卡,可以在网络中心找到你的网卡名字。
选择操作系统的镜像文件
点击启动
启动成功后,按光标键,选第一个,回车
然后,就是等,看着输出一些日志。一直到弹出如下:
选择英文,不要选中文,后续兼容不好。
选择时间
选择安装到那个硬盘
开始安装
设置密码,注意,密码统一为:123456
安装成功后需要重启
可以登录,代表安装成功,用户名是root,密码统一的123456,注意,启动虚拟机后小键盘会被关闭,输入密码时光标不会移动,输入即可,回车登录。
输入命令:ip addr查看虚拟机ip地址
3、常见问题
1、设备虚拟化
一定要是已启用才可以按照虚拟机。
修改方法:根据自己电脑不同的型号,去设置BIOS。
例如,我的电脑是ThinkPad,我在百度搜索:ThinkPad 进入bios
2、连接不上网络
检查网络设置是否正确,选择的是否是桥接网卡,且选择的网卡对不对
3、终端连接不上
先检查ip是否正确
再检查宿主机和虚拟机是否在同一个网段下,ip地址前三个相同,代表在同一个网段下
4、报错
出现这种问题可以百度错误,百度关键字:virtualbox 80004005
4、常用工具
1、putty
2、Xshell
3、secureCRT
4、ssh-secure-shell
使用方法:
第一个框是虚拟机的IP地址
第二个框是用户名,我们统一都是root
第三个框是端口号,22是用于远程登录的端口
第四个框是权限方式,用默认的就可以,后面用密码登录
第一次登录时会出现,以后都没有了
5、常用命令
命令是人向计算机发出指令,让计算机做某些事情。
命令的格式:
命令 [选项] [参数]
选项和参数是非必填的,比如说pwd,pwd是查看当前所在路径的命令,不需要有选项和参数
选项:会影响到命令的一些操作,一般以-开头
参数:命令作用的对象
1、ls
作用:查看当前目录下有哪些文件
语法:ls 或者 ls 目录,目录是参数,如果有,则显示参数对应目录下的文件,如果没有,显示当前目录下的文件
常用选项:
1、-l
列出文件的详细信息,如创建者、文件权限、文件大小、文件类型等
文件类型:
d:目录文件
-: 普通文件
l: 链接文件
p:管道文件
c: 字符设备文件
b: 块设备文件
颜色 | 代表文件类型 | 例子 |
---|---|---|
蓝色 | 目录文件 | /usr/local |
黑色 | 普通文件 | /anaconda-ks.cfg |
浅蓝色 | 链接文件 | /etc/localtime |
红色 | 压缩包 | jdk-8u231-linux-x64.tar.gz |
绿色 | 可执行文件 | /etc/init.d/network |
黑底黄字 | 设备文件 | /dev/vcs |
ll命令等价于ls -l
2、-a
列出目录下所有文件,包含隐藏文件
这两个红框内的文件就是隐藏文件,一个点代表当前目录,两个点代表上一层目录
3、-d
只看目录文件,不看目录内容
4、-S
文件大小倒序排序,注意大小写,小写的没有效果,如果想正序执行Sr
5、-t
文件修改时间倒序,-tr为正序,注意大小写
2、别名
把一个比较长的命令简短成一个简单的,一般应用于某个操作经常触发,不想输入太多的字符,可以定义一个别名。比如说:ll是`ls -l --color=auto'的别名,方便我们操作。
1、创建别名
alias vietc1='vi /usr/local/etc/1.txt'
执行vietc1 等同于执行 vi /usr/local/etc/1.txt
2、删除别名
unalias vietc1
3、cd
进入某个目录
语法: cd [参数],参数就是要进入的目录
cd:cd没有参数会进入用户目录文件,例如:root用户执行,会进入/root目录
cd .:进入当前目录,相当于没有操作
cd ..:进入上一级目录
cd - :返回切换前的目录
pwd:显示当前目录
4、history
显示历史执行过的命令
要善于光标键和tab键,光标键可以快速定位之前执行过的命令,tab键可以帮助补全文件名
5、快捷键
Ctrl+C:终止当前程序
Ctrl+L:清屏,相当于clear
Ctrl+D:退出
6、文件操作
1、新建目录
? mkdir
2、新建文件
? touch
3、拷贝文件
? cp
? cp [选项] [参数1] [参数2] ,参数1代表目标文件,参数2代表复制到哪里
? -r选项代表递归
4、移动文件
? mv [选项] [参数1] [参数2] ,参数1代表目标文件,参数2代表移动到哪里
? -i选项是否覆盖文件
? -f选项不做提示
5、删除文件
? rm [选项] [参数] ,参数是要删除的文件
? -r选项代表递归
? -f选项不做提示
6、解压文件
? tar [选项] [参数] ,参数是要解压的文件
? tar -zxvf jdk-8u231-linux-x64.tar.gz
? -z:通过gzip操作文件
? -x:解压文件
? -v:可视化,输出解压文件内容
? -f:要操作的文件名