VMware Workstation Pro 使用Linux系统(超详细教程)
Linux虚拟机可以ping通百度但是xshell连接不上…解决办法
如果遇到了其他的什么问题,欢迎联系我,我会尽到自己的一份绵薄之力帮助大家
(1)好处
安装好一台虚拟机后直接克隆出一台一模一样的Linux(硬件配置、IP地址等),克隆出来之后可以对之后直接进行集群的部署起到很好的铺垫作用。
** (2)演示**
首先先关闭虚拟机,因为开机的虚拟机可能会在克隆的时候出现修改的问题,所以Vmware虚拟机克隆功能只能克隆关机的虚拟机
下一步
下一步
这里选择创建一个完整克隆,完整克隆是克隆出一个完完全全的虚拟机,而链接克隆不是。
然后再点下一步
这里是虚拟机的名称还有虚拟机放在哪里的位置
等待克隆完成就好了
克隆好之后需要进行IP地址的修改,因为我们克隆出来的虚拟机跟被克隆的虚拟机的IP地址是一样的,如果不修改,两台虚拟机之间会因为IP地址冲突,所以我们直接修改地址就好。
当然主机名也需要改一下
因为是完整克隆,所以账号密码和以前的虚拟机也是一样的
hostnamectl set-hostname
名字vi /etc/hostname
cd /etc/sysconfig/network-scripts/
ls
vi ifcfg-ens33
(因为小郭的网卡名是ens33所以就直接修改这个文件就可以了)。nmtui
(1)常用目录
/ :根目录,linux的最上层目录
~:家目录
. :用户当前所在目录
… :当前目录的上一级目录
/…/… :表示绝对路径
/bin:bin是Binary的缩写,该目录下存放的是最常用的命令。
/boot:该目录下存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev:dev是Device(设备)的缩写。该目录下存放的是Linux的外部设备。
在Linux中,访问设备的方式和访问文件的方式是相同的。
/etc:该目录下存放的是所有系统管理所需要的配置文件和子目录。
/home:这是普通用户的主(家)目录。在Linux中,每个普通用户都有一个自己的家目录,
一般该目录名是以用户的账号命名的。
/lib和/lib64:这两个目录下存放的是系统最基本的动态连接共享库,
其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
其中/lib64为64位的软件包的库文件所在目录。
/media:系统会自动识别一些设备(如U盘、光驱等),当识别后,
Linux会把识别的设备挂载到该目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统。
我们可以将光驱挂载到/mnt/上,然后进入该目录查看光驱里的内容。
/opt:这是给主机额外安装软件所设置的目录,该目录默认为空。
比如你要安装一个ORACLE数据库,可以放到该目录下。
/proc:该目录是一个虚拟的目录,是系统内存的映射,我们可以通过直接访问来获取系统信息。
该目录的内容在内存里,我们可以直接修改里面的某些文件。
比如可以通过下面的命令来屏蔽主机的ping命令,使其他人无法ping你的机器。
后续,在日常工作中,你会经常用到类似的用法。
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:该目录是系统管理员的用户主目录。
/run:这个目录其实和/var/run是同一个目录,这里面存放的是一些服务的pid,一个服务启动完后,
是有一个pid文件的。至于为什么说是同一个目录,Linux是如何做到的,后续我们再介绍。
/sbin:s就是Super User的意思,该目录存放的是系统管理员使用的系统管理程序。
/srv:该目录存放的是一些服务启动之后需要提取的数据。
/sys:该目录存放的是与硬件驱动程序相关的信息。
/tmp:该目录是用来存放一些临时文件的。
/usr:这是一个非常重要的目录,类似于Windows下的Program Files目录,
用户的很多应用程序和文件都存放在该目录下。后面的章节中,我们会多次用到这个目录。
/usr/bin:该目录存放的是系统用户使用的应用程序。
/usr/sbin: 该目录存放的是超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src :该目录是内核源代码默认的放置目录。
/var:该目录存放的是在不断扩充且经常被修改的目录,包括各种日志文件或者pid文件,
刚刚提到的/var/run就是在/var目录下面
在Linux系统中,有几个重要的目录需要注意,不要误删除或者随意更改其内部文件。
/etc目录下是系统的配置文件,如果更改了该目录下的某个文件可能会导致系统无法正常启动。
/bin、/sbin、/usr/bin和/usr/sbin目录是系统预设的执行文件的放置目录,
其中/bin和/usr/bin目录下是供系统用户使用的指令(除root外的通用账户),
而/sbin和/usr/sbin目录下则是供root使用的指令。比如ls指令就存放在/bin/目录下。
/var也是一个非常重要的目录,系统上运行各个程序时所产生的日志都被记录在该目录下
(即/var/log目录中),另外mail指令的预设也放置在这里。
Linux命令基本上由三部分组成:命令本身+参数+选项
关机命令:shotdown -h now
;init 0
;halt -p
;
重启命令:init 6
;roboot
;
切换目录命令:cd
:change directory
显示当前目录:pwd
:print work directory
切换用户:su
:switch user
这里su 用户名和su – 用户名都可以,区别就是有“–”就表示切换并应用该用户的环境变量
显示当前用户:whoami
:who am i
显示当前用户的详细信息:id
显示网卡信息:ip addr
列出当前目录下的文件:ls
:list ;ll :ls -l(列出当前目录下的文件和详细信息)
清屏:clear
;快捷键:ctrl+l
创建目录:mkdir
:make direcoty
-p + 参数:可以同时创建多层目录
拷贝文件(目录): cp
:copy 复制:从一个目录到另一个目录,源文件还是存在于源目录下
创建文件:touch
:例如:touch 1.txt
编辑文件:vi
这里有很多编辑方式大家可以在网上搜一下,小郭最常用的是进入之后先“i”键进行编辑,完成后“Esc”键退出编辑模式,再“:”键“x”键直接ok
刚才的1.txt我们编辑第一行就数字1,第二行就数字2…
打印:echo
;(相当于python的print)
显示文件:cat
;tac
;more
;less
;head
;tail
;
cat是从前往后的方式显示文件
tac是从后往前的方式显示文件
more是分屏看,一屏一屏看,只能往后看
less是可以分屏看,也可以一行一行看,可能往后看,也可以往前,退出按 q
head:默认看一个文件的前10行,通过参数 -n 指定具体看多少看,例如:head -n 20 p.txt :看文件的前20行
tail :默认情况是看一个文件的最后10行,通过参数 -n 指定具体看多少看,例如tail -n 20 p.txt :看文件的后20行
talil-f : 时实的刷新一个文件的内容,例如:tail -f p.txt :只要文件有变化,就可以看到最后的变化
移动文件(目录):mv
: move :从一个目录到另一个目录,源文件就不再存在于源目录下
删除目录:rmdir
:remove directory(只能删除空目录,比如刚才建的a目录就不可以删除,因为a里面有b)
-p + 参数:删除目录下的空子目录
删除文件(目录):rm
:remove 这里有个小细节,就是你运行rm删除一个文件的命令的时候,CentOS会问你是否删除,很贴心,这样会避免删错文件
-r:递归删除(多层删除)
-f:force:强制性删除
-rf:不可逆删除(一般删除目录,且不会询问是否删除)
rm -rf * (慎用,一旦成功,赶紧跑路!)
之前我们已经复制了这个passwd的文件到当前目录下了,那么删除会问是否删除
但是rm -rf就不会问
编辑文件:vi
显示指定的命令是哪个命令:which
设置别名:alias
:设置一个命令
取消别名:unalias
查看环境变量:set
; env
;
如果要看某一个具体的变量名的值,一般用命令echo
来看:
echo $HOSTNAME :查看变量HOSTNAME的值
echo $PATH:查看PATH的值
echo $LANG:查看LANG的值
echo $LINESIZE:查看LINESIZE的值
改变文件权限:chmod
:change model
改变文件的所属用户:chown
:change owner
改变文件的所属组:chgrp
:change group
我们可以输入命令ll
或ls-l
来看文件的详细信息
位置在图中圈出的第一个字母就是文件的类型:
– : 普通文件
d : 目录文件
l :连接文件
c :字符设备文件
b :块设备文件
s :套接字文件
先来看一下字符设备和块设备:
(1) 字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,调制解调器是典型的字符设备。
(2) 块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘是典型的块设备,应用程序可以寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写只能以块(通常是512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。
二者没有严格的区分,有兴趣可以在百度上查一下
图中圈出来的并在.之前的一串字母就是文件的权限
9个字母每三个对应linux系统里的三个不同范围的权限
Linux系统的三个范围:
(1)用户本身:用user表示
(2)同一组内:用group表示
(3)组外的:用other表示
每个范围都可能有三个权限:r(read,读)、w(write,写)、x(execute,执行),若没有就会用–表示
小郭是这样理解的:
rwx(这三个权限分别对应一位二进制)
当文件是只读的形式的时候:r的二进制取1,其余的均是0,也就是二进制的100,对应十进制的4
当文件是只写的形式的时候:w的二进制取1,其余的均是0,也就是二进制的010,对应十进制的2
当文件是只运行的形式的时候:x的二进制取1,其余的均是0,也就是二进制的001,对应十进制的1
同理,若文件是既可以读又可以写但是不能运行的话就是rw–,二进制的110,十进制的6
这样子我们就可以通过十进制的数字来表示对应的权限,例如5=101(r–x只读可执行)、
然后我们在更改文件的权限时就可以通过chmod
的命令
先cd到我们的家目录下,ll查看文件的权限
1.txt文件对用户是可读可写,对组内是可读,对组外也是可读.
若是都改为可读可写可执行,命令就是chmod u+rwx,g+rwx,o+rwx 1.txt
或chmod 777 1.txt
数字形式:
那有一个问题,文件是这样那目录是什么样子
答案是也是这个样子,但是我们之前的a目录里面有b目录,b目录里面有c目录,b和c目录里面是没有改变的
如果都要改,就用命令chmod -R 777 a/
减权限的话就用命令chmod u-rwx,g-rwx,o-rwx 1.txt
或者chmod 000 1.txt
数字形式:‘
递归循环同理:chmod -R 000 a/
文件的所属用户和所属组可通过命令ll
查看
第一个就是用户,第二个就是组
我们试着改变一下1.txt的所属用户:chown 用户名 1.txt
再改变一下1.txt的所属组:chgrp 组名 1.txt
最后再说一下文件特殊权限
文件特殊权限可通过命令lsattr
来查看
我们试着改一下1.txt的特殊权限,命令:chattr +a 1.txt
这是文件的保护权限,这时对1.txt文件的任何操作都会失败,我们试着vi 1.txt
都是会失败,去掉就用chattr -a 1.txt