zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    UVa 10118 记忆化搜索 Free Candies
    CodeForces 568B DP Symmetric and Transitive
    UVa 11695 树的直径 Flight Planning
    UVa 10934 DP Dropping water balloons
    CodeForces 543D 树形DP Road Improvement
    CodeForces 570E DP Pig and Palindromes
    HDU 5396 区间DP 数学 Expression
    HDU 5402 模拟 构造 Travelling Salesman Problem
    HDU 5399 数学 Too Simple
    CodeForces 567F DP Mausoleum
  • 原文地址:https://www.cnblogs.com/zzy7372/p/10184995.html
Copyright © 2011-2022 走看看