• Python-linux作业


    一·基本命令:
    (1)pwd:打印当前工作路径
    (2)bin:存放的是二进制文件,etc:配置文件 ,media:挂载,boot:存放开机之后的引导文件
    (3)cat filepath :查看文件内容
    (4)cd:后加路径,切换工作路径(cd . :当前路径,cd .. :上一级路径)
    (5)man:查看命令手册
    (6)ls:显示指定工作目录中所包含的内容(列出的是文件的名字而不是文件的内容)
    ls -a :显示所有文件
    ls -d :将目录像文件一样显示而
    ls -h :查询当前目录的大小
    ls -l :列出文件的详细信息
    ls -i :显示文件的序列号
    (7)less filepath :按屏显示(more)
    /key :搜索
    q :退出
    (8)head -行数 filepath :显示文件的前几行
    (9)tail -行数 filepath :显示文件的后几行
    (10)cp [-r(目录)] srcpath destpath :复制(把srcpath的内容复制到destpath里面)
    (11)mv srcpath destpath :剪切(把srcpath的内容剪切到destpath里面,srcpath里
    的内容就没有了)
    (12)rm [-r(目录) -f(强制)] filepath :删除
    (13)touch filename :创建一个空文件
    (14)mkdir dirname :创建一个空目录
    (15)关机:
    shutdown -h now
    poweroff
    init 0
    halt
    (16)重启:
    shutdown -r now
    reboot
    init 6
    (17)history :查看历史命令
    (18)ctrl c 退出,'ctrl'+‘+’是放大,‘ctrl’+‘-’是缩小,'crtl' + 'l' :清屏
    (19)echo:向文件中写入内容
    二·文件管理:
    文件属性(元信息):
    stat filepath :显示文件信息
    access time :最近访问时间
    modify time :最近更改时间(内容改变时间)
    change time :最近改动时间(属性改变时间)
    ls -l (部分):
    drwxr-xr-x. 4 root root 53 11月 30 16:47 python20181119

    (1)文件类型 :
    - regular 普通文件
    d directory 目录文件
    c charactor 字符设备文件
    b block 块设备文件
    l link 符号链接文件
    p pipe 管道文件
    s socket 套接字文件
    (1)文件权限 :
    拥有者 所属组 其他用户
    u g o a(all)
    修改文件权限:
    <1>chmod u/g/o/a (+ -)r/w/x filepath(每次只能添加一个选项比如:
    u+r,只能一个一个的加)
    <2>chmod 0666 filepath :将文件权限更改为0666(为八进制)
    chmod +'八进制数字' +'文件名' (八进制数字前可以加0,也可以不加0,因为默认 更改权限用的就是八进制)
    修改文件的拥有者和所属组:
    chown user:group filepath
    目录文件:(对于目录来说r,w,x对应的命令)
    r ls
    w touch / mkdir / rm
    x cd
    防止产生权限过大的文件:
    umask(普通文件的权限是666,umask的值越大权限越小)
    mode & ~umask === 文件真正的权限
    特殊权限 :
    u+s---》所有有此权限的执行文件,可以使普通用户在执行此命令期间,
    将身份切换为文件拥有者
    (2)文件的硬链接个数 :
    硬链接:同一个文件,多一个名字
    ln srcpath dest
    cp -l srcpath dest
    符号链接(软链接):
    就是一个快捷方式,存储是源文件的路径
    可以跨分区
    ln -s srcpath dest
    cp -s srcpath dest
    (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)文件大小 :
    文件的大小(size) != 所占磁盘空间的大小(block)
    stat filepath
    block == 512bytes
    du -sh filepath 查看filepath对应的文件所占用磁盘空间的大小
    df -h 查看磁盘分区占用情况
    (5)文件时间 :
    access time
    modify time ls -l 内容改变
    change time 属性改变


    文件的查找 :
    可执行文件:
    which cmd
    whereis cmd

    非可执行:
    遍历数据库 locate filepath
    更新数据库 updatedb
    find(遍历磁盘空间)
    find path options :
    -name 按名字找
    find /etc/ -name "passwd"
    -size 按文件大小查找
    find /etc/ -size n(b/c/k)
    -mtime 修改时间
    find /etc/ -mtime n(天)
    -type 类型
    find /etc/ -type f/d/c/b/p/l/s

    -exec 对于查找到的结果执行
    find /etc/ -name "hello" -exec ls -l {} ;
    只对找到的文件执行ls -l结果,不打印路径
    -ok
    find /etc/ -name "hello" -ok ls -l {} ;
    在执行ls -l之前会询问
    -print 打印查找的结果
    find /etc/ -name "hello" -print -exec ls -l {} ;
    对找到的文件执行ls -l结果,打印路径
    -a 连接多个查找选项的
    find /etc/ -type d -a -size +10k
    应用:
    find /etc -name "passwd" -exec ls -l {} ;

    find /dev/ -type f 找普通文件

    find /var -mtime +2 两天前的文件

    find /var/ftp -mmin 2 两分钟以内的文件

    find /var/fpt -size -100c 小于100个字节

    文件的打包压缩
    压缩:
    .gz .bz2 .zip
    gzip file 压缩为.gz
    gunzip file.gz 解压缩
    bzip2 file
    bunzip2 file.bz2

    zip xxx.zip file dir1 dir2
    unzip xxxzip
    主要tar options xx.tar.xx file1.... dir.....
    options:
    -c 创建
    -v 过程可视
    -f 在最后,后跟包名
    -j 生成bz2压缩格式
    -z 生成gz格式压缩文件
    -J 生成xz格式
    -x 解压缩
    -C 指定解压路径
    -t 不解压不解包的情况下查看压缩包中内容
    -r 向包中追加新文件

    文件重定向
    当用户登陆成功后,三个文件依次打开:
    标准输入(stdin 0) 标准输出(stdout 1) 标准错误输出(stderr 2)
    0< 标准输入重定向
    1> 标准输出重定向
    2> 标准错误输出重定向
    >> 追加

    | 管道
    wc [-lwc] filepath
    -l line 统计filepath文件的行数
    -w word 单词个数
    -c charactor 字符个数
    grep [-iwn] key filepath ---->筛选文件内容

    三·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个字符宽度

    四·软件包管理 :
    源码包
    .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对应的软件包

    五·网络管理 :
    <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

    六·进程管理 :
    查看进程信息
    ps aux
    终止进程通过kill 发送信号
    kill -l查看所有的信号
    kill -9 3333 发送9号信号给进程号为3333的进程
    top 实时查看系统中进程的运行状态
    七·安装python :
    创建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

    如果成功了 重启计算机

    八·git命令的使用 :

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

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


    九·课程总结:
    通过一周的学习对linux操作系统有了基本的认识,我要再练练基本的命令,熟悉操作,老师讲的都能听懂,就是讲完了让自己操作就忘了刚才讲的命令的具体使用方法。


  • 相关阅读:
    numpy库:常用基本
    高考的结束,新的开始
    Hello World!
    第一篇随笔
    Linux命令之文件与用户权限
    看山不是山,看水不是水
    Python基础篇【第1篇】: Python基础
    css居中
    JS正则表达式(一)
    小问题总结
  • 原文地址:https://www.cnblogs.com/song-119/p/10059376.html
Copyright © 2020-2023  润新知