Linux了解一下
VMware与CentOS系统安装
1, 下载CentOS系统ISO镜像:
国内镜像源
https://opsx.alibaba.com/mirror#阿里云官方镜像站
iso下载地址(此DVD映像包含可以使用该软件安装的所有软件包安装程序。这是大多数用户的推荐图像):
https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso
2, 安装VMware虚拟机
虚拟机能让用户在一台机器上模拟出多个操作系统的软件,一般的机器配置能够胜任虚拟机的任务.
虚拟机不但可以虚拟出硬件资源,把实验环境与真机文件分离保证数据安全,还能在删掉系统核心配置时,有'快照'的功能,立即恢复到出错前的状态.
(Windows用户)VMware Workstation是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,
和进行开发、测试 、部署新的应用程序的最佳解决方案。
下载激活地址:http://www.zdfans.com/html/5928.html
(Mac用户) VMware fusion
简单的说,虚拟机(virtual Machine)软件就是一套特殊的软件,同时可以用“多个操作系统”
虚拟出硬件+操作系统==服务器+OS
误区:学Linux不需要再物理机上安装,费时费力,采用虚拟机是最合适的方式
Linux学习环境推荐电脑配置:
笔记本电脑: 内存 8G ; 磁盘 500G SATA或者120G SSD ; i3, i5, i7处理器.
Linux是一个多用户,多任务,支持多线程和多CPU的操作系统
通过VM虚拟机学习Linux的优点:
利用虚拟机搭建Linux学习环境简单方便, 容易上手, 最重要的是虚拟机的Linux和真实服务器
几乎无区别;
搭建Linux集群或者需要模拟多台服务器通信的时候,可以同时开启好几台虚拟机,虚拟机可以满足多机器的需求;
自己租服务器可以搭建Linux环境,用于个人开发学习使用;
允许修改虚拟(服务器)机配置,且不会影响自己的电脑,想删除虚拟机也不会影响电脑,虚拟机只是运行在电脑上的一个程序.
安装VM注意:
1, 秘钥自己网上搜即可,要配合版本;
2, 安装成功后创建新的虚拟机,在新建虚拟机向导中选择'自定义';
3, 在安装客户机操作系统时, 选择'稍后安装操作系统';
4, 在选择磁盘时,选中 '创建新虚拟磁盘';
5, 在指定磁盘容量时,选择'将虚拟机磁盘拆分成多个文件';
6, 点击'自动检测',选择已经下好的ISO文件
...
root密码重置:
在重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面
在Linux16参数行的最后追加'rd.break'参数,然后按下Ctrl+X组合键来运行修改的内核程序
![](https://img2018.cnblogs.com/blog/1432999/201812/1432999-20181224215232940-2138585492.png)
等待之后,进入系统紧急求援模式
依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码来登录Linux系统了
mount -o remount,rw /sysroot chroot /sysroot passwd touch /.autorelabel exit reboot
在安装VM和CentOS过程中可能还有其他问题,如电脑不兼容等问题,自行查资料或请教他人解决.
远程连接:
这里只用Xshell软件进行连接.
获取主机IP地址 :
方式1 ip addr
方式2 ifconfig
网络模式配置:
host only 仅主机,单机模式,电脑控制虚拟令其无法与外界通信
nat模式(网络地址转换)
--- 电脑宿主机的ip在局域网内是唯一的, 选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网
--- 虚拟机的IP地址是nat分配的,电脑网络环境改变不会影响虚拟机
桥接模式:
--- 用该模式,就是局域网中一台独立的主机,他可以访问该网段任意一台机器.
--- 虚拟机受电脑网络环境的影响,随时改变ip地址
端口
一台服务器可以有一个ip地址,例如是192.168.11.1,服务器是需要对外提供服务的,例如web服务,FTP服务。那么仅凭ip地址,主机无法区分不同的服务,ip地址和网络服务是一对多的关系,一个ip提供多个服务,因此就有了“端口号”来区分不同的服务器的。
端口(port) 的设计规定是有65536个端口,每个端口对应唯一的程序,0-1024端口之间被操作系统占用,因此开发人员使用的是1024-65536
如 : ftp : 23 dns: 53 http : 80 https: 443 ssh : 22
协议 :
protocol是为网络中的数据交换而建立的规则,标准或者约定,俩个实体要通信,必须要有同一种语言.
超文本传输协议: HTTP ; 文件传输协议: FTP ; 简单邮件传输协议: SMTP
网络通信协议: TCP ; 用户数据报协议: UDP
连接服务器:
首先打开服务器,并获取ip,
然后,在Xshell中输入 : ssh 用户名@ip,
随后输入用户名称和密码即可.
Ctrl+Alt+F[1~6],如果要切换到第二号虚拟机终端, 则同时按Ctrl+Alt+F2
普通用户登录后系统提示符:$ ; root用户登录后系统提示符: #
查看终端信息shell命令
tty 查看当前终端 ;
who am i 仅显示当前用户正在使用的终端和登录时间
w 查看所有终端, (功能最全,显示用户名,登陆时间,负载等信息)
Linux 常用命令
Linux命令就是一个可执行的二进制程序
网卡配置:
装好Linux后,有的时候网卡默认是没启动的,因此需要手动启动网卡:
编辑网卡配置文件-- vi /etc/sysconfig/network-scripts/ifcfg-etho
(注意ifcfg-etho表示ip所在的当前文件夹)
修改配置参数-- ONBOOT=yes
网络配置文件: /etc/sysconfig/network 网络接口配置文件: /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致; BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用static或none;
dhcp表示使用DHCP服务器获取地址; IPADDR=: IP地址 NETMASK=:子网掩码 GATEWAY=:设定默认网关; ONBOOT=:开机时是否自动激活此网络接口; HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省; USERCTL={yes|no}: 是否允许普通用户控制此接口; PEERDNS={yes|no}: 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址;
注意: dhclient 能够手动获取ip地址,再使用ip addr 即可查看.
service network restart 重启网络即可.
ifup, ifdown命令
表示启动/关闭一块网卡;
ifup ens33 ; ifdown ens33
他们是直接连接到/etc/sysconfig/network-scripts目录下搜索对应的网卡文件,如: ifcfg-ens33
ifconfig命名(并非系统自带,需要下软件包:yum install net-tools -y)
ifconfig 查看网卡ip地址
直接输入ifconfig会列出已经启动的网卡,也可以输入ifconfig ens33单独显示ens33的信息 各选项解释是: eth0 网卡的代号 lo 回环地址loopback inet IPv4的Ip地址 netmask 子网掩码 broadcast 广播地址 RX/TX 流量发/收情况 tx是发送(transport),rx是接收(receive) packets 数据包数 errors 数据包错误数 dropped 数据包有问题被丢弃的数量 collisions 数据包碰撞情况,数值太多代表网络状况差
ifdown 关闭网卡
ip 命令
ip是一个命令,结合了ifconfig和route俩个命令的功能
ip addr show 查看ip信息
系统信息:
#查看系统版本信息 cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) #查看内核版本号 uname -r 3.10.0-693.el7.x86_64 #查看系统多少位 uname -m x86_64 #查看内核所有信息 uname -a
ls 查看Linux文件夹信息 list缩写 , Linux中白色的是普通文件,蓝色的是目录文件
pwd 打印当前工作目录--print work
mkdir 创建文件夹
如: mkdir 文件夹名 创建单个文件夹 ;
mkdir 文件夹1 文件夹2文件夹3 创建多个文件夹
cat 查看Linux文本(查看纯文本文档,常用于内容较少的)
#查看文件,显示行号 cat -n xxx.py #查看文件 cat xxx.py #在每一行的结尾加上$符 [root@master tmp]# cat -E 1.txt #追加文字到文件 cat >>/tmp/oldboy.txt << EOF(此处表明退出的标识) 唧唧复唧唧... (此处写追加的内容) EOF
cd change 目录 表示更改目录 ; cd 目录 表示切换/更改当前目录或位置 如: cd /home
touch 创建普通文本
如: touch 文件名
touch 文件1 文件2 文件3
echo 显示变量的值/显示当前字符串
如: echo 'pan 是个大傻逼'
cat filename.txt -n 查看文本内容 显示行号
more 用于查看大文件
more 命令查看文本会以百分比的形式显示已经看了多少,
回车键向下读取内容 ; 按空格(space)翻页 ; 按b键是上一页
拷贝命令 : cp 文件1 文件2 ; cp -r 递归拷贝文件
find 查找文件命令 表示从哪找 啥类型 找什么(find 目录 类型 名字)
#Linux里如何找到需要的文件 例如 oldboy.py find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名) 参数 -name 按照文件名查找文件 -type 查找某一类型的文件,诸如: b - 块设备文件。 d - 目录。 c - 字符设备文件。 p - 管道文件。 l - 符号链接文件。 f - 普通文件。 s - socket文件 find /tmp/ -type f -name "oldboy.py" #找出/tmp所有以 .txt 结尾的文件 find /tmp/ -type f -name "*.txt" #找到/etc下所有名字以host开头的文件 find /etc -name 'host*' #找到/opt上一个名为settings.py find /opt -name 'settings.py'
Linux 快捷键:
tab键: 用于自动补全命令/文件名/目录名
Ctrl + 1 清理终端信息
clear/cls 清理终端显示
Ctrl + c 终止当前操作
echo :
用于在终端输出字符串或者变量提取后的值,格式是'echo 字符串|$变量'
#默认吧内容显示到终端上 echo "pan" #把“pan”写入到文件里! echo "pan" > /tmp/chaoge.txt echo $PATH #取出打印PATH的值
特殊符号
输出/输入 重定向符号
>> 追加重定向,把文字追加到文件的结尾
> 重定向符号,清空源文件内容, 然后把文字覆盖到文件末尾
< 输入重定向
<< 将输入结果输入重定向
如: echo 'pan' > /tmp/pan.txt
echo 'pan66' >> /tmp/pan.txt
cat >> /tmp/pan.txt << EOF
把命令执行的结果信息,写入到文件
ip addr > /tmp/network.txt 标准输出重定向 把命令执行结果信息放到文件中
通配符:
ls -l 文件
vim 支持编程的文本编辑器(不是系统默认命令,需要下载)
vim 具有程序编辑能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计.
vim filename.txt 进入命令模式后,可以输入各种命令
:set nu 显示行号 (需要先按Esc键)
在光标所在行 yy 复制本行 ; 在光标所在行 dd 删除本行
5yy 表示复制5行 , 5dd 表示删除5行
#方法,命令 vi vim 使用vi打开oldboy.py,默认是命令模式,需要输入a/i进入编辑模式,然后输入文本"Life is short,i use python" 按下esc键,回到命令模式 输入 :wq! 强制保存退出 w write 写入 q quit 退出 ! 强制 或者 :x 保存退出 ------ :q 不保存退出 :q! 不保存强制退出
vi Linux底下的文本编辑器(相当于记事本)
vi 文件 此时进入一个命令模式,需要先输入i字母插入指令,便可进行编辑.
编辑完成后,先按esc回到命令模式,再按下 : 然后输入wq! 保存退出. w表示write写入; q 表示 quit 退出 ; ! 表示强制性. 若不保存退出 输入 q! .
复制 :
copy ==> cp #移动xxx.py到/tmp目录下 cp xxx.py /tmp/ #移动xxx.py顺便改名为chaoge.py cp xxx.py /tmp/chaoge.py Linux下面很多命令,一般没有办法直接处理文件夹,因此需要加上(参数) cp -r 递归,复制目录以及目录的子孙后代 cp -p 复制文件,同时保持文件属性不变 可以用stat cp -a 相当于-pdr #递归复制test文件夹,为test2 cp -r test test2 cp是个好命令,操作文件前,先备份 cp main.py main.py.bak
移动命令:
move > mv cd /home #把日本的冲绳,搬到南海去 mv /home/riben/chongsheng /tmp/nanhai 文件/文件夹改名 mv x.log xx.log
删除命令:
remove ==> rm 参数 -i 需要删除确认 -f 强制删除 -r 递归删除目录和内容 cd /tmp rm oldboy.py #默认有提示删除,需要输入y rm -f oldboy.py #不需要提示,强制删除 #rm默认无法删除目录,需要跟上参数-r rm -rf /tmp/oldboy/ -------- 友情提醒:初学者使用rm命令,随时快照虚拟机
管道命令:
Linux提供的管道符“|”将两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。 常见用法: #检查python程序是否启动 ps -ef|grep "python" #找到/tmp目录下所有txt文件 ls /tmp|grep '.txt' #检查nginx的端口是否存活 netstat -tunlp |grep nginx
grep
是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.
语法: grep [参数] [--color=auto] [字符串] filename 参数详解: -i : 忽略大小写 -n : 输出行号 -v : 反向选择 --color = auto : 给关键词部分添加颜色 grep "我要找什么" /tmp/oldboy.txt #排除 -v,排除我要找的东西 grep -v "我要找什么 /tmp/oldboy.txt
如: 找出目录下root用户所在行,以及行号,显示颜色
cat /etc/passwd |grep '^root' --color=auto -n
找出..所有不允许登录的用户
grep /sbin/nologin /etc/passwd
找出..的所有与mysql有关行,行号
cat /etc/passwd |grep 'mysql' -n
head, tail命令
head显示文件前几行,默认前10行 tail显示文件后几行,默认后10行 #查看前两行 head -2 /tmp/oldboy.txt #查看后两行 tail -2 /tmp/oldboy.txt #持续刷新显示 tail -f xx.log #显示文件10-30行 head -30 /tmp/oldboy.txt |tail -21
别名:
Linux如何提示你,在使用这些命令时候,提醒你小心呢? #查看系统别名 alias 默认别名 alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' 别名作用是: 我们在linux中使用cp时候相当于执行了cp -i -i:删除已有文件或目录之前先询问用户; #别名用比较危险的操作,防止你犯错
设置rm别名
#让系统显示 do not use rm echo do not use rm #设置rm别名 alias rm='echo do not use rm' #设置别名永久生效,写入到/etc/profile(针对登录用户的合同,设置环境变量) vim /etc/profile #编辑文件 G 快速到达最后一行 o 当前行下一行,创建一个新行,进入编辑模式 source /etc/profile #读取文件(合同生效) --------------- #取消别名 unalias rm
which命令:
which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
which pwd
which python
which python #python命令在哪
/usr/bin/python #命令文件绝对路径
scp 命令:
Linux scp命令用于Linux之间复制文件和,目录.
scp是secure copy的缩写,scp是Linux系统下的基于
语法: scp 参数 本地文件 远程文件标记
参数:
-r :递归复制整个目录 -v:详细方式输出 -q:不显示传输进度条 -C:允许压缩
实例:
#传输本地文件到远程地址 scp 本地文件 远程用户名@远程ip:远程文件夹/ scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名 scp /tmp/chaoge.py root@192.168.1.155:/home/ scp /tmp/chaoge.py root@192.168.1.155:/home/chaoge_python.py scp -r 本地文件夹 远程用户名@远程ip:远程文件夹/ scp -r /tmp/oldboy root@192.168.1.155:/home/oldboy #复制远程文件到本地 scp root@192.168.1.155:/home/oldboy.txt /tmp/oldboy.txt scp -r root@192.168.1.155:/home/oldboy /home/
du命令:
Linux du命令用于显示目录或文件的大小
du会显示指定的目录或文件所占用的磁盘空间
用法 du 【参数】【文件或目录】 -s 显示总计 -h 以k,M,G为单位显示,可读性强
实例:
显示目录或文件所占空间 #什么都不跟,代表显示当前目录所有文件大小 du #显示/home的总大小 du -sh /home
top 命令:
第一行 (uptime) 系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载 第二行:进程信息 进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数 第三行:cpu信息 us:用户空间所占CPU百分比 sy:内核空间占用CPU百分比 ni:用户进程空间内改变过优先级的进程占用CPU百分比 id:空闲CPU百分比 wa:等待输入输出的CPU时间百分比 hi:硬件CPU中断占用百分比 si:软中断占用百分比 st:虚拟机占用百分比 第四行:内存信息(与第五行的信息类似与free命令) total:物理内存总量 used:已使用的内存总量 free:空闲的内存总量(free+used=total) buffers:用作内核缓存的内存量 第五行:swap信息 total:交换分区总量 used:已使用的交换分区总量 free:空闲交换区总量 cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
Linux的时间同步
Linux的date命令可以显示当前时间或者设置系统时间
查看当前时间:
格式化输出:
-d --date=string 显示指定的时间,而不是当前时间 以年-月-日显示当前时间 date +"%Y-%m-%d" 以年-月-日 时分秒 显示当前时间 date +"%Y-%m-%d %T" 在Linux下系统时间和硬件时间不会自动同步,在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。 硬件时间的运行,是靠Bios电池来运行,而系统时间是用CPU tick来维持的。 在系统开机时候,会从Bios中获取硬件时间,设置为系统时间 硬件始终的查看 [root@localhost ~ 10:19:04]#hwclock 2018年08月27日 星期一 10时23分03秒 -0.528004 秒 同步系统时间和硬件时间,可以用hwclock命令 //以系统时间为基准,修改硬件时间 [root@localhost~ 10:29:07]#hwclock -w //以硬件时间为基准,修改系统时间 [root@oldboy_python ~ 10:29:21]#hwclock -s
wget命令
wget 命令用于在终端下载网络文件
参数是 wget [参数] 下载地址
wget -r -p http://www.luffycity.com#递归下载路飞所有资源,保存到www.luffycity.com文件中
开关机命令: reboot 用于重启机器 ; poweroff 用于关闭系统.
su - 用户名 : 表示切换用户身份 - 表示完全切换,连同环境变量都切换了
root用户切换普通用户不需要密码, 反之要输入root密码
退出登录 exit logout
xshell 快捷键
ctrl + l 清屏 ctrl + d 退出登录 ctrl + shift + r 快速登录
修改命令提示符,添加 绝对路径,和时间 PS1="[\u@\h \w \t]$"
用户组添加 groupadd 用户组名
删除用户 userdel 用户名
用root身份去执行命令 sudo 编辑这个文件,写入一些配置 vi /etc/sudoers
Allow root to run any commands anywhere root ALL=(ALL) ALL pan ALL=(ALL) ALL
-rw-r--r-- | .1 | root | root | 721819 | Dec 08:17 | girl.gif |
权限相关 | 软连接 | 属于哪个用户 | 属于哪个组 | 文件大小 | 日期 | 文件名 |
ln命令 ln -s 目标文件绝对地址 快捷方式的绝对路径地址 ln -s /opt/cs.txt /home/cs.txt py3 /opt/python36/bin/python3.6 解释器绝对路径 python的时候,就去path中寻找 将python3.6的解释器,添加快捷方式到 /usr/local/sbin/python3.6 当我们输入python的时候 ln -s /opt/python36/bin/python3.6 /usr/local/sbin/
path添加:
echo $path [root@s15fafafa home]# echo $PATH PATH变量只能添加目录,不能定位到文件 将某个文件地下所有内容,都加入环境变量 /usr/local/sbin :/usr/local/bin :/usr/sbin :/usr/bin :/root/bin #假设不用这个 :/opt/python36/bin/ 这才是正确的添加python环境变量
tar 压缩解压 命令
-c 压缩参数 ;
-x 解压参数
-v 显示过程
-f 指定文件,改参数要写在最后
语法: 压缩文件== > tar -cf 压缩文件名 想压的内容
解压文件==> tar -xf 压缩文件名
lrzsz 上传下载的小工具
xftp 文件传输工具
ps -ef | grep 任务 表示查看某任务是否运行有进程
netstat -tunlp | grep 端口号 表示查看某任务的端口是否启动
netstat 参数
-t 或 --tcp 显示TCP传输协议的连线状况
-u 或 --udp 显示UDP传输协议的连线状况
-n 或 --numeric 直接使用ip地址,而不通过域名服务器
-l 或 --listening 显示监控中的服务器的Socket
-p 或 --programs 显示正在使用Socket的程序识别码和程序名称
-a 或 --all 显示所有连线中的Socket
同一台机器的三个ip :
0.0.0.0 即暴露应用在对外的ip地址,又暴露在自己的回环地址;
127.0.0.1 本机回环地址,代表机器自己的内部ip ,其他人访问不到, 并且每个人斗鱼自己的回环地址;
192.168.*.* 本地对外可以访问的ip地址, 每个人都不一样.
kill 杀死进程 ; kill -9 强制杀死进程
如: kill -9 mysql
selinux 内置的防火墙
查询selinux状态 : getenforce
暂时停止selinux : setenforce 0
永久关闭selinux :
==>vi /etc/selinux/config
enforcing - SELinux security policy is enforced # 开启
permissive - SELinux prints warnings instead of enforcing # 临时关闭
disabled - No SELinux policy is loaded # 永久关闭
SELINUX=disabled # 修改该字段重启机器 使得selinux永久关闭
软件防火墙:
iptables -F 清空规则
iptables -L 查看iptable防火墙规则 , 看到只有如下短短的三个链,就说明,没有规则了,关闭防火墙的需求,防止他影响你的服务访问 :
Chain INPUT(policy ACCEPT)
target prot opt source destination
Chain FORWARD(policy ACCEPT)
target prot opt source destination
Chain OUTPUT destination
停止防火墙:
systemctl start/restart/stop firewalld # 开启/重启/停止防火墙
systemctl disable firewalld # 删除 iptables 的开机自启
修改Linux字符编码
编译字符编码的文件:
vi/etc/locale.conf
写如下代码: LANG="zh_cn.utf-8"
读取文件是的变量生效: (source 读取命令, 是的配置文件在系统中生效)
source /etc/locale.conf
查看系统字符编码: echo $LANG
查看磁盘空间 : df -h
以树状图显示文件目录 : tree (需要下载该命令包--yum install tree -y)
dns服务 :
bind 软件 , 配置dns 服务
常见的互联网dns服务器:
8.8.8.8 谷歌的dns服务器;
114.114.114.114 114 dns服务器地址;
223.6.6.6 阿里巴巴的dns服务器地址;
119.29.29.29 腾讯的dns服务器地址
Linux dns配置文件是 etc/resolve.conf
cat /etc/resolve.conf
Generated by NetworkManager
nameserver 119.29.29.29 主dns
nameserver 223.5.5.5 备dns
/etc/host 文件 本地dns强制解析的文件
[root@s15fafafa home]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.13.148 www.baidu.com
dns解析顺序 :
1 ./etc/hosts
2 ./etc/resolve.conf
Linux 用于解析域名的命令 : nslookup Pythonav.cn
Linux的定时任务
crontab -l 查看任务 ; crontab -e 编辑任务
crontab的语法: 分时 日 月 周
例 : 每月的,5,15,25天的晚上5点50重启nginx 50 17 5,15,25 * * /opt/nginx/sbin/nginx -s reload
Windows 软件包 : exe 可安装格式 ; msi 可执行安装文件 ; .zip 压缩包格式 ; .rar压缩包格式.
Linux 软件包管理 :
Linux软件格式分为:
1, 源码包格式:
下载Python3的源码包; 解压源码包 ; 编译且安装 ; 配置环境变量; 使用平原Python3
2, rpm 二进制包格式(这种安装方式,需要手动解决依赖关系,有可能装一个mysql耗时很长)
下载软件的rpm格式包 ; rpm -ivh lrzsz.rpm ; 使用lrzsz工具
(lrzsz 是软件包的名字,提供的命令是: rz 接收文件 sz 发送文件)
补充: 如果直接安装mysql5.6.rpm,依赖了很多其它软件包,就得手动逐个解决依赖,所以不建议使用.
3, yum安装方式 yum工具,自动搜索下载rpm包,且安装,且解决依赖关系,自动处理下载其它依赖rpm包
软件开发目录规范:
lib 库文件
core 核心文件
bin 可执行文件
conf 配置文件
log 日志文件夹
readme 使用说明书
向Python的模块
pip3 install -i http://pypi.douban.com/simple flask
yum源配置:
yum源的仓库路径在 /etc/yum.repos.d/ 然后这个目录底下,只有 以 .repo结尾的文件,才会被识别为yum仓库 配置国内的yum源 1.在/etc/yum.repos.d/目录底下,定制我们自己的repo仓库文件 2.我们自己没有yum仓库,我们就去拿阿里巴巴的yum仓库 3.https://opsx.alibaba.com/mirror 这就是阿里巴巴的镜像站 4.下载阿里巴巴的yum仓库文件 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget下载文件后,-O参数,指定放到某个目录,且改名 5.清除yum缓存 yum clean all 6.生成新的阿里云的yum软件缓存 yum makecache 再配置epel额外的仓库源,这个仓库里就存放了很多第三方软件,例如redis mysql nginx 1.配置epel仓库 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 2.最好再生成yum缓存 yum makecache 3.请随心所欲的使用 yum工具 yum示例用法 yum安装nginx web服务器软件 1. yum install nginx -y -y 一路都是默认yes 2.启动nginx 直接输入nginx命令 3.修改nginx主页面 ,文件名字叫做 index.html find / -name index.html 查找这个文件所在地 vim /usr/share/nginx/html/index.html 修改这个nginx首页文件
系统服务管理命令:
只有通过yum安装的软件,默认才能使用这个命令管理
systemctl start/stop/restart 服务名
systemctl start/stop/restart mariadb
systemctl start/stop/restart redis
systemctl start/stop/restart nginx
接下来是各个软件的安装测试以及相关配置: 如: Python3 ; django ; redis ; nginx 等 .
(最终把创建完成的项目跑起来)
详情看笔记或搜索...