12.27 linux基础三天

今日内容博客地址:
https://www.cnblogs.com/pyyu/articles/9355477.html
今日内容:

ifconfig  查询、设置网卡和ip等参数
ifup ens33 启动网卡

ifdown 关闭网卡
脚本命令,更简单的方式启动关闭网络
ip  符

systemctl restart/start/stop network

qq群

群主 root 拥有至高无上的权利

管理员 是root用户给与他一些超级权限

渣渣 小白用户,只有自己基本的权限

创建普通用户
useradd 用户名 存放用户信息到 /etc/passwd
passwd 用户名 给指定用户修改密码。如果不指定用户,修改当前登录的用户的密码

公司的技术组,可以定位到每个个人,也可以讲大家,分到不同的组里
user 个人
gourp 组的概念

前端组
mjj

后端组
村长

运维组
超哥

其他人的概念

mjj 村长 超哥

面试者,郑虎,还不属于我们公司,外来户,

linux 命令 id命令
id root 查看root的用户id (uid) 以及组id(gid gourp id )

/etc/passwd 存放用户信息
/etc/group 存放用户组信息
通过id命令查看用户信息
id xiaobai

切换用户身份

root用户切换普通用户 不要密码
反之需要输入root密码

su - 用户名
注意 中间的 - 代表完全切换,连同环境变量都切换了

退出登录 exit logout

xshell快捷键
ctrl + l 清屏
ctrl + d 退出登录
ctrl + shift + r 快速登录

linux命令提示符的变量 PS1变量

修改命令提示符,添加 绝对路径,和时间

PS1="[u@h w ]$"

用户组添加

groupadd 用户组名

删除用户
userdel 用户名

用root身份去执行命令 sudo
编辑这个文件,写入一些配置
vi /etc/sudoers
找到这一行配置

Allow root to run any commands anywhere

root ALL=(ALL) ALL
zhaoyining ALL=(ALL) ALL

visudo命令,提供语法检测,检测/etc/sudoers文件的编写语法

修改主机名
hostnamectl set-hostname s15nb

文件与目录权限篇

-rw-r--r--. 1 root root 712819 Dec 7 08:17 girl.gif 文件
drwxr-xr-x. 2 root root 6 Dec 26 20:49 nb 文件夹

权限相关 软连接数 属于哪个用户 属于哪个组 文件大小 日期 文件名

文件夹的权限
d rwx(user) r-x(group) r-x(others)
root这个用户的 属于root组里的 既不是root用户,又不再root组的权限

  • rw- r-- r--

d 代表文件夹

  • 代表普通文件

r read 可读
w write 可写
x 可执行

  • 代表没有权限

属主

属组

-rw-r--r--. 1 root root 28 Dec 26 20:57 zhaoyiningnibiewanshoujila
这个文件属主 root
属组 root
是什么类型文件 是 - 普通文件
权限是什么 rw-r--r--
这个文件属主的权限是 rw-
这个文件的属组的权限是 r--
其他人的权限是 r--
对于普通文件的可读可写可执行
可读 cat vi more less head tail tac
可写 echo vi >重定向符号啦
可执行 二进制程序,可以运行的程序

文件夹的可读写执行

可读 ls
可写 在文件夹当中创建文件
可执行 cd

r 可以对此目录执行ls列出所有文件
w 可以在这个目录创建文件
x 可以cd进入这个目录,或者查看详细信息

rwx对应 4+2+1 777

r 4
w 2
x 1
5(user)4(group)6 (other) 转化字母 r-xr--rw-

000 ------
010 -----x---

rw-r----x 6 4 1

777 rwxrwxrwx

文件创建时间 Dec 26 20:57
文件大小 28

修改文件权限的命令
chmod change mode 缩写

-rw-r--r--
普通文件,user rw- group r-- other r--

chmod u+ file
-rwxr--r--
chmod g-r file
-rw----r--
chmod o+w file
-rw-r--rw-

-rwxrwxrwx. 1 root root 0 Dec 26 21:41 123.txt
chmod 531 123.txt

-r-x-wx--x 123.txt
531

改变用户的属主
chown change owner 更改拥有者
chown 用户名 file
更改属组
chgrp 组名 file

软连接配置

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压缩解压命令

lrzsz 上传下载的小工具

xftp 文件传输工具

tar 命令

-c 压缩参数
-x 解压参数
-v 显示过程
-f 指定文件 这个参数要写在最后

语法
压缩文件
tar -cf 压缩文件名 想压缩的内容
解压文件
tar -xf 压缩文件名

查看网络端口
django运行后,会怎么样?
开通了一个端口 8000
产生了一个进程
产生日志
可能会出现一堆大黄页

linux一个程序运行后

ps -ef|grep 查看任务是否运行有进程
netstat -tunlp | grep 查看任务的端口是否启动

来自于同一台机器的三个ip
0.0.0.0 127.0.0.1 加上 192.168.12.13 ,暴露应用又在对外的ip地址,又暴露在自己的回环地址

127.0.0.1 本机回环地址 ,代表机器自己的内部一个ip,其他人访问不到,并且每个人都有自己的127.0.0.1

192.168.12.13 本地对外可以提供访问的 ip地址 ,每个人都不一样

python manage.py runserver 启动django

python manage.py runserver 192.168.12.13 8000 在 192.168.12.13地址上启动 8000 端口提供访问

其他人访问地址192.168.12.13:8000

python manage.py runserver 默认启动在 127.0.0.1 8000

