2019独角兽企业重金招聘Python工程师标准>>>

Linux shell中的特殊符号

一 cut命令

cut命令: 截取某一个字段。

格式:cut -d ‘分隔符’ [-cf] n , n指数字。

有如下选项:

-d : 后跟分隔符。

-c: 后面接第几个字符

-f: 后接第几个区块

实例:

[root@localhost ~]# cat /etc/passwd |head -2
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost ~]# cat /etc/passwd |head -2 |cut -d ':' -f 1,2,3
root:x:0
bin:x:1
[root@localhost ~]# cat /etc/passwd |head -2 |cut -d ':' -f 1-4
root:x:0:0
bin:x:1:1

二 sort命令

用作排序。

格式: sort [-t 分隔符]  [-kn1,n2] [-nru]。n1 和n2指数字。

其他选项的含义如下:

  • -t: 后跟分隔符,作用跟cut 的-d选项一样。
  • -n:表示纯数字排序
  • -r:表示反向排序
  • -u: 去重复
  • -kn1,n2 : 表示由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序
  • 如果sort不加任何选项,则从首字符向后依次按ASCII码值进行比较,最后进行升序输出。

实例如下:

[root@localhost ~]# head -n5 /etc/passwd | sort
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
// ASCII码值排序  a b d l r
  • -t 分隔符、-k后单数字表示对第几个区域的字符串排序,-n选项则表示使用纯数字排序。

实例如下:

[root@localhost ~]# head -n5 /etc/passwd | sort -t: -k3 -n
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@localhost ~]# head -n5 /etc/passwd | sort
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
root:x:0:0:root:/root:/bin/bash//对比即可发现
  • -kn1,n2表示对n1和n2区域内的字符串排序,-r则表示反向排序。实例如下:
[root@localhost ~]# head -n5 /etc/passwd | sort -t: -k3,5 -r
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash

三 wc命令

wc命令用于统计文档的行数,字符数或词数。常用选项有-l统计行数 、-m统计字符数、-w统计词数。

实例如下:

[root@localhost ~]# wc /etc/passwd23   43 1080 /etc/passwd//23行 43个词 1080个字符[root@localhost ~]# wc -l /etc/passwd
23 /etc/passwd[root@localhost ~]# wc -m /etc/passwd
1080 /etc/passwd
[root@localhost ~]# wc -w /etc/passwd
43 /etc/passwd

四 uniq 命令

用来删除重复行。常用选项-c 统计重复的行数。

实例如下:

[root@localhost tmp]# uniq 2.txt
111
222
111
333

注:使用uniq前,必须先给文件排序,否则不管用。

实例如下:

[root@localhost tmp]# sort 2.txt| uniq111
222
333
[root@localhost tmp]# sort 2.txt| uniq -c 1 2 1111 2221 333

但不改变原文件

[root@localhost tmp]# cat 2.txt
111
222
111
333

五 tee命令

类似> , 重定向的同时还在屏幕显示。还把文件写入后面跟的文件。

实例如下:

[root@localhost tmp]# echo "aaaabbbb" |tee  2.txt
aaaabbbb
[root@localhost tmp]# cat 2.txt
aaaabbbb

六 tr命令

替换字符,用来处理文档中出现的特殊字符。

实例如下:

[root@localhost tmp]# head -n2 /etc/passwd |tr '[a-z]' '[A-Z]'
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN
[root@localhost tmp]# head -n2 /etc/passwd |tr '[A-Z]' '[a-z]'
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

七 split命令

用于切割文档。常用选项:-b 和 -l。

-b: 表示根据大小来分隔文档,单位为byte。实例如下:

[root@localhost tmp]# mkdir split
[root@localhost tmp]# cd !$
cd split
[root@localhost split]# cp /etc/passwd ./
[root@localhost split]# ls
passwd
[root@localhost split]# split -b 500 passwd

如果不指定目标文件名,则会以xaa、xab... 这样的文件名存取切割后的文件。

[root@localhost split]# ls
passwd  xaa  xab  xac

也可指定目标文件名。如:123

[root@localhost split]# rm -f xa*
[root@localhost split]# split -b 500 passwd 123
[root@localhost split]# ls
123aa  123ab  123ac  passwd

-l :据行数切割文档。实例如下:

[root@localhost split]# split -l 10 passwd
[root@localhost split]# wc -l *
\  12 123aa9 123ab2 123ac23 passwd10 xaa10 xab3 xac69 总用量

八 特殊符号

$ 变量前缀,结合!成!$。

[root@localhost split]# ls
123aa  123ab  123ac  passwd  xaa  xab  xac
[root@localhost split]# !$
ls
123aa  123ab  123ac  passwd  xaa  xab  xac

; 多个命令之间加符号; 运行多个命令。

[root@localhost split]# ls
123aa  123ab  123ac  passwd  xaa  xab  xac
[root@localhost split]# !$
ls
123aa  123ab  123ac  passwd  xaa  xab  xac
[root@localhost split]# touch 2.txt;ls -l
总用量 28
-rw-r--r--. 1 root root  500 1月  12 23:37 123aa
-rw-r--r--. 1 root root  500 1月  12 23:37 123ab
-rw-r--r--. 1 root root   80 1月  12 23:37 123ac
-rw-r--r--. 1 root root    0 1月  12 23:45 2.txt
-rw-r--r--. 1 root root 1080 1月  12 23:33 passwd
-rw-r--r--. 1 root root  385 1月  12 23:39 xaa
-rw-r--r--. 1 root root  575 1月  12 23:39 xab
-rw-r--r--. 1 root root  120 1月  12 23:39 xac

