Linux学习笔记(韩顺平)
一、VMware和Centos
1、安装教程
自己上网查或者看韩顺平视频跟着安装
2、安装完Centos连不上网络的问题
https://blog.csdn.net/weixin_34309543/article/details/93719799
3、网络连接的三种模式
二、虚拟机克隆、快照、迁移删除
1、虚拟机克隆
如果你已经安装了一台Linux操作系统,你还想要更多的,没必要重新安装系统,你只需要克隆就好了
- 方式1:直接拷贝一份安装好的虚拟机文件
- 方式2:使用VMware的克隆操作,注意:克隆时需要先关闭Linux系统
2、虚拟机快照
3、虚拟机迁移删除
虚拟系统安装好了,它的本质就是文件(放在文件夹中的)。因此虚拟系统的迁移很方便,你可以把安装好的虚拟系统这个文件夹整体拷贝或者剪切到另外位置使用。删除也很简单,用VMware进行一处,再点击菜单->从磁盘删除即可,或者直接手动删除虚拟系统对应的文件夹即可。
三、VMTOOLS
1、VMware Tools 安装后,可以让我们在windows下更好的管理vm虚拟机,可以设置windows和centos的共享文件夹(安装VMTOOLS需要有gcc,如何查看是否安装 gcc -v,这个东西在安装centos的时候就可以选择安装)。
2、VMware Tools灰色,无法直接安装解决办法
https://blog.csdn.net/MelyLenient/article/details/109204228
四、Linux目录结构
基本介绍
1、linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录**“/”**,然后在此目录下再创建其他的目录。
2、深刻理解linux树状文件目录是非常重要的,记住一句经典的话:在linux世界里,一切皆文件(!!!)
详解
-
/bin [常用] 是Binary的缩写,这个目录存放着经常使用的命令
-
/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内核中新出现的一个文件系统sysfs
-
/tmp 这个目录是用来存放一些临时文件的
-
/dev 类似于Windows的设备管理器,把所有的硬件用文件的形式存储
-
/media[常用] Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux会把识别的设备挂载
到这个目录下
-
/mnt[常用] 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/
上,然后进入该目录就可以查看里面的内容了
-
/opt 这是给主机额外安装软件所存放的目录,如安装oracle数据库就可放到该目录下,默认为空
(安装包目录)
-
/usr/local[常用] 这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序(安
装目录)
-
/var[常用] 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下,包括各
种日志文件
-
/selinux 是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置
五、远程登陆Linux
说明
1、Linux服务器是开发小组共享
2、正式上线的项目运行在公网
3、因此程序员需要远程登陆到Linux进行项目管理或者开发
4、远程登陆客户端有Xshell6,Xftp6,我们学习使用Xshell和Xftp6,其他的远程工具大同小异
![image-20220331101522427](https://gitee.com/guo-xiaofang/imgs/raw/master/图片/image-20220331101522427.png)
Xshell和Xftp下载与安装
https://www.xshell.com/zh/thank-you-download/
六、Vi和Vim编辑器
Linux系统会内置vi文本编辑器
Vim具有程序编辑的能力,可以看作是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补全、编译及错误跳转等方便编程的功能,在程序员中被广泛使用。
1、Vi和Vim常用的三种模式
-
正常模式
以vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用[上下左右]按键来移动光标,你可以使用[删除字符]或[删除整行]来处理档案内容,也可以使用[赋值、粘贴]来处理你的文件数据
-
插入模式
按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可
-
命令行模式
按ESC再输入:或者/
在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号动作
2、vi和vim常用快捷键
七、开机、重启和用户登录、注销
关机、重启命令
- shutdown -h now 立刻进行关机
- shutdown -h 1 “hellow,1分钟后会关机”
- shutdown -r now 现在重新启动计算机
- halt 关机,作用和上面一样
- reboot 现在重新启动计算机
- sync 把内存数据同步到磁盘
注意:目前的shutdown/reboot/halt 等命令均已经在关机前进行了sync,但是在执行关机或重启前sync一下,小心驶得万年船
用户登录和注销
1、登陆时尽量少用root账号登陆,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登陆后再用“su - 用户名” 命令来切换成系统管理员身份
2、在提示符下输入logout即可注销用户
3、logout注销指令再图形运行级别无效,在运行级别3下有效
八、用户管理
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入新系统
添加用户(当创建用户成功后,会自动创建和用户同名的家目录)
useradd 用户名 创建用户
useradd -d 指定目录 新的用户名 这是另一种指定家目录的创建用户的方法
指定/修改密码
passwd 用户名 给用户指定密码/修改密码
pwd 显示当前用户所在的目录(绝对路径)
删除用户
userdel 用户名 仅删除用户
userdel -r 用户名 删除用户以及用户主目录
查询用户
id 用户名 查询用户信息
su - 用户名 切换用户
whoami 查看当前登录该系统的用户
用户组(类似于角色,系统可以对有共性的多个用户进行统一的管理)
groupadd 组名 新增组
groupdel 组名 删除组
useradd -g 用户组 用户名 增加一个用户,直接将他指定到组中
usermod -g 用户组 用户名 修改用户组
用户和组相关文件
![image-20220331173210144](https://gitee.com/guo-xiaofang/imgs/raw/master/图片/image-20220331173210144.png)
九、实用指令
1、运行级别
基本介绍:
0:关机
1:单用户(找回丢失密码)
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5,也可以指定默认运行级别
init [0123456] 通过init来切换不同的运行级别
systemctl get-default 查看当前默认的运行级别
systemctl set-default 运行级别英文名 设置当前默认的运行级别
2、如何找回root密码
1、首先启动系统,进入开机界面,在界面中按“e”进入编辑界面
2、找到以“Linux16”开头内容所在的行数,在行的最后面输入:init=/bin/sh
3、输入完后,直接按快捷键:Ctrl+x 进入单用户模式
4、接着,在光标闪烁的位置中输入:mount -o remount,rw / (注意:各个单词间有空格),然后按enter
5、在新的一行最后面输入:passwd,完成后按enter,输入密码。然后再次确认密码即可
6、接着,在鼠标闪烁位置(最后一行)输入:touch / .authorelabel(注意:touch与/后面有一个空格),完成后按 enter
7、继续在光标闪烁位置输入:exec /sbin/init(注意:exec 后面有一个空格),完成后按enter,等待系统自动修改 密码(时间较长,耐心等待),完成后,系统会自动重启,新的密码生效
3、帮助指令
man 命令
help 命令 获得帮助信息
4、文件目录类指令
ls -a 目录或文件 显示当前目录所有文件和目录,包括隐藏的
ls -l 目录或文件 以列表的方式显示信息
ls -lh 目录或文件 更直观的显示
ls -al或者-la 目录和文件 以列表形式显示当前目录所有问文件和目录,包括隐藏的
cd ~或者: 回到自己的家目录
cd … 回到当前目录的上一级目录
mkdir 要创建的目录 创建一个目录
mkdir -p 要创建的目录(绝对路径) 创建多级目录
rmdir 要删除的目录 删除空目录,如果目录下有内容是删除不了的
rm -rf 要删除的目录 删除有内容的目录
touch 文件名称 创建一个空文件
cp source dest 拷贝source到dest
cp -r source dest 拷贝整个source文件夹到dest
\cp -r source dest 强制覆盖整个source文件夹不提示
rm 文件夹 只能删除文件夹(带提示)
rm -r 文件夹 **删除目录的情况(他会层层进去删除问你是否删除文件)**删除整个文件(目录也可以,带提示)
rm -f 文件夹 强制删除提示文件(只能删除文件,不能删除目录)
rm -rf 文件夹 强制删除整个文件或者目录不提示
mv oldNamefile newNameFile 如果是同一个目录下就代表重命名
mv 源路径 目标路径 如果不是一个目录下就代表剪切
cat 要查看的文件 cat只能浏览文件不能修改 查看文件
cat -n 要查看的文件 查看文件(带行号)
cat -n 要查看的文件 | more (管道命令) 带more管道命令查看文件
more指令
less指令
echo和head指令给
tail指令
> 和>>指令
> 代表重定向,>>代表追加
ln -s 原文件或目录 软连接名 给原文件创建一个软连接(快捷方式)
history 查看历史命令,然后可以**!n** 来再次执行历史第n条命令
5、时间日期指令
date 显示当前时间
date +%Y 显示当前年份
date +%m 显示当前月份
date +%d 显示当前哪一天
date “+%Y-%m-%d %H:%M:%S” 显示年月日时分秒
date -s 字符串时间 设置当前系统时间
cal 显示本月日历
cal 2020 显示2020年日历
6、查找指令
find 搜索范围 -name 文件名 根据名称查找
find 搜索范围 -user 用户名 根据用户名查找
find 搜索范围 -size 文件大小n (+n代表大于n,-n代表小于n,n代表等于n,单位有k,M,G)
根据文件大小查找
7、压缩和解压
gzip 文件 压缩文件,只能将文件压缩为*.gz文件
gunzip 文件.gz 解压缩文件命令
zip -r myhome.zip /home/ 将home文件夹(包括home)压缩为myhome.zip
unzip -d /opt/tmp /home/myhome.zip 将/home/myhome.zip 解压到/opt/tmp文件下
十、组管理和权限管理
1、文件/目录 所有者
一般为文件的创建者,谁创建了该文件,就自然地成为该文件的所有者。
ls -ahl 查看文件所有者
chown 用户名 文件名 修改文件所有者
chown -R 用户名 目录 修改目录所有者
chown 用户名: 组名 文件名 修改文件的所有者和所在组
chown -R 用户名: 组名 文件名 修改目录的所有者和所在组
2、文件/目录 所在组
groupadd 组名 组的创建
groupdel 组名 删除组
usermod -g 用户组 用户名 修改用户组
ls -ahl 查看文件/目录所在组
chgrp 组名 文件名 修改文件所在组
chgrp -R 组名 目录 修改目录所在组
3、其他组
除文件的所有者所在组之外,系统其他组都是文件的其他组
useradd -g 用户组 用户名 增加一个用户,直接将他指定到组中
usermod -g 目录名 用户名 改变该用户登陆的初始目录