• py1119_Linux学习_第二周总结


    linux 学习心法:
      (1)一切接文件
      (2)一切没有消息的消息就是最好的消息
    安装虚拟机下linux环境:
      1,下载vm12或更高版本,获取其秘钥,下载centOS7.iso镜像
      2,安装vm,默认安装,路径无中文,输入秘钥。
      3,新建虚拟机,自定义下一步,下一步 空白磁盘 linux-版本-CentOS 7下一步,自定义名称、路径(路径磁盘剩余空间大于设定内存。)内核数是本机cpu核数的一半,内存是实际内存的一半,下一步,,下一步,创建新虚拟磁盘,50g,拆分多个文件。下一步。完成。
      4,设置虚拟机,dvd使用ISO映射文件。找到linux系统文件镜像。 4,启动虚拟机,挂载磁盘分配,boot 1G,swap 2g,home 15g。剩余磁盘空间全部给/。

    1、基本命令
      (1)pwd查看当前工作路径
      (2)cd切换工作路径。
         cd .切换到上一级
         cd .. 切换到根目录中,
         cd path进入path中。
        绝对路径:/path从/开始算
        相对路径:. path从当前路径开始算

      (3)ls 列出当前工作路径下的文件
         -l 列出当前路径下文件的信息和总用量
         -i 显示当前路径下文件的inode号
         -h 常和l一起使用,显示文件占用磁盘空间大小
         -d将目录名像其它文件一样列出,不是列出其内容,通常不单独使用
         -a列出目录中所有文件,包括以.开头的文件
      (4)查看文件内容
        cat filepath 显示文件所有内容
        more/ less filepath 按屏显示(需翻页)
          /key 搜索内容
          q退出
        head -n filepath 显示 文件前n行
        tail -n filepath 显示文件后n行
      (5)复制cp
        cp filepath1 filepath2 将1路径下的某个文件 复制到2路径下
        cp -r 要复制的文件夹 复制到目标位置
      (6)剪切mv
        mv 源路径 目标路径
        例:mv /root/text/tar /root/
      (7)删除rm
         rm [-r(目录) -f(强制)] filepath
      (8)创建空目录 mkdir [path] dirname
      (9)创建空文件touch [path] filename
      (10)关机
          shutdown -h now
          poweroff
          init 0
          halt
        重启
          shutdown -r now
          reboot
          init 6
      (11)查看输入历史命令
        history

    2、文件管理
      (1)查看文件属性:
        ls -l(部分)
          drwxr-xr-x. 3 root root 141 12月 3 11:48 桌面
          drwxr-xr-x. 3 root root 39 11月 28 10:24 python1119
        stat filepath(具体)
          [root@localhost ~]# stat python1119/
          文件:"python1119/"
          大小:39 块:0 IO 块:4096 目录
          设备:fd00h/64768d Inode:33584988 硬链接:3
          权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
          最近访问:2018-12-03 09:01:34.501382579 +0800
          最近更改:2018-11-28 10:24:07.000000000 +0800
          最近改动:2018-11-28 22:14:01.176429905 +0800
          创建时间:-

      (2)文件类型d
        不以后缀区分文件类型,,
        一共七种文件类型:
          - regular 普通文件
          d directory 目录文件
          c charactor 字符设备文件
          b block 块设备文件
          l link 符号链接文件
          p pipe 管道文件
          s socket 套接字文件
      (3)文件拥有者和所属组
         创建用户:useradd username
         给定密码:passwd username
         切换用户 su - username
         删除用户 userdel -r username
         登出用户exit


         用户信息:/etc/passwd
         组信息:/etc/group
         密码: /etc/shadow


         创建组:groupadd groupname
         删除组:groupdel groupname
        用户添加到组内:
          gpasswd -a user group
        用户从组中删除:
          gpasswd -d user group

      (4)文件权限
        拥有者 所属组 其他用户
          u   g   o     a(all)
        权限:(0755/drwxr-xr-x)
        修改文件权限:
          <1>chmod u/g/o/a(+-)r/w/x filepath
          <2>chmod 0666 filepath
        修改文件的拥有者和所属组:
          chown user:(group) filepath
        权限的意义:
          目录文件:
            r ls列出目录中文件
            w touch/mkdir/rm对目录中文件创建、删除目录或文件夹
            x cd进入目录
         非目录文件:
          r cat读取
          w echo写入
          x 执行
        防止产生权限过大的文件:
          umask
          mode&~umask== 文件真正的权限
        特殊权限:
        u+s 所有由此权限的可执行文件,可以使普通用户在执行此命令期间,将身份切换为文件拥有者
      (5)文件硬链接个数 2
        硬链接:一个文件,多一个名字
          iNode是同一个,同一个分区的唯一标示。
          硬链接文件不能跨分区。
          ln scrpath dest
          cp -l scrpath dest
        符号链接(软连接):一个源文件,多个快捷方式
          可跨分区,存储的是源文件的路径。
          必须使用绝对路径
          ln -s srcpath dest
          cp -s crcpath dest
      (6)文件大小
        查看文件大小stat filepath 中,块大小
        文件大小(size)!=所占磁盘空间大小(block)
          block=512 bytes字节
        查看文件所占磁盘空间大小

          du -sh filepath 

        查看磁盘分区占用情况  df -h
      (7)文件时间:
        最近访问:access time
        最近更改modify time ls -l内容改变
        最近改动change time 属性改变的
      (8)文件的查找
        可执行文件的查找:
          which cmd 只查找cmd的文件路径
          whereis cmd 和cmd相关的帮助文件一起找到
        非可执行文件:
          遍历数据库 locate filepath
          更新数据库 updatedb
          find(遍历磁盘空间)
            find path options key
            options:
              -name 按名字
              -size 按大小
              -mtime 修改时间(天)-mmin分钟数
              -type文件类型f/d/c/b/p/s/l
              -exec 对与查找到的结果执行
              find /etc/ -name hello -exec ls -l{} ;
              只对找到的结果执行ls -l结果,不打印路径。
              -ok 同上,执行ls -l之前会询问
              -print 打印查找的结果
              -a连接多个查找的选项
      (9)文件的打包
        压缩.gz .bz2 .zip
        gzip file 压缩为.gz
        gunzip file.gz 解压缩
        bzip2 file 压缩为bz2
        bumzip2 file.bz2
        zip xxx.zip file dir1
        unzip xxx.zip

        tar options xx.tar.xx file1...dir...
        options:
        -c创建
        -v可视化
        -f在最后,后跟包名
        -j生成bz2压缩格式
        -z生成gz压缩格式
        -J生成xz压缩格式
        -x 解压缩
        -C指定解压缩路径
        -t不解压不解包情况下查看压缩包中内容
        -r向包(不是压缩包)追加新文件
      (10)文件重定向
        当用户登录成功后,三个文件一次打开:
        标准输入stdin(0)、输出stdout(1)、标准错误输出stderr(2)
        标准输入重定向:0< 或<
        标准输出重定向:1<或<
        标准错误输出重定向:2>
        追加 >>

      (11)|管道:左边输出,右边输入,
        将左边输出的结果通过 | 管道输入到右侧
      (12)wc [-lwc] filepath
        -l line 统计filepath文件的行数
        -w word 单词个数
        -c charactor 字符个数
      (13)grep [-iwn] key filepath 筛选文件内容
        -i 忽略大侠写
        -w 单词完全匹配
        -n 输出行号

    3、vim编辑器的使用:
      vim filepath---->打开--->一般模式
        --->进入编辑模式进行编辑(iIaAoOsS)
        --->从编辑模式进入一般模式(Esc / Ctrl+c)
        --->从一般模式进入命令行模式(:w保存 :q退出)
      一般模式下:
        2yy 复制2行
        p 粘贴
        2dd 剪切2行
        u 撤销
        Ctrl+r 还原
        x/X 删除光标字符
        r 替换
        R 一直替换到Esc为止
        块选择:  
          ctrl+v 方向键选择
          I / A 插入相应内容--->Esc Esc
        gg 首行
        G 末行
        5G 第5行

        命令行模式下:
        :
        w 保存
        q 退出
        q! 强制退出
        w filepath 另存为
        saveas filepath 另存为
        %s/oldstring/newstring/g 将所有的oldstring替换为newstring
        2,5s/oldstring/newstring/g 将第2行到第5行oldstring替换为newstring
        set nu 显示行号
        set ts=4 将Tab设置为4个字符宽度

    4、软件包管理
      源码包
      .tar.gz .tar.bz2 .tar.xz  

        (1)下载并解压包
        (2)编译make
        (3)make install

      二进制包(.rpm)

        yum 安装:
          /etc/yum.repo.d/xxx.repo
          yum install xxxx 
          例如有如下软件包:
            coreutils-8.22-21.el7.x86_64.rpm
            coreutils包名

          yum install coreutils 安装
          yum remove coreutils 卸载
          yum repolist 查看仓库中有多少软件包
          yum list 列出所有的软件包
          yum provides /usr/bin/ls 查看文件对应的软件包
          yum update coreutils 更新
          yum clean all 清除缓存
        
        yum源所在路径
          /etc/yum.repos.d/xxx.repo

        本地yum源配置:
          1.将镜像文件挂载到文件系统
          2.创建镜像的挂载点 mkdir /mnt/centos7
          3.光盘镜像在/dev/cdrom目录
          4.挂载光盘镜像
            mount -t iso9660 -o loop /dev/cdrom /mnt/centos7
          5.配置镜像的yum源
            vim /etc/yum.repos.d/my.repo
        
            [local_centos7]
            name=centos7
            baseurl=file:///mnt/centos7
            enabled=1
            gpgcheck=0

        已下载的rpm软件包,安装:
          xxxx.rpm

          rpm -ivh xxxx 安装已下载的rpm包
          rpm -e xxxx 卸载
          rpm -U xxxx 更新
          rpm -qa 查询系统中所有已安装的rpm包
          rpm -qf /usr/bin/ls 查询ls对应的软件包

    5、网络管理  
      <1>查看ip, mac, netmask....
        ip addr
        ifconfig
      <2>查看/启动/重启/关闭/自启动/禁用服务
        systemctl status/start/restart/stop/enable/disable 服务名字
      <3>手动配置静态ip地址
        关闭NetworkManager
          systemctl stop NetworkManager
        配置/etc/sysconfig/network-scripts/ifcfg-xxx
          DEVICE=eth0
          BOOTPROTO=none
          NM_CONTROLLED=no
          ONBOOT=yes
          TYPE=Ethernet
          IPADDR=172.16.60.1
          PREFIX=24    
          GATEWAY=172.16.60.254
        重启网络服务
          systemctl restart network

      <4>防火墙
        关闭防火墙

        systemctl stop firewalld
        systemctl disable firewalld

      <5>vsftpd服务 ---> 文件共享
        安装:yum install vsftpd
        启动:systemctl start vsftpd
        开机自启动:systemctl enable vsftpd
        配置文件:/etc/vsftpd/vsftpd.conf

        访问共享目录:
        下载安装:yum install lftp
        lftp 192.168.5.129
        lcd --->切换下载路径
        get filepath 下载非目录文件
        mirror filepath 下载目录文件
        bye 退出
      <6>nfs远程挂载
        下载安装:
          yum install nfs-utils rpcbind
        启动:
          systemctl start nfs
          systemctl enable nfs
          systemctl start rpcbind
          systemctl enable rpcbind
        编辑共享路径:
          vim /etc/exports
          /var/ftp/pub *(ro,sync,no_root_squash)
        客户端挂载:
          mount 192.168.5.129:/var/ftp/pub /mnt


    6、进程管理
      查看进程信息
        ps aux
      终止进程通过kill 发送信号
        kill -l查看所有的信号
        kill -9 3333    发送9号信号给进程号为3333的进程
      top 实时查看系统中进程的运行状态

    7、创建pyenv虚拟环境

      (sudo) yum install openssl* 安装其所需要的库文件

      git clone https://github.com/yyuu/pyenv.git ~/.pyenv 下载pyenv

      echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile

      echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

      echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

      exec $SHELL 重启终端运行的程序(shell)

      source ~/.bash_profile 重新加载配置文件.bash_profile

      pyenv install --list 列出所有我们可以通过pyenv安装的python版本

      pyenv install -v 3.6.4 用pyenv命令安装python3.6.4

      pyenv versions 查看当前系统中所有的python版本

      pyenv version 查看当前所使用的版本

      pyenv global 3.6.4 将使用版本切换到3.6.4

      pyenv version

      python

      重启系统

      

    8、git的基本使用

      创建仓库
        登陆github帐号,创建远程仓库
        同步到本地
        生成key:
          ssh-keygen
          cat ~/.ssh/id_rsa.pub 将密钥复制到帐号的key
        git clone git@github.com:zhangzongyan/python20181119.git
        python20181119---》本地仓库

      基本使用命令
        git add .file---->追踪
        git commit -m "备注" ---->提交到仓库
        git push ---->提交到远程仓库
        git pull ---->下载到本地仓库
        git status ---->查看仓库状态
        git log ----->查看仓库日志(id)
        git reset --hard id ----->切换到指定版本
        git reflog ----->查看最新版本日志
        git rm ----->删除

     学习疑问:

      1,不清楚文件重定向的意义,有什么用处?

  • 相关阅读:
    POJ1182
    poj3225 线段树区间操作 (见鬼)
    斜率优化dp(POJ1180 Uva1451)
    POJ2528 线段树的区间操作
    POI2001 Gold mine(二叉排序树 黑书经典)
    POJ3921
    博弈论之威佐夫博弈(转载)
    poj3468(线段树 边覆盖)
    hdu 1166(树状数组 或 线段树)
    压缩软件的改进--- (续先前霍夫曼编码)
  • 原文地址:https://www.cnblogs.com/gec258/p/10059876.html
Copyright © 2020-2023  润新知