- host-only
仅可与宿主机通信 - 桥接
将虚拟机也当作宿主机所在网络中一台真实的主机,拥有和宿主机在同一网段的ip - Nat
重新构建了一个虚拟机用的私有局域网,可以指定IP网段。- 作用: IP地址不够用,防止冲突
基本命令
网络相关
- ifup 网卡名 开启网卡
- ifdown网卡名 关闭网卡
- 网络配置相关文件夹 /etc/sysconfig/network-scripts/
- 配置文件 /etc/init.d/network
- 修改密码 passwd 用户名
查看用户登录信息
- w 查看记录的用户登录,用户身份,来源
- whoami 查看当前登录用户
- tty 查看终端信息
- hostnamectl set-hostname 主机名 修改主机名
目录结构
/var:存放日志等经常变化的文件
/var/www:存放项目源码
/etc:存放配置文件的目录
/opt:大型软件存放目录(第三方软件装在这)用了就删的软件
/usr/local:存放自己手动安装的必要的小软件
/usr/local/bin:一般会把一些命令软链接到这
环境变量
其他
- find /opt -type f -name '*.py' 查找/opt/下所有以.py结尾的文件
- mkdir -p 文件夹名/{文件夹1, 文件夹2...}
- 查看文件详细信息 stat 文件
- 修改时间戳 touch -t 时间戳 文件
- cat 加-E时空行显示$,加-n时显示行号
- sed 's/修改后文字/要修改的文字/' 文件名,只会返回替换效果,但是不会修改原文件。加上-i会修改源文件
- tail -f 文件名 实时监控文件
- alias
显示当前系统下的别名- 起别名 alias 要起的别名="具体的命令"
- 删除别名 unalias 别名
-scp - -r 递归 -v 显示传输详细信息
- 发送文件 本地文件路径 用户名@远端ip:/opt/(路径)
- 取文件 用户名@远端ip:/opt/(路径) 本地文件路径
- du
显示当前文件大小- du 文件名 显示指定文件大小,-h格式化显示大小, -s总大小
- df -h 显示磁盘空间大小
- free -m 查看内存大小
- top 动态监视进程活动和系统负载等信息
- 文件加锁
chattr +a filename - 文件解锁
chattr -a filename - 查看软件时间 date
- 查看硬件时间 hwclock
- 与时间服务器同步时间 ntpdate -u ntp.aliyun.com
- wget 网络链接 从网络链接中下载文件
- wget -r -p http://www.baidu.com 递归下载网站所有资源
- 重启 reboot
- 关机 poweroff
- 系统名字 uname
- 系统详情 unmae -a
- 查看内核版本号 uname -r
- 查看系统版本信息 cat /etc/redhat-release
- cat /etc/os-release
- 查看系统多少位 uname -m
权限命令
- 查看uid id 用户名
- root的uid为0
- root创建的普通用户uid从1000开始
- su - 用户名。用户时一定要加上连字符,表示完全切换环境变量
- su - root 然后输入root密码
- sudo su - 然后输入当前用户密码,当前用户需要在sudoers中
- 将没有sudo权限的用户授予sudo权限 修改/etc/sudoers 或使用:visudo
- root用户可以随意切换普通用户,不需要密码
- 普通用户切换root,必须输入密码
- 存放用户身份信息的文件 /etc/passwd
- 存放用户组的文件 /etc/group
- 存放用户密码的文件 /etc/shadow
- 新建用户 useradd 用户名
- 为新用户设置密码 echo 'password' | passwd --stdin 用户名
##########
查看用户是否创建成功
tail -1 /etc/passwd
tail -1 /etc/shadow
id 用户名
##########
- 删除用户 userdel 用户名 -r 删除用户和家目录 -f 强制删除
- 新建用户组 groupadd 用户组名
- 更改用户所属组 usermod -g 组名 用户名
软连接
- ln -s 目标文件 当前快捷方式
PS1变量
Linux命令提示符有PS1控制。可以自行调整/etc/profile PS1='[u@h W ]$'
- d 日期
- H 完整主机名
- h 主机名第一个名字
- 时间24小时制HHMMSS
- T 12小时制
- A 时间24小时制HHMM
- u 当前用户账号名
- v BASH的版本
- w 完整工作目录
- W 利用basename取得工作目录名
- # 下达的第几个命令
- $ 提示字符,root为#,普通用户为$
- 变量赋值,查看
- name='hah'
- echo $name
linux 全局变量配置文件
/etc/profile
linux下查看文件的命令
cat head more less tail
tar
- -x 解压缩
- -f 指定哪个文件
- -c 压缩
- -v 显示操作过程
- 压缩文件 tar -czvf 压缩后路径 要压缩的文件
- 解压文件 tar -xzvf 要解压的文件 解压后路径
- 解压 bz2 结尾的文件 tar -xjfv 要解压的文件
查看网络端口
netstat -tunlp
kill
- kill 进程号
- kill -9 进程号 强制杀死
- killall nginx 杀死和nginx有关的所有进程。当然也可以不是nginx
- pkill 相当于 killall
selinux iptables firewalld
1.关闭selinux
1.获取selinux状态
getenforce
2.临时关闭selinux,重启后又会生效
setenforce 0
3.永久关闭selinux,写入到selinux配置文件
vim /etc/selinux/config
SELINUX=disabled #更改为这个
4.重启后selinux永久关闭
2.iptables (软件防火墙)
1.查看防火墙规则
iptables -L
2.清空防火墙规则
iptables -F
3.关闭防火墙软件
systemctl stop firewalld
4. 永久关闭
systemctl disable firewalld
Linux中文显示设置(防止中文乱码)
- 显示当前系统的字符集
echo $LANG - 检查xshell crt的字符集
- 命令修改linux字符集
export LANG=en_US.utf8
修改配置文件 /etc/locale.conf
LANG="zh_CN.UTF-8"
更改后查看系统语言变量
locale
nslookup DNS解析
- 安装nslookup
yum -y install bind-utils - 使用
nslook.up baidu.com - dns服务器地址文件
/etc/resolv.conf
计划任务(crond)
vim /etc/crontab
- 新建定时任务,任务命令写绝对路径
crontab -e - 查看现有定时任务
centos软件安装方式
- rpm包安装(需要手动解决软件依赖关系,麻烦)
- yum安装(其实也是下载rpm包然后自动安装,自动解决软件依赖关系)
- 源码编译安装(可自定制软件的需求,以及软件的功能扩展)
- yum源所在文件 /etc/yum.repos.d
- 清理yum缓存 yum clean all
- epel源,第三方的额外仓库源,其他源里找不到时,用这个找
启动用yum安装的服务,都可以使用systemctl start/stop/restart/reload/status xxx.service 以服务形式启动/停止/重启/不终止服务,重新加载/查看服务状态
nginx
yum install -y nginx
- 报错:在虚拟机中的 web 无法被主机访问的解决方法
- 原因:centos 端口未开启
- 解决:
- 开启 web 端口
firewall-cmd --permanent --add-port=80/tcp - 重启 firewall
firewall-cmd --reload
- 开启 web 端口
开机自启动
# centos 6
service start | stop | restart nginx
chkconfig add nginx
chkconfig nginx on
chkconfig --list
查看端口
ss -tnlp
centos 7
systemctl start nginx
systemctl enable nginx
``
centos下python3的安装
- 下载源码:
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz - 安装依赖库环境
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y - configure
./configure --prefix=/opt/Pythonxx/ - make
- make install
安装jupyter
- pip install ipython
- pip install jupyter
- 配置密码
ipython
from IPython.lib import passwd
passwd()
# 会要求输入密码,并返回一个加密后的密码
jupyter notebook --generate-config --allow-root
按下面配置
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.password = '' # 上一步生成的密文
c.NotebookApp.port = 8000
- jupyter notebook --allow-root # 启动jupyter
- 如果启动后宿主机打不开,就关闭虚拟机防火墙 iptables -F