4.23 Linux(3)

时间:2023-03-09 00:14:19
4.23 Linux(3)

2019-4-23 19:03:53

买的服务器第三天感觉超爽!!

发现学习Linux超爽,有种操作的快感!!!!!是Windows比不了的!!

阿里巴巴镜像源 : https://opsx.alibaba.com/mirror?lang=zh-CN

用上面的源会下东西快 yum  类似于 pip用的豆瓣源

明天继续看视频 今天看完了 贴上笔记

附上参考博客: https://www.cnblogs.com/pyyu/articles/9355477.html

等学完Linux部署完服务器!把Linux的知识都整理一下!!

贴上笔记!

Linux有个可以定时任务的命令 感觉很爽 具体看一下笔记

day104Linux

博客地址:https://www.cnblogs.com/pyyu/articles/9355477.html

今日内容:

#查看操作系统详细信息
cat /etc/os-release #查看系统版本信息
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 #公司的一个技术组的权限分配 #运维组 root用户,root用户组,这是最高权限的组部门 #前端组 qianduan1 qianduan2 前端组 #后端组 kangcheng xiaoming 后端组 #查看用户身份权限
id 用户名
#root用户创建普通用户,普通用户的uid从1000开始
#创建普通用户 useradd 创建用户,同时创建用户组,再创建用户家目录 #更改用户密码 passwd #普通用户,更改自己的密码
passwd #且不能指定用户,直接直接输入,更改自己的密码
1.输入正确的当前用户密码
2.输入新密码
3.确认新密码 #linux切换用户身份 su 命令 su - 用户名 #root用户可以随意切换普通用户,不需要密码
#普通用户切换root,必须输入密码 su - root #输入的是root的密码
sudo su - #输入当前用户的密码,并且这个用户得在/etc/sudoers中才能成功登陆root #存放用户身份信息的文件
/etc/passwd
#存放用户组的文件
/etc/group
#存放用户密码的文件
/etc/shadow #创建用户组
groupadd #强制删除用户及家目录
userdel -rf banzhang #Linux使用root身份去执行命令,以解决权限不够的问题
1.修改/etc/sudoers文件,添加想要执行sudo命令的用户
2.vim /etc/sudoers
3.写入
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
mjj ALL=(ALL) ALL #在这里写入你想添加的用户
xiaolv ALL=(ALL) ALL 4.此时就可以通过sudo命令。给普通用户添加超级权限 sudo ls /root / #Linux文件权限
r 可读 可以对文件 读取 4
w 可写 可以写入文件内容 2
x 可执行 可以执行这个文件 1
- 没有权限
- rw-(user) r-- (group ) r--(others)
文件类型 user的权限 group的权限 others的权限
普通文件 可读,可写 可读 可读 #文件夹的权限
d rwx rwx r-x. 2 mjj mjj 6 Nov 30 10:04 嘤嘤嘤 l 软连接 文件夹 r 可以对此目录执行ls列出所有文件
w 可以在这个目录创建文件
x 可以cd进入这个目录,或者查看详细信息 #权限分配,linux有三个用户身份,可以设置权限,分别是:
user 所属用户
gourp 所属用户组
other 谁也不属于,其他人的身份 #useradd 用户添加命令
创建用户的同时,创建用户组
会在/etc/passwd中添加用户
在/etc/group中添加用户组 #更改文件/文件夹的权限
chmod 命令去更改文件权限 chmod 对谁操作 加减什么权限 对象
语法是: u 代表user
g 代表group
o 代表others
chmod u+rwx(4+2+1) 文件
chmod g+rwx 文件
chmod o+rwx 文件
转化成 ↓↓↓↓这个写法
chmod 7 7 7 文件 #给文件所有的用户身份,添加 可读可写可执行 d rwx rwx rwx. 2 mjj mjj 6 Nov 30 10:04 嘤嘤嘤 文件夹 7(mjj) 7(mjj) 7(others) d r-- -wx r-x 一个一个用户的去改 ,这
chmod u-wx 嘤嘤嘤
chmod g-r
chmod o-w 饮饮饮 #更改文件权限
mjj.txt chmod 755 mjj.txt
-rwx r-x r-x chmod 465 mjj.txt
-r-- rw- r-x chmod 5 6 7 mjj
d r-x rw- rwx #linux修改文件所属用户,所属组 chown 用户身份 对象 chgrp 组身份 对象 -rw-r--r--. 1 root root 0 Nov 30 10:45 mjj.txt #你必须确认有这个用户存在,有这个组存在
/etc/passwd 里面是否有wupeiqi
grep 'wupeiqi' /etc/passwd grep 'wupeiqi' /etc/group chown wupeiqi mjj.txt chgrp wupeiqi mjj.txt #更改 用户 所 在的 组 mjj mjj
#id 用户名
# id mjj
uid=1003(mjj) gid=1003(mjj) groups=1003(mjj) uid=1003(mjj) gid=0(root) groups=0(root)
# 用mjj登陆,创建一个文件mjj.py
mjj.py 所属用户是mjj,所属组是mjj -rw-rw-r--. 1 mjj mjj 0 Nov 30 11:31 mjj.py #需求是 我把mjj.py的所属组给更改为wupeiqi -rw-rw-r--. 1 mjj wuepqi 0 Nov 30 11:31 mjj.py #linux创建快捷方式 ln -s 目标文件 当前快捷方式 #/opt/python3/bin/python3.6 #想要快捷的输入python3.6就指向/opt/python3/bin/python3.6 #思路
1.把#/opt/python3/bin/python3.6 这个python3.6这个解释器,软连接到 path路径下
2. ln -s /opt/python3/bin/python3.6 /usr/bin/python3
3. 直接输入python3,就会执行/opt/python3/bin/python3.6 #不用软连接,通过添加path的方式,直接使用python3.6
思路:
1.肯定是把 /opt/python3/bin/python3.6 这个文件夹的路径,添加到path中
2.当我输入 python3.6的时候,系统会通过path中指定的路径,找到python3.6 解决方案:
[root@localhost opt]# echo $PATH
#path环境变量,放的是目录绝对路径
/usr/local/sbin:
/usr/local/bin:
/usr/sbin:
/usr/bin:
/root/bin:
/opt/python3/bin 2. 当我输入python3.6的时候 #linux命令提示符更改,PS1变量 \h  主机名第一个名字
\t  时间24小时制HHMMSS
\W  利用basename取得工作目录名
\w  完整工作目录 #linux变量配置一次,退出会话后失效
PS1='[\u@\h \w \t]\$' #linux的全局环境变量配置文件 vim /etc/profile #linux解压缩
#Linux压缩文件,都调用tar命令 tar 参数 压缩文件 -x 解压缩
-f 指定哪个文件
-c 压缩
-v 解包/解压 tar -xf 压缩文件 打包文件/压缩文件 tar -cf 压缩后的文件地址 要压缩的内容 tar -cf /home/xiaolaodi.tar 小老弟 #Linux查看网络端口的命令
netstat -tunlp #服务器的ip地址 127.0.0.1 本机回环地址,代表这个服务器自己,只能自己ping同自己
python manage.py runserver 127.0.0.1:8000 192.168.12.85 代表当前机器的ip地址
python manage.py runserver 192.168.12.85:8000
在同一个局域网内,192.168.12.xx 这里面的人 都能访问 0.0.0.0 及是127.0.0.1 又是 192.168.12.85
python manage.py runserver 0.0.0.0:8000 公网ip 全世界联网的人都能访问
python manage.py runserver 123.206.16.61:8000 #kill 杀掉进程 #如果你杀一个进程,死活杀不掉 kill 3124 # kill -9 3124 #强制杀死进程,无论进程运行在什么状态,一定会杀死,(此命令需谨慎,会影响你服务运转) #kilall 杀死进程以及相关进程信息 nginx master
worker nginx
nginx
nginx killall nginx #一次性全部杀掉和nginx有关的进程 #linux的防火墙概念
#因为如果你不关防火墙,很可能你后面运行 django、nginx、mysql
#防火墙可能会阻挡端口流量的 出口
#也会阻挡外来请求的 入口 #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 #在干it活的时候
1.报错就是最好的解决办法,如果程序报错,去google,去百度,查询这个错
2.排错思想,通过OSI七层模型去思考 想要编码同一,显示正常的话
都得server和client端编码统一 #修改linux中文编码支持
#修改文件
[root@localhost /home 14:59:48]#cat /etc/locale.conf
LANG="zh_CN.UTF-8"
#读取这个文件,使得生效
source /etc/locale.conf #显示磁盘空间大小
df -h #更改主机名
hostnamectl set-hostname pyyuc #DNS 域名解析系统
#在linux的配置文件是 [root@s14linux ~ 15:05:00]#cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5 #域名服务器
nameserver 223.6.6.6
#常见的域名服务器有
8.8.8.8
114.114.114.114
223.5.5.5 #阿里巴巴
223.6.6.6
119.29.29.29 #腾讯的DNS #dns服务器 域名和ip的对应关系 一个域名解析一个ip 多个域名解析到一个ip 一个域名解析到多个ip linux解析dns的命令
nslookup 域名 #linux的计划任务,软件名叫做crond
#设置你的服务,每周3的晚上8点 自动重启一下 #在一个小本本上写上定时任务,到了什么时间做什么事 1.准备一个小本本,crontab
2.写上你要做什么事,就是 定时任务的 任务条目 crontab 计划任务 * * * * * 命令
分 时 日 月 周 1 * * * * 每小时 每天晚上10:30关机, 注意 24小时制 * * * * * 命令
分 时 日 月 周
30 22 * * * 关机 每月的第7和第8天和第30天的零时重启机器 * * * * * 命令
分 时 日 月 周
0 0 7,8,30 * * 重启机器 每月的1-15日零点发工资 0 0 1-15 * * 发工资 每2小时 重启一次机器 所有命令一定要用绝对路径来写! #每分钟执行一次命令
*/1 * * * * 命令 #每小时的3,15分执行命令 * * * * *
分 时 日 月 周 3,15 * * * * 命令 #在上午8-11点的第3和第15分钟执行 * * * * *
分 时 日 月 周
3,15 8-11 * * * #每晚21:30执行命令 * * * * *
分 时 日 月 周 30 21 * * * #周六、日的1:30执行命令 * * * * *
分 时 日 月 周 30 1 * * 6,0 命令 (crondtab是必须取5个值的交集,必须符合5个条件才能正确工作) #每周一到周五的凌晨1点,清空/tmp目录的所有文件 0 1 * * 1-5 rm -rf /tmp/* #每晚的21:30重启nginx 30 21 * * * nginx restart #每月的1,10,22日的4:45重启nginx 45 4 1,10,22 * * nginx restart #每个星期一的上午8点到11点的第3和15分钟执行命令 3,15 8-11 * * 1 命令 #Linux软件安装的方式
1.rpm包安装(需要手动解决软件依赖关系,非常麻烦)
假如我要安装mysql
1.下载mysql-5.5.rpm
通过rpm命令去安装软件 rpm -ivh mysql-5.5.rpm
(报错,此mysql5.5依赖于其他的软件包,你需要先解决这个依赖问题,才能正确安装mysql5.5) 2.yum安装 (其实也是下载rpm包然后进行自动安装,自动查找,解决依赖关系)
yum命令是自动下载软件包
yum源,就是一个文件夹的概念
这个文件夹叫做 /etc/yum.repos.d/ 只有存放在这个目录中的 xx.repo 文件,
才会被识别是yum源,才会被yum instlal 工具 所调用 配置yum源的步骤
1.可以移除默认的yum仓库,也就是删除 /etc/yum.repos.d/底下所有的.repo文件(踢出国外的yum源) 1.配置yum源,找到阿里云的官方镜像源地址 https://opsx.alibaba.com/mirror
2.下载centos7的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 3.清空旧的yum缓存
yum clean all
4.生成新的yum仓库缓存(这个缓存来自于阿里云的yum仓库,便于加速软件下载)
yum makecache
5.配置一个第三方的 额外仓库源 (epel源),这个源的作用是,如果阿里云源找不到这个软件,就在这里找
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 此时就可以通过yum命令*的下载软件啦!
yum install redis #这个redis就是从epel中下载 #下载一个nginx web服务器软件 yum install nginx -y #下载好了之后,(通过yum安装的软件,都可以通过系统服务管理命令,来管理它的start/stop/restart) #启动nginx服务
systemctl start/stop/restart nginx
#查看nginx服务状态
systemctl status nginx
# 3.编码编译安装(可自定制安装软件的需求,以及软件的功能扩展)