zoukankan      html  css  js  c++  java
  • 曾佳明(知乎)Linux教程

    第一阶段:常规文件夹及文件管理基础命令

    - ls ## list
    - pwd ## print working directory
    - cd ## change directory
    - mkdir ## make directory
    - touch ## 创建文本
    - mv ## move
    - rm ## ReMove
    - cp ## copy and paste
    - tar ## Tape archive
    - ln ## LINK
    

    ls命令的参数

    //常见参数
    -a:全部的目录,连同隐藏文件夹一起列出来
    -h:将目录容量转换为以易读的方式(例如GB,KB等等)
    -l:列出目录的详细信息
    -S:以文件大小排序
    -t:以时间排序
    -R:递归目录列出文件
    -d:结合目录本身,而非目录下文件
    

    第二阶段:文本文件处理大全

    三个配对操作命令

    head # 功能:显示文档的开头至标准输出中,默认显示十行
    tail # 功能:显示文档的末尾至标准输出中,默认显示十行
    less # 功能:逐页查看文档内容
    more # 功能:也是逐页查看文档内容,跟less类似
    cat # cat命令(concatenate)查看文本,输出到屏幕
    tac # tac命令,反向查看,是cat命令的补充
    

    cat命令的参数

    -A:显示全部内容,包括特殊字符,可列出一些特殊字符而不是空白而已
    -b:列出行号,仅针对非空白行做行号显示,空白行不标记行号
    -E:将结尾的断行字符$显示出来
    -n:打印出行号,连同空白行也会有行号,与-b的选项不同
    -T:将[tab]按键以I显出出来
    -V:列出一些看不出来的特殊字符
    

    类似于Excel表格功能的命令

    sort # 排序
    sort lines of text files 对文件的数据进行排序(默认根据ASCII表升序排列)
    cut # 提取列,可以以列(字段)为单位处理数据
    wc # 计数
    grep # 筛选
    uniq # 去冗余
    awk # 切割
    tr,sed # 替换
    cat,paste # 合并,补齐
    

    grep命令的参数

    -v ## 逆向匹配
    -w ## 匹配上整个words
    -B ## 输出匹配行之前的指定的行数
    -A ## 输出匹配行之后的指定的行数
    -E ## 指定支持扩展表达式
    -C ## 对匹配到的行计数
    -n ## 输出计数后的一行
    -o ## -n形式输出匹配的内容
    

    第三阶段:元字符,通配符及shell中的各种扩展

    shell扩展

    brace expansion ({})
    tilde expansion (~)
    parameter and variable expansion
    arithmetic expansion
    command subsitution
    process substitution
    word splitting
    Filename Expansion ## 通配符扩展
    

    linux shell通配符(wildcard)

    * ## 匹配0或多个字符
    ?## 匹配任意一个字符
    [list] ## 匹配list中的任意单一字符
    [!list] ## 匹配除list中的任意单一字符
    [c1-c2] ## 匹配c1-c2中的任意单一字符,如[0-9][a-z]
    {string1,string2,...} ## 匹配string1或string2(或更多)其一字符串
    

    shell元字符(特殊字符Meta)

    cd ## 回到用户家目录
    cd ~ ## 回到用户家目录
    cd - # 回到前个目录
    cd .. ## 切换到上层目录,相对路径
    cd ../.. ## 切换到上上层目录
    cd / ## 切换到根目录
    cd /teach/ ## 切换到根目录下的teach,绝对路径
    

    其他shell元字符

    IFS ## 由<space>或<tab>或<enter>三者之一组成(我们常用space)
    CR ## 由<enter>产生
    = ## 设定变量
    $ ## 做变量或运算替换(请不要与shell prompt搞混了)
    > ## 重导向stdout
    < ## 重导向stdin
    | ## 命令管线
    & ## 重导向file descriptor,或将命令至于背境执行
    () ## 将其内的命令置于nested subshell执行,或用于运算或命令替换
    {} ## 将其内的命令置于non-named function中执行,或用在变量替换的界定范围
    ; ## 在前一个命令结束时,而忽略其返回值,继续执行下一个命令
    && ## 在前一个命令结束时,若返回值为true,继续执行下一个命令
    || ## 在前一个命令结束时,若返回值为false,继续执行下一个命令
    ! ## 执行history列表中的命令
    

    第四阶段:高级目录管理

    主要命令类型

    alias ## 别名
    keyword ## 关键字,Shell保留字
    function ## 函数,Shell函数
    builtin ## 内建命令,Shell内建命令
    file ## 文件,磁盘文件,外部命令
    unfound ## 没有找到
    

    linux预设的变量

    $SHELL ## 默认Shell
    $HOME ## 当前用户家目录
    $IFS ## 内部字段分隔符
    $LANG ## 默认语言
    $PATH ## 默认可执行程序路径
    $PWD ## 当前目录
    $UID ## 当前用户ID
    $USER ## 当前用户
    $HISTSIZE ## 历史命令大小,可通过HISTTIMEFORMAT变量设置命令执行时间
    $RANDOM ## 随机生成一车0至32767的整数
    $HOSTNAME ## 主机名
    $0 ## 保存当前程序或脚本的名称
    $* ## 保存传递给脚本或进程的所有参数
    $$ ## 当前进程给脚本的PID号
    $! ## 后台运行的最后一个进程的PID号
    $? ## 用于返回上一条命令是否成功执行。如果成功执行,将返回数字0,否则返回非零数字(通常情况下都返回数字1)
    $# ## 用于保存脚本的参数个数
    

    绝对路径和相对路径

    • 绝对路径:从根目录/开始,用/隔开的各级目录,例如/home/vip1这个目录
    • 相对路径:目标目录相对于当前目录的位置。主要是活学活用.和..这两个特殊字符

    第五阶段:任务提交及批处理,脚本编写

    任务提交

    sleep 100
    # 这个命令提交后系统进入睡眠状态,时间是100秒,它会占用我们的命令行,在输入任何命令也不起作用
    # 我么可以用下面的命令,来把任务提交到后台运行,这样我们就可以继续使用命令行
    nohup sleep 100 &
    # 提交任务后可以通过 ps -ef | grep sleep 来查看后台sleep任务的运行情况
    # 也可以提供fg等命令把挂在后台的命令拿回来
    

    批处理的两个语法

    for i in {1...1000};do (mkdir -p dir${i});done
    echo {1...1000}|tr ' ' '
    '| while read id;do (mkdir -p dir${id});done
    

    第六阶段:软件安装及conda管理

    写在后面:服务器管理和运维

    w/last/top/qsub/condor/apache/socket/IO/ps/who/uid/
    磁盘挂载/格式化/重启系统/文件清理/IP查看/网络管理/用户管理/目录结构了解/计划任务/各种库文件
    用户组,目录权限管理等等
    

    本文来自博客园,作者:小恒2020,转载请注明原文链接:https://www.cnblogs.com/xiaoheng2020/p/13616206.html

  • 相关阅读:
    POJ 1328 Radar Installation
    POJ 1700 Crossing River
    POJ 1700 Crossing River
    poj 3253 Fence Repair (贪心,优先队列)
    poj 3253 Fence Repair (贪心,优先队列)
    poj 3069 Saruman's Army(贪心)
    poj 3069 Saruman's Army(贪心)
    Redis 笔记与总结2 String 类型和 Hash 类型
    数据分析方法有哪些_数据分析方法
    数据分析方法有哪些_数据分析方法
  • 原文地址:https://www.cnblogs.com/xiaoheng2020/p/13616206.html
Copyright © 2011-2022 走看看