1 Ubuntu基础
1.1 安装vm tools
-
vm ware的虚拟机选项下弹出选项,弹出CD后选择,重新安装vm tools。
-
等待ubuntu桌面出现了光盘,则进入到光盘,找到vm tools…安装包,查看属性,获取安装包位置。
-
将安装包拷贝到安装目录/opt目录下。
sudo cp 安装包 /opt/
- 将安装包解压。
sudo tar -zxvf 安装包
- 运行安装程序VM… install,一路按回车默认选择 。
sudo ./VM.. install
- 设置共享文件夹:关闭虚拟机,在设置的选项里设置共享文件夹。
1.2 远程连接客户端
# 测试通信
ping www.baidu.com
#安装网络工具
sudo apt-get install net-tools
# 查看IP地址
ifconfig #查看IP地址
# 安装openssh.server
sudo apt-get install openssh.server
# 打开xshell软件,新建连接,设置对应IP,端口22,连接
1.3 apt介绍
1.3.1 apt的安装
# 安装vim
sudo apt-get install vim
# 将source.backup备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
# 百度搜索阿里云ubuntu镜像配置
deb https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
# 清除sources.list的内容
echo > /etc/apt/sources.list
# 打开/etc/sources.list将配置文件复制进去
sudo vim /etc/apt/sources.list
# 按i插入,右键粘贴,esc退回一般模式,:wq 强制保存
# 更新apt的数据库
sudo apt-get update
# sudo apt-get upgrade 更新所有软件
# sudo apt-get install xxx 安装软件
1.3.2 apt的使用
# 更新apt的数据库
sudo apt-get update
# 升级已安装的软件包
sudo apt-get upgrade
# 更新数据库并升级软件
sudo apt-get update && sudo apt upgrade -y
# 安装软件
sudo apt-get install 软件1 软件2
# 只安装部升级包
sudo apt-get install 软件 --no-upgrade
# 只升级不安装
sudo apt-get install 软件 --only-upgrade
# 安装软件对应版本
sudo apt-get install 软件=版本号
# 卸载软件,保留配置文件
sudo apt-get remove 软件
# 卸载软件,不保留配置文件
sudo apt-get purge 软件
# 搜索含有包名的所有安装包
sudo apt-get search 包名
# 查看包的信息
sudo apt-get show 包
# 列出所有需要升级的包
sudo apt-get list --upgradable
# 列处所有已安装的八婆
sudo apt-get list --installed
# 列出所有包的版本信息
sudo apt-get list --all-version
# 自动清理系统
sudo apt-get autoremove
1.4 ubuntu树目录介绍
/bin: 存放常用命令;
/sbin:系统管理员的管理程序;
/home:普通用户主目录;
/root:系统管理员主目录;
/lib:系统开机动态链接库;
/boot: 开机的镜像文件;
/etc:系统管理的配置文件;
/lost + found:非法关机后文件;
/usr:应用程序文件夹;
/proc:不动-系统内存映射;
/srv:不动-服务;
/sys:不动-2.6内核新文件系统;
/tmp:存放临时文件夹;
/var:存放经常修改的文件,日志;
/dev:设备管理器,硬件用文件形式存储;
/media:挂载设备-U盘;
/mnt:挂载外部存储;
/opt:软件存放目录;
/user/local:软件安装目录;
/selinux:安全子系统,访问特定文件,三种工作模式;
1.5 VIM的使用
- ① vim打开或创建文件
sudo vim test
-
② vim的模式:一般模式、命令行模式、插入模式。
-
③ vim模式切换
在另外两种模式下按下esc回到一般模式。
在一般模式下按住a、i进入插入模式。
在一般模式下输入冒号进入命令行模式。
- ④ 一般模式常用命令:
5yy + p:复制当前行开始五行到新的为止。
5dd:删除当前行开始的后五行。
u:撤销上一步操作。
G:文件尾部。
gg:到文件头部。
5 + shift + g:去第5行。
格式化:按住v 再按等号。
gd:跳转到函数定义。
shift + k:跳转到man手册。
空格:删除。
Ctrl + f:下一页。
Ctrl + b:上一页。
- ⑤ 命令行模式常用命令:
: set nu 显示行号
: set nonu 不显示行号
: q 退出,不保存
: q! 强制退出不保存
: wq 强制退出并保存
: 10 去第10行
: /关键字 查找
: %s/p1/p2/gc s替换 ,g全部替换,c需要确认
1.6 开关机命令
# 同步文件
sync
# 马上关机
shutdown -h now
# 1分钟后关机
shutdown -1 now
# 重启
reboot
# 重启
shutdown - r now
# 关机
halt
1.7 文件操作
# 查看当前文件绝对路径
pwd
# 查看当前目录下文件 -a 查看隐藏文件 -l列表显示 -h大小有K M等单位
ls -lha 目录
# 切换目录 目录中的隐藏文件 ..上一级目录 .当前目录
cd /home
# 切换到上一级
cd ..
# 切换到当前用户根目录
cd ~
# 创建目录
mkdir -p 多级目录
# 删除空目录
rmdir 空目录
# 创建文件
touch 文件
# 删除文件 -r删除整个文件夹 -f删除不提示
rm -rf 文件
# 移动文件
mv 文件 文件夹
# 改名
mv 文件 文件名
# 复制 -r递归复制文件夹 -f强制 -d链接文件只复制链接
cp -rfd 文件夹 文件夹
# 读取文件 -n显示行号
cat -n 文件
# 一次性加载全屏显示
cat -n | more
# 按需求加载内容
cat -n | less
# 输出到屏幕
echo $PATH
# 覆盖文件
echo xx > 文件
# 拼接文件
echo xx >> 文件
# 显示头5行
head -n5 文件名
# 显示末尾5行
tail -n5 文件名
# 监控末尾5行 按ctrl + c退出
tail -f 文件
# 创建软连接 类似于快捷方式 有依赖关系 删除源文件就不存在了
ln -s 快捷方式 目标文件
# 创建硬链接 无主从关系 只要有一个硬链接文件存在 删除任何一个其他还存在
ln 快捷方式 目标文件
#显示所有历史命令
history
# 显示最近10个
history 10
# 执行编号为5的历史命令
!5
# 输目录显示
tree
1.8 帮助命令
# 内部信息可以用help,外部信息只能用man和info
# man手册介绍
man 1 linux常用命令
man 2 系统调用命令
man 3 库函数命令
man 7 机制
1.9 用户管理
# 设置root密码
sudo passwd
# 修改其他用户密码
sudo passwd 用户名
# 切换到root
su root
# 退出root
exit | logout
# 添加用户 -d指定用户命令
useradd -d 目录 用户名
# 添加组
groupadd 组名
# 添加用户到某个组
useradd -g 用户 组
# 修改用户到某个组
usermode -g 用户 组
#修改默认目录 登录时一般为/home/用户名
usermod –d 目录 用户名
# 删除用户
userdel -r 用户名
# 删除组
groupdel 组
# 查看用户名
id
# 查看当前用户
whoami
# 配置文件
/etc/passwd # 密码
/etc/group # 组
/etc/shadow # 修改时间
# 所有者:默认创建文件的用户为文件的所有者。
# 所在组:默认创建文件的用户所在组为所在组。
# 其他组:除此之外的为其他组。
# ls -lha 查看文件或者目录的信息
-rw-r—r--:第一列,一共10位;
0位:文件类型(-普通、c字符设备、l链接、d目录、b块设备、p管道、s socket设备);
1-3位:所有者权限;4-6位:所在组权限;7-9位:其他用户权限。
# 对目录而言
x 可进入目录,操作文件
w 可增删,修改名称
r 可ls查看
# 对文件而言
x 可执行
r 可读取
w 可修改
# 修改文件权限:
# 字母:u 所有者,g 所在组,o 其他组,a所有人。=赋予,+增加,-删除。
chmod u=rwx g+w o-x 文件/目录
# 数字:r=4 w=2 x=1
chmod 741 文件/目录 # 简单的数字加减
# 修改文件所有者:
chown 所有者 文件/目录
chown –r 所有者 文件/目录 # 递归修改
# 修改文件所在组:
chgrp –r 所在组 文件/目录 # 递归修改
1.10 搜索查找
- ① find
# 按名字查找
find /etc -name ""
# 按尺寸查找
find /etc -size +20M
# 按用户查找
find /etc -user ""
# 查找最近两天修改的文件
find /etc -mtime -2
# 不加文件夹为当前文件夹下查找
- ② grep
# 查找文件中符合条件的字符串 -r递归 -n 行号显示
grep -rn "" 文件名
# 利用管道
cat -n 文件名 | grep ""
# 二次查找
grep -rn "字符串1" 文件名 | grep -rn "字符串2"
- ③ 查找路径
which只显示二进制文件的路径
whereis显示二进制文件的路径,和其源码或man手册位置
uname -a 显示系统信息
1.11 压缩解压
- ① gzip
# gzip用来压缩单个小文件
# -l 列出压缩文件内容 -k保留源文件 -d解压
# 压缩后删除源文件
gzip 文件 # 生成.gz文件
# 压缩后保存源文件
gzip -lk 文件名
# 解压
gip -lkd 文件名
- ② bzip2
# bzip2用来压缩单个大文件 和gzip类似,其压缩率更高
# -k保留源文件 -d解压
# 压缩后删除源文件
bzip2 文件 # 生成.bz2文件
# 压缩后保存源文件
bzip2 -k 文件名
# 解压
bzip2 -kd 文件名
- ③ tar
# tar用来压缩目录
# -c创建生成包 -x提取文件 -t可以查看压缩文件
# -z gzip方式,与c结合为压缩,与x结合为解压
# -j bzip2方式,与c结合为压缩,与x结合为解压
# -v 详细报告信息 -f 表示对文件压缩 -C指定目录解压
# 打包成tar.gz
tar -zcvf xx.tar.gz xx
# 查看压缩文件
tar -tvf xx.tar.gz.xx
# 解压到D文件
tar -zxvf xx.tar.gz -C D
# 打包称tar.bz2
tar -jcvf xx.tar.bz2 xx
# 解压到D
tar -jxvf xx.tar.bz2 -C D
1.12 时间日期
# 显示当前日期
date + %Y 当前年份 +%m 当前月份 + %d 当前天 date “ +%Y-%m-%d %H:%M:%s” 年月日时分秒
# 设置日期
date –s “2023 -2-2 10:20:20” 修改当前系统时间
# 显示日历
cal 显示当前日历 cal 2022 显示2022日历
1.13 进程管理
# 查看进程信息 -e 显示所有进程 -f全格式
ps -ef | grep sshd
# 查看进程 -a当前进程 -u用户格式显示 -x 显示后台运行参数
ps -aux
# 树状显示进程信息
pstree #-p按进程PID排序 -u按用户排序
# 强制杀死当前进程
kill -g 进程号
# 杀死当前进程及其子进程
killall 进程号
# 相关字段说明
# F 进程状态标志
# S 进程状态代码
# UID 进程执行者ID
# PPID 父进程标识(parent process ID)
# PRI 进程执行的优先级(priority)
# NI 进程执行优先级的nice值,负值表示其优先级较高
# SZ 进程占用的内存大小
# WCHAN 进程或系统调用等待时的地址
# %CPU cpu使用百分比
# %MEM 内存使用百分比
# VSZ 占用虚拟内存大小
# RSS 占用物理内存大小
# START 进程开始时间
1.16 服务管理
# 查看systemctl管理的服务
ls -la /etc/init.d
# 开启服务
sudo systemctl start sshd
# 关闭
sudo systemctl stop sshd
# 查看状态
sudo systemctl status sshd
# 重启服务
sudo systemctl restart sshd
# 不中断正常功能下重新加载服务
sudo systemctl reload sshd
# 设置服务的开机自启动
sudo systemctl enable sshd
# 关闭服务的开机自启动
sudo systemctl disable sshd
# 查看活跃的单元
sudo systemctl list-units
# 查看已启动的服务列表
sudo systemctl list-unit-files|grep enabled
# 查看启动失败的服务列表
sudo systemctl --failed
# top 可以动态获取进程信息。
top –d # 几秒修改,默认3s。
top –I # 不显示僵尸进程。
top –p # 指定IP。
# 交互操作
# 按u按输入用户排序,默认按cpu占用率排序,按n输入进程号排序
# 按k 输入进程号杀死进程,按q退出
1.15 磁盘挂载
# 查看磁盘挂载情况 -f 多了一个机器号
lsblk
# 显示已挂载的分区列表 -h以GMK等字节大小显示,-a列出所有文件系统
df -ha
# 查看具体目录 -s指定目录占用大小汇总 -h带计量单位 -a含目录 -c增加汇总值
# --max-depth=1子目录深度
du –hac –max-depth=1 /opt
# 统计opt下普通文件个数
ls -la /opt | grep "^_" |wc -c
# 添加磁盘
1. 虚拟机添加硬盘
虚拟机设置->添加->SCSI->创建新虚拟硬盘->设置大小->确定->重启
2. 磁盘分区
fdisk /dev/sdb
w 保存 q退出
n新增分区 m显示分区列表 p显示磁盘分区相当于fdisk –l d删除分区
3. 格式化 mkfs –t ext4 /dev/sdb1
4. 挂载 yum install util-linux
mount /dev/sdb1 /newdisk umount -v /dev/sdb1或newdisk 重启失效
5. 设置自动挂载 vim /etc/fstab 修改后执行 mount –a 或重启
1.16 网络命令
# 查看当前使用网卡
ifconfig
# 查看所有网卡
ifconfig -a
# 设置网络IP
sudo ifconfig ens160 192.168.1.137 # 只是单次设置完后还需要设置配置文件
# 查看路由信息
route
# 修改DNS
sudo vim /etc/resolv.conf # 8.8.8.8
# 添加路由
sudo route add default gw 192.168.1.1
# 删除路由
sudo route del default gw 192.168.1.1
- 上述 route 命令输出信息中各项的含义请看下表:
Destination | 目标网段或者主机 |
---|---|
Gateway | 网关地址,” *” 表示目标是本主机所属的网络,不需要路 由 |
Genmask | 网络掩码 |
Flags | 标记。一些可能的标记如下: |
U - 路由是活动的 | |
H - 目标是一个主机 | |
G - 路由指向网关 | |
R - 恢复动态路由产生的表项 | |
D - 由路由的后台程序动态地安装 | |
M - 由路由的后台程序修改 | |
! - 拒绝路由 | |
Metric | 路由距离,到达指定网络所需的中转数 |
Ref | 路由项引用次数 |
Use | 此路由项被路由软件查找的次数 |
Iface | 该路由表项对应的输出接口 |
1.16 nfs服务
https://zhuanlan.zhihu.com/p/480960387
1.17 linux三剑客
https://zhuanlan.zhihu.com/p/110983126