Linux部分常用命令学习(二)
1.wc:wc命令是一个统计的工具,主要用来显示文件所包含的行、字和字节数。wc命令是word count的缩写。
命令格式:wc [选项参数] [文件]
选项参数:
-c 统计字节数
-l 统计行数
-m 统计字符数,这个标志不能与 -c 标志一起使用
-w 统计字数,一个字被定义为由空白、跳格或换行字符分隔的字符串
-L 打印最长行的长度
2.grep:grep是个很强大的命令,用来找到文件中的匹配文本,并且能够接受正则表达式和通配符,同时可以用多个grep命令选项来生成各种格式的输出。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。
命令格式:grep [选项参数] pattern [文件]
选项参数:
-c 计算找到 '搜寻字符串'(即pattern) 的次数
-i 忽略大小写的不同,所以大小写视为相同
-n 输出行号
-v 反向选择,打印不匹配的行
-r 递归搜索
--color=auto 将找到的关键词部分加上颜色显示(加在命令最后)
正则表达式与grep命令
正则表达式是一种符号表示法,被用来识别文本模式。在某种程度上,它们与匹配文件和路径名的 shell 通配符比较相似,但其规模更大。许多命令行工具和大多数的编程语言都支持正则表达式,以此来帮助解决文本操作问题。
正则表达式元字符由以下字符组成:
^ $ . [ ] { } - ? * + ( ) | \
3.cut:cut命令是一个将文本按列进行切分的小工具,它可以指定分隔每列的定界符。如果一行数据包含多个字段(多列),现在想要提取其中的一列或多列,这是cut命令就可以大显身手了。
命令格式:cut [选项参数] [文件名]
选项参数:
-b 以字节为单位进行分割
-c 以字符为单位进行分割
-d 自定义分隔符,默认为制表符
-f 自定义字段
--complement 抽取整个文本行,除了那些由 -c 或 -f 选项指定的文本
4.paste:aste 命令的功能正好与 cut 相反。它会添加一个或多个文本列到文件中,而不是从文件中抽取文本列。它通过读取多个文件,然后把每个文件中的字段整合成单个文本流,输入到标准输出
命令参数:paste [选项参数] [文件名]
选项参数:
-s 将每个文件合并成行而不是按行粘贴
-d 自定义分隔符,默认为制表符
5.tr:tr命令常被用来更改字符。我们可以把它看作是一种基于字符的查找和替换操作。换字是一种把字符从一个字母转换为另一个字母的过程。tr从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。tr只能通过stdin(标准输入),而无法通过命令行参数来接受输入。tr是translate(转换)的缩写。
命令格式:
tr [选项参数] SET1 SET2 将来自stdin的输入字符从SET1映射到SET2,并将其输出写入stdout(标准输出)。SET1和SET2是字符类或字符集。如果两个字符集的长度不相等,那么SET2会不断重复其最后一个字符,直到长度与SET1相同。如果SET2的长度大于SET1,那么在SET2中超出SET1的那部分字符则全部被忽略。
选项参数:
-d 删除匹配SET1的内容,并不作替换
例1.将输入字符中的大写字母替换为小写字母
echo ‘THIS IS SHIYANLOU!’ | tr ‘A-Z’ ‘a-z’
例2.将输入字符中的数字删除
echo ‘THIS 123 IS S1HIY5ANLOU!’ | tr -d ‘0-9’
6.sort:同文本文件打交道时,总避不开排序,那是因为对于文本处理任务而言,排序(sort)可以起到不小的作用。sort命令能够帮助我们对文本文件和stdin进行排序操作。通常,它会结合其他命令来生成所需要的输出。
命令格式:sort [选项参数] [文件]
选项参数:
-n 基于字符串的长度来排序,使用此选项允许根据数字值排序,而不是字母值
-k 指定排序关键字
-b 默认情况下,对整行进行排序,从每行的第一个字符开始。这个选项导致sort 程序忽略每行开头的空格,从第一个非空白字符开始排序
-m 只合并多个输入文件
-r 按相反顺序排序,结果按照降序排列,而不是升序
-t 自定义分隔符,默认为制表符
7.uniq:uniq 命令经常和sort命令结合在一起使用。uniq 从标准输入或单个文件名参数接受数据有序列表,默认情况下,从数据列表中删除任何重复行。uniq只能用于排过序的数据输入,因此,uniq要么使用管道,要么将排过序的文件作为输入,并总是以这种方式与sort命令结合起来使用。uniq命令是unique的缩写。
命令格式:uniq [选项参数] [文件]
选项参数:
-c 在每行前加上表示相应行目出现次数的前缀编号
-d 只输出重复的行
-u 只显示唯一的行
-D 显示所有重复的行
-f 比较时跳过前n列
-i 在比较的时候不区分大小写
-s 比较时跳过前n个字符
-w 对每行第n 个字符以后的内容不作对照
8.join:join 命令类似于 paste,它会往文件中添加列,但是它使用了独特的方法来完成。一个 join 操作通常与关系型数据库有关联,在关系型数据库中来自多个享有共同关键域的表格的数据结合起来,得到一个期望的结果。这个 join 命令执行相同的操作,它把来自于多个基于共享关键域的文件的数据结合起来。通俗地说,就是将两个文件中指定栏位相同的行连接起来,即按照两个文件中共同拥有的某一列,将对应的行拼接成一行。
命令格式:join [选项参数] [文件1] [文件2]
选项参数:
-j FIELD 等同于 -1 FIELD -2 FIELD,-j指定一个域作为匹配字段
-1 FIELD 以file1中FIELD字段进行匹配
-2 FIELD 以file2中FIELD字段进行匹配
-t 自定义分隔符,默认为制表符
9.common:通常比较文本文件的内容很有帮助。对于系统管理员和软件开发者来说,这个尤为重要。一名系统管理员可能,例如,需要拿现有的配置文件与先前的版本做比较,来诊断一个系统错误。同样的,一名程序员经常需要查看程序的修改。comm命令将逐行比较已经排序的两个文件。显示结果包括3列:第1列为只在第一个文件中找到的行,第2列为只在第二个文件中找到的行,第3列为两个文件的共有行。
注意,comm命令和join、uniq命令一样,只能用于已经排过序的数据
命令格式:comm [选项参数] 文件1 文件2
-1 不输出文件1特有的行
-2 不输出文件2特有的行
-3 不输出两个文件共有的行
10.df:linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。df命令是disk free的缩写。
命令格式:df [选项参数] [文件]
选项参数:
-a 全部文件系统列表
-h 方便阅读方式显示
-i 显示inode信息
-T 文件系统类型
-t<文件系统类型> 只显示选定文件系统的磁盘信息
-x<文件系统类型> 不显示选定文件系统的磁盘信息
11.du:linux中du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看。du命令是disk usage的缩写。
命令参数:du [选项参数] [文件]
选项参数:
-a 显示目录中个别文件的大小。
-b 显示目录或文件大小时,以byte为单位。
-c 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k 以KB(1024bytes)为单位输出。
-m 以MB为单位输出。
-s 仅显示总计,只列出最后加总的值。
-h 以K,M,G为单位,提高信息的可读性
12.time:time命令常用于测量一个命令的运行时间,包括实际使用时间(real time)、用户态使用时间(the process spent in user mode)、内核态使用时间(the process spent in kernel mode)。实际时间: 从command命令行开始执行到运行终止的时间。用户态使用时间:命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和。内核态使用时间:命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。其中,用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务
命令格式:time 命令
Linux部分常用命令学习(二)的更多相关文章
- Linux部分常用命令学习(一)
什么是linux命令? 是一个可执行程序,就像我们所看到的位于目录/usr/bin 中的文件一样. 属于这一类的程序,可以编译成二进制文件,诸如用 C 和 C++语言写成的程序, 也可以是由脚本语言写 ...
- Linux GCC常用命令学习
1简介 GCC 的意思也只是 GNU C Compiler 而已.经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言:它现在还支持 Ada 语言.C++ 语言.Java 语言.Objective ...
- Redis 常用命令学习二:字符串类型命令
1.赋值与取值命令 127.0.0.1:6379> set foo helloredis OK 127.0.0.1:6379> get foo "helloredis" ...
- Linux的几个概念,常用命令学习
Linux的几个概念,常用命令学习---------------------------------设备名装载点// 通过装载点访问设备-------------------------------- ...
- 一、Linux概述 二、Linux的安装 三、Linux的常用命令(重点)
一.Linux概述###<1>操作系统 OS,管理和控制 计算机的 硬件和软件资源的 计算机程序. 最基本的系统软件. 是用户和计算机交互的桥梁,是硬件和软件交互的桥梁. 操作系统:she ...
- 一、Linux中的常用命令2 二、Vim编辑器的使用
一.Linux的常用命令###<1>文件目录操作 13. echo:用于输出字符串,shell编程,echo 1. 输出字符串 : echo str ,shell编程会使用(类似java中 ...
- Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)
简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...
- Linux GDB常用命令一栏
Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明: (*** 表示可执行程序名) (2)退出:quit.有的时候输入quit后会出现相关提示:类似 ...
- mondb 常用命令学习记录
mondb 常用命令学习记录 一.MongoDB 下载安装 MongoDB官网 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制 ...
随机推荐
- Oracle数据安全(三)权限管理
一.权限概述 所谓权限就是执行特定类型SQL命令或访问其他模式对象的权利.用户在数据库中可以执行什么样的操作,以及可以对哪些对象进行操作,完全取决于该用户所拥有的权限. 在Oracle中将权限分为系统 ...
- Linux命令(6/28)——declare/typeset命令
declare 与 typeset 命令是bash的内建命令,两者是完全一样的,用来声明shell变量,设置变量的属性. declare命令(别名typeset)属shell内建命令,用于申明shel ...
- 自学 iOS 开发的一些经验 - 转自无网不剩的博客
不知不觉作为 iOS 开发也有两年多的时间了,记得当初看到 OC 的语法时,愣是被吓了回去,隔了好久才重新耐下心去啃一啃.啃了一阵,觉得大概有了点概念,看到 Cocoa 那么多的 Class,又懵了, ...
- Recurrent Neural Networks vs LSTM
Recurrent Neural Network RNN擅长处理序列问题.下面我们就来看看RNN的原理. 可以这样描述:如上图所述,网络的每一个output都会对应一个memory单元用于存储这一时刻 ...
- LeetCode——single-number系列
LeetCode--single-number系列 Question 1 Given an array of integers, every element appears twice except ...
- LeetCode——Diameter of Binary Tree
LeetCode--Diameter of Binary Tree Question Given a binary tree, you need to compute the length of th ...
- 使用Idea 配置maven
使用Idea 配置maven 使用idea 配置maven有4步: (1)下载Idea,maven (2)安装idea, (3)设置maven的环境变量, (4)具体的配置过程 当前环境: 操作系统: ...
- spring通知的注解
1.代理类接口Person.java package com.xiaostudy; /** * @desc 被代理类接口 * * @author xiaostudy * */ public inter ...
- ASCII_02_扩展
1.来自“http://www.360doc.com/content/10/1007/22/3775569_59187136.shtml” 2. 3. 4. 5.
- Spring + Spring MVC + MyBatis框架整合
---恢复内容开始--- 一.Maven Web项目创建 如有需要,请参考:使用maven创建web项目 二.Spring + Spring MVC + MyBatis整合 1.Maven引入需要的J ...