安装 vmware tools ,帮助我们使用拖拽的方式从 windows 桌面和 Linux 虚拟机传输文件,并共享剪切板。
设置网络连接:
① 仅主机模式: 虚拟机不能和外网通信。
② 桥接模式:虚拟机和物理机都分配一个可以上网的ip,各自使用各自的网卡联网,同一个网段的机器可以相互连通。
③ NAT模式:(推荐使用)
虚拟机由物理机分配一个可以上网的ip,位于一个独立的网段,和物理机网段不同。通过物理机的网卡访问外网。自己的虚拟机只能被自己的物理机访问,别人无法访问。
远程登录
远程登录一台服务器,需要两个条件:① 服务的ip地址;② 登录的用户名和密码
文件和目录
① 在 linux 中,所有的数据和设备都是以文件的形式存在。
② linux 不会区分和识别文件的扩展名和后缀。
③ linux 只有部分盘符,其余所有的文件都挂载在 / 目录下,所有的文件都可以通过 / 进行访问。
④ 家目录:
普通用户的及目录默认在 /home/用户名下;root 用户的的家目录是在 /root下。
/home/ 目录下有各个用户对应的家目录,当用户登录时,会自动进入到自己的家目录。
⑤ linux 采用集中化的配置,全部的配置文件放在 /etc 目录下。
⑥ 常用的目录: /bin : 可执行的命令 /etc : 配置文件的目录
/opt : 自己安装的软件目录 /tmp : 临时目录
/root : root 用户的家目录 /home : 普通用户的家目录的父目录
① vim 编辑器拥有三种模式:一般模式(vim xxx 之后),编辑模式(i、o 进入),命令模式(使用ESC进入,)
② 一般模式:可以进行删除、复制、粘贴等操作,但是却无法编辑文件内容。
按键 | 功能 |
---|---|
yy | 复制光标所在行 |
p | 粘贴到光标的下一行 |
u | 撤销上一步,只能撤销一步 |
dd | 删除光标所在行 |
x | 删除当前一个字母 |
X | 删除光标前的一个字母 |
shift + ^ | 移动到行尾 |
shift + $ | 移动到行首 |
③ 编辑模式:按下面这些按时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时可以进行文本编辑。
按键 | 功能 |
---|---|
i | 进入编辑模式,在当前光标前 |
o | 进入编辑模式,在当前光标的下一行 |
A | 进入编辑模式,在当前光标所在行尾 |
④ 指令模式:在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以进入指令模式。
按键 | 功能 |
---|---|
:w | 保存 |
:q | 退出 |
:! | 强制执行 |
/要查找的词 | n 查找下一个,N 往上查找 |
:set nu | 显示行号 |
:set nonu | 关闭行号 |
:%s/str1/str2/g | 将 str1 批量替换为 str2 |
① ifconfig: 查看当前网络网卡信息
② ping ip -c num: 连接指定 ip
③ 服务: 和网络相关的服务名称为 network,只能使用 root 账号操作。更改了网络配置需要重启网络服务才能生效。
开启服务: service 服务名 start
关闭服务: service 服务名 stop
重启服务: service 服务名 restart
查看服务状态: service 服务名 status
④ 修改设备名: vim /etc/udev/rules.d/70-persistent-net.rules
⑤ 修改 IP: vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改IP后重启网络服务生效
⑥ 查看主机名: hostname
⑦ 修改主机名: vim /etc/sysconfig/network 修改主机名后,重启计算机生效
⑧ DNS: 网络上两台设备通信,只能通过ip地址进行通信。一般使用方便识别和理解的域名来代替IP,
例如:www.baidu.com ——> 14.215.177.39 默认请求网络运营商的 DNS 服务器,解析域名为ip地址。
可以将域名或主机名映射为对应的 ip,使用 ping 域名的方式来通信。
Windows 的域名映射配置文件为:C:\Windows\System32\drivers\etc\hosts
Linux的域名映射配置文件为: /etc/hosts
⑨chkconfig 设置后台服务的自启配置:
chkconfig 服务名 --list : 查看指定服务的开机自启动级别。
Linux中有启动级别,不同的启动级别,开机初始化的服务不同。
设置服务在某个级别开机启动或不启动: chkconfig --level xxx 服务名 off | on 。
查看系统的运行级别配置文件: vim /etc/inittab
⑩ 防火墙服务 iptables
查看防火墙开机启动状态: chkconfig iptables --list
查看防火墙状态: chkconfig iptables status
临时关闭防火墙: chkconfig iptables stop
全级别关闭防火墙: chkconfig iptables off
选择完整克隆,并修该虚拟机名称,自定义虚拟机位置。
克隆完成后的配置
① 修改主机名
vim /etc/sysconfig/network
② 修改 mac 地址
vim /etc/udev/rules.d/70-persistent-net.rules
删除 eth0 网卡,将 eth1 修改为 eth0 ,复制新的 mac 地址
③ 修改网卡的 ip
vim /etc/sysconfig/network-scripts/ifcfg-eth0
将复制的 mac 地址粘贴在新的位置,同时修改 ip
在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
将数据由内存同步到硬盘中: sync
关闭系统: hatl、shutdown -h now、poweroff
重启: reboot、shutdown -r now
shutdown: shutdown [选项] 时间
选项:-h 关机;-r 重启;时间单位为分钟。
前提:要使用 Linux 本机,不能使用 远程连接
思路:进入单用户模式,修改密码。因为进入单用户模式,root 不需要密码就可以登录。
总结:开机在倒数计时时,输入回车,看到一个界面,输入e,看到一个新的界面,选中第二行(编辑内核kernel),在输入e,页面跳转后输入空格和1,敲回车键,进入运行级别为1 的单用户模式,默认是root 模式。进入后使用 passwd root 命令设置新的 root 密码,再次输入新密码确认,完成后,输入reboot 重启。
① pwd :(print working directory)显示当前目录的绝对路径
② ls [选项] [目录或是文件]
常用选项:
-a :显示当前目录多有的文件和目录,包括隐藏的
-l :以列表的方式显示
示例:查看当前目录的所有内容信息 ls -al
③ cd [参数]
常用参数:
cd ~ 或者 cd 回到家目录
cd … 回到当前目录的上一级目录
④ mkdir [选项] 要创建的目录 指令用于创建目录(make directory)
常用选项: -p 创建多级目录
⑤ rmdir [选项] 要删除的空目录 指令用于删除空目录
如果要删除的目录下有内容,rmdir 指令是无法删除的。
rm -rf 要删除的目录 该指令可以删除非空的目录。
⑥ touch 文件名称 指令用于创建空文件
可以一次性创建多个文件,例如: touch hello.txt hello1.txt
⑦ cp [选项] source dest 指令拷贝文件到指定目录
常用选项: -r 递归复制整个文件夹
注意:\cp 强制覆盖不提示
⑧ rm [选项] 要删除的文件或目录 指令移除文件或目录
常用选项: -r 递归删除整个目录
-f 强制删除不提示
-v 显示删除成功
⑨ mv oldNameFile newNameFile 移动文件与目录或重命名
mv 路径1/文件 路径2/文件 移动文件与目录
⑩ cat [选项] 要查看的文件 以只读的方式打开文件
常用选项: -n 显示行号 通常后面会加上管道符 | more 用来分页显示
-T 将文件中的 TAB 制表符,显示为 ^T
11 more 要查看的文件 指令时以全屏的方式分屏显示文本的内容,适合查看的内容较多的文件
内置快捷键: 空格 向下翻页 Ctrl + F 向下滚动屏幕
Enter 向下翻行 Ctrl + B 返回上一屏幕
q 离开 = 输出当前行号
:f 输出文件名和当前的行号
12 less 要查看的文件 分屏显示文件的内容,相比于 more 实现了懒加载,推荐使用
内置快捷键: 空格 向下翻页 Ctrl + F 向下滚动屏幕
Enter 向下翻行 Ctrl + B 返回上一屏幕
q 离开 = 输出当前行号
:f 输出文件名和当前的行号
13 head [参数] 要查看的文件 默认显示文件的前10行
内置参数: -n 表示查看几行
14 tail [参数] 要查看的文件 默认显示文件的后 10 行
内置参数: -n 表示查看几行
-f 实时追踪该文档的所有更新
15 echo [选项] [输出内容]
16
> 输出重定向 :会将原来的文件的内容覆盖
ls -l >文件 列表的内容写入文件中
cat 文件1 > 文件2 将文件1的内容覆盖到文件2
>> 追加:不会覆盖原来的内容,而是追加到文件的尾部
ls -al >>文件 列表的内容追加到文件的末尾
echo “内容” >> 文件 将“内容”二字追加到文件中
17 ln -s [原文件或目录] [软链接名] 给原文件创建一个软链接
ln [原文件或目录] [软链接名] 给原文件创建一个硬链接 相当于文件的备份
删除软链接: rm -rf 软链接名
查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向
18 history
date 显示当前时间 2019年 07月 03日 星期三 18:22:56 CST
date “+%Y-%m-%d %H:%M:%S” 显示年月日时分秒 2019-07-03 18:24:02
date -d ‘1 days ago’ 显示前一天时间
date -s ‘字符串时间’ 设置系统当前时间
cal [选项] 不加选项,显示本月日历
find [搜索范围] [选项] 从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端
常用选项:-name “查询方式” 按照指定的文件名查找模式查找文件 find /home -name maben996
-user “用户名” 查找属于指定用户名所有文件
-size “文件大小” 按照指定的文件大小查找文件 find / -size +20M 查找根目录下大于20M的文件
size 的单位: c:字节; b(默认):525 字节; k:1023字节; M:MB; G:GB
locate 搜索文件
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
locate 查找时忽略 /tmp 目录
grep 指令和管道符合指令
管道符号 “|”:表示将前一个命令的处理结果传递给后面的指令处理。
grep [选项] 查找内容 源文件 用于在一个文件中搜索指定的内容
常用选项: -n 显示匹配行和行号
-i 查找时不区分大小写
grep 可以和 管道符号 “|” 配合使用 cat a.txt | grep “文” 在 a.txt 文件中,找到带“文”字的一行
useradd -g 组名 用户名 添加新用户到某个组
passwd 用户名 设置用户密码
id 用户名 查看用户是否存在
cat /etc/passwd 查看创建了哪些用户
usermod -g 用户组 用户名 修改用户的初始登录组,给定的组必须存在
userdel 用户名 删除用户但保存用户主目录
userdel -r 用户名 用户和用户主目录,都删除
whoami 显示自身用户名称
who am i 显示登录用户的用户名
su 用户名称 切换用户,只能获得用户的执行权限,不能获得环境变量
su - 用户名称 切换到用户并获得该用户的环境变量及执行权限
groupadd 组名 添加某个组
groupdel 组名 删除某个组
groupmod 组名 groupmod -n 新组名 老组名
cat /etc/group 查看创建了哪些组
drwxr-xr-x 10 位数字
第1位字符代表这个文件是目录、文件或链接文件:
-:代表文件; d:代表目录; l:链接文档
2~4位字符确定属主的权限; 5~7位字符表示属组的权限; 8~10位字符表示属组的权限
r(读取权限); w(修改删除权限,如果想删除当前目录,必须对当前目录的父目录有写权限); x(执行权限,进入目录)
① 对目录进行写的前提是,有执行和写的权限
② 删除文件的前提是,对当前文件所在的父目录有写的权限
方式一:chmod [{ugoa}{±=}{rwx}] 文件或目录
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和); + 增加权限 - 删除权限
方式二:chmod [mode=421 ] [文件或目录] r=4 w=2 x=1 rwx=4+2+1=7
chown [选项] [最终用户] [文件或目录] 改变文件或者目录的所有者 只有 root 权限才可以操作
常见选项: -R 递归操作
chgrp [最终用户组] [文件或目录] 改变文件或者目录的所属组 只有 root 权限才可以操作
同时修改文件或目录的所属主和所属组 chown 用户名 : 用户组
vi /etc/sudoers 进入超级用户名单,在 root 下面添加一行,例如 maben ALL=(ALL) ALL,之后maben 用户就拥有超级用户权限,使用时要加上 sudo
gzp/gunzip 压缩 只能压缩文件不能压缩目录,不保留原文件
gzip 文件 压缩文件,只能将文件压缩为*.gz文件
gunzip 文件.gz 解压缩文件命令
zip/unzip 压缩 zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件。
zip [选项] XXX.zip 将要压缩的内容 压缩文件和目录的命令
选项: -r : 压缩目录
zip -r mypackage.zip /home 压缩home 下所有的文件和目录并命名为 mypacage.zip
unzip [选项] XXX.zip 解压缩文件
选项: -d “目录” 指定解压后文件的存放目录
unzip -d /opt/tmp/ mypackage.zip 将 mypackage.zip 解压到/opt/tmp/目录下
打包:
tar [选项] XXX.tar.gz 将要打包进去的内容 打包目录,压缩后的文件格式.tar.gz
选项:-c : 产生.tar打包文件
-v : 显示详细信息
-f : 指定压缩后的文件名
-z : 打包同时压缩
-x : 解包.tar文件
打包:tar -zcvf a.tar.gz a.txt b.txt 将a.txt 和 b.txt 打包为 a.tar.gz
tar -zcvf myhome.tar.gz /home/ 将 home 目录下的所有文件 打包为 myhome.tar.gz 文件
解包:tar -zxvf myhome.tar.gz -C /opt 将 myhome 包 解压到 /opt 目录下
df 选项 列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况
选项: -h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示
fdisk -l 查看磁盘分区详情 该命令必须在root用户下才能使用
选项: -l 显示所有硬盘的分区列表
mount [-t vfstype] [-o options] 设备名 挂载 : 挂载设备到指定目录
umount 设备文件名或挂载点 卸载设备
ps aux | grep xxx 查看系统中所有进程
ps -ef | grep xxx 可以查看子父进程之间的关系
如果想查看进程的CPU占用率和内存占用率,可以使用aux;
如果想查看进程的父进程ID可以使用ef;
kill [选项] 进程号 通过进程号杀死进程
选项: -9 表示强迫进行立即停止
killall 进程名称 通过进程名称杀死进程,也支持通配符
pstree [选项] 查看进程树
选项: -p 限时进程的 PID
-u 显示进程的所属用户
top [选项] 查看系统健康状态
选项: -P 以CPU使用率排序,默认就是此项
-M 以内存的使用率排序
-N 以PID排序
进入后 按 q 退出
netstat -anp 此命令用来显示整个系统目前的网络情况。
创建: crontab -e
查看: crontab -l
清空: crontab -r
删除: crontab -e 进入后将某一个任务删除
格式: * * * * * 命令
第一个 * : 分钟, 0-59
第二个 * : 小时, 0-23
第三个 * : 天, 1-31
第四个 * : 月, 1-12
第五个 * : 星期几, 0-7,0和7都是周日
通配符: * :任意时间
,:用来间隔不连续时间
- :用来连接连续的时间
*/n:每间隔 n 个时间
RPM(RedHat Package Manager)
查询:
1)查询是否安装 rpm -q 包名
rpm -qa | grep 包名
2)查询包信息 rpm -qi 包名
rpm -qip 包全名
3)查询安装位置 rpm -ql 包名
rpm - qlp 包全名
4)查询系统文件属于哪个包 rpm -qf 系统文件名
卸载:rpm -e RPM软件包
rpm -e --nodeps 软件包
选项说明: -e 卸载软件包
--nodeps 卸载软件时,不检查依赖。
安装: rpm -ivh RPM包全名
选项说明:-i install安装
-v verbose显示详细信息
-h hash进度条
--force 强制覆盖安装
yum [选项] [参数] 软件
选项说明:-y 对所有提问都回答“yes”
参数说明:-install 安装rpm软件包
例如 yum - y -install tree