一、搭建环境
1.安装虚拟机(vm12)
2.安装Linux系统(centOS6.8)
3.安装vmtools(用于在windows和Linux之间直接复制粘贴内容以及创建共享文件夹)
二、Linux的目录结构
Linux的结构是采用层级式的树状目录结构,如下图
Linux世界里,一切皆文件
1./bin :存放经常使用的指令
2./sbin :存放系统管理员使用的系统管理程序
3./home :存放普通用户的主目录,Linux中每个用户都会有一个自己的目录,一般该目录以自己的名字命名
4./root :该目录为系统管理员
5./boot :该目录存放启动Linux时用到的一些核心文件
6./proc :这个目录是一个虚拟目录,它是系统内存的映射,访问这个目录来获取系统信息
7./srv :该目录存放一些服务启动以后需要提取的数据
8./sys :安装了2.6内核中新出现的一个文件系统
9./tmp :该目录存放一些临时文件
10./dev :类似于windows的设备管理器,把所有硬件当成文件来管理
11./media :linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
12./mnt :系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。
13./opt :这是给主机额外安装软件所摆放的目录。如安装ORACLE数据库就可放到该目录下。
14./user/local :这是别一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
15./var :这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件
三、远程登录Linux和向Linux传输文件
1.为什么需要远程登录Linux?
答:1) linux服务器是开发小组共享的.
2)正式上线的项目是运行在公网的.
3)因此程序员需要远程登录到centos进行项目管理或者开发
2.需要什么软件?
答:1)Xshell 用于远程登录Linux和操作Linux
2)Xftp 用于windows和Linux之间传输文件
四、vim编辑器的使用
1.vim的三种模式
1)正常模式:以vim打开文件默认为正常模式
2)插入模式:输入 i 进入插入模式
3)命令行模式:在这个模式当中,可以提供你相关指令, 完成读取、存盘、替换、离开vim、显示行号等的动作则是在 此模式中达成的!
2.vim的三种模式的转化
3.vim的常用快捷键
1)拷贝当前行yy,拷贝当前行向下的5行5yy, 并粘贴(p) 。
2)删除当前行dd,删除当前行向下的5行5dd
3)在文件中查找某个单词[命令行下/关键字,回车查找,输入n就是查找下一个]
4)设置文件的行号,取消文件的行号[命令行下:setnu 和:set nonu]
5)使用快捷键到文档的最末行[G]和最首行[gg],注意这些都是在正常模式下执行的。
6)在一个文件中输入"hello" ,然后又撤销这个动作,再正常模式下输入u
7)将光标移动到第 20行,shift+g (先显示行号)
五、开机,重启和用户登录撤销
1、关机,重启命令
shutdown -h now : 立即关机
shutdown -h 1 : 表示一分钟后关机
shutdown -r now :表示立即重启
halt :立即关机
reboot :立即重启
sync :把内存的数据同步到磁盘
注意:关机或重启时都应先执行sync指令,防止数据丢失
2、用户切换和注销
1)logout : 用户注销
2)su -用户名 : 切换用户
六、用户管理
1.说明
1) Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请-一个 账号,然后以这个账号的身份进入系统。
2) Linux 的用户需要至少要属于一个组。
2.添加用户
useradd 用户名 : 添加用户
useradd -d 目录名 用户名 : 给新用户指定家目录
3.给用户指定或修改密码
passwd 用户名
4.删除用户
userdel 用户名 :删除用户,但保留家目录
userdel -r 用户名 :删除用户及家目录
注意:我们删除目录时一般不删去家目录
5.查询用户信息
id 用户名
6.用户组
系统可以对共组的用户进行统一的管理
1)增加组 groupadd 组名
2)删除组 droupdel 组名
3)增加用户并指定组 useradd -g 用户组 用户名
4)修改用户的组 usermod -g 用户组 用户名
七、使用指令
1.指定运行级别
运行级别说明:
0:关机
1:单用户[找回丢失密码)
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5,要修改默认的运行级别可改文件
/etc/inittab的id:5:initdefault:这一行中 的数字
切换到指定运行级别的指令 init [0 1 2 3 4 5 6]
2.面试题
如何找回root密码?
答:进入到单用户模式(1),然后修改密码,因为单用户模式,root不需要密码就可以登录
具体操作:开机->在引导时输入回车键->看到一个界面输入e->看到一个新的界面,选中第二行(编辑内核)在输入 e->在这行最后输入 1,再输入回车键~>再次输入b,这时就会进入到单用户模式。这时,我们就进入到 单用户模式,使用passwd指令来修改root密码。
3.pwd指令
显示当前工作目录的绝对路径
4.mkdir指令
用于创建文件夹
例:mkdir /home/animal
mkdir -p 创建多级目录
例:mkdir -p /home/animal/tiger
5.rmdir指令
rmdir指令只能删除空目录
如果目录不为空要用 rm -rf 指令
6.cp指令
拷贝文件到指定目录
cp 要复制的文件名 目录地址
cp -r 要复制的文件夹 目录地址 : 递归复制整个文件夹
\cp 强制覆盖不提示
7.rm指令
删除文件或目录
rm 文件名
rm -r 文件夹 : 递归删除整个文件夹
rm -f : 强制删除不提示
8.移动文件与目录或重命名
mv oldNameFile newNameFile : 重命名
mv /temp/movefile /targetF older : 移动文件
9.>指令和>>指令
> 输出重定向 : 会将原来的文件的内容覆盖
>> 追加 : 不会覆盖原来文件的内容,而是追加到文件的尾部。
10.搜索查找类指令
1)find指令
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
find [搜索范围] [选项]
2)locate指令
locaate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现 快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保,证查询结果的准确度,管理 员必须定期更新locate时刻。
注意:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb 指令创建locate 数据库
3)gerp指令和管道符号 |
grep过滤查找,管道符" | ",表示将前一个命令的处理结果输出传递给后面的命令处理。
11.压缩和解压缩类
1)gzip和gunzip指令
gzip用于压缩文件 gunzip用于解压缩文件
gzip 文件 : 压缩文件,只能将文件压缩为*.gz文件
gunzip 文件.gz : 解压缩文件命令
2)zip和unzip指令
zip用于压缩文件,unzip用于解压的,这个在项目打包发布中很有用的。
将/home 下的所有文件进行压缩成mypackage.zip
将mypackge.zip 解压到/opt/tmp 目录下
3)tar指令
tar指令是打包指令,最后打包后的文件是.tar.gz 的文件。
tar [选项] XXX.tar.gz 打包的内容(功能描述: 打包目录,压缩后的文件格式.tar:gz)
压缩多个文件,将/home/a1 .txt和/home/a2.txt 压缩成a.tar.gz
将/home的文件夹压缩成myhome.tar.gz