第三章 Linux基础篇(Linux目录和vim文本编译器)
一、Linux目录结构
1、简介
在Linux系统中,一切皆文件。Linux系统对于硬件、软件、文件等全部采用文件的形式进行管理。也就是说Linux系统是通过文件系统来进行硬件软件和文件的管理的,Linux的文件系统采用的是层级式的树状目录,在此目录中,最上层的目录是根目录"/",然后在根目录下创建其他的目录。
结构模式如下:(很重要!很重要!很重要!)
2、目录含义
在Linux系统中,系统创建了很多的目录,每个目录都有自己的含义,主要常用的目录如下:(说明:为了更好的理解目录结构,做作了目录级别说明,0代表根目录,1代表根目录的下一级目录,以此类推)
目录等级 | 父级目录 | 目录名称 | 目录说明 |
---|---|---|---|
0 | 无 | / | 每个文件和目录都从这里开始。只有超级用户root才有该目录下的读写权 |
1 | / | /bin | 用户二进制文件。包含了系统可执行的二进制文件,系统的所有用户使用的命令都存放在此,比如ps、ls、ping、grep、cp等等。 |
1 | / | /sbin | 系统二进制文件。与/bin一样,都存放了二进制可执行文件,但是/sbin主要存放的主要是由用户管理使用和维护的二进制文件,如iptables、reboot、fdisk、ifconfig、swapon命令。 |
1 | / | /etc | 配置文件。包含了所有文件所需的配置文件,也包含了用于启动/停止单个程序的启动和关闭shell脚本。如/etc/resolv.conf、/etc/logrotate.conf等 |
1 | / | /dev | 设备文件。包含Linux所有设备的文件。例如cpu、disk、终端设备、usb等。 |
1 | / | /proc | 进程文件。包含进程相关的信息。这是一个虚拟的文件系统,包含正在运行进程有关的信息。例如/proc/{pid}目录包含了与特定pid相关的信息。(别动!) |
1 | / | /var | 变量文件。这个目录下可以找到内容可能增长的文件。主要包括系统日志文件(/var/log)、数据库文件(var/lib)、电子邮件(/var/mail)、打印队列(/var/spool)、锁文件(/varl/ock)、多次重启需要的临时文件(/var/tmp) |
1 | / | /tmp | 临时文件。包含了系统和用户临时创建的临时文件。 |
1 | / | /usr | 用户程序文件。包含了二进制文件、库文件、文档和二级程序的源代码。 |
2 | /usr | /bin | 用户程序二进制文件。(用户可使用) |
2 | /usr | /sbin | 系统二进制文件。(超级管理员可使用) |
1 | / | /home | 用户管理文件。所有用户目录来存储他们的个人档案,例如/home/json、/home/bugchen |
1 | / | /boot | 引导加载程序文件。包含了Linux启动时所需要引导文件等。 |
1 | / | /lib | 系统库文件。包含位于/bin和/sbin下的二进制文件和库文件。 |
1 | / | /opt | 可选的附加应用程序文件。包含了从个别厂商的附加应用程序。(安装的软件) |
1 | / | /mnt | 挂载文件。临时安装目录,系统管理员可以挂载文件系统。例如文件共享w_c_share |
1 | / | /media | 可移动媒体设备文件。用于挂载临时可移动设备的临时目录。 |
1 | / | /srv | 服务数据文件。srv代表的是服务(service),包含了服务器特定服务相关的数据。(别动!) |
1 | / | /sys | 虚拟文件系统。sys文件系统本质上和proc虚拟文件系统是一样的,都是虚拟文件系统。都在根目录下,因此不是硬盘中的文件,都是内核中的数据结构的可视化接口。(别动!) |
1 | / | /root | 超级管理员目录。超级管理员用户目录。 |
1 | / | /selinux | 安全子系统文件,它能控程序只能访问特定的文件。 |
备注:
1、根目录和/root目录不同,/root目录是root用户的主要目录。
2、当系统重启时,/tmp目录下的文件都会被删除。
3、如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看,例如:at、awk、cc、less、scp;如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:std、cron、sshd、useradd、userdel。
4、/usr/lib中包含了/usr/bin和/usr/sbin用到的库,/usr/local中包含了从源安装的用户程序。例如当你从源安装了Apache。它会在/usr/local/apache2中。
5、附加应用程序应该安装在/opt或者/opt的子目录下。
3、Linux目录总结
1、Linux目录中有且只有一个根目录。
2、Linux的各个目录存放的内容是事先规划好的,不要乱存放文件。
3、Linux是以文件的形式管理我的的设备的,因此在Linux系统中,一切接文件。
4、对于Linux的各个目录,大家要有清晰的认识。
二、Linux实操
企业中的服务器一般都是放在某个城市机房里面,员工要想操作Linux服务器的时候,只能通过远程连接进行操作,而我们在进行操作的时候,第一步需要远程登录,第二步需要向Linux服务器上传一些文件或者资源,这就需要两款软件进行辅助。远程登录:xshell,远程上传资源:Xftp。
备注:
1、Xshell是目前登录远程Linux最好的软件之一,流畅程度高,并且解决了中文乱码问题。
2、Xftp和Xshell是配对使用的,一般在配合使用的时候,两款软件的版本保持一致。
1、远程登录
如果使用Xshell进行远程连接Linux服务,必须确保sshd服务开启,并且监听22号端口,如果不开启,Xshell无法访问Linux。
1)sshd服务是否开启查看方式
进入Linux终端——》setup指令——》tab键选择系统设置——》enter进入查看——》查看看起服务列表即可。
2)查看Linux的ip地址
打开Linux终端——》输入ifconfig——》查看ip
3)使用Xshell建立ssh连接
打开Xshell——》新建会话——》会话名称以及会话ip——》接收协议——》输入Linux用户和密码——》远程登录Linux
输入ll指令,出现远程Linux服务器上的文件时,表示我们连接成功了!
2、远程上传文件
打开Xftp——》新建会话——》输入连接主机名称和密码——》输入用户名称和密码——》创建会话成功——》点击连接即可。
出现以上的界面的时候,表示连接成功了!!!但是好像出现了乱码问题!!!
解决方案:
第一步:点击文件,找到当前会话属性设置
第二步:点击选项,设置当前会话的编码格式为utf-8即可。
三、编辑器vi和vim的使用
1、简介
所有的Linux系统都会内置vi和vim文本编译器。vim是vi的增强版,可以主动的以字体的原色辨别语法的正确性,方便程序设计。在代码补充、编译以及错误跳转中起着关键作用,因此被程序员广泛使用。
2、vi和vim的三种常见模式
1)正常模式
以vim打开一个文档就直接进入一般模式了(默认模式),在这个模式中,可以使用上下左右按键来移动光标,也可以使用删除字符和删除整行字符来处理文档,也可以使用复制粘贴来处理文件数据。
在正常模式下,可以使用快捷键正常处理文档。
2)插入模式(编辑模式)
按下i、I、a、A、o、O、R、r等任何字母之后才会进入编辑模式,一般来说输入i(insert)。
在这个模式下,程序员可以输入内容。
3)命令行模式
在这个模式中,可以提供相关的指令,完成读取,存盘,替换,离开vim、显示行号等的动作则是在此模式中完成的。
3、快速入门
使用vim开发一个hello word.java。
-- 进入桌面
cd 桌面
-- 编辑hello.java文件(正常模式)
vim hello.java
-- 按i进入插入模式(命令行模式)
public class Hello{
public static void main(String[] args){
System.out.println("hello,word");
}
}
~
-- 按Esc退出插入模式
-- 按:wq
:wq
-- 写入保存并退出
-- :q 写入不保存退出
-- :q! 强制性退出
vim文本编辑器三种模式的切换:(重点)
备注:
1、使用:q的时候,Linux会提示使用:q!进行强制性退出。
2、:q一般用于查看文件没有进行内容修改,用:q进行退出。
4、vi和vim常用快捷键
快捷键 | 快捷键说明 |
---|---|
i、a、r、I、A、R | 随便按一个就进入编辑模式 |
vim xxx | 使用vim问编辑器编辑xxx文件 |
ctrl+o | ctrl+o之后按o键,在当前行的下方插入一行新的内容 |
shift+o | 按Esc之后,进入命令行模式,shift+o在当前行的上方插入一行 |
shift+a | 按Esc之后,进入命令行模式,shift+a移动到当前行的尾部 |
u | 进入命令行模式之后,u+enter撤销之前的操作 |
ctrl+r | 撤销取消操作 |
x | 删除当前光标所在的字符 |
dd | dd+enter删除当前行(剪贴的作用),按p复制(正常模式下) |
nyy | 当前光标复制n行,p键完成复制 |
shift+g | 进入最后一行第一个字符位置 |
gg | 进入首行第一个字符位置 |