~ 表示用户家目录。root用户的家目录是/root, 普通用户则是/home/username。

实例如下:

[root@localhost split]# cd ~
[root@localhost ~]# pwd
/root

& 把命令放到后台执行。

|| 和 &&  多个命令间的分隔符。(|| 命令或,&&命令与)

使用&&时,只有命令1 执行成功后,命令2才会执行,否则命令2不执行。

使用|| 时, 命令1执行成功后则命令2不执行,否则执行命令2。

  • &&
[root@localhost ~]# touch test1.txt test2.txt
[root@localhost ~]# ls test3.txt && vi test2.txt
ls: 无法访问test3.txt: 没有那个文件或目录
[root@localhost ~]# ls test3.txt
ls: 无法访问test3.txt: 没有那个文件或目录
  • ||
[root@localhost ~]# ls test3.txt || vi test2.txt

(更新中。。。)

转载于:https://my.oschina.net/primerliu/blog/1606421

shell基础(下) 特殊符号相关推荐

  1. 红旗linux shell方式下配置声卡的命令是:,‘红旗杯’linux大赛——基础知识2

    1. 在chmod 命令中,-v参数的作用是: A. 详细说明组的变化 *B. 详细说明权限的变化 C. 改变本目录及其所有子目录的文件的权限 D. 在文件的权限确实改变时进行详细的说明 2. 为了显 ...

  2. 红旗linux shell方式下配置声卡的命令是:,linux基础知识1

    1. 在chmod 命令中,-v参数的作用是: A. 详细说明组的变化 *B. 详细说明权限的变化 C. 改变本目录及其所有子目录的文件的权限 D. 在文件的权限确实改变时进行详细的说明 2. 为了显 ...

  3. linux shell 基础 使用日志与心得

    linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现 #!/bin/bash是指此脚本使用/bin/bash来解释执行. 其中,#!是一个特殊的表示符,其后,跟着解释 ...

  4. linux+管道+分段,Linux中shell基础、重定向、管道符、环境变量

    原标题:Linux中shell基础.重定向.管道符.环境变量 1.什么是shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器).它接收用户输入的命令并把它送入内核 ...

  5. Shell基础(一):Shell基础应用、简单Shell脚本的设计、使用Shell变量、变量的扩展应用...

    一.Shell基础应用 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 切换用户的Shell环境        2> 练习命令历史.命令别名        ...

  6. Linux shell篇---之一--shell基础

    一.shell基础 1.shell的基本概念 shell就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具. 用户界面shell(还有其他用户界面如kde等图形界面)-->内核--& ...

  7. Shell 基础知识--细说linux配套视频

    Shell 基础概括 Shell是什么? shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序 ...

  8. centos shell基础 alias 变量单引号 双引号 history 错误重定向 21 jobs 环境变量 .bash_history source配置文件 nohup ...

    centos shell基础知识 alias  变量单引号 双引号   history 错误重定向 2>&1  jobs  环境变量 .bash_history  source配置文件 ...

  9. 【图文教程】Shell基础知识

    Shell基础知识 1. shell介绍 2. history命令 history主要参数示例: 3. 命令补全和别名 4. 通配符 5. 输入输出重定向 6. 管道符和作业控制 管道符: 作业控制: ...

最新文章

  1. 视频写操作,通道分离与合并
  2. 一行代码都不用写,教你如何快速搭建Github博客!!!
  3. 移动终端app测试点总结
  4. 如何查看tomcat是否安装成功_如何查看网站是否被收录?
  5. python中接口测试垃圾数据如何清理_巧用PyUnit中unittest特性解决接口测试产生脏数据问题...
  6. activity流程变量使用
  7. OpenShift Security (1) - 红帽多集群安全管理 RHACS 的主要功能和技术架构
  8. HDU 3328 Flipper 栈 模拟
  9. 狗猫分类数据集划分详解
  10. Win11不能拖拽图片到任务栏软件上快速打开怎么办
  11. virtualxposed使用教程_VirtualXposed
  12. R 回归分析 非线性回归模型
  13. CMakeLists.txt文本编辑工具
  14. Another exception was thrown: The PrimaryScrollController is currently attached to more than one Scr
  15. Unity3d学习之路-简单AR游戏
  16. 使用MPICH构建一个四节点的集群系统
  17. 视频抽帧为图片和一系列图片转换为视频
  18. 如何搭建一个自己的音乐服务器
  19. 堡垒前线手游超强辅助脚本 新手入门技巧介绍
  20. 国产CPU与国产操作系统

热门文章

  1. ELK收集docker日志
  2. 常用JDK系统环境变量配置
  3. 别人认为可不可能一点都不重要
  4. java异常处理:finally中不要return
  5. ubuntu安装过程中遇到的一些问题及解决办法。
  6. JIRA和Confluence更改JVM内存大小解决访问打开缓慢问题
  7. java.lang.IllegalArgumentException 不合法的参数异常
  8. 电脑不能正常启动windows怎么办,电脑系统无法正常启动
  9. b丅151组成的充电器电路_宜家LIVBOJ 无线充电器拆解,这设计一目了然
  10. c语言智能指针是什么,C++ 智能指针深入解析