• Linux for Python教程01



    1. Linux和操作系统


    1.1. 什么是操作系统

    1.2. 现有操作系统

    Mac, win7, win10, winXP, Android, IOS

    1.3. Linux用户目录

    Windows: C:/windows/haoch/..
    Linux: /home/user(绝对) + ~(相对)

    • 绝对路径: /home
    • 相对路径: ../..
      当前路径 ·
      上一个路径 ..
      上上一层路径 ../..

    1.4. Linux文件权限

    三种访问方式限制访问权限:

    • 读权限(r)-> 读取文件内容的权限,浏览目录的权限
    • 写权限(w)->增加,修改文件内容的权限,删除,移动目录内文件的权限
    • 可执行权限(x)->执行文件的权限,进入目录的权限

    2. Linux命令


    命令的格式

    command [-options] [parameter1] ...
    
    代码 说明
    ls 显示当前路径下的所有文件和文件夹
    cd path 跳转路径
    cd .. 跳到上一个路径
    cd ~ 当前用户的家目录(/home/haoch)
    cd - 回到历史记录的上一个路径
    cd ./python/ 跳到当前目录下的python文件夹下
    cd python/ 跳到当前目录下的python文件夹下
    pwd 查看当前所在路径
    ls -l 当前路径下的文件详细内容
    clear 清空
    ls --help 查找命令的详细信息
    man 帮助手册
    按Tab 自动补全
    history 查看历史命令
    touch 创建文件
    touc ./chenhao/123.py 在当前目录下的文件夹下创建文件
    上下键 调用历史内容
    ls > test.txt 重定向输出
    ls >> test.txt 重定向输出(添加,非覆盖)
    gedit test.txt 打开txt文件
    cat test.txt 将文本内容显示在command上
    cat 1.py 2.py > 3.py 同时显示多个文件
    more test.txt 分屏显示(内容多的时候)
    | 管道
    ls -lha | more 命令先后执行
    mkdir directory 创建一个新的directory
    rmdir directory 删除一个文件夹(必须空)
    rm directory -r 删除一个文件夹(任何)
    rm 123.py 删除文件
    rm 123.py -f 强制删除
    ln 123.py 123link.py 创建硬链接
    ln -s 123.py 123link.py 创建软连接
    grep '22' 1.py 从文件中搜索内容
    grep -n '22' 1.py 从文件中搜索内容(开头显示行数)
    grep -n '^22' 1.py 从文件中搜索内容(开头显示行数),以22开头
    grep -n '22$' 1.py 从文件中搜索内容(开头显示行数),以22结尾
    grep -n 'e.e' 1.py 匹配eee,eae,eve....
    find /home/ -name 123.py 在电脑中查找文件
    cp 123.py test/ 将文件拷贝到另外一个文件夹
    cp direc1 direct2/ -r 将一个文件夹拷贝到另外一个文件夹
    tree 树状形式显示目录结构
    mv 123.py test/ 将文件剪切移动到另外一个文件夹
    mv direct1 direct2 将一个文件夹剪切移动到另外一个文件夹
    mv 123.py 666.py 文件重命名
    tar -cvf test.tar 1.txt 2.txt 3.txt 文件打包
    tar -xvf test.tar 文件解包
    gzip bao.tar 将包文件压缩
    gzip -d bao.tar 解压缩成包
    tar -zcvf test.tar.gz 1.txt 2.txt 文件打包 + 压缩(.gz)
    tar -zxvf test.tar.gz 文件解压缩 + 解包(.gz)
    tar -zxvf test.tar.gz -C path 文件解压缩 + 解包 + 指定路径
    tar -jcvf test.tar.gz 1.txt 2.txt 文件打包 + 压缩(.bz2)
    tar -jxvf test.tar.gz 文件解压缩 + 解包(.bz2)
    which ls 查看命令的路径位置
    sudo -s 转成超级管理员
    kill 进程ID 结束进程
    kill -9 进程ID 强制结束进程
    reboot 重启
    shutdown 关机
    shutdown -h 20:20 20:20关机
    cal 日历
    date 时间
    top 动态进程

    技巧:

    按Tab键可以提示命令->自动补全

    drwxr-xr-x 2 haoch haoch 4096 Jan  8 20:22 chenhao  
    
    -rw-r--r-- 1 haoch haoch 8980 Jan  8 20:02 examples.desktop  
    

    2.1 文件管理相关

    (1).ls命令

    参数 含义
    -a 显示指定目录下的所有子目录与文件,包含隐藏文件
    -l 列表显示文件的具体信息
    -lh 人性化显示文件大小
    -alh 全部显示

    (2).通配符

    通配符 含义
    * 文件代表文件名中所有字符
    ls te* 查找以te开头的文件
    ls *html 查找以html结尾的文件
    代表文件名中的任意一个字符
    ls ?.c 只找第一个字符任意,后缀为.C的文件
    ls a.? 只找首字母为a,后缀名任意的文件
    [] 表示匹配字符中的任意一个
    [abc] 匹配a,b,c中任意一个
    [a-f] 匹配a到f范围内的任意一个字符
    ls [a-f]* 查找a到f任意一个字符开头的文件
    转移符
    ls *a 查找文件名为*a的文件

    (3).输出重定向命令

    Linux允许将命令执行结果重新定向到一个文件,本应显示在终端的内容保存到指定的文件中

    ls > test.txt(test.txt如果不存在,则创建,存在则覆盖内容)  
    ls >> test.txt (从文件末尾追加) 
    

    (4).分屏显示:more

    如果cat一次性显示不开,用more, 用空格键翻页

    (5).管道: |

    将两个命令依次执行

    ls -lha | more 产生的内容放入管道,后面从管道内提取内容,再执行
    

    (6).文件夹和创建文件

    • 创建文件夹: mkdir
    • 删除空文件夹: rmdir
    • 删除文件: rm
    参数 含义
    -i 交互删除
    -f 强制删除
    -r 递归删除

    (7).创建链接: ln

    相当于window中的快捷方式

    • 硬链接:只能链接普通文件,不能链接目录
    • 软连接: 不占用磁盘空间,源文件删除则链接失效
    ln 源文件 链接文件             # 硬链接  
    ln -s 源文件 链接文件          # 软链接
    

    软链接: 删除后就都打不开

    ln -s 123.py 123link.py  
    # 指向123.py
    lrwxrwxrwx 1 haoch haoch  6 Jan  8 21:21 123link.py -> 123.py
    

    硬链接:(源文件编辑,链接文件跟着变: 相当于实时复制的效果)

    ln 123.py 123link.py  
    # 指向123.py
    lrwxrwxrwx 1 haoch haoch  6 Jan  8 21:21 123.py
    lrwxrwxrwx 1 haoch haoch  6 Jan  8 21:21 123link.py
    

    (8).查看文件内容: cat

    (9).文件中的内容搜索: grep

    grep [-选项] '查找内容' 文件名 
    

    grep可以使用正则表达式

    参数 含义
    ^a a开头
    a$ a结尾
    [Ss]igna[Ll] 从括号中选一个匹配
    . 匹配一非换行符

    (10). 查找文件: find

    参数 含义
    find ./-name test.sh 查找当前目录下所有名为test.sh的文件
    find ./-name '*.sh' 查找当前目录下所有后缀名为.sh的文件
    find ./-name '[A-Z]*' 查找当前目录下所有大写字母开头的文件
    find /tmp -size 2M 查找在/tmp目录下等于2M的文件
    find /tmp -size +2M 查找在/tmp目录下大于2M的文件
    find /tmp -size -2M 查找在/tmp目录下小于2M的文件
    find / -size +4k -size -5M 查找当前目录下大于4k,小于5M的文件
    find / -perm 0777 查找当前目录下权限为777的文件

    (11). 拷贝: cp

    cp 源文件 目标文件夹 [-选项]
    
    参数 含义
    -a 复制目录时使用,保留链接,文件原有属性
    -f 已经存在的目标文件不提示
    -r 若给出的源文件是目录文件,则cp将递归辅助
    -v 显示拷贝进度

    (12). 移动剪切: MV

    • 移动
    • 重命名

    (13). 归档管理: tar(打包)

    tar [参数] 打包文件名 文件
    
    参数 含义
    -c 生成档案文件,创建打包文件
    -v 列出归档解档的详细过程
    -f 指定归档文件名称,一定是.tar文件,必须放在选项最后
    -t 列出归档中包含的文件
    -x 解开档案文件

    (14). 系统管理

    • 当前日历: cal
    • 显示日期时间: date
    • 显示进程信息: ps
    • 显示动态进程: top
    参数 含义
    -a 显示终端上的所有进程
    -u 显示进程的详细信息
    -x 显示没有控制终端的进程
    -w 显示加宽,以显示更多信息
    -r 只显示正在运行的进程
    • 关机重启: reboot, shutdown, init
    • 检测磁盘空间:df
    • 查看当前目录占用的磁盘空间: du -alh
    • 查看网卡信息及IP地址: ifconfig
    • ping IP 查看是否能够连接
  • 相关阅读:
    【POJ 2923】Relocation(状压DP+DP)
    【HDU 2955】Robberies(DP)
    【POJ 2250】Compromise(最长公共子序列LCS)
    【URAL 1917】Titan Ruins: Deadly Accuracy(DP)
    【POJ 1273】Drainage Ditches(网络流)
    HDU2896 病毒侵袭[AC自动机]
    1516. 棋盘上的车[组合数学][状态压缩]
    [HAOI2012] 容易题[母函数]
    [HAOI2012] 高速公路
    [HAOI2012]Road
  • 原文地址:https://www.cnblogs.com/haochen273/p/10241665.html
Copyright © 2020-2023  润新知