美文网首页我用 LinuxShellLinux学习|Gentoo/Arch/FreeBSD
Linux下工作常使用的命令(持续整理)

Linux下工作常使用的命令(持续整理)

作者: Kedi | 来源:发表于2016-10-23 20:51 被阅读173次

    1.路径/文件显示

    pwd:显示当前路径
    cd ..:返回上一级路径
    cd:返回最顶层路径
    ls -a: 显示全部文件(包括隐藏文件)
    ls –l(ll): 以列表方式显出文件: 包括权限(模式)、所有者、组群、大小、创建日期等
    ls -s: 显示大小
    ls *.sh:显示当前目录的某种后缀的文件
    eg:结果:run.sh run_show.sh run_vtml_auc.sh run_vtml_show.sh
    ls –lh:输出-rw-r--r-- 1 ad ad 68M Sep 19 16:03 part-r-00067,大小那项会表示为M,K

    2.编辑文件

    vi/vim+文件名: 进入文件编辑模式
    vi编辑器有3种模式:命令模式、输入模式、末行模式。
    在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件。在命令模式输入“:”即可进入该模式
    i: 转换为insert模式
    q!: 退出不保存文件
    wq!: 保存并退出文件
    /:查找
    gg:跳转到文件底端
    shift+g:跳转到文件开头
    dd:删除一行
    set list:显示文件中的空格,\t等符号
    :$+enter 跳到文件最后一行
    :0或:1 +enter跳到文件第一行

    复制,黏贴,删除,撤销,跳转等命令
    1,复制
    a,复制整行
    命令模式下,光标位于要复制的当前行,输入 yy
    b,复制一个单词
    命令模式下,光标位于要复制的当前单词的第一个字母,输入 yw
    2,黏贴
    命令模式下,输入 p

    3,删除
    a,删除整行
    命令模式下,光标位于要删除的所在行,输入 dd

    b,删除一个单词
        命令模式下,光标位于要删除的单词的第一个字母,输入 dw
    

    4,撤销
    命令模式下,输入 u

    5,跳转
    命令模式下,输入 要跳转的行数,然后再输入 gg
    如:要跳转到当前文件的第150行,输入 150gg、

    3. 解压

    bzip2 -d:解压文件eg: $ bzip2 -d part-r-00000.bz2,(part-r-00000.bz2为文件名)
    gzip -d filename.gz :解压.gz文件

    4. sort

    sort [选项] [输入文件]
    选项
    -c 测试文件是否已经被排序 complete
    -k 指定排序的域 k1 k2nr 往后加命令即可
    -m 合并两个已排序的文件 merge
    -n 根据数字大小进行排序 number
    -o [输出文件] 将输出写到指定的文件,相当于将输出重定向到指定文件 open
    -r 将排序结果逆向 reverse
    -t 改变域分隔符 eg:默认是空格,如果要改成\t需要sort -t$'\t'
    -u 去除结果中的重复行 unique -u
    Eg:
    sort -t',' -k2,2g:排序:
    eg:sort -t',' -k2,2g losscomma3注:-k2,2 是从第二行初到第二行末的意思,g是通用的意思
    如果使用 sort -t',' -k2,2gr losscomma3,r代表倒叙(从大到小)losscomma3为文件名
    两次排序,先按照第一列排序,再按照第二列排序,Sort的默认分隔符是 空格要制定成 \t
    cat mobile_industry | tr ',' '\t'|sort -t$'\t' -k1,1 -k2,2n

    5. 列分割_cut

    cut命令用于从标准输入或文本文件中按域或行提取文本
    -f 指定提取的域数,或域范围 field
    -d 指定分隔符
    eg:
    cut –f5+文件名:可以显示文件中第五个字段的内容
    cat temp|cut -f2 -d',' 以,为分隔符,提取文件temp第2列
    head -n 5 part-r-00067|cut -f1,3 未指定分隔符时,分隔符是\t,f1,3表示提取第一列和第三列

    6. 行分割_split

    split命令用于将大文件切割成小文件,split命令可以按照文件的行数、字节数切割文件,并能在输出的多个小文件中自动加上编号
    格式: split [-n] file [name]选项 意义
    Eg:split -55 myfile ff
    将文件myfile依次截断到名为ffaa,ffab,ffac.....的文件中,每一文件的长度为55行
    按大小分割:
    用法:split [选项] [输入 [前缀]]
    将将这个276M文件分割成20M的小文件,文件分割操作如下:
    split -b 20m RevolutionOS.rmvb RevOS_part_

    7. 操作文件

    查看文件有多少行:wc -l +文件名
    eg:wc -l aucpidcosttmapsort-aah
    out:207517 aucpidcosttmapsort-aah
    rm+文件名:删除一个文件
    dos2unix+文件名: 文件类型转换,用ftp从Windows传到linux的文件,需要使用文件类型转换
    more+文件名:查看当前目录的一部分数据
    eg:more part-r-00000

    8. 编辑文件夹

    mkdir + 文件名:创建一个文件夹(文件夹显示为蓝色):
    rmdir +文件名:删除一个空文件
    rm -r + 文件夹:删除一个有内容的文件夹

    9. 执行文件

    A.cat模拟执行MR文件:
    Eg: cat access.out|python cookie.py
    注:|代表管道,将access.out输入到cookie.py中
    Eg:cat auction.out | python auction_dsp.py | sort | python auction_dsp_reduce.py
    这里的sort会为结果的每列都进行排序,而在hadoop上执行,sort只为第一列排序
    Eg:cat part-00000 showpidcost0813|python loss_pidcost_map.py|sort|python
    loss_pidcost_reducev1.py >111
    在多个输入需要进行map的时候,使用cat 加两个文件名,中间用空格隔开,执行完后保存到111文件中。
    本机的sort是按照空格分割的,需要指定成按照\t分割
    Eg:sort -t$'\t'
    Eg:sort -t$'\t' -k1,1,以\t分割,按照第一列排序
    B. head –n 使用前n条数据执行程序:
    Eg: head -n 100 auction.out | python auction_dsp.py | sort | python auction_dsp_reduce.py 使用数据的前100条执行mapreduce
    Eg: head -n 10000 auction.out | python auction_dsp.py 只执行map
    C. tail -n ,显示文件内容的最后几行
    tail -n 行数值 文件名;
    显示/etc/profile的最后5行内容:
    tail -n 5 /etc/profile
    D.显示文件的中间一些行
    显示1000行到3000行
    cat filename| head -n 3000 | tail -n +1000
    F.执行shell程序:
    $ sh run1.sh执行一个程序
    nohup sh run.sh > job_log 2>&1 &
    注:2>&1,表示把标准文件,错误文件都输出到job_log之中
    nohup sh run.sh >xxx.log &
    注:nohup…&的作用是将文件放到后台去执行

    注:在服务器上执行shell程序,本地断了,服务器上也会继续执行。出错的时候可以去log中查看出错的原因
    如果要关闭正在执行的这个程序:
    ps aux | grep run_invideo
    kill xxxx:xxxx为程序前面的编号

    10. 发邮件

    cat 文件名| yk_sendmail 标题 收件人邮箱:
    eg:cat temp|yk_sendmail "test" xxx@163.com
    在发送邮件的.sh中
    echo -e $htmlhead $title "invideo" $content $title1 "vhtml" $content2 | yk_sendmail "${subject}" "${receiverME}" ${result_path}/invideo160905
    最后没有用双引号引上的${result_path}/invideo160905,会被当做附件传送

    11. 其他常用操作

    用户切换
    su +用户名:su ad
    查看python安装了哪些库
    Help(‘modules’)

    命令行首/尾/删除
     Ctrl+a跳到本行的行首,
     Ctrl+e则跳到页尾。
     Ctrl+u删除当前光标前面的文字
     ctrl+k 删除当前光标后面的文字
     如果删除错误,使用Ctrl+y进行恢复Ctrl+L进行清屏操作

    相关文章

      网友评论

        本文标题:Linux下工作常使用的命令(持续整理)

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