[TOC]
## 简单好用的 Linux/Windows 面板
https://www.bt.cn/
## Windows7 64位安装VMware Workstation 12 Pro
http://www.511yj.com/plcvch-vmvmware-workstation.html
## Windows7使用VMware12安装CentOS7
https://blog.csdn.net/qq_34272964/article/details/79393613
本地与虚拟机之间的文件传输推荐使用winscp软件进行操作,该软件可调出本机上安装的putty,可以打命令
*!!! winscp连接阿里云服务器会出现隔一段时间不操作就卡死的情况,可在winscp中打开【选项>>面板>>远程】,设置合适的刷新面板间隔时间来解决此问题*
## Macos High Sierra使用VMware Fusion10安装CentOS7
https://blog.csdn.net/qiuqurenkong/article/details/78588246
## CentOS7的目录结构
https://www.aliyun.com/jiaocheng/185133.html
CentOS7文件结构截图如下:

下面要说一说各个目录的作用及其目录下的文件。
1、**/**\- 根
每一个文件和目录从根目录开始。
只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/.不一样
2、**/bin**中 - 用户二进制文件
包含二进制可执行文件。
在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。
例如:ps、ls、ping、grep、cp
3、**/sbin**目录 - 系统二进制文件
就像/bin,/sbin同样也包含二进制可执行文件。
但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令
4、**/etc** - 配置文件
包含所有程序所需的配置文件。
也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf
5、**/dev** - 设备文件
包含设备文件。
这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0
6、**/proc** - 进程信息
包含系统进程的相关信息。
这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。
这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime
7、**/var** - 变量文件
var代表变量文件。
这个目录下可以找到内容可能增长的文件。
这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);
8、**/tmp** - 临时文件
包含系统和用户创建的临时文件。
当系统重新启动时,这个目录下的文件都将被删除。
9、**/usr** - 用户程序
包含二进制文件、库文件、文档和二级程序的源代码。
/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。
/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。
/usr/lib中包含了/usr/bin和/usr/sbin用到的库。
/usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。
10、**/home** - HOME目录
所有用户用home目录来存储他们的个人档案。
例如:/home/john、/home/nikita
11、**/boot** - 引导加载程序文件
包含引导加载程序相关的文件。
内核的initrd、vmlinux、grub文件位于/boot下。
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic
12、**/lib** - 系统库
包含支持位于/bin和/sbin下的二进制文件的库文件.
库文件名为 ld\*或lib\*.so.\*
例如:ld-2.11.1.so,libncurses.so.5.7
13、**/opt** - 可选的附加应用程序
opt代表可选的。
包含从个别厂商的附加应用程序。
附加应用程序应该安装在/opt/或者/opt/的子目录下。
14、**/mnt** - 挂载目录
临时安装目录,系统管理员可以挂载文件系统。
15、**/media** - 可移动媒体设备
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;
16、**/srv** - 服务数据
srv代表服务。
包含服务器特定服务相关的数据。
例如,/srv/cvs包含cvs相关的数据。
## 查看系统版本
` cat /etc/centos-release`
## 使用yum安装常用的命令
centos7自带yum,用法 yum install packagename
~~~
yum -y install wget // 用于下载必要的安装文件,如jdk,mysql等
yum -y install net-tools // 网络工具命令,如ifconfig等
yum -y install MySQL-python // 用于使用Python语言操作MySQL数据库
~~~
## 常用shell命令
| 命令 | 功能描述 | 参数 | 使用举例 |
| --- | --- | --- | --- |
| chattr 参数 文件名 | 修改文件属性 | +i锁定 -i解锁 +a只写 | chattr -i /home/wwwroot/你的网站目录/.user.ini |
| lsattr 文件名 | 查看文件属性 | | lsattr /etc/resolv.conf |
| chmod 参数 文件/目录名 | 设置读写权限 | -R 777 | chmod -R 777 storage/ |
## tar压缩与解压缩
~~~
// 查看
tar -tf aaa.tar.gz // 在不解压的情况下查看压缩包的内容
// 压缩
tar –cvf jpg.tar \*.jpg // 将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz \*.jpg // 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 \*.jpg // 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z \*.jpg // 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
// 解压
tar –xvf file.tar // 解压 tar包
tar -xzvf file.tar.gz // 解压tar.gz
tar -xjvf file.tar.bz2 // 解压 tar.bz2tar –xZvf file.tar.Z //解压tar.Z
// 总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
~~~
## 忘记root密码怎么办
[CentOS7重置root密码]
~~~
1. 在选择系统启动界面(出现两个Core结尾的系统选项)按【e】键
2. 按【e】进入启动文件界面后,按【↓】拉到底部,在 "LANG=zh\_cn.UTF-8" 同行后面加上“init=/bin/sh”,然后按【Ctrl+X】进入“单用户模式”
3. 输入【ls】,回车,再输入【mount –o remount ,rw / 】(注意空格),回车
4. 输入【passwd】(注意:密码不能少于8位),重复输入两次密码(要注意的是,你输入的密码可能会看不到,但这不是输入故障,密码已经输入了只是不可见)
5. 输入【touch /.autorelabel】,回车
6. 输入【exec /sbin/init】回车,重启系统
~~~
## 设置网卡启动
~~~
1. 打开配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
2. 修改ONBOOT
ONBOOT=yes
3. 按esc并键入:wq回车保存配置文件,reboot重启虚拟机
~~~
## 使用crontab定时执行脚本任务
1. 安装crontab
~~~
yum -y install crontabs
~~~
2. crontab服务命令
~~~
service crond start 或 systemctl start crond.service // 启动服务
service crond stop 或 systemctl stop crond.service // 停止服务
service crond restart 或 systemctl restart crond.service // 重启服务
service crond reload 或 systemctl reload crond.service // 重载配置
service crond status 或 systemctl status crond.service // 查看服务状态
~~~
3. 查看当前用户的crontab,输入[crontab -l]命令,如显示"no crontab for xxx",说明当前用户尚未配置crontab任务
4. 使用[crontab -e]命令创建并编辑配置文件,方法同vi,保存之后任务生效
5. 删除crontab任务使用[crontab -r]命令
6. 打开/etc/crontab,了解crontab配置规则,附常用的定时任务写法示例:
~~~
// 基本格式
* * * * * root command
分 时 日 月 周 用户 命令
// 每隔两分钟执行一次脚本并打印日志
2 * * * * * root /usr/bin/python3.5 /home/auto.py > /home/auto.log
// 每分钟执行一次
* * * * * user /home/scripts/xxx.py
// 每隔两小时执行一次(/表示频率)
* */2 * * * user /home/scripts/xxx.py
// 每天8:30执行一次
30 8 * * * user /home/scripts/xxx.py
// 每小时的30和50分各执行一次(,表示并列)
30,50 * * * * user /home/scripts/xxx.py
// 每月3号到6号的每天8:30执行一次(-表示范围)
30 8 3-6 * * user /home/scripts/xxx.py
// 每个周一的8:30执行一次(周的范围是0-7,0和7代表周日)
30 8 * * 1 user /home/scripts/xxx.py
~~~
7. 执行任务的脚本文件必须具有x权限,否则将不会执行任务,授权使用如下命令:
~~~
chmod +x /home/scripts/xxxx.py // 路径写完整路径
~~~
8. 使用`tail -f /var/log/cron`命令查看任务日志
## 清理系统日志
~~~
cat /dev/null > /var/log/btmp
cat /dev/null > /var/log/cron
cat /dev/null > /var/log/dmesg
cat /dev/null > /var/log/firewalld
cat /dev/null > /var/log/grubby
cat /dev/null > /var/log/lastlog
cat /dev/null > /var/log/mail.info
cat /dev/null > /var/log/maillog
cat /dev/null > /var/log/messages
cat /dev/null > /var/log/secure
cat /dev/null > /var/log/spooler
cat /dev/null > /var/log/syslog
cat /dev/null > /var/log/tallylog
cat /dev/null > /var/log/wpa_supplicant.log
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/yum.log
~~~
## 清理用户账号
~~~
// 直接删除用户账号,用户文件会有残留
userdel -r [用户名]
// 先查出用户相关文件,注意删除之后删除用户账号
find / -name [用户名]
~~~
## 虚拟机ping不通物理机
设置物理机防火墙,以win7为例:
1.打开控制面板,按类别查看
2.点击【网络和Internet】下的查看网络状态和任务
3.点击窗口左下方的Windows防火墙
4.进入高级设置
5.打开入站规则
6.找到配置文件类型为“公用”的“文件和打印共享(回显请求 – ICMPv4-In)”规则,设置为允许
7.虚拟机可以ping通主机了!
## Firewall防火墙与端口访问
1.防火墙基本操作
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
2.配置端口
开放访问: firewall-cmd --zone=public --add-port=8000/tcp --permanent
关闭访问: firewall-cmd --zone=public --remove-port=8000/tcp --permanent
重新载入配置使其立即生效: firewall-cmd --reload
查看监听的端口: netstat -lnpt
检查端口被哪个进程占用: netstat -lnpt |grep 8000
查看进程的详细信息: ps 进程号
中止进程: kill -9 进程号
*PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools*
- JavaScript笔记
- JQuery
- Echarts初级入门
- Js常用正则表达式
- 使用vuejs前端框架
- Bootbox.js官方文档中文版
- LocalStorage基本用法小结
- Toastr消息提示插件中文文档
- Ajax提交Form数据及文件上传
- Nodejs笔记
- Python笔记
- Scrapy爬虫技术
- Django框架
- Java笔记
- 环境搭建
- Php笔记
- MacOS 10.13.6搭建PHP开发环境
- Php常见问题及解决方法
- 玩转laravel之homestead
- Apache服务器的基本操作
- 如何使用CentOS7 + Lnmp
- ThinkPHP爬坑之路
- 初识Swoole
- 小贴士
- 习题集
- 方法集
- 数据库
- mysql
- 常用的SQL语句
- 日常操作和设置
- 常见问题及解决办法
- 读写分离和主从复制
- 数据表分区
- postgresql
- 在PHP中的应用
- redis
- 测试
- 接口测试
- Web测试
- 杂项
- Sublime text3使用小贴士
- 利用虚拟机学习Linux
- PHPstorm常用设置
- Windows实用tips
- 微信开发小知识
- Git常用操作
- Swift入门
- 机器学习
- 系统命令
- 网络拾贝
