Linux小结
一. 系统安装
1. 概述
虚拟机是指通过软件模拟的具有完整硬件系统功能的.运行在一个完全隔离的环境中的完整计算机系统.
2. 安装虚拟机 (CentOS)
3. 网络原理(NAT模式)
3.1 桥接原理
虚拟机的linux系统的ip地址是固定,更换路由器后导致无法使用,故不推荐使用.
3.2 NAT原理
本质是虚拟机实现了交换机的功能,linux系统的ip地址不会随宿主电脑的ip地址更改而更改
a. 确保VMnet8已经启动
b. 设置VMnet8的ip地址
网关设置为:192.168.100.1
c. 确保所有关于VMWare的服务都开启
d. 配置虚拟机的网卡
e. 核查配置子网ip和子网掩码
二. 安装CentOS
1. 使用VM虚拟机准备硬件环境
2. 在硬件环境中安装CentOS镜像
3. 安装好后
1. 配置网卡信息(目的:能够让宿主机和新装centOS相互通信)
2. 查看网卡信息
命令 作用
ifconfig 查看/配置计算机当前的网卡信息
ping ip地址 检测到目标ip地址 的连接是否正常 例如:ping www.baidu.com
service network restart 重启网卡服务
4. 理解centOS的文件和目录
window系统 可以拥有多个盘符,如c盘,D盘
linux没有盘符这个概念,只有一个根目录 / ,所有文件都在它的下面
linux主要目录 速查表
/lsdt: found系统修复用的
/bin : 二进制命令所在的目录
/boot: 系统引导程序所需要的文件目录,引导系统开机
/dev : 设备软件目录,磁盘,光驱
/etc : 系统设置,启动程序
/home: 普通用户的家, 目录默认数据存放目录
/lib : 启动系统和运行命令所需的共享库文件和内核模块存放
三. secureCRT软件
secureCRT是window上登入服务器主机的软件
常用快捷键
tab键:命令或者路径提示及补全
ctrl + c: 放弃当前输入,终止当前任务或程序
ctrl + l: 清屏
ctrl + shift + c: 复制
ctrl + shift + v: 粘贴
alt + b: 打开连接窗口
alt + 1/2/3/4/5/6... : 切换会话窗口
四. linux常用命令
命令格式: command [-optinos] [paramter]
说明: command : 命令名.相应功能的英文单词或者单词的缩写
[-optinos] : 选项,可用来对命令进行控制,也可以省略
[paramter] : 传给命令的参数,可以是 0个,1个或者多个
1. 常用命令的基本使用
命令 作用
ls 查看当前目录下的内容
pwd 查看当前所在的文件夹
cd [目录名] 切换文件夹
touch [文件名] 如果文件不存在,新建文件
mkdir [目录名] 创建目录
rm [文件名] 删除指定的文件名
clear 清屏
2. ls
选项 含义
-a 显示指定目录下所有子目录与文件,包含隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合-l以人性化的方式显示文件的大小
通配符
* 代表任意个数的字符
? 代表任意一个字符,且只能是一个
[abc] 匹配a,b,c中任意一个
[a-f] 匹配从a到f范围的任意一个字符
3. cd 更换目录
cd 目录名 切换到指定目录下
cd .. 切换到上级目录
cd - 可以在最近的两次目录之间切换
注意: linux的所有目录 和文件名 都是大小写敏感的
4. touch 创建文件
touch 不存在的文件 创建一个空白的文件
touch 存在的文件 修改文件的末次访问时间
5. mkdir 创建目录
mkdir 目录名 创建没有层级关系的目录
mkdir -p 目录1/目录2/目录3 创建有层级关系的目录
-p 可以递归创建目录
6. rm 删除文件/目录
rm 文件/目录 删除文件(有提示)
rm -f 文件/目录 删除文件(取消提示) -f 强制删除,忽略不存在的文件,无需提示
rm -rf 目录 删除有内容的文件 -r 递归删除目录下的内容和,删除文件夹时必须加此参数
rm -rf *.txt 删除文件格式为txt的文件 配合通配符使用
7. tree [目录名(可省略)] 以树状图 列出目录中的内容
cp 源文件 目标文件 复制文件或者目录
mv 源文件 目标文件 移动文件或者目录或者重命名
刚装的虚拟机默认没有安装tree组件,需要联网安装:
yum -y install tree 安装tree组件
yum -y remove tree 卸载tree组件
tree -d [目录] 只显示当前目录中的目录
tree -L n [目录] 只显示指定的层
cp 文件1 备份文件名 备份指定文件
cp 文件1 目录 将文件复制到目录中
cp 文件1 文件2(存在的文件) 将文件复制到另一个文件中,实现覆盖效果
cp -r 目录1/ 目录2/ 复制目录到指定目录下
mv 文件 目录/ 将文件移动到另一个目录下
mv 旧文件 新文件名 重命名
mv 被移动目录 目标目录 将目录移动到另一个目录中
8. cat 会一次显示所有的内容,适合查看内容较少的文件文本
cat 文件名 显示文件内容(不显示行号)
cat -n 文件名 显示文件内容(显示行号 包含空行)
cat -b 文件名 显示文件内容(显示行号 排除空行)
nl 文件 查看文件内容且非空行显示行号
9. less 用于分屏显示文件内容,每次只显示一页内容,适合查看内容较多的文本文件
less 文件名 分屏展示文件内容,适大文件
less -N 文件名 分屏展示文件内容,显示行号
使用more的操作键
操作键 功能
空格键 显示手册页的下一屏幕
Enter 一次滚动手册页的一行
b 回滚一屏
f 向前一屏
q 退出
/word 搜索word字符串 n => 向下找 N => 向上找
10. head 查看文档的前几行内容
head -n 数字 文件 查看文件的前几行内容
11. tail 查看文档的后几行内容
tail -10 文件 查看文档的最后10行内容
tail -f 文件名 动态显示文档的最后内容,一般用来查看日志
tail -100f 文件名 动态显示文档的最后100行内容
12. grep 搜索存在关键字的行
grep 关键字 文件名 搜索存在关键字的行
grep -n 关键字 文件名 搜索存在关键字的行且显示行号
grep -i 关键字 文件名 忽略大小写 搜索 存在关键字的行
grep -v 关键字 文件名 搜索不存在关键字的行
grep 正则 文件名 以关键字开始的行或以关键字结尾的行
^a => 行首,搜索以a开头的行
ke$ => 行尾,搜索以ke结束的行
13. 管道 |
命令1 | 命令2 => 将命令1的结果通过命令2作进一步的处理
例如:
ls /etc/ | grep ^ pro => 过滤/etc/目录下以pro开头的文件
14. echo 将字符串输出到控制台中
15 重定向 > 和 >>
> => 将命令的成功结果覆盖到指定文件内容中
>> => 将命令成功的结果追加到指定文件的后面
&>> => 将命令失败的结果追加到指定文件的后面
16. && 和 ||
命令1 && 命令2 如果命令1执行成功了,才执行命令2
命令1 || 命令2 如果命令1执行失败了,才执行命令2
17. ln 软链接 因为某些文件和目录的路径很深,所以需要增加软链接(快捷方式)
ln -s 源文件的绝对路径 快捷方式路径
18. find搜索 在指定目录下(包含它的后代目录)搜索符合条件的文件
find [路径] -name '*.txt' 查找指定路径下扩展名是.txt的文件,包括子目录
19. 打包 和 解包
1. tar打包的命令格式
tar -cvf 打包名.tar 被打包的目录
tar -cvf 打包名.tar 被打包的文件1 文件2 文件3
c => 含义:生成档案文件,创建打包文件
v => 含义:报告进度
f => 含义:指定档案的文件名称
x => 解包
C => 默认保存在当前目录,通过-C更改解压目录(解压目录必须存在)
打包: tar -cvf 123.tar 1.txt 2.txt 3.txt
解包: tar -xvf 123.tar -C /export/servers
2. 使用gzip格式 压缩和解压缩
压缩文件格式: tar -zxvf 打包压缩文件名.tar.gz 被压缩的文件/,目录
解压缩文件格式 : tar -zxvf 打包文件.tar.gz [-C 目录路径]
z => 使用gzip压缩和解压缩
3. 使用bzip2格式 压缩和解压缩
压缩文件格式: tar -jxvf 打包压缩文件名.tar.bz2 被压缩的文件/,目录
解压缩文件格式 : tar -jxvf 打包文件.tar.bz2 [-C 目录路径]
j => 使用bzip2压缩和解压缩
五. vi/vim 文本编辑器
1. 打开和新建文件
vim 文件名
=> 如果文件已经存在,会直接打开该文件; 如果文件不存在,保存且退出时就会新建一个文件
2. 打开文件并定位行
vim 文件名 +行数
3. 异常处理
如果vi异常退出,在磁盘上可能会保存有交换文件
下次再使用vi编辑该文件时,会看到以下屏幕信息,按下字母d删除交换文件即可
4. vi三种工作模式
1. 命令模式
打开文件首先进入命令模式,是使用vi的入口
通过命令对文件进行常规的编辑操作,例如 定位 翻页 复制 粘贴 删除 ...
2. 末行模式
要退出vi返回到控制台,需要在莫行模式下输入命令
末行模式是vi的出口
3. 编辑模式
4.1 末行模式命令
w 保存
q 退出,如果没有保存,就不允许退出
q! 强行退出,不保存退出
wq 保存且退出
x 保存且退出
ZZ 保存且退出
4.2 命令模式
1. 重复次数
先输入一个数字再加上一个命令,可以让该命令 重复执行n次,如:19p
2. 移动(键盘箭头指向也可以)
h 向左
j 向下
k 向上
l 向右
3. 行内移动
w 向后移动一个单词
b 向前移动一个单词
o 行首
^ 行首,第一个不是空白字符的位置
$ 行尾
4. 行数移动
gg 文件顶部
G 文件末尾
数字+gg 移动到数字对应的行数
数字+G 移动到数字对应的行数
:+数字 移动到数字对应的行数
5. 屏幕移动
ctrl+b 向上翻页
ctrl+f 向下翻页
H 屏幕顶部
M 屏幕中间
L 屏幕底部
6. 段落移动
vim中使用空行来区分段落
{ 上一段
} 下一段
7. 括号切换
(),[],{}使用率很高,而且都是成对出现的
% 括号匹配及切换
8. 标记
m+x 添加编x,x是a~z或者A~Z的任意一个字母
'+x 直接定位到标记x所在的位置
9. 撤销和恢复撤销
u 撤销上次的命令
ctrl+r 恢复撤销的命令
10. 删除文本
x 删除光标所在的字符,或者选中的文字
d(移动命令) 删除移动命令对应的内容
dd 删除光标所在的行,ndd可以删除n行
D 删除至行尾
删除命令与移动命令连用,以下是常见的组合命令:
dw 从光标位置删除到单词的末尾
d0 从光标位置删除到一行的起始位置
d} 从光标位置删除到段落的末尾
ndd 从光标位置向下连续删除n行
d'a 从光标所在的行删除到标记a之间的所有代码
11. 复制和剪切
y 复制
yy 复制一行,可以nyy复制多行
d 剪切
dd 剪切一行,ndd可以剪切n行
p 粘贴
12. 替换
r 替换当前字符
R 替换当前行光标后的字符
13. 缩排和重复执行
>> 向右增加缩进
<< 向左减少缩进
. 重复上次命令
14. 查找
/str 查找str
n:查找下一个
N:查找上一个
*:向后查找当前光标所在的单词
#:向前查找当前光标所在的单词
15. 查找并替换
命令格式: :%s///g
1) 全局替换
:%s/旧文本/新文本/g
2) 可视区域替换
:s/旧文本/新文本/g
3) 确认替换
:%s/旧文本/新文本/gc
y=>替换
n=>不替换
a=>替换所有
q=>退出替换
l=>最后一个,并把光标移动到行首
^E=>向下滚屏
^Y=向上滚屏
16. 插入命令
i 在当前字符前插入文本
I 在行首插入文本
a 在当前字符后添加文本
A 在行末添加文本
o 在当前行后面插入一空行
O 在当前行后面插入一空行
六: 用户权限相关命令
权限 缩写 数字序号
读 r 4
写 w 2
执行 x 1
无权限 - 0
chmod 可以修改用户/组对文件/目录的权限
chmod +/- rwx 文件名/目录名
chmod 765 文件名/目录名
组管理 终端命令
groupadd 组名 添加组
greopdel 组名 删除组
cat /etc/group 确认组信息(查询组信息)
chgrp 组名 文件/目录名 修改文件/目录的所属组
在实际应用中,可以预先针对组设置好权限,然后将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限
用户管理 终端命令
useradd -m -g 组 新建用户名 添加新用户 -m=>自动建立用户家目录 -g=>指定用户所在的组,否则会建立一个和用户同名的组
passwd 用户名 设置用户密码
userdel -r 用户名 删除用户 -r=>选项会删除用户家目录
cat /etc/passwd | grep 用户名 确认用户信息
查看用户信息
id 用户名 查看用户UID和GID信息
who 查看当前所有登录的用户列表
whoami 查看当前登录用户的账户名
切换用户
su - 用户名 切换用户,并且企划目录
exit 退出当前登录用户
passwd文件
/etc/passwd 文件存放的是用户的信息,由6个分好组成的7个信息,分别是
cat /etc/passwd | grep -- color zhangsan
=> zhangsan:X:500:500::/home/zhangsan:/bin/bash
1. 用户名
2. 密码(X,表示加密的密码)
3. UID
4. GID
5. 用户全名或本地账号
6. 家目录
7. 登录使用的shell,就是登录之后,使用的终端命令
usermod
可以用来设置用户的主组/附加组 和 登录shell
usermod -g 组 用户名 => 修改用户的主组(passwd中的GID)
usermod -G 组 用户名 => 修改用户的附加组
usermod -s /bin/bash => 修改用户登录 shell
which
可以查看执行命令所在的位置
例如: which ls => /bin/ls
which useradd => /user/sbin/uesradd
bin/sbin
在linux中 绝大多数可执行文件都保存在 /bin , /sbin , /usr/bin , /usr/sbin
/bin: 是二进制执行的文件目录,主要用于具体应用
/sbin: 是系统管理员转换用的二进制代码存放目录,主要用于系统管理
/usr/bin: 后期安装一些软件
/usr/sbin: 超级用户的一些管理程序
修改用户权限
chown 修改拥有者
chgrp 修改组
chmod 修改权限
命令格式:
chown 用户名 文件名/目录名 => 修改文件/目录的拥有者
chgrp -R 组名 文件名/目录名 => 递归修改文件/目录的组
chmod -R 755 文件名/目录名 => 递归修改文件权限
七. 系统信息相关命令
-
时间和日期
cal 查看日历,-y 可以查看一年的日历
date 查看系统时间 -
磁盘信息
df -h 显示磁盘剩余空间
du -h [目录名] 显示目录下的文件大小
-h => 以人性化显示文件的大小 -
进程信息
ps aux 查看进程的详细情况
a => 显示终端上的所有进程,包括其他用户的进程
u => 显示进程的详细状态
x => 显示没有控制终端的进程
top 动态显示运行中进程并且排序,要退出top可以直接输入q
kill [-9] 进程代号 终止指定代号的进程-9表示强行终止
八. rpm软件包管理器
通过 rpm 命令 实现对软件的安装,查询,卸载
-q 查询
-a 所有
-i 信息
-l 显示所有相关文件
-f 文件,显示文件对应的rpm包
1. 查询已安装的rpm列表
rpm -qa | grep xxx
rpm -qa | less
2. 查询软件包信息
rpm -qi 软件包全名
3. 查看一个人rpm包中的文件安装到那里了?
rpm -ql 软件包全名
4. 查看指定文件归属于那个软件包
rpm -qf 文件的全路径
rpm 包的卸载
rpm -e 软件包名称 卸载rpm软件包
rpm -e -nodeps 软件包名称 卸载前跳过依赖检查
rpm 包的安装
rpm -ivh rpm包的全路径 安装rpm包
-i => 安装
-v => 打印提示信息
-h => 显示安装进度
九. yum 软件包管理器
基于rpm包管理,能够从指定的服务器自动下载,自动安装,自动处理依赖性关系
常用命令
yum list | grep 需要的软件名 查询服务器是否有需要安装的软件
yum -y install 需要的软件包 下载安装
yum -y remove 需要卸载的软件包 卸载
yum repolist 列出设定yum源信息
yum clean all 清楚yum缓存信息
十. crontab 任务调度
基本语法:
crontab [选项]
-e 编辑crontab定时任务
-l 显示crontab任务
-r 删除当前用户所有的crontab任务
例如: 没隔一分钟对准阿里云的时间
crontab -e => 编辑任务
*/1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com
参数说明
第一个 * 一个小时当中的第几分钟 0~59
第二个 * 一天当中的第几个小时 0~23
第三个 * 一个月当中的第几天 1-31
第四个 * 一年当中的第几月 1~12
第五个 * 一周当中的星期几 0~7(0和7都代表星期日)
例子
* * * * * command => 每一分钟执行一次command
3,15 * * * * command => 每小时的第3和第15分钟执行
3,15 8-11 * * * command => 在上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * command => 每隔两天的上午8点到11点的第3和第15分钟执行