跟着尚硅谷的Linux教程学习
看视频可以直接点击 b站视频地址
课程内容
这一部分都学
这一部分只学shell
Linux的方向
应用领域
- 个人桌面(弱)
- 服务器领域(强)
- 嵌入式领域
linux内核可以定制,比如安卓的内核就是linux
学习路径
- linux 环境下的基本操作命令,包括 文件操作命令(rm mkdir chmod, chown) 编辑工具使用(vi vim)linux 用户管理(useradd userdel usermod)等
- linux 的各种配置(环境变量配置,网络配置,服务配置)
- linux 下如何搭建对应语言的开发环境(大数据,JavaEE, Python 等)
- 能编写 shell 脚本,对 Linux 服务器进行维护。(能到这就差不多了)
- 能进行安全设置,防止攻击,保障服务器正常运行,能对系统调优。
- 深入理解 Linux 系统(对内核有研究),熟练掌握大型网站应用架构组成、并熟悉各
学习方法
1、适当地囫囵吞枣,不要死记一些不常用的指令
2、Linux很少涉及到变成,重点是实际操作,熟练应用各种指令
简介
Linux简介
- Linux是一款操作系统,免费、开源、安全、高效、稳定、高并发性强,基本上企业级的项目都部署到了Linux/Unix服务器,几乎只有微软的一些服务会部署到Windows。
- 由Linus Torvalds开发,吉祥物是个小企鹅(Tux)
- 对Linux内核进行了定制后,产生了多个发行版。主要发行版本:Ubuntu、CentOS、RedHat(和CentOS是一家,这个收费,CentOS不收费)、Suse、红旗Linux。
Linux和Unix的关系
Linux和Windows比较
VM和Linux的安装
Window、VM、CentOS的关系
所需资源
1、VMware-workstattion16下载
2、CentOS 6 64位网盘地址
提取码:0zsc
一些常见问题和教程
CentOS安装教程
VMware Workstation 与 Device/Credential Guard 不兼容
gpedit.msc丢失
已将该虚拟机配置为使用 64 位客户机操作系统。但是无法执行 64 位操作
网络连接(难点)
当使用NAT方式时,下图各主机通信如下。
这里在配置的时候推荐选择NAT,然后在右上角的网络选择eth0,就可以连上网了。
当选择主机模式时,意味着Linux系统是一个整体,不能访问外网。
安装时的注意事项
- 密码一定要用强随机性的密码,比如20位由大小写字母、数字产生的密码
- 要给磁盘分区
- boot分区(200M左右):引导分区
- swap分区(2G左右,约为内存的2倍):交换分区
- 空闲分区
- 一定要自己自定义,只需要选个兼容和浏览器即可。
- 生产环境一定要选Kdump,自己玩不需要
- 自己玩的时候可以在登录时选择其他用户,使用root用户来登录。
安装vmTools
可以实现:
- 在Windows和CentOS可以自由复制粘贴
- 共享文件夹,即Windows和CentOS共同访问一个文件夹
安装步骤
- 进入 centos
- 点击 VMware的【虚拟机】菜单的【安装vmware tools】
- centos 会出现一个 vm 的安装包
- 点击右键解压, 得到一个安装文件
- 进入该 vm 解压的目录 ,该文件在 /root/桌面/vmware-tools-distrib/下6.安装 ./vmware-install.pl
- 全部使用默认设置即可
- 需要 reboot 重新启动即可生效
设置共享文件夹
- 菜单->vm->setting, 如图设置即可注意:设置选项为 always enable , 这样可以读写了
- windows 和 centos 可共享 d:/share 目录可以读写文件了
- 在 centos 的 /mnt/hgfs/ 下
Linux文件系统目录
linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”(只有一个根目录,注意不是root文件夹),然后在此目录下再创建其他的目录。
一句经典的话:在 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:所有系统管理所需的配置文件和子目录 my.config。
- /usr:这是一个非常重要的目录,用户的很多程序和文件都放在这个目录下,类似于windows下的program files目录。
- /boot:存放的是启动Linux时使用的一些核心文件,包括一些链接文件和镜像文件。
- /proc:这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息。(没有linux开发基础就不要碰这个文件夹)
- /srv:service的缩写,该目录存放一些服务启动之后需要提取的数据。(没有linux开发基础就不要碰这个文件夹)
- /sys:这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统。(没有linux开发基础就不要碰这个文件夹)
- /tmp:这个目录用来存放一些临时文件。
- /dev:类似于windows的设备管理器,把所有的硬件用文件的形式存储。cpu的目录就在这。
- /media:Linux系统会自动识别一些设备,比如U盘、光驱等,当识别后,Linux会把识别的设备挂载到这个目录下。
- /mnt:系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将外部的存储挂载到/mnt上,然后进入该目录就可以查看里面的内容了。比如上面配置的共享文件夹就在mnt/hgfs中。
- /opt:这是给主机额外的【安装软件/安装包】所摆放的地方。如安装ORACLE数据库就可以放在这个目录下。默认为空。
- /usr/local:这是另一个给主机额外的【安装软件/安装包】的目录,一般是通过编译源码方式安装的程序。
- /var:这个目录中存放着在不断扩展着的东西,习惯将经常被修改的目录放在这个目录下,包括各种日志文件。
- /selinux:Security Enhanced的缩写,是一种安全子系统,能控制程序只能访问特定文件。(类似360?)
文件系统小结
- Linux的目录只有一个根目录
- Linux的各个目录存放的内容是提前规划好的,不要乱放文件。
- Linux是以文件的形式来管理设备的,因此Linux系统中一切皆为文件
- Linux的各个文件目录下应该存放什么内容,必须要有一个完整的认识。
远程登录Linux系统
xftp和xshell的安装包
提取码:289y
为什么需要远程登录Linux
- linux 服务器是开发小组共享的.
- 正式上线的项目是运行在公网的.
- 因此程序员需要远程登录到 centos 进行项目管理或者开发…
开启SSHD服务
XShell需要Linux开启一个sshd服务,开启以后这个服务会监听22端口。
- 在终端中输入setup
- 选择工具时,选择系统服务
- 前面有*号的就是已经开启了的。
远程连接Linux
- 输入ifconfig获取linux的ip,ip还没有分配。
- 看了一下原来是没连上网,连上网以后可以看到ip地址
- 复制ip来创建会话
- 找到会话中刚刚创建的新会话,点击连接后要接收并保存密钥
- 输入用户名和密码即可连接
- 这个时候就可以远程操作这个CentOS主机了,比如输入reboot,就可以看到vm中的电脑重启了。
远程登陆xftp
xshell只能远程使用一些指令,但是如果涉及到上传文件就无能为力了,所以还需要xftp来上传文件。
- 配置
一定要选择sftp,Linux只开了22号端口,如果用ftp的21端口,Linux没有对外提供服务。 - 解决中文乱码问题(可能xftp6和7都没有乱码问题)
-
点击这个图标
-
选择使用UTF-8编码后点击确定即可解决这个问题
Vi和Vim编辑器使用
Vi和Vim
所有的Linux系统都会内建Vi文本编辑器,Vim是一个具有编程能力的编辑器(有点像IDE),相当于Vi的增强版本。
三种模式
- 正常模式
在正常模式下,我们可以使用快捷键。
以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容, 也可以使用【复制、贴上】来处理你的文件数据。 - 插入模式/编辑模式
在该模式下,程序员可以输入内容。按下 i, I, o, O, a, A, r, R 等任何一个字母之后才会进入编辑模式, 一般来说按 i 即可 - 命令行模式
在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的
三种模式的切换
Vim好像没什么用就直接不看了,了解一下得了
设置自动连接网络
- 点击【系统】选项卡
- 找到首选项-【网络连接】
- 编辑网络连接配置
- 勾选自动连接