linux
1.linux的引言
linux是一种自由和开放源代码的操作系统,存在着许多的linux版本,但他们使用了linux内核。
linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机
2.linux的发展史
2.1.linux的前身unix
1968年Multics项目
MIT、BELL实验室、美国通用电气有限公司走到一起,致力于开发Multics项目,到后期由于项目
开发的进度不好。MIT和BELL实验室相继离开这个项目的开发,最终导致项目搁浅。
1970年年 Unix诞生
当时在开发Multics项目的时候,实验室有一个开发人员开发了一款游戏,这款游戏基于Multics
开发,但是由于Multics的搁浅,导致游戏无法后续的开发,所以这位开发人员组织人员重新开发
Multics项目,这就是Unix,该系统是使用汇编语言开发的。
1973 C语言重写Unix
汇编语言有一个最大的局限性,对于计算机过于依赖,导致移植性不好,所以在1973年年使用C语言
重新开发
1975年年Bell实验室允许大学使用Unix操作系统用于教学作用,而不不允许商业用途
2.2.Linux诞生
linux的开发者,linux之父,李纳斯.托瓦兹。linus当时在学校使用的就是Uniux的操作系统然后对其底
层代码进行行修改,放到了学校为学生开放的网站上并且把文件名改成了了linus‘s Unix,后期网络管理理员觉
得这个名字不不好,随后将其改为linux。最终Linux出现于1991年,是由芬兰赫尔辛基大学学生
Linus Torvalds和后来加入的众多爱好者共同开发完成. git
linux图标
3.linux的特点
-
开放性,
-
多用户、多任务 超级用户 root 普通用户 hetengfei/zhangsan/lisi/py
-
良好的用户界面
-
优异的性能与稳定性
4.linux的分支
5.centos及centos的特点及下载
-
主流:目前的Linux操作系统主要应用于生产环境,主流企业的Linux系统仍旧是RedHat或者CentOS
-
免费:RedHat 和CentOS差别不大,基于Red Hat Linux 提供的可自由使用源代码的企业CentOS是一个Linux发行版本
-
更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!
6.系统安装的两种方式
- 真机安装:使真实的电脑进行安装,像安装windows操作系统一样,真机安装会替换当前电脑
的系统。
- 虚拟机安装:通过某种特殊的手段进行模拟安装,并不会影响当前计算机的真实操作系统。建议学
习和测试使用
注意:虚拟机就是虚拟的机器,有些时候想要模拟出真实的电脑环境,碍于真机安装代价太大,因此诞生的一
款可以模拟操作系统运行的软件。
Vmware公司出品的Vmware Workstation 功能强大 重量级
oralce公司出品的Virtual Box 简单功能 轻量级
7.虚拟机的安装VMwarw Workstation
8.创建虚拟机并安装Centos7
9.linux用户登录
1.使用管理员身份登录
2.命令提示符
3.linux目录结构
/ 代表的是根目录
~ 代表用户家目录
需要重点掌握的目录
bin (binaries)存放二进制可执行文件
etc (etcetera)存放系统配置文件 (环境变量)
usr (unix shared resources)用于存放共享的系统资源 多用户
root 超级用户目录 /root 超级用户的家目录
home 存放普通用户文件的根目录 /home/zhangsan 张三的家目录
tmp (temporary)用于存放各种临时文件
以下目录了解即可
sbin (super user binaries)存放二进制可执行文件,只有root才能访问
dev (devices)用于存放设备文件
ib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt (mount)系统管理员安装临时文件系统的安装点
boot 存放用于系统引导时使用的各种文件
var (variable)用于存放运行时需要改变数据的文件
4.linux的相关指令
linux指令的注意事项 : 严格区分大小写 ls 错误写法LS Ls lS
语法格式 : 指令 -选项(增强指令的效果,可以不写) 参数(目录,文件)
1.ls
作用:查看对应目录下的目录或者文件 ls(list) 相当于 ls .
.代表当前目录
.. 代表上一级目录
ls -a(all) 展示当前目录下的所有文件及目录(包含隐藏文件) linux系统中.开头的文件为隐藏文件
ls -l(long) 以长格式展示目录下的目录及文件 简写为ll
ls -la 组合使用
ls -R 以递归的形式展示文件
长格式解释:
第一组:用来表示权限
第一位 - 代表文件
d 代表目录
2-4位 当前用户的权限
5-7位 当前用户所在组的权限
8-10位 非当前用户所在组的组权限
第二组:链接数
第三组:文件创建者名字
第四组:文件创建者所在组 root用户默认组就是root
第五组:文件大小
第六组:时间
第七组:文件名或者目录名
2.clear
作用:清屏
3.上下键翻看指令历史
4.pwd
作用:展示当前所在的目录
5.cd
作用:切换目录
cd / 回到根目录
cd .. 回到上一级
cd 回家 root用户的家目录就是/root 普通用户的家目录是 /home/xxx
cd ~ 回家
cd 目录 切换到指定目录
6.touch
作用: 创建一个或多个空文件
touch 如果后边跟的是已经存在的文件名 则修改创建时间不覆盖文件内容
7.mkdir
作用:创建文件夹
mkdir 目录名字
mkdir -p 一次性创建多级目录
8.cp
作用:拷贝文件目录
cp 文件名 目录名 拷贝文件到指定目录
cp -r 目录名 目录名 拷贝目录到指定目录
9.mv
mv 移动
mv 已存在文件名 不存在的文件名 改名
mv 已存在文件名 已存在目录名 移动
mv 已存在目录名 不存在的目录名 改名
mv 已存在目录名 已存在目录名 移动
10.rm
作用:删除文件及目录
-f 强制删除
-r 递归删除
rm -rf 强制递归删除 谨慎使用(不可恢复的)
rmdir 删除空目录(remove directoriy)
11.查看文件内容
cat 查看文件内容一屏内的内容(文字比较少的文件)
more 以百分比形式展示文件内容 ctrl+c
less 以分页的形式展示文件内容 pageup pagedown shift+zz结束
head 查看文件的前10行内容
head -n 20 文件名
tail 查看文件的尾10行
tail -n 20 文件名
tail的重点掌握
tail -f 文件名 监听文件的实时变化(日志)
12.du
du 显示指定的文件(目录)已使用的磁盘空间的总量
-h (-h 文件大小以K,M,G为单位显示(human-readable)
13.ifconfig
显示网卡网络配置详细(centos6)
ip addr 或者是 ip a (centos7)
14.ping
测试网络的连通性
linux-win 一致发包收包
win-linux 只发四个包
15.find
find 用来查找文件的命令
find / -name ifcfg-ens33
16.tar
相当于win中的zip文件
-c 建立一个压缩文件的参数指令(create)
-x 解开一个压缩文件的参数指令(extract)
-z 是否需要用 gzip 压缩
-v 压缩的过程中显示文件(verbose)
-f 使用档名,在 f 之后要立即接档名(file)
tar -cf 档名.tar 要压缩的文件
tar -xf 档名.tar
tar -cvf 档名.tar 要压缩的文件
tar -xvf 档名.tar
tar -zcvf 档名.tar.gz 要压缩的文件
tar -zxvf 档名.tar.gz 解压缩
17.chkconfig
注意:命令查看开机启动项(centos6) 服务
在centos7中 使用systemctl list-unit-files查看开机启动项
1.常见的服务列表
firewalld 防火墙
sshd ssh服务
network 网络服务
2.启动关闭重启查看状态 服务
service 服务名 status|start|stop|restart (centos6中的指令)
systemctl status|start|stop|restart 服务名
3.永久关闭或者开启
systemctl disable 服务名 永久关闭服务
systemctl enable 服务名 开启开机自启动
18.echo
echo 向控制台输出
echo aa >> bb.txt 输出重定向 往bb里写一句话
19.ps
查询在当前控制台上运行的进程。
ps -aux 查询系统中所有运行的进程,包括后台进程,其中参数a是所有进程,参数x包括不占用控制台的进程,参数u显示用户
ps -ef 查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号
pstree命令 stree命令 树状格式显示进程列表 手动安装(需要联网) yum install -y psmisc
pstree -p 树状展示进程并且展示进程号
top命令动态地显示系统中的进程
20.kill
kill 进程号 命令 杀掉指定进程
kill -9 进程号 强杀
21.文件编辑
22.RPM
rpm 相当于win中的exe
tar.gz相当于win中的zip
rpm的常用参数
i:安装应用程序(install)
e:卸载应用程序(erase)
vh:显示安装进度;(verbose hash)
U:升级软件包;(update)
qa: 显示所有已安装软件包(query all)
例子:rmp -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm
23.yum
支持在线安装
yum install gcc-c++
yum remove gcc-c++
yum update gcc-c++
10.使用crt连接linux虚拟机
1.安装crt
2.服务器获取ip的指令
centos的6.5版本 ifconfig
centos的7版本中 ip addr 简写为 ip a
默认安装的linux系统没有ip地址,原因是因为没有自动动态获取ip.
3.ip相关的配置(开启ip的自动获取)
第一步 找到需要编辑的系统环境中的网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
第二步 按下键盘中的i键
第三步 开启网卡开机自启动
第四步 保存退出
按下 ESC键 然后按住shift+zz
第五步 重启虚拟机
reboot
4.使用crt连接
11.linux中安装jdk
快照 :用来记录当前系统的状态
1.jdk安装的两种形式
-
rpm安装
1.下载jdk的rpm包 2.上传rpm包到linux系统 默认上传目录为家目录 3.安装jdk rpm -ivh jdk.rpm 4.测试java -version
-
tar安装(推荐)
1.下载jdk的tar.gz包 2.上传 3.解压缩 tar -zxvf jdk-8u171-linux-x64.tar.gz 4.移动到usr 目录 mv jdk1.8.0_171/ /usr/ 5.配置环境变量 全局环境变量 vi/etc/profile 推荐 用户环境变量 vi/root/.bash_profile export JAVA_HOME=/usr/jdk1.8.0_171 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=. 6.使配置生效(两种方式) reboot source /etc/profile