linux
虚拟机的三种网络配置的说明
桥接模式:
1,好处是大家都在一个网段,相互 可以通讯
2,缺点是,因为ip地址有限,可能造成ip冲突
Nat[网络地址转换模式]
1,好处是虚拟机不占用其他的ip,所以不会ip冲突
2,内网的其他人不能和虚拟机通讯
仅主机模式
单独的一台电脑
生成随机密码
(https://suijimimashengcheng.51240.com/
)
在linux的世界里,一切皆为文件
分区
:特别说明
如果希望安装好的XShell可以访问Linux系统,需要有一个前提,就是Linux启动了sshd服务,该服务监听了22端口。
终端输入setup,在系统服务里找sshd,带星号证明启动了。
Linux实操篇 vi 和 vim 编辑器
vim 具有程序编辑能力,可以看作是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完,编译及错误跳转等方便编程的功能特别丰富,在程序员总被广泛使用。
vi和vim的三种常见模式:
正常模式
在正常模式下我们可以使用快捷键
插入模式/编辑模式
i
命令行模式
在这个模式当中,可以提供你相关指令,完成读取,存盘,替换,离开vim,显示行号等的动作则是在此模式中达成的!
快捷键的使用案例
- 拷贝当前行 yy,拷贝当前行向下5行 5yy,并粘贴(p)。
- 删除当前行 dd,删除当前行向下5行 5dd
- 在文件中查找某个单词[命令行下 /关键字 ,回车 查找 ,输入n就是查找下一个]
- 设置文件的行号,取消文件的行号,[命令行下 :set nu 和 :set nonu ]
- 编辑/etc/profile文件,使用快捷键到底文档的最末行[G]和最首行[gg]
- 在一个文件中输入"hello",然后又撤销这个动作 u
- 编辑 /etc/profile 文件,并将光标移动到 20行 shift + g
先用set nu 把行号显示出来,可以在正常模式直接输入行号,这时是看不到自己输入的行号的数字的,然后shift+g就会跳转到
也可以shift+:这时直接输入数字,回车,会跳转到某行
关机&重启命令
基本介绍
shutdown
shutdown -h now:表示立即关机
shutdown -h 1:表示1分钟后关机
shutdown -r now:立即重启
halt
就是直接使用,效果等价于关机
reboot
就是重启系统
sync
把内存同步到磁盘上
用户登录和注销
logout注销:远程有效
~ 是 home目录的意思。
如果以超级用户root账号登陆:~ 是 /root目录
如果以普通用户name登陆:~是 /home/name目录
用户管理
说明:
- Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
- Linux的用户需要至少要属于一个组
添加用户
基本语法
useradd [选项] 用户名
添加一个用户xm
useradd xm默认创建一个xm组把xm用户放入到xm组中
useradd -d /home/dog/ xq 创建一个xq用户放入到/home/dog目录下
passwd xq
输入两次密码
删除用户
userdel xq只删除xq这个用户,但是保留家目录,工作中一般保留家目录
userdel -r xq 删除小强这个用户同时删除xq的家目录也就是说/dog目录也没有了
- cat /etc/passwd查看所有用户
who查看当前登录的用户
ps -u 用户名 查看该用户的pid
用命令 kill pid 杀掉他的sshd或者是shell进程
再用命令 userdel -r 用户名 删除用户 - whoami查看当前用户
切换用户
su - 用户名
- logout推出登录exit
用户组
增加组
groupadd 组名
删除组
groupdel 组名
增加用户时直接加上组
useradd -g 用户组 用户名
创建用户流程
- groupadd wudang
- useradd -g wudang zwj
创建组wudang。创建用户zwj加入到wudang组中- passwd zwj创建密码
修改用户的组
usermod -g 用户组 用户名
用户管理 用户和组的配置文件
用户配置文件(用户信息)
- /etc/passwd
组配置文件(组信息)
- /etc/group
口令配置文件(密码和登录信息,是加密的)
- /etc/shadow
指定运行级别
运行级别说明:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5,要修改默认的运行级别课改文件/etc/inittab的id:5:initdefault:这一行中的数字
命令:init[0123456]
面试题6
如何找回root密码,如果我们不小心,忘记root密码,怎么找回
思路:进入到单用户模式,然后修改root密码,因为进入到单用模式,root不需要密码就可以登录。
帮助指令
当我们对某个指令不熟悉时,我们可以使用Linux提供的帮助指令来了解这个指令的使用方法。
man 指令
help 指令
百度
实用指令
文件目录类
pwd指令
- 基本语法
pwd(功能描述:显示当前工作目录的绝对路径)
ls指令
- 基本语法
ls [选项] [目录或文件] -
常用选项
-a:显示当前目录所有的文件和目录,包括隐藏的。
-l:以列表的方式显示信息
cd指令
- 基本语法
cd [参数] (功能描述:切换到指定目录) - 思考题
当前工作目录是/root,我们希望进入到/home下
绝对路径:/home即从根目录开始定位。
相对路径:../home,从当前工作目录开始定位到需要的目录去。
mkdir指令
mkdir指令用于创建目录
- 基本语法
mkdir [选项] 要创建的目录
- 常用选项
-p : 创建多级目录
rmdir指令
- 介绍
rmdir指令删除空目录 - 基本语法
rmdir [选项] 要删除的空目录 - 使用细节
rmdir删除的是空目录,如果目录下有内容是无法删除的。
提示:如果要删除非空的目录,需要使用 rm -rf 要删除的目录
touch指令
touch指令创建空文件
- 基本语法
touch 文件名称
可以一次性创建多个文件
cp指令【重要】
cp指令拷贝文件到指定目录
- 基本语法
cp [选项] source dest - 常用选项
-r: 递归复制整个文件夹
如果目标目录dest下有source文件可以/cp -r source dest强制覆盖,并且不用一直确定source里边好多的文件覆盖提示
如果dest是本身不存在的文件夹,会直接创建个dest把source里边的文件放进去,效果当创建了一个创建了一个同级文件内容也相同只是名字不同。
rm指令
rm指令移除文件或目录
- 基本语法
rm [选项] 要删除的文件或目录 - 常用选项
-r:递归删除整个文件夹
-f:强制删除不提示(不删目录)
用-r提示删除时:搞不懂删除的顺序。
mv指令
mv 移动文件与目录或重命名
- 基本语法
mv oldNameFile newNameFile(功能描述:重命名)
mv /temp/movefile /tagerFolder(功能描述:移动文件)
把movefile文件移动tagerFolder目录中,前提是tagerFolder中没有和movfile同名的文件,不然会覆盖。
cat指令
cat查看文件内容,以只读的方式打开
- 基本语法
cat [选项] 要查看的文件 - 常用选项
-n : 显示行号
cat -n /etc/profile | more
以cat指令打开打开文件,显示行号,并分页显示,按空格下一页
more指令
more指令是一个基于vi编辑器的文本编辑器,它以全屏幕的方式显示文本文件的内容。more指令中内置了若干快捷键。
- 基本语法
more 要查看的文件
操作 | 功能说明 |
---|---|
空格(space) | 代表向下翻一页 |
Enter | 代表向下翻一行 |
q | 代表立即离开more,不显示该文件内容 |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 向上滚动一屏 |
= | 输出当前行号 |
:f | 输出文件名和当前行号 |
less指令
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容的时,并不是一次将整个文件加载之后才显示,而是根据需要显示加载的内容,对于显示大型文件具有较高的效率。
- 基本语法
less 要查看的文件
操作 | 功能说明 |
---|---|
空格键 | 向下翻动一页 |
【pagedown】 | 向下翻动一页 |
[pageup] | 向上翻动一页 |
/字串 | 向下搜寻字串的功能:n:向下查找;N:向上查找; |
?字串 | 向上搜寻字串的功能:n:向上查找;N:向下查找; |
q | 离开less这个程序 |
>指令和>>指令
>输出重定向:会将原来的文件的内容覆盖
>>追加:不会覆盖原来的文件的内容,而是追加到文件的尾部
- 基本语法
1.ls -l >文件
列表的内容写入文件a.txt中(覆盖写)
2.ls -al >>文件
列表的内容追加到文件aa.txt的末尾
3.cat 文件1>文件2
将文件1的内容覆盖到文件2
4.echo "内容" >> 文件
cal显示当前日历信息
echo指令
echo输出内容到控制台
- 基本语法
echo [选项] [输出内容]
echo $PATH 输出环境变量
head指令
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
- 基本语法
head 文件
查看文件头10行内容
head -n 5 文件
查看文件头5行内容,5可以是任意行数
tail指令
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。
- 基本语法
1)tail 文件
2)tail -n 5 文件
3)tail -f 文件
实时追踪该文档的所有更新,(工作中常用)
ln指令
软链接也叫符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
- 基本语法
ln -s [原文件或目录] [软连接名]
给原文件创建一个软链接
history指令
查看已经执行过历史命令,也可以执行历史指令
!编号(执行编号为某的指令)
时间日期类
date指令-显示当前日期
- 基本语法
date -s 字符串时间
设置当前时间
指令 | 功能描述 |
---|---|
date | 显示当前时间 |
date +%Y | 显示当前年份 |
date +%m | 显示当前月份 |
date +%d | 显示当前是哪一天 |
date +%Y-%m-%d-%H:%M:%S | 显示年月日时分秒 |
可以加上引号就可以有空格了
date "+%Y-%m-%d %H:%M:%S"
搜索查找类
find指令
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
- 基本语法
find [搜索范围] [选项] - 选项说明
选项 | 功能 |
---|---|
-name<查询方式> | 按照指定的文件名查找模式查找文件 |
-user<用户名> | 查找属于指定用户名所有文件 |
-size<文件大小> | 按照指定的文件大小查找文件 |
find / -name *.txt
find /home -name hello.txt
find /opt -user root
find / -size +20M
locate指令
locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更行locate时刻。
- 基本语法
locate 搜索文件 - 特别说明
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
grep指令和管道符号 |
grep过滤查找,管道符," | ",表示将前一个命令的处理结果输出传递给后面的命令处理。
- 基本语法
grep [选项] 查找内容 源文件 - 常用选项
选项 | 功能 |
---|---|
-n | 显示 匹配行及行号 |
-i | 忽略字母大小写 |
压缩和解压类
gzip/gunzip指令
gzip用于压缩文件,gunzip用于解压的
- 基本语法
gzip文件
压缩文件,只能将文件压缩为*.gz文件
gunzip文件.gz
解压缩文件命令 - 细节说明
当我们使用gzip对文件进行压缩后,不会保留原来的文件
zip/unzip指令
zip用于压缩文件,unzip用于解压缩,这个在项目打包发布中很有用的
- 基本语法
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件) - zip常用选项
-r:递归压缩,即压缩目录
- unzip的常用选项
-d<目录>:指定解压缩后文件的存放目录
zip -r mypackage.zip /home
将home整个文件夹压缩成mypackage.zip
unzip -d /opt/tmp mypackage.zip
将mypackage.zip 解压缩到/opt/tmp文件中去
tar指令
tar指令是打包指令,最后打包后的文件时.tar.gz的文件。
- 基本语法
tar [选项] XXX.tar.gz 打包的内容(功能描述:打包目录,压缩后的文件格式.tar.gz) - 选项说明
选项 | 功能 |
---|---|
-c | 产生.tar打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar文件 |
压缩多个文件,将/home/a1.txt和/home/a2.txt压缩成a.tar.gz
解压a.tar.gz到当前文件夹
tar -zxvf a.tar.gz
解压myhome.tar.gz到/opt/tmp2目录中,前提是需要有那个目录
tar -zxvf myhome.tar.gz -C /opt/tmp2