一、VM和Linux的安装
在学习的时候我密码与用户名一致。
虚拟机克隆
- 方式1,直接拷贝一份安装好的虚拟机
- 方式2,使用vmware的克隆操作(克隆时需要先关闭Linux系统)
虚拟机快照
如果你在使用虚拟机系统的时候(比如linux),你想回到原先的某一个状态,也就是说你担心可能有些误操作造成系统异常,需要回到原先某个正常运行的状态,vmware也提供了这样的功能,就叫快照管理。
安装vmtools
vmtools安装后,可以让我们在windows下更好的管理vm虚拟机。可以设置windows和centos的共享文件夹。
二、Linux目录结构
常用的目录结构:
| 概述 | |
|---|---|
| /bin | 存放最常用的命令 |
| /home | 存放普通用户的主目录 |
| /root | 该目录为系统管理员,也称作超级权限者的用户主目录 |
| /etc | 所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库 my.conf |
| /user | 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows 下的program files 目录。 |
| /boot | 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件 |
| /media | linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下 |
| /mnt | 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。d:/myshare |
| /var | 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件 |
三、Vi和Vim编辑器
Vim可以看做是Vi的增强版。
Vi和Vim常用的三种模式:
- 正常模式:
- 以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据。
- 插入模式
- 按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按 i 即可.
- 命令行模式
- 输入esc再输入:在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作则是在此模式中达成的!
各种模式的相互切换:
快捷键使用(略)
四、开机、重启和用户登录注销
基本介绍
| 含义 | |
|---|---|
| shutdown -h now | 立刻进行关机 |
| shutdown -h l | “hello,1分钟后会进行关机了” |
| shutdown -r | 现在重新启动计算机 |
| halt | 关机,作用和上面一样 |
| reboot | 现在重新启动计算机 |
| sync | 把内存的数据同步到磁盘 |
注意细节:
- 不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中
- 目前的shutdown/reboot/halt 等命令均已经在关机前进行了 sync
用户登录和注销
- 登录时尽量少用root帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用”su-用户名’命令来切换成系统管理员身份。
- 在提示符下输入 logout即可注销用户。
使用细节:logout 注销指令在图形运行级别无效,在运行级别3 下有效。
五、用户管理
添加用户(useradd 用户名)
细节说明:
- 当创建用户成功后,会自动创建和用户同名的家目录。
- 也可以通过 useradd -d 指定目录 新的用户名,给新创建的用户指定家目录
指定/修改密码(passwd 用户名)
删除用户(userdel 用户名)
应用案例
- 删除用户 milan,但是要保留家目录,userdel milan
- 删除用户以及用户主目录,比如 tom,userdel-r tom
查询用户信息指令(id 用户名)
切换用户(su - 切换用户名)
在操作Linux中,如果当前用户的权限不够,可以通过su-指令,切换到高权限用户,比如 root
细节说明:
- 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
- 当需要返回到原来用户时,使用exit/logout 指令
查看当前用户/登录用户
基本语法:whoami/ who am I
用户组
- 新增组(groupadd 组名)
- 删除组(groupdel 组名)
- 增加用户时直接加上组(useradd -g 用户组 用户名)
- 修改用户的组(usermod -g 用户组 用户名)
用户和组相关文件
| /etc/shadow 文件 | 用户(user)的配置文件,记录用户的各种信息 |
| /etc/shadow 文件 | 口令的配置文件 |
| /etc/group 文件 | 组(group)的配置文件,记录Linux包含的组的信息 |
六、实用指令
指定运行级别
| 运行级别 | 说明 |
|---|---|
| 0 | 关机 |
| 1 | 单用户【找回丢失密码】 |
| 2 | 多用户状态没有网络服务 |
| 3(常用) | 多用户状态有网络服务 |
| 4 | 系统未使用保留给用户 |
| 5(常用) | 图形界面 |
| 6 | 系统重启 |
命令:init[0123456]
找回root密码
1)假设root密码忘记了,请问如何找回密码
2)设置运行级别,linux运行后,直接进入到命令行终端(3)
帮助指令
man 获得帮助信息
-
基本语法:man[命令或配置文件](功能描述:获得帮助信息)
-
案例:查看ls命令的帮助信息 man ls
在linux 下,隐藏文件是以.开头,选项可以组合使用比如ls-al,比如ls -al/root
help 指令
- 基本语法:help命令(功能描述:获得shell 内置命令的帮助信息)
应用实例
- 案例:查看cd命令的帮助信息
文件目录指令
| 指令 | 基本语法 | 含义 | |
|---|---|---|---|
| pwd | pwd | 显示当前工作目录的绝对路径 | |
| ls | ls [选项] [目录或是文件] | 常用选项:(1)-a:显示当前目录所有的文件和目录,包括隐藏的。(2)-l:以列表的方式显示信息 | |
| cd | cd [参数] | (切换到指定目录。)cd~ 或者cd:回到自己的家目录,比如你是root,cd~到 /root;cd.. :回到当前目录的上一级目录 | |
| mkdir | mkdir [选项] 要创建的目录 | (创建目录。)-p:创建多级目录(eg:mkdir -p /home/animal/tiger) | |
| rmdir | rmdir [选项] 要删除的空目录 | 要删除的空目录(如果目录下有内容无法删除,此时可用rm - rf 要删除的目录) | |
| touch | touch 文件名称 | 创建空文件 | |
| cp | cp [选项] | (拷贝文件到指定目录。)-r:递归复制整个文件夹。(说明:强制覆盖不提示的方法:\cp) | |
| rm | rm [选项] 要删除的文件或目录 | (移除文件或目录。)-r:递归删除整个文件夹;-f:强制删除不提示 | |
| mv | mv oldNameFile newNameFile(功能描述:重命名) mv /temp/movefile /targetFolder(功能描述:移动文件) | 移动文件与目录或重命名 | |
| cat | cat [选项] 要查看的文件 | (查看文件内容。)-n:显示行号。(cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more) |
| more | more 要查看的文件 | more指令是一个基于Vi编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容 | |
| less | less 要查看的文件 | less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。 | |
| echo | echo [选项] [输出内容] | 输出内容到控制台 | |
| head | head 文件 | 用于显示文件的开头部分内容,默认为前10行内容。(head -n 5文件:查看文件头5行内容,5可以是任意行数) | |
| tail | tail 文件(功能描述:查看文件尾10行内容); tail-n5 文件(功能描述:查看文件尾5行内容,5可以是任意行数); tail-f 文件(功能描述:实时追踪该文档的所有更新) | 输出文件中尾部的内容,默认显示文件的前10行内容。 | |
> 指令和>>指令 | Is -l > 文件(功能描述:列表的内容写入文件a.txt中(覆盖写)); ls -al >> 文件(功能描述:列表的内容追加到文件aa.txt的末尾); cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2); echo "内容" >> 文件(追加) | >输出重定向和>>追加 | |
| ln | ln -s [原文件或目录] [软链接名] | 给原文件创建一个软链接(类似于windows的快捷方式) | |
| hostory | history | 查看已经执行过的历史命令(history:查看所有;history 10:显示最近使用过的10个指令) | |
时间日期类
date指令-显示当前日期
| 基本语法 | 功能描述 |
|---|---|
| date | 显示当前时间 |
| date + %Y | 显示当前年份 |
| date + %m | 显示当前月份 |
| date + %d | 显示当前是哪一天 |
| date “+%Y-%m-%d %H:%M:%S” | 显示年月日时分秒 |
date指令-设置日期
基本语法:date -s 字符串时间。eg:date -s “2023-12-13 23:28:40”
cal指令
基本语法:cal [选项] (功能描述:不加选项,显示本月日历。加选项,如显示2023年日历:cal 2023)
搜索查找类
(1)find指令
find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法:find [搜索范围] [选项]
(2)locate指令
locate指令可以快速定位文件路径。
基本语法:locate 搜索文件
(3)grep指令和管道符号|
grep过滤查找,管道符,“T”,表示将前一个命令的处理结果输出传递给后面的命令处理。
压缩和解压类
(1)gzip/gunzip指令
基本语法:
- gzip 文件(功能描述:压缩文件,只能将文件压缩为*.gz文件)
- gunzip 文件.gz(功能描述:解压缩文件命令)
(2)zip/unzip指令
基本语法:
- zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
- unzip [选项] XXX.zip(功能描述:解压缩文件)
zip常用选项:-r:递归压缩,即压缩目录
unzip常用选项:-d<目录>:指定解压缩后文件的存放目录
(3)tar指令
基本语法:
tar [选项] XXX.tar.gz 打包的内容(功能描述:打包目录,压缩后的文件格式.tar.gz)
七、组管理和权限管理
查看文件/目录的所有者(所在组):ls -ahl
修改文件的所有者:chown 用户名 文件名
组的创建:groupadd 组名
修改文件/目录所在组:chgrp 组名 文件名
改变用户所在组:
- usermod -g 新组名 用户名
- usermod -d 目录名 用户名 改变该用户登录的初始目录。
(权限管理内容略)
修改权限-chmod
修改文件所有者-chown
八、定时任务调度
crond任务调度
基本语法:crontab [选项]
| 选项 | 含义 |
|---|---|
| -e | 编辑crontab定时任务 |
| -l | 查询crontab任务 |
| -r | 删除当前用户所有的crontab任务 |
service crond restart [重启任务调度]
at定时任务
at命令格式:at [选项] [时间]
九、Linux磁盘分区、挂载(略)
十、网络配置
Linux网络配置原理图:
查看windows环境中VMnet8网络配置(ipconfig指令)
查看Linux的网络配置:ifconfig
ping测试主机之间网络连通性。ping 目的主机(功能描述:测试当前服务器是否可以连接目的主机)
十一、进程管理
ps详解
ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数。
| 字段 | 说明 |
|---|---|
| ps -a | 显示当前终端的所有进程信息 |
| ps -u | 以用户的格式显示进程信息 |
| ps -x | 显示后台进程运行的参数 |
终止进程kill和kill all
kil l [选项] 进程号(功能描述:通过进程号杀死/终止进程)
killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
查看进程树pstree
pstree [选项],可以更加直观的来看进程信息
常用选项:
- -p:显示进程的PID
- -u:显示进程的所属用户
服务(service)管理
service 服务名 [start | stop | restart | reload | status]
通过 chkconfig 命令可以给服务的各个运行级别设置自 启动/关闭
systemctl 管理指令。基本语法:systemetl [start| stop|restart|status] 服务名
firewall指令。(1)打开端口:firewall -cmd --permanent --add -port=端口号/协议;(2)关闭端口:firewall -cmd --permanent --remove -port=端口号/协议
动态监控进程
top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程。
监控网络状态
查看系统网络情况netstat
-
基本语法:netatat [选项]
- -an:按一定顺序排列输出
- -p:显示按哪个进程在调用
检测主机连接命令ping
- 是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的网线或网卡故障。如:ping 对方ip地址