学习笔记——Ubuntu基础

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值