• UNIX SHELL基础知识总结(一)


    1. Unix常目录结构与作用:

    2.  基本命令

    $echo

    $date

    $who

    $who am i 

    3.  创建文件的几种方式

    A. touch FileName 创建空文件

    B. > FileName  创建空文件

    C. vi FileName  创建空文件并开始编辑其中内容

    D. cat /dev/null > FileName 创建空文件

    4. 文件操作:

    $rm:删除文件;(rm -rf FilePath:强制删除FilePath及其下的所有内容;r:向下递归;f:强制删除,不做任何提示)

    $cp:文件复制;

    $mv:文件重命名;

    $cat:查看文件内容;

    $ls[list]:(-l 显示文件详细描述信息)查看当前目录中的文件;

    $wc:(-l:行数;-c:字符数;-w:单词数)统计文件中的单词数量;

    $ln:链接文件;

    $sort:排序;

    $file:查看文件类型;

    5. 文件夹操作:

    $.:当前目录;

    $mkdir(Make Directory):创建目录;

    $cd(Change Directory):切换目录;

    $pwd(Print Working Directory):显示宿主目录;

    $rmdir(Remove Directory)删除目录;

    $mv:文件移动

    6. 文件基本类型:

       以‘_’开头为普通文件;

       以‘b’开头为块设备(Block Device);

       以‘c’开头为字符设备(Character Device);

       以‘s’开头为Socket文件;

       以‘p’开头为Pipe文件;

       以‘l’开头为字符链接文件;

       以‘d’开头为目录文件;

    7. 字符匹配:

    *:匹配0个或以上的字符;

    ?:匹配1个字符;(??匹配两个字符)

    []:匹配一个范围,如[a-np-z]匹配一个除o之外的任何小写字母;

    !:反匹配,如[!H]匹配任何不以大写字母H开头的所有字符;

    8. 标准输入/输出/错误:

    >:输出重定向;

    <:输入重定向;

    echo CONTENT > FileName:覆盖文件中的数据;

    echo CONTENT >> FileName:将CONTENT追加到文件中;

    9.  关于过滤器的定义:

    能够从标准输入中接受输入,对输入进行处理后,再把结果写入标准输出的任何程序。如wc为过滤器,而ls则不是,因为它不能从标准输入中读取输入;

    10.  uniq 在文件中查找重复行:

    用法:uniq in_file out_file;

    -d:把重复行写入out_file中,只写入一次;

    -n:显示重复出现的行号;

    11. cut 从数据文件或命令行的输出中提取数据

    cut -c chars file:chars指想从文件中提取的文字内容;

    paste(-d:指定一个分隔符;-s:(把同一个文件中的行粘在一起,而不是其他文件中)把多行合在一起;

    12. sed(不对原始文件作出任何改变)

    流式处理数据,不可以进行交互操作,用户新增行,删除行,显示及替换行;

    13. tr 转换来自标准输入的字符:

    命令格式:tr from-chars to-chars

    -c:替换from-chars到to-chars;

    -s:压缩to-chars中重复出现的字符,只保留第一个;

    -d:删除输入流中的字符,如:tr -d from-chars

    14. grep 从文件或流中提取特定的字符串

    -v:显示不包含指定模式的行;

    -l:显示包含指定模式的行;

    -n:显示符全指定模式的行所在的行号;

    15. sort 排序

    -u:在输出结果中去掉重复行;

    -r:反转排序的顺序;

    -o:把输出结果写入标准输出;

    -n:把行中的第一个字段当做数值,数据按算术方法排序;

    16. 单引号和双引号的区别:

    SHELL中会保留单引号中的任何特殊字符,如echo '$file' => $file

    而双引号会保留除$,`及之外的所有字符,即所下所示的echo "$X"也会对变量名进行替换而不做文件名的替换:

    X=*
    echo $X     => File Name List
    echo '$X'   => $X
    echo "$X"   => *

    17. 整数操作符:

    -eq:等于;-ne:不等于;

    -ge:大于或等于;-gt:大于;

    -le:小于或等于;-l:小于;

    18. 常见符号表示:

    $#:传递给脚本文件的参数个数;

    $0:获取当前脚本的文件名称;

    $1:获取第一个参数;

    $2:获取第二个参数;

    $@:获取传递给脚本文件的所有的参数列表;

    $*:以一个单字符串显示所有向脚本传递的参数,可>9;

    $$:脚本运行的当前进程ID号;

    $?:显示最后命令的退出状态,0表示无错误;

    19. tar:文件的打包,压缩解压

    A:文件打包

         $tar -cvf xxx.tar FileA,FileB

         -c:创建tar文件;

         -v:列出详细的执行过程;

         -f:创建的tar文件的文件名。

    B:解开tar文件

         $tar -xvf xxx.tar

         -x 用于解开tar文件。

    C:文件打包并压缩

          $tar-cvzf xxx.tar.gz FileA,FileB

         -z:自动调用gzip程序完成打包与压缩;

    D:解压xxx.tar.gz文件

          $tar -xzf xxx.tar.gz

          该命令相当于以下两个命令:

          $gzip -dv xxx.tar.gz      => xxx.tar

          $tar -xvf xxx.tar            => FileName

    20. 其他操作:

    管道:$ls -l | grep "psw";

    一行键入多行命令(用分号隔开):date;pwd;

    命令发送到后台执行:&

    切换用户(用法:su root)

  • 相关阅读:
    51nod贪心算法入门-----完美字符串
    HDU6030----矩阵快速幂
    O(n)求1~n的逆元
    (四)添加签到奖励功能
    (三)开始在OJ上添加签到功能
    (二)OJ的主要文件
    (一)在linux上ubuntu搭建hustOJ系统
    CF 148A Insomnia cure
    lower_bound和upper_bound
    C++ string的常用功能
  • 原文地址:https://www.cnblogs.com/sccd/p/7643420.html
Copyright © 2020-2023  润新知