其他人访问不到你的django

python manage.py runserver 0.0.0.0 8000
其他人可以访问 你的机器地址 192.168.12.13:8000 即可

如果你没有ifconfig
输入这个命令,安装一个软件
yum install net-tools -y

如果你发现你有些命令没有,在确保你没敲错的情况下,就是没安装这个命令

在你装机的时候,最小化安装,可能只有 500个软件
选择 web服务器软件包安装 1000个软件

如果你缺少命令,不要怕。缺什么装什么
yum 这个软件管理命令去安装

端口查看

netstat -tunlp |grep 8000 过滤出 django的8000端口是否存货

netstat [选项]
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-l或--listening:显示监控中的服务器的Socket;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-a或--all:显示所有连线中的Socket;

ps 命令查询进程
ps -ef |grep mysql
ps -ef|grep nginx

杀死进程的命令

kill 命令 如果你kill一个进程,死活杀不死,就加上 -9
-9 强制终止信号(危险命令) 强制杀死进程,以及进程相关的依赖

kill -9 uwsgi

kill -9 mysqld

selinux 内置的防火墙

查询selinux状态
getenforce
暂时停止selinxu
setenforce 0
永久关闭selinux
vi /etc/selinux/conf

enforcing - SELinux security policy is enforced. 开启

permissive - SELinux prints warnings instead of enforcing. 临时关闭

disabled - No SELinux policy is loaded. 永久关闭

修改如下行
SELINUX=enforcing
重启机器,使得selinx永久关闭

软件防火墙
iptables -F 清空规则
iptables -L
查看iptable防火墙规则 ,看到只有如下短短的三个链,就说明,没有规则了
关闭防火墙的需求,防止他影响你的服务访问
[root@s15fafafa ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

停止防火墙服务
systemctl start/restart/stop firewalld
systemctl disable firewalld #删除iptables的开机自启

修改linux的字符编码

1.编译字符编码的文件
vi /etc/locale.conf
写入如下变量
LANG="zh_CN.UTF-8"

2.读取这个文件,使得变量生效

source 读取命令,使得配置文件在系统中生效

source /etc/locale.conf

3.查看系统字符编码
echo $LANG

查看磁盘空间

df -h

tree以树状图显示文件目录结构

yum install tree -y

dns服务

bind软件,配置dns服务的

常见的互联网 dns服务器

8.8.8.8 谷歌的dns服务器
114.114.114.114 114dns服务器地址
223.5.5.5
223.6.6.6 阿里巴巴的dns服务器地址

119.29.29.29 腾讯的dns服务器地址

.....

linux dns配置文件是 /etc/resolv.conf
[root@s15fafafa home]# cat /etc/resolv.conf

Generated by NetworkManager

nameserver 119.29.29.29 主dns
nameserver 223.5.5.5 备dns

/etc/hosts文件 本地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/resolv.conf

linux用于解析域名的命令

nslookup pythonav.cn

linux的定时任务
crontab -l 查看任务
crontab -e 编辑任务

crontab的语法

分 时 日 月 周 命令

          • 每一分钟 做这件事

每分钟执行一次命令

          • 命令

每小时的3,15分钟执行命令

分 时 日 月 周


3,15 * * * * 命令

在上午8-11点的第3和第15分钟执行

分 时 日 月 周


3,15 8-11 * * * 命令

每晚9:30执行命令

分 时 日 月 周


30 21 * * *

每周六、日的1:30执行命令

分 时 日 月 周


30 1 * * 6,0

每周一到周五的凌晨1点,清空/tmp目录的所有文件

分 时 日 月 周


0 1 * * 1-5 /usr/bin/rm -rf /tmp/*

每晚的21:30重启nginx

分 时 日 月 周


30 21 * * * /usr/bin/systemctl restart nginx

每月的1,10,22日的4:45重启nginx

分 时 日 月 周


45 4 1,10,22 * * /usr/bin/systemctl restart nginx

每个星期一的上午8点到11点的第3和15分钟执行命令

分 时 日 月 周


3,15 8-11 * * 1 执行命令

windows软件包
exe可安装格式
msi 可执行安装文件
.zip 压缩格式
.rar 压缩包格式

linux软件包管理
linux软件格式分为

1.源码包格式
1.下载python3的源码包
2.解压缩源码包,切换目录
3.编译且安装
4.配置环境变量
5.使用python3
2.rpm二进制包格式(这种安装方式,需要手动解决依赖关系,有可能装一个mysql,装个俩小时)
1.下载软件的rpm格式包
2. rpm -ivh lrzsz.rpm
3.使用lrzsz工具

补充:
1.如果直接安装mysql5.6.rpm,依赖了很多其他的软件包,我就得一个一个解决依赖,
2.所以rpm安装方式,需要手动解决依赖关系,很麻烦,不建议使用

lrzsz这是软件包的名字
提供了命令是
rz 接收文件
sz 发送文件

3.yum安装方式
yum工具,自动的搜索下载rpm包,且安装,且解决依赖关系,自动处理下载其他的依赖rpm包

软件开发目录规范
lib 库文件
core 核心文件
bin 可执行文件
conf 配置文件
log 日志文件夹
readme 使用说明书

向用python的模块
pip3 install -i http://pypi.douban.com/simple flask

想用linux的软件,yum默认去从centos官网去下载
yum install

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

原文地址:https://www.cnblogs.com/zzy7372/p/10184995.html