一、Linux 概述
1. 应用领域
- 服务器领域
linux在服务器领域是最强的,因为它免费、开源、稳定。
- 嵌入式领域
它的内核最小可以达到几百KB, 可根据需求对软件剪裁,近些年在嵌入式领域得到了很大的应用。
主要应用:机顶盒、数字电视、网络电话、交换机、手机、PDA、智能家居等。以后会在物联网种更广泛应用。
- 个人桌面领域的应用
此领域是linux的薄弱环节,但近年来随着ubuntu、fedora等优秀桌面环境的兴起,linux在个人桌面领域的占有率在提高。
2. linux 主要发行版本
Ubuntu(乌班图)、RedHat(红帽)、CentOS、Debain(蝶变)、Fedora、SuSE、OpenSUSE(示意图)
3. linux和unix的关系
unix也是一个操作系统,它诞生于贝尔实验室。上个世纪七十年代,正在研发多用户分时操作系统,当时有三家公司参加,其中一个就是贝尔实验室。最终这个系统没有研发成功,但留下了一些代码。贝尔实验室的一个人就拿这些代码做了改进,成功后命名为unix。unix最早的版本是bun语言写的,但性能不好,最后又用C语言改写了。
上个世纪八十年代,sun、hp(惠普)等大公司觉得unix很有发展,就拿开源的unix又进行了二次开发改写,但这些系统改写后只能适用于大型的服务器中,个人PC机是安装不了的。当时有个伟大的人表示在自由的时代用户应该免费享有软件源代码的权利,软件公司不能够将他人的开源项目改写后拿来赚钱,软件公司可以提供服务来获取盈利。
再后来,又有个芬兰的大神贡献了linux内核,第一个linux版本不到一万行的代码,完整的叫法应该是GNU/linux。然后有许多雷锋就基于这个内核开发了很多开源的系统,如乌班图(ubuntu)、红帽(Redhat)等等。
二、Linux基本使用
1. 目录结构
linux 的文件系统是采用级层式的树形目录结构, 在此结构中最上层式根目录“/”,然后在根目录下创建其它的目录。linux 的世界里,一切皆文件。文件很重要,需要记住。
- /bin : 是Binary 的缩写,这个目录存放常用的命令。
- /sbin :s就是super user 的意思,这里存放系统管理员使用的系统管理程序。
- /root :该目录为系统管理员,也称作超级权限者的用户主目录。
- /lib :系统开机所需要最基本的动态连接共享库,作用类似于windows 系统的 DLL文件,几乎所有的应用程序都需要用到这些共享库。
- /lost + found 这个目录一般是空的,当系统非法关机后,这里就存放了一些文件。
- /etc : 系统管理所需要的配置文件和子目录,比如安装mysql 数据库 my.conf
- /usr : 用户安装的应用程序都放在这个目录下,类似于windows下的program files文件夹
- /boot 存放的是启动系统时需要的核心文件,包含一些连接文件和镜像文件。
- /proc 这个目录是虚拟目录,它是系统内存的映射,访问这个目录来获取系统信息,不能动。
- /srv : service缩写,存放服务启动后需要提取的数据,不能动。
- /sys 这是Linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的文件系统sysfs,不能动。
- /tmp 这个目录用来存放一些临时文件
- /dev 类似于windows的设备管理器,把所有的硬件用文件的形式存储。
- /media 系统自动识别设备所用的,比如U盘、光盘,识别设备后,linux会把识别的设备挂载到这个目录下。
- /mnt 用户临时挂载别的文件系统的,可以把外部的存储挂载到 /mnt/ 上。
- /opt 存放安装包,给主机存放安装软件的, 如jdk, mysql
- /usr/local 另一个给主机存放安装软件的, 一般是通过编译源码的方式安装程序
- /var 存放不断扩充的东西,将常被修改的文件放在这个目录,包括各种日志
- /selinux 【security-enhanced linux】SELinux 是一种安全子系统,能控制程序只能访问特定文件,有三种工作模式,可自行设置,类似于windows 360
2. 远程登录
以后我们开发的项目是在服务器上的,如果需要对项目进行维护,就涉及到自己本机和服务器之间的通讯了,这是就需要利用远程软件(如Xshell)对两台主机之间进行通讯。如果需要文件上传和下载,需要用到XHP软件。
Xshell 下载地址: 家庭/学校免费 - NetSarang Website
- Xshell 是目前最好的远程登录linux 操作的软件,流畅的熟读并且完美解决了中文乱码的问题。
- Sshell 支持SSH1,SSH2,以及windows 平台的TELNET协议。
- 可以在windows界面下用来访问远程不同系统的服务器。
首先需要检查本机与虚拟机是否能通讯。查看linux ip 地址命令: ifconfig, 查看到IP地址,在本地电脑打开命令提示符,ping 虚拟机IP,如果ping不通,远程软件也是无法连接的。
通过Xshell 远程连接虚拟机。
查看linux系统的目录,发现已经连接到了远程linux。
我们可是在输入命令reboot重启linux系统
3. 远程文件传输
远程文件传输是一个基于windows平台的功能强大的SFTP、FTP文件传输软件。使用了Xftp 以后,windows用户能安全地在UNIX/Linux和WindowsPC之间传输文件。
远程文件传输下载 : 家庭/学校免费 - NetSarang Website
第一次登录需要验证用户名和密码
之后一个界面有两个窗口,左边是windows窗口,右边是linux窗口
如何上传文件到linux中呢?
首先通过Xftp远程连接linux, 验证通过后会出现如上图所示的界面。先在linux下跳转到目标存放目录,在windows下选中需要传输的文件,右键-----> 传输, 即可传送到linux下。
如果linux界面出现了乱码。选择属性----> 选项-----> 把编码设置为UTF8
4.vim 入门
Linux 系统会内置vi文本编辑器。
Vim具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
4.1. vi 和 vim 的三种模式
正常模式
默认就是这个模式。可以使用【上下左右】按键来移动光标,可以使用【复制、粘贴】来处理文件数据。
插入模式
按下【i、I、o、O、A、a、r、R】等任何一个字母之后才会进入编辑模式,一般来说按 i 即可。
命令行模式
按下esc退出再输入冒号:,这个模式可以提供相关指令,完成读取、存储、替换、离开 vim、显示行号等动作是在该模式下完成的。
4.2. 使用Xshell编辑Hello.java文件
输入 vim Hello.java, 就会跳转到一个vim界面,此时是不能编辑的,我们采用插入模式编辑,在vim界面输入 i , 就可以编辑了。
编写之后按下esc, 输入: wq, 即可退出
4.3. vim 各种模式切换图
4.4. vim 快捷键
- 拷贝:在正常模式下,拷贝当前行 yy,拷贝当前行的向下4行,4yy, 粘贴(按下p)
- 删除:在正常模式下,删除当前行 dd,删除当前行的向下4行,4dd, 粘贴
- 查找:在命令行模式下,输入 / ,输入待查找的信息后回车,按 n 键查找下一个。如果要查找另一个信息,再次按下 /, 重复上述操作即可。
- 行号:在命令行模式下,输入 set nu 显示行号; 输入set nonu 取消行号。
- 在一般模式下,按下 G 到达该文档文档最末行, gg 该文档最首行
- 在一般模式下,u 撤销上一次编辑
- 在一般模式下,数字+shift+g, 快速定位到指定行。
5. 关机重启、登录注销
- 关机重启
shutdown -h now 立刻进行关机
shutdown -h 1 "hello, 1分钟后关机" # 注意:这里是按分钟计算的
shutdown -h 12:00 12:00进行关机
shutdown 等价于 shutdown -h 1 ; # 1 分钟后关机
halt 关机
shutdown -r now 现在重启
reboot 现在重启
sync 把内存的数据同步到磁盘
shutdown -c 取消关机命令 【linux】
shutdown -a 取消关机命令 【windows】
注意:无论是重启还是关机,先运行sync 命令,把内存种数据写到磁盘。
目前的shutdown、reboot、halt 等命令在关机前底层进行了 sync ,为了保险起见,可以自己再执行一次。
- 登录注销
root 拥有最高系统权限,在开发中我们可能没有这么高的权限。如何在普通权限登录到root权限呢?输入指令 su - root 回车需要输入密码,验证成功后切换到了root账户。
切换用户
root - 用户名
注销
logout 注销指令在图形运行级别无效,在运行级别3下有效
logout # 注销