Linux
1、安装VmWare
安装地址
2、CentOs的安装
1、创建虚拟机
2、开始安装
3、安装难点-网络连接方式
网络连接的三种方式
- 桥接模式:虚拟系统可以和外部系统通讯,但是容易造成IP冲突
当在同一个局域网开启虚拟机时,虚拟机网络配置为当前局域网IP,此时分配的虚拟系统的IP也是该网段下的IP地址,但是最多只能存在255个,当数量足够大时,容易造成IP地址冲突。
- NAT模式:网络地址转化模式,虚拟系统可以和外部系统通讯,不造成IP冲突
当在同一个局域网开启虚拟机时,虚拟机网络配置为当前局域网IP,此时分配的虚拟系统的IP不是该网段下的IP地址,但是可以和当前网段内的IP地址有联系,不容易造成冲突。
- 主机模式:独立的系统
3、虚拟机的克隆
如果已经按安装了一台Linux操作系统,想要更多的话可以直接进行克隆
- 方式一:直接拷贝一份安装好的虚拟机文件
- 方式二:使用vmware的克隆操作
- 注意,克隆时,需要先关闭linux
4、Linux基础篇
目录结构
基本介绍
- linux的文件系统是采用级层次式的树状目录结构,再次结构中的最上层是根目录"/",然后在此目录下在创建其他的目录
- 深刻理解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/上,然后进入该目录就可以查看里面的内容
- /opt 这是主机额外安装软件所在的目录,如安装ORACLE数据库就可以放到该目录下,默认为空,相当于安装包目录
- /usr/local 【常用】 这是另一个给主机额外安装软件所在的安装目录,一般是通过编译源码的方式安装的程序,相当于程序安装目录
- /var 【常用】这个目录存放着在不断扩充着的东西,习惯将经常被修改的目录存在在这个目录下,包括各种日志文件
- /selinux [security-enhanced linux]SElinux是一种安全子系统,他能控制程序只能访问特定文件,有三种工作模式,可以自行设置
5、远程登录到linux
为什么要远程登录linux:在公司开发中
- linux服务器开发小组共享
- 正式上线的项目是运行在公网
- 因此程序员需要远程登录到linux进行项目管理或者开发
使用Xshell连接到远程主机
进入远程主机后可以使用 ping [ip]的方式来测试网络是否正常连接 ,
ping如果不停止会一直ping下去,使用ctrl+c 或 ctrl+z退出
重启的指令:reboot 在服务器上慎用 否则直接重启远程主机
使用Xftp连接到文件
6、vi和vim的基本介绍
1、基本介绍
什么是vi
类似于Windows内的记事本,Linux系统会内置vi文本的编辑器
什么是vim
vim具有程序编辑的能力,可以看做是vi的增强版,可以主动的以字体颜色判断语法的正确性,方便程序设计。代码补全、编译以及错误跳转等方便编程的功能丰富,使用广泛。
vi和vim的常用三种模式
- 正常模式
- 以vim打开一个档案就直接进入一般模式(正常模式,也是默认的模式)。在这个模式中,你可以使用上下左右按键来移动光标,你可以使用删除字符或者删除整行来处理档案内容,也可使用复制粘贴来处理你的文件数据
- 插入模式
- 进入正常模式之后,按下i、o、a、r等任何一个字母之后才会进入,一般按i即可
- 命令行模式
- 在这换个模式中,可以提供你相关指令,完成读取,存盘,替换,离开vim,显示行号等的动作,就是在此模式内达成的
案例:使用vim开发一个.java程序
进入一个文件夹,编写vim Hello.java 回车
进入后按下i键进入编辑模式
可以看到下面有个INSERT,此时为编辑模式,编辑一个java代码,如上图,编辑完成之后按下ESC键
可以看到左下角INSERT消失,此时编写 :wq 表示保存退出 若不成功 :wq! 可强制保存退出,如图所示,可以在进去编辑,:q(不保存退出) ,:q!(不保存强制退出)
2、各种模式的切换
3、vi/vim 编辑文件时快捷键
- 复制当前行: 一般模式下,yy ,复制当前行开始向下的五行 5yy,粘贴(输入p)
- 删除当前行: 一般模式下,dd,删除当前行向下的五行 5dd
- 查找:命令行下 /关键字 ,回车查找,输入n就是查找下一个
- 设置文件的行号,取消文件的行号【命令行下:set nu 和 :set nonu】
- 编辑比较长的文件,比如/etc/profile文件,在一般模式下,使用快捷键到该文件的最尾行【G】和首行【gg】
- 撤销:在一般模式下,按下u
- 定位到某一行 :在一般模式下,输入20(行号),在按下shift+g
注:输入数字键时不能使用小键盘
7、linux实操篇–关机|重启|用户登录|注销
- 关机和重启
- shutdown -h now 立刻关机
- shutdown -h 1 1分钟后关机
- shutdown -r now 重启
- halt 关机
- reboot 重启
- sync 把内存中的数据同步到磁盘
注意细节:
- 不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中
- 目前的shutdown/rebood/halt等命令都已经在关机前进行了sync,但是小心使得万年船
8、用户管理
基本介绍
Linux是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统
添加用户
- 基本语法
- useradd 用户名
- 应用案例
- 案例1:添加一个用户milan,默认该用户的家目录在/home/milan
- 细节说明
- 当创建用户成功后,会自动的创建和用户同名的家目录
- 也可以通过useradd -d 指定目录 新的用户名,给新创建的用户指定家目录
指定/修改密码,用户名一定指定清楚
- 基本语法:password 用户名
- 补充:pwd 显示当前用户在哪个文件夹下
删除用户
- 基本语法:userdel 用户名 (删除用户,但是保留/home目录下的文件)
- userdel -r 用户名(删除用户,包括/home目录下的文件)
查询用户信息
- 基本语法:id 用户名
切换用户
-
在linux中,如果当前用户权限不够,可以通过su-指令,切换到高权限用户,比如root
-
基本语法:su - 切换用户名
-
细节说明:
- 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
- 当需要返回回原来的用户时,使用exit/logout指令
查看当前用户/登录用户
- 基本语法:who am i (显示的是登录的 用户信息,如果第一次登录的root 切换用户之后,显示的也是root的信息)
用户组
- 介绍:类似于角色,系统可以对多个具有共性/权限的多个用户进行统一的管理
- 新增组:groupadd 组名
- 删除组:groupdel 组名
- 增加用户时直接加上组:useradd -g 用户组 用户名
- 修改用户的组:usermod -g 用户组 用户名
用户和组相关文件
- /etc/passwd 文件
- 每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
- /etc/shadow 文件
- 每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
- /etc/group 文件
- 组(group)的配置文件,记录linux包含的组的信息
- 每行含义:组名:口令:组标识号:组内用户列表
9、运行级别
基本介绍
- 运行级别说明:
- 0:关机
- 1:单用户[找回丢失的密码]
- 2:多用户装填没有网络服务
- 3:多用户状态有网络服务
- 4:系统未使用保留给其他用户
- 5:图形界面
- 6:系统重启
- 常用的运行级别是3和5,也可以指定默认运行级别
- 命令:init[0123456] 通过init来切换不同的运行级别,比如5-3 然后关机
10、找回root密码
详见该目录下的word文档
11、帮助指令
- man 获取帮助信息
- 基本语法:man [命令或配置文件] (功能描述:获得帮助信息)
- 案例:查看ls命令的帮助信息 man ls
- 在linux下,隐藏文件是以"."开头,选项可以组合使用 比如 ls-al,比如ls -al/root,显示的就是/root下的所有文件
- help指令
- 基本语法:help命令(功能描述:获得shell内置命令的帮助信息)
- 比如:help cd 显示的就是cd的用法
12、文件目录指令
1、基本文件指令
cd指令
- 基本语法:cd[参数] (功能描述:切换到指定目录)
- cd~ 或者 cd : 回到自己的home目录,比如身份是root 那么会回到 /root目录
- cd… 回到上一级目录
mkdir指令
- mkdir指令用于创建目录:
- 基本语法:mkdir[选项] 要创建的目录
- 常用选项
- -p:创建多级目录
- 应用实例
- 创一个目录: mkdir /home/dog
- 创建多级目录:/home/animal/tiger
rmdir指令
- rmdir 指令删除空目录
- rmdir [选项] 要删除的空目录
- rm -rf /home/animal 强制删除目录,不论是否为空,小心使用
当使用rmdir删除不为空的目录时:
touch指令
-
touch创建空文件
-
touch 文件名
-
在home下创建一个hello.txt
-
touch hello.txt
2、拷贝指令
cp指令
-
cp指令拷贝文件到指定目录
-
基本语法
- cp [选项] source dest
-
常用选项
- -r 递归复制整个文件夹
-
实例
- 1、将 /home/hello.txt 拷贝到 /home/bbb下 cp hello.txt bbb/
- 2、递归复制整个文件夹:将/home/bbb整个目录拷贝到/opt目录下 cp -r /home/bbb/ /opt
-
使用细节
- 当复制文件夹到另一个也已经存在的文件夹下时,会提示是否覆盖文件夹
- 强制覆盖不提示的方法:cp /cp -r /home/bbb/ /opt
rm指令
- 移除文件或者目录
- rm [选项] 要删的文件或目录
- 常用选项
- -r :递归删除整个文件
- -f 强制删除不提示
- 实例
- 1、将/home/hello.txt删除 rm
- 2、递归删除整个文件夹/home/bbb rm -rf /home/bbb 删除整个文件夹不提示,慎用
- 实用细节
- 强制删除时不提示的方法:带上-f即可
mv指令
- mv移动文件与目录或重命名
- 基本语法
- mv oldNameFile newNameFile (old 和 new在同一个文件夹下,就是重命名)
- mv /temp/movefile /targetFolder (移动文件)
- 实例
- 1、将/home/cat.txt 文件重命名为pig.txt文件 : mv cat.txt pig.txt
- 2、将/home/pig.txt文件移动到/root目录下 : mv pig.txt /root (mv pig.txt /root /raw.txt 以移动并重命名)
- 3、移动整个目录,将/opt/bbb 移动到/home下 : mv bbb /home
cat 指令
- cat查看内容 只能查看不能修改
- 基本语法
- cat [选项] 要查看的文件
- 常用选项
- -n :显示行号
- 应用实例
- 1、查看/etc/profile 显示行号 :cat -n /etc/profile
- 使用细节:
- cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more
关于more
- more指令是一个基于VI编辑器的文本过滤器,他以全屏幕的方式按照页显示文本文件的内容。more指令中内置了若干快捷键(交互指令),详见操作说明
- 基本语法
- more 要查看的文件
- 操作说明如图
- 实例
- 采用more查看文件 /etc/profile
操作
功能说明
空格(space)
向下翻一页
Enter
向下翻一行
q
立刻离开more,不再显示文件内容
Ctrl + F
向下滚动一屏
Ctrl + B
返回上一屏
=
输出当前行号
:f
输出文件名和当前的行号