一.了解Linux
介绍
linux 是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目 (c/c++/php/python/java/go)都会部署到 Linux/unix 系统上。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的[Red
Hat Enterprise Linux](https://baike.baidu.com/item/Red Hat Enterprise
Linux/10770503?fromModule=lemma_inlink)、SUSE、[Oracle
Linux](https://baike.baidu.com/item/Oracle
Linux/6876458?fromModule=lemma_inlink)等。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。
Linux具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。
应用领域
- 个人桌面领域的应用
此领域是传统 linux 应用薄弱的环节,近些年来随着 ubuntu、fedora等优秀桌面环境的兴起,linux 在个人 桌面领域的占有率在逐渐的提高。
- 服务器领域
linux 在服务器领域的应用是最强的。 linux 免费、稳定、高效等特点在这里得到了很好的体现,尤其在一些高端领域尤为广泛(c/c++/php/java/python/go)
- 嵌入式领域
linux 运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百 KB 等特点, 使其近些年来在嵌入式领域的应用得到非常大的提高 主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、智能家居、智能硬件等都是其应用领域。以 后在物联网中应用会更加广泛
二.环境安装&实用工具
安装
学习 Linux 需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个 Centos 系统来学习
centos镜像_centos下载地址_centos安装教程-阿里巴巴开源镜像站
VMware虚拟机安装Linux教程(超详细)_vmware安装linux虚拟机-CSDN博客
常用工具
- 快照
如果你在使用虚拟机系统的时候(比如 linux),你想回到原先的某一个状态,也就是说你担心可能有些误操作造成系 统异常,需要回到原先某个正常运行的状态,vmware 也提供了这样的功能,就叫快照管理
- 克隆
如果你已经安装了一台 linux 操作系统,你还想再更多的,没有必要再重新安装,你只需要克隆就可以
-
方式1,直接拷贝一份安装好的虚拟机文件
-
方式2,使用 vmware 的克隆操作,注意, 克隆时,需要先关闭系统
-
vmtools
利用vmtools我们可以在windows(母鸡)下更好的管理虚拟机,主要用于共享文件夹
安装步骤:
进入 centos
点击 vm 菜单的->install vmware tools
centos 会出现一个 vm 的安装包, xx.tar.gz
拷贝到 /opt
使用解压命令 tar, 得到一个安装文件 cd /opt [进入到 opt 目录] tar -zxvf xx.tar.gz
进入该 vm 解压的目录 , /opt 目录下 cd vmware…
安装 ./vmware-install.pl
全部使用默认设置即可, 就可以安装成功
注意:安装 vmtools 需要有 gcc . gcc -v
设置共享文件夹:
菜单->vm->setting, 如图设置即可注意:设置选项为 always enable ,这样可以读写了
windows 和 centos 可共享 d:/myshare 目录可以读写文件了
共享文件夹在 centos 的 /mnt/hgfs/ 下
三.目录结构
linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
记住一句经典的话:在 Linux 世界里,一切皆文件
- /bin [常用] (/usr/bin 、 /usr/local/bin)
是 Binary 的缩写, 这个目录存放着最经常使用的命令
- /sbin (/usr/sbin 、 /usr/local/sbin)
s 就是 Super User 的意思,这里存放的是系统管理员使用的系统管理程序。
- /home [常用]
存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名
- /root [常用]
该目录为系统管理员,也称作超级权限者的用户主目录
- /lib
系统开机所需要最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要 用到这些共享库
- /lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
- /etc [常用]
所有的系统管理所需要的配置文件和子目录, 比如安装 mysql 数据库 my.conf
- /usr [常用]
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与 windows 下的 program files 目录。
- /boot [常用]
存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件
- /proc [不能动]
这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息
- /srv [不能动]
service 缩写,该目录存放一些服务启动之后需要提取的数据
- /sys [不能动]
这是 linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统
- /tmp
这个目录是用来存放一些临时文件的
- /dev
类似于 windows 的设备管理器,把所有的硬件用文件的形式存储
- /media [常用]
linux 系统会自动识别一些设备,例如 U 盘、光驱等等,当识别后,linux 会把识别的设备挂载到这个 目录下
- /mnt [常用]
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。 d:/myshare
- /opt
这是给主机额外安装软件所存放的目录。如安装 ORACLE 数据库就可放到该目录下。默认为空
- /usr/local [常用]
这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序
- /var [常用]
这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件
- /selinux
[security-enhanced linux] SELinux 是一种安全子系统,它能控制程序只能访问特定文件, 有三种工作模式,可以自行设置
四.远程连接
NetSarang Homepage CN - NetSarang Website
在正式的开发场景中
linux 服务器是开发小组共享,正式上线的项目是运行在公网,因此程序员需要远程登录到 Linux 进行项目管理或者开发
远程登录客户端有 Xshell,Xftp
Xshell
- Xshell 是目前最好的远程登录到 Linux 操作的软件,流畅的速度并且完美解决了中文乱码的问题, 是目前程序员首选的软件。
- Xshell 是一个强大的安全终端模拟软件,它支持 SSH1, SSH2, 以及 Microsoft Windows 平台的 TE
- Xshell 可以在 Windows 界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的
Xftp
Xftp是一个基于 windows 平台的功能强大的 SFTP、FTP 文件传输软件。使用了 Xftp 以后,windows 用户能安全地 在 UNIX/Linux 和 Windows PC 之间传输