Linux 常用命令

Linux常用命令汇总

dirname、basename作用

  • 去除路径最后一级,即/home/test.sh 输出:/home
  • 输出路径最后一级,即/home/test.sh 输出:test.sh shell 脚本变量$#,$@,$0,$1,$2,$*,$,$? 的含义
  • $# 是传给脚本的参数个数
  • $0 执行脚本时的名称,即 /home/test.sh 输出:/home/test.sh
  • $1 是传递给该shell脚本的第一个参数
  • $2 是传递给该shell脚本的第二个参数
  • $@ 是传给脚本的所有参数的列表
  • $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
  • $$ 是脚本运行的当前进程ID号
  • $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
  • $! Shell最后运行的后台Process的PID grep/egrep作用
  • egrep相当于grep -E,可以通过正则匹配到需要的文本
  • -o 只输出匹配到的文本 sed命令使用
  • -n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
  • -e :直接在命令列模式上进行 sed 的动作编辑;
  • -f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作;
  • -r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)
  • -i :直接修改读取的文件内容,而不是输出到终端。
  • 动作使用说明: [n1[,n2]]function
  • n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在 10 到 20 行之间进行的,则『 10,20[动作行为] 』

function:

  • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
  • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
  • d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
  • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
  • p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
  • s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦! 切片
  • a=abcdefg
  • echo ${a:0:4}
  • out: abcd

Cut命令

cut命令用来显示行中的指定部分,删除文件中指定字段。cut经常用来显示文件的内容

用法:
cut(选项)(参数)

-b:仅显示行中指定直接范围的内容(字节);
-c:仅显示行中指定范围的字符;
-d:指定字段的分隔符,默认的字段分隔符为“TAB”;
-f:显示指定字段的内容;
-n:与“-b”选项连用,不分割多字节字符;
--complement:补足被选择的字节、字符或字段;
用例:
# 使用;作文分隔符切割xxx文本,取切割后的第一个
# -d的默认分隔符为\t,-f后面可以接:1,3、1-3等多种形式
cut -d ";" -f 1  xxx.txt
# 切割xxx文本中的第1到3个字符,-c切割字节 -b切割字符
cut -c 1-3 xxx.txt
Here Document

Here Document 是 Shell 中的一种特殊的重定向方式,用来将输入重定向到一个交互式 Shell 脚本或程序。 它的基本的形式如下:它的作用是将两个 delimiter 之间的内容(document) 作为输入传递给 command。

command << delimiter
    document
delimiter
# 例如删除HBase里的表
hbase shell << delimiter
  disable 'hbase:xxx'
  drop 'hbase:xxx'
delimiter

注意

  • 结尾的delimiter 一定要顶格写,前面不能有任何字符,后面也不能有任何字符,包括空格和 tab 缩进。
  • 开始的delimiter前后的空格会被忽略掉。
  • “delimiter” 可以自定义名称

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hive配置安装

    俺也想起舞
  • Linux nohup和&的使用说明,"2>1&"含义解释

    Linux中nohup和&配合使用说明,以及使用时2>1& 的解释,还有Linux进程查询等命令

    俺也想起舞
  • HDFS系统详解

    每个文件都是由一个一个的Block组成(Block默认大小128M),例如一个300M的文件会被保存成3个Block,而一个3K的文件也统一会占用一个Block...

    俺也想起舞
  • Spring@Configuration、@Bean、@Import 、@ImportResource、@DependsOn 说明

    使用spring的这几个配置,可以将旧<xml>配置形式完全使用Java实现,也可以和<xml>嵌套使用。

    随风溜达的向日葵
  • 晒晒工作台

    老码农
  • 神经网络与深度学习(4):改进神经网络的学习方法

    本文总结自《Neural Networks and Deep Learning》第3章的内容。 

    bear_fish
  • 【安全警告】Oracle 12c 多租户的SQL注入高危风险防范

    在使用Oracle多租户选件时,由于Container容器和PDB融合共存,则权限控制必将更加重要,在之前的文章中我们提到,Oracle 12.2 的 loc...

    数据和云
  • 戳穿泡沫:对「信息瓶颈」理论的批判性分析

    机器之心
  • Hadoop源码编译全流程分享

    首先准备一个hadoop源码包,我选择的hadoop版本是:hadoop-2.7.7-src.tar.gz,在hadoop-2.7.7的源码包的根目录下有一个文...

    江帅帅
  • 谈云计算数据中心DevSecOps运维模式中的安全性(第4篇)

    DevOps T-shirt worn at a computer conference (图片来源于Wikipedia, 由Raysonho上传)

    王录华

扫码关注云+社区

领取腾讯云代金券