美文网首页
Linux简单学习记录(七)

Linux简单学习记录(七)

作者: Hugh1029 | 来源:发表于2018-08-03 10:02 被阅读0次

    shell的基础

    1.记录命令历史记录
    在家目录的.bash_history上,会保存1000条历史命令
    常用三个命令:
    !!:执行上一条指令
    !n:执行历史中第n条指令,如!1002
    !字符串:执行历史中最近的一次以该字符串开头的命令

    2.命令行补全:Tab键

    3.别名: alias
    单alias,查看所有的别名



    alias 别名='实际名'
    unalias 别名


    image.png

    4.通配符
    在bash下, *匹配零个或者多个字符,?匹配一个字符
    touch创建文档

    5.输入、输出重定向
    符号>>与>
    如echo >> 1.txt

    6.管道符(重要)
    | 用于前一个指令的输入作为后一个指令的输入!
    可能不太能理解,其实就是过滤的过程

    7.作业控制
    运行进程的时候,crtl+z使进程暂停(ctrl+c取消进程),然后使用fg(foreground)命令恢复。
    在ctrl+z之后,可以使用命令jobs来查看有哪些进程是暂停的。
    如果要把暂停的进程放在后台运行,可以使用bg命令
    但是有多个的时候,需要加上标号

    &符号,使用&符号的时候,会把任务放到后台运行,并且会显示pid的信息。
    例如: vmstat 1 > /emp/1.log &
    ps aux可以找到线程。

    8.变量
    符开头的,如PATH

    9.命令env
    可以列出系统所有的变量


    image.png

    10.set命令
    与env命令一样,会列出所有的变量

    11.常用的环境变量文件
    11.1 /etc/profile 重要的环境变量,如PATH,USER等
    11.2 /etc/bashrc 主要预设umask和PS1
    11.3 .bash_profile
    11.4 .bashrc 包含属于自己的shell信息
    11.5 .bash_history
    11.6 .bash_logout

    12.shell中的特殊符号
    *代表多个,?代表一个字符,#为注释符号,\为转义字符。
    管道符|,一般针对文档字符比较常用,比如cat,less, head,tail,grep,cut,sort,wc,uniq,tee, tr, split,sed,awk等
    其中grep,sed,awk是正则必须掌握的

    cut命令:截取一个字段
    格式:cut -d '分隔字符' [-cf]n
    -d:后跟分隔字符
    -c:后接第几个字符
    -f:后跟第几个区块

    sort命令:做排序
    sort[-t 分隔符] [-kn1,n2] [-nru]
    -t:分隔字符
    -n:纯数字排序
    -r:反向排序
    -u:表示去重
    -kn1,n2:n1区间到n2区间

    wc命令:统计文档的行数、字符数或词数
    -l 行数
    -m 字数
    -w 次数

    uniq命令:
    删除重复的行,-c表示统计重复的行数

    tee命令:作用类似于重定向>,但是把文件写入的时候还打印在屏幕上

    tr命令:用于替换字符
    -d:表示删除某个字符
    -s:删除重复的字符
    tr 'a' 'A' 替换

    split命令:用于切割文档,常用的是-b和-l;
    -b:分割文档的大小,
    -l:根据行数分割

    特殊符号可以作为变量的开始,也可以和!结合使用,!$表示上一条命令中的最后一个变量

    特殊符号;
    一行中输入多个命令,使用分号;

    特殊符号~
    波浪符~表示家目录,root用户的家目录是:/root,普通用户是/home/username

    特殊符号&
    把一条命令放到后台执行,使用&
    如:sleep 30 &

    重定向>, >>, 2>, 2>>
    将错误信息重定向到文档中,使用2>或者2>>
    如:ls aaa 2>/temp/error

    中括号[]
    内容是字符组合,代表字符中的任何一个,也可以是一个范围
    如 ls -d test[1-9].txt

    &&与||
    command1 ; command2 不管1执行成功不,都执行2
    command1 && command2 1执行成功后,才执行2
    command1 || command2 1执行成功了就不执行2

    相关文章

      网友评论

          本文标题:Linux简单学习记录(七)

          本文链接:https://www.haomeiwen.com/subject/xjtdvftx.html