文章目录
1.简单使用:
unix和linux关系类似于父子关系,unix是父,linux是子。unix有很多的分支。
UNIX发展背景:
1969年,肯·汤姆森为了使游戏运行更流畅开发了UNIX系统。
1969年因为美苏冷战美国方开发出了ARPANET,当时的协议太慢了,美方开发出了TCP/IP协议,为了推广将其绑定在UNIX系统上,在大学区推广开来。
1971年肯·汤姆森的同事发明出了C语言,为优化UNIX系统打下了基础。
UNIX系统当时有很多发行版本,但都需要相应的硬件平台才能运行。
LINUX发展历史:
因为UNIX是收费的系统,一位教授根据UNIX开发出了MINIX,放在网络上供大家学习使用,当时有很多人为提供了补丁和扩展包,但教授拒不接受。
1991年芬兰大学的学生李纳斯(Linus,他是git的创作者)和其他爱好者根据MINIX开发出了开源的Linux。
核心代码地址: https://www.kernel.org/
Linux分为内核和发行版,发行版本有很多,就是在内核的基础上添加了更多的功能。
Linux介绍:
linux是一个免费的、安全的、可处理多并发的操作系统。在服务器领域的应用最强。可以应用于个人计算机。
相关软件安装:
软件关系:
参考博客:https://blog.csdn.net/Augenstern_QXL/article/details/122251037
VM下载地址:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
Centos下载地址:https://vault.centos.org/7.6.1810/isos/x86_64/
1.1 虚拟机相关操作:
-
网络连接的三种方式:
桥接模式:虚拟系统可以和外部系统通讯,但是容易造成IP冲突。
NAT模式:网络地址转换模式,虚拟系统可以和外部系统通讯,不造成IP冲突。
主机模式:独立的系统
-
虚拟机克隆:
如果已经安装了一台Linux操作系统,还想要更多,只需要克隆就可以了
方法1:直接拷贝一份安装好的虚拟机文件
方法2:使用vmware的克隆操作,注意:克隆时要先关闭linux系统。并且克隆后的虚拟机和原虚拟机的所有设置包括用户密码都是一样的。
-
虚拟机快照:
当我们不小心对当前文件做了什么误操作时,我们想回到以前的状态时,vmware也提供了“快照管理”的功能。
这个功能有点类似于git的回滚,类似于一个存档的功能,当我们选择快照然后点击转到时,虚拟机就会重启然后回到你选择的位置,并且后面的快照也是被保存的,可以随时回到后面的快照状态。在当前快照下操作后保存新的快照会在当前快照下建立一个新的快照分支。
-
虚拟机的迁移和删除:
虚拟机本质上是一个放在指定文件夹内的文件
迁移:将安装好的虚拟系统的这个文件夹拷贝或者剪切到另外的位置使用。
删除:可以在VMware上进行洗出,再点击菜单,从磁盘删除。也可以直接手动删除对应的文件夹。 -
共享文件:
共享文件夹即linux和Windows共享一个文件夹内的内容,当一方对文件夹的内容进行改变时,另一方也能看到这个改变。
前提:需要安装 vmtools 。
共享文件夹在linux的设置和位置:
先在虚拟机中开启共享文件夹的设置:
然后在桌面的主文件夹 --> 其他位置 --> 计算机 --> mnt --> hgfs --> myshare 文件夹内存放的就是我们共享的文件。
注意:实际开发中,文件的上传下载是需要通过远程方式完成的。因为我们学习主机和linux虚拟机是在一台电脑上的,但是实际开发中并不是这样,程序员和linux虚拟机并不一定在同一台电脑上,这里就不能使用这种方法共享文件了。
1.2 Linux目录结构:
linux的文件系统采取树状目录结构,最上层是根目录“/”,在此目录下再创建其他目录。
特点:一切皆文件!
在dev文件夹下我们发现,在Linux系统中连硬件也变成了文件,比如cpu等。
文件夹详解:
1.3 远程操作:
- 远程登录:
我们使用xshell软件进行远程登录一个linux主机上,首先我们使用 ifconfig 命令在linux终端获取到虚拟机的ip地址,再通过主机ping虚拟机的ip地址。ping通后可使用xshell连接虚拟机。
遇到的问题:
遇到了虚拟机可以ping通主机,主机不可以ping通虚拟机的问题,我使用的是net网络连接的方法,首先打开网络设置:
修改vmnet8的ipv4属性值:
将其ipv4地址修改为与虚拟机同一网段,然后先禁止vmnet8,后再开启它,即可ping通。
连接xshell成功后即可看到如下页面:
- 远程文件传输:
我们使用xftp进行远程的文件传输,首先我们先创建会话
创建成功后软件显示我们Windows和连接的虚拟机的文件,发现虚拟机出现了乱码
解决方法:
点击文件 -> 当前会话属性 -> 选项 -> 编码方式
可直接通过拖拽文件进行文件的上传和下载。
使用reboot命名可令虚拟机重启。
1.4 Vi和vim编辑器:
Linux系统会内置vi文本编辑器
Vim具有程序编辑能力,可以看做是vi的增强版,具有更强大的功能。
vim的三种模式:
有一般模式、插入模式、命令行模式。三种模式下可执行不同的功能。
使用vim进入文件,如果没有这个文件会自动创建一个(相当于新建文件)
输入i后进入编辑模式,可编写代码,最后按esc按键回到一般模式后,输入:wq进入命令行模式并写入保存代码。
:wq 写入并保存
:q 退出但不保存
:q! 强制退出不保存
常用快捷键:
- 在一般模式下 拷贝当前行:使用“yy”,如果要拷贝当前行向下2行,输入“5yy”,后粘贴(输入p)
- 在一般模式下 删除当前行 使用“dd” ,删除当前行向下5行 使用“5dd”
- 在命令行模式下 查找某个单词:“/关键字”,按回车查找。输入“n”查找下一个。
- 在命令行模式下,设置行号和取消行号:“:set nu 和 :set nonu”
- 在一般模式下,跳到文档的最末行“G”,最首行“gg”
6.一般模式下,撤回刚刚在编辑模式下的所有操作,输入“u”
7.一般模式下,让光标移动到指定行:输入“20G”
1.5 关机和重启:
“立即关机”: shutdown -h now
“1分钟后关机”: shutdown -h 1
“现在重启计算机:” shutdown -r now
“关机:” halt
“重启计算机:” reboot
“把内存数据同步到磁盘:” sync
注:不管是关机还是重启,都要先运行sync命令,把内存中的数据写在磁盘中,目前的和关机重启相关的命令都已在关机前进行了sync,但还是自己运行一下保险些。
1.6 用户登录和注销:
我们平时登录要尽量少用root账号登录,他是系统管理员权限很大,可以用普通用户登录使用 su - 用户名进行切换用户
并输入 logout 可注销用户:
注:logout在图形运行级别无效,在运行级别3下有效(就是在centos终端运行无效,在xshell运行有效)
1.7 用户管理:
- 添加删除用户:
添加用户: useradd 新用户名
给新用户指定家目录:useradd -d 指定目录 新用户名
显示当前所在目录:pwd
更改选择的用户的密码:passwd 用户名
删除用户但保留家目录:userdel 用户名
删除用户不保留家目录:userdel -r 用户名
linux系统会将用户信息保存在home目录下(相当于一个“家目录”),并且创建用户后会自动创建和用户同名的家目录。并可指定用户的家目录。
可使用 passwd 用户名 进行指定用户的密码修改,如果不加用户名则是针对当前用户的密码修改,所以要注意。
删除相关有两种命令,区别在于是否将家目录下的文件信息也删除。
使用此命令将用户在home文件中的信息也一把删除。
- 查询用户信息:
显示用户信息:id 用户名
切换用户:su - 用户名
显示当前用户:whoami
注意:高级别用户切换到低等级的用户是不需要输入低等级用户的密码的,但是同级别用户间的切换是需要的,切换高级别用户也是需要密码。
who am i 指令和whoami指令的区别是:第一个是显示第一次登陆的用户信息;第二个显示的是当前登陆的用户信息。
- 用户组:
我们在用户管理时有共性的成员可以放在用一个组下进行管理
新增组:groupadd 组名
删除组:groupdel 组名
给指定用户加上组:useradd -g 组名 用户名
修改用户组:usermod -g 组名 用户组
用户组相关的三个文件:
- /etc/passwd 文件:
此文件放置用户的配置信息,记录用户的各种信息。
最后一个是登录shell种类,shell类似于java中的jvm虚拟机,当我们输入指令时通过shell的编译将指令转换为linux可以看懂的命令。比如我们这里使用的是bash解释器。
- /etc/shadow 文件
口令的配置文件,就是存储口令(密码)的文件
- /etc/group 文件:
组的配置文件,记录Linux包含的组的信息。
1.8 运行级别:
linux有7中运行级别:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形化界面
6:系统重启
常用的级别是3和5,也可以指定默认的运行级别
我们可以使用 init 命令来切换不同的运行级别:
init 3
查看运行级别的方法:graphical.target 表示级别5 multi-user.target 表示级别3
修改级别命令:
systemctl set-default TARGER.target
1.9 找回root密码:
每一版本的虚拟机在找回root密码可能会有所不同。在虚拟机启动时,显示当前页面时,上下移动光标,让其不要跳进下一个页面
然后输入e,会跳到一下页面,在llinux16最后输入 init =/bin/sh,跳到下一个页面
未完待续
常用帮助命令:
-
man命令:
用法:man 【命令或者配置文件】(功能:获得帮助信息)
案例:查看ls命令的帮助信息:man ls,如下图,按空格键可以查看下面的信息,按p键可以退出查看,回到原来的命令窗口。
如上图所示:
输入 ls -a 可以显示所有文件,包括以“.”开头的隐藏文件夹,在linux中隐藏文件是以.开头的。
输入 ls -l 可以显示文件的更多信息,并可以组合使用如 ls -al,也可以显示指定的文件夹如 ls -al /home -
可以通过help指令获得shell内置指令的帮助信息
用法:help 命令
2. 文件目录指令:
pwd 指令:
显示当前工作目录的绝对路径
cd 指令:
切换到指定的目录:
cd ~ 回到自己的家目录(root目录)
cd … 回到当前目录的上一目录