博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell 相关操作
阅读量:7065 次
发布时间:2019-06-28

本文共 4043 字,大约阅读时间需要 13 分钟。

  hot3.png

shell 常用操作

1. cut 命令

1.1 概述

cut 命令将输入流以行为单位, 以一定条件切割, 将最终结果打印到标准(stdout), 输入流一般是一个文件名, 当没有指定文件名或直接指定 - 时表明直接从标砖输入(stdin)中取流

1.2 语法

cut OUTION FILE

1.3 选项

-b:     仅显示行中指定直接范围的内容-c:     仅显示行中指定范围的字符-d:     指定自负的分割符, 默认分割符为'TAB'-f:     显示指定字段的内容-n:     与 -b 连用, 不分割字节字符--complement:   补足被选择的字节, 字符或字段--out-delimiter=
<字符分隔符>
: 指定输出内容的字符分割符--help: 显示帮助信息--version: 显示指令版本

1.4 示例

  • 使用cut 分割显示 passwd 文件 的用户和用户ID

  • 截取 第2-5 个字符

2. wc 命令

2.1 概述

wc 命令用于打印数日文件的行, 单词, 字节数

2.2 语法

wc [OPTION] [FILE]

2.3 选项

-c:     统计字节数-l:     统计行数-m:     统计字符数-w:     统计单词数-L:     打印最长行的长度--help:     帮助信息--version:  版本信息

2.4 示例

3. sort 命令

3.1 概述

sort 命令用于字段排序

3.2 语法

sort [OPTION] [FILE]

3.3 选项

-b:     --ignore-leading-blanks 忽略字符前面的空白区域-d:     --dictionary-order      只考虑空白区域和字母字符-f:     --ignore-case           忽略字母大小写-g:     --general-numeric-sort  按照常规数值排序-i:     --ignore-nonprinting    只按照排打印字符-M:     --month-sort            按照月份的英文缩写排序.-k:             指定起始位置, 和结束位置 PS: -k1,2-n:             按照数值大小排序-o
<输入文件>
: 将输入结果存储在文件内-r: 逆向排序-t
<分割字符>
: 指定分割字符+
<起始栏位>
-
<结束栏位>
: 指定栏位来排序, 范围有起始栏到结束栏

3.4 示例

  • 按照用户名排序

  • 按照UID 排序

4. uniq 命令

4.1 概述

从输入文件 或标准输入中过滤相邻匹

4.2 语法

uniq [OPTION] [FILE] uniq [-cdu] [-f<栏位>] [-s<字符设置>] [-w<字符位置>] [--help|--version] [输入文件] [输出文件]

4.3 选项

-c:     --count 每列旁边显示该行出现次数-d:     --repeated 仅显示重复出现的行列-f
<栏位>
: --skip-fields=
<栏位>
忽略比较指定的栏位-s
<字符位置>
: --skip-chars=
<字符位置>
忽略比较指定的字符-u: --unique 仅显示处一次的行列-w
<字符位置>
: --check-chars=
<字符位置>
指定要比较的字符--help: 帮助信息--version 版本[输入文件]: 指定已排序好的文本文件[输出文件]: 指定输出的文件

4.4 示例

5. tee命令

5.1 概述

tee 用于读取标准输入的数据, 并将其内容输出成文件

5.2 语法

tee [-ai] [--help] [--version] [FILE]

5.3 选项

-a:     --append    附加到基友文件后面-i:     --ignore-interrupts 忽略中断信号--help:     版本信息--version:  显示版本信息

5.4 示例

6. split 命令

6.1 概述

将一个大文件分割分割成多个小文件, 有些文件太大, 分割成小文件, 可以提高易读性

6.2 语法

split [OPTION] [FILE]

6.3 选项

-b:     指定切割的每个片段的大小, 单位为 byte-c:     每输出一个片段, 单行的最大 byte 数-d:     使用数字作为后缀-l:     值为 每个片段的列数大小PREFIX: 带包前导符, 可以作为切割文件的前导文件

6.4 示例

6. tr 命令

6.1 概述

tr 命令用于转换或删除文件的字符, 从标准输入读取数据, 进过字符串转译后, 将结果输出到标准设备.

6.2 语法

tr [-cdst] [--help] [--version] [第一字符集][第二字符集]

6.3 选项

-c: --complement:   反选设定字符, 也就是说符合 SET1 部分不做处理, 不符合的剩余部分进行转换-d: --delete:       删除指定字符-s: -squeeze-repeats:   缩减连续重复的字符成指定的单个字符-t: --truncate-set1:    消减SET1 指定范围, 使之与 SET2 设定长度相似--help:             帮助信息--version:          版本信息
  • 字符合集范围:
\N      八进制字符 N\\      反斜杠\a      Ctrl-G 铃声\b      Ctrl-H  退格符\f      Ctrl=L 走行换页\n      Ctrl-J 新行\r      Ctrl-M 回车\t      Ctrl-I tab 键\v      Ctrl-X 水平制表符[:alnum:]   所有字母字符与数字[:alpha:]   所有字母字符[:black:]   所有水平空格[:cntrl:]   所有控制字符[:digit:]   所有数字[:graph:]   所有可打印的空白字符(不包含空格)[:lower:]   所有小写字母[:print:]   所有可打印的字符(包含空格)[:punct:]   所有标点字符[:upper:]   所有大写字母[:xdigit:]  所有16进制数字[CHAR]    所有符合指定的字符

6.4 示例

7. 其他操作

7.1 设置环境变量HISTSIZE

  • 编辑/etc/profile 文件

7.2 设置PS1

  • 设置PS1 编辑 ~/.bashrc 添加 PS1=

  • 恢复 PS1
    • 删除 ~/.bashrc 内的PS1 设置
    • export PS1="[\u@\h \w]$"

7.3 将当前目录下文件的文件名小写替换成大写

7.4 使用 sort 以 : 为分隔符, 排序passwd 文件

7.5 使用 cut以: 分割, 截取 /etc/passwd 第三段

7.6 /etc/profile , /etc/bashrc, ~/.bashrc, ~/.bash_profile

  • profile文件内声明的变量, 仅在用于登录状态下都会生效
  • bashrc 文件内声明的变量, 不管用户是否 是登录状态下 执行的命令都会生效
  • /etc/ 目录下表示该文件对所有用户都有效,
  • ~/ 目录下表示该文件仅对 目标用户有效.

7.7 export 的作用

  • exprot 用于声明变量, 让系统变量问变量设定的文件生效.

##7.8 Linux 下自定义变量设定的规则

  • 变量名由 数字字母下划线 组成, 且不可以为数字开头.
  • 变量内容如果有特殊字符需要生效, 则用双引号 引起, 如果不要生效, 或者没有特殊字符 使用单引号
  • 变量声明方式: export 变量名=变量值

7.9 命令后台与前台

  • 将命令行中正在运行的命令已到后台(暂停的): Ctrl+z
  • 将后台暂停的命令运行 bg [作业号]
  • 将后台命令已到前台运行 fg [作业号]
  • 查看后台运行的命令 jobs
  • 直接将命令作为后台状态运行: COMMAND &

7.10 列出目录下所有test 卡头文件

  • ls test*

7.11 把命令输出打印到屏幕同时 输出到文件

  • COMMAND |tee FILE

7.12 长命令或选项过长, 记不住怎么办

  • alias COMMAND_ALIAS="COMMAND OPTION "

7.13 将命令放置后台运行, 同时正确输出 和 错误输出到 一个文件

  • COMMAND 1> a.txt 2>a.txt &

7.14 分割一个大文件

  • 按照大小
    • split -b<SIZE> FILE
  • 按照行数
    • split -l<LINE> FILE

7.15 && || ; 三种的区别

  • ; 前后两个命令互不影响, 不论前一个命令是否成功执行, 后一个都会被执行
  • && 只有前一个命令成功执行了, 才会执行后一个命令
  • || 前一个命令如果成功执行了, 后一个将不会被执行

##7.16 如果只想让某个用户使用某个变量如何做?

  • 将变量声明在对应用的家目录的 .bashrc 文件内

END

转载于:https://my.oschina.net/nikoF/blog/2872715

你可能感兴趣的文章
centos下安装redis 以及 phpredis扩展
查看>>
使用python脚本利用SSH协议通过TFTP备份批量备份山石防火墙配置
查看>>
支付宝手机支付集成
查看>>
路由汇总实例
查看>>
误删grub.conf修复
查看>>
我的友情链接
查看>>
Codeforces 138D World of Darkraft 题解《挑战程序设计竞赛》
查看>>
word2vec原理推导与代码分析
查看>>
Nginx葵花宝典—草根站长Nginx运维百科全书
查看>>
javascript学习--innerHTML
查看>>
springBoot(14):使用SQL关系型数据库-事务处理
查看>>
python https实现方法
查看>>
linux下php扩展(php ext)开发记录
查看>>
易连云打印机PHP接口
查看>>
juniper SRX650 设置IDP记录日志到文件设置match时的问题.md
查看>>
SQL批量删除与批量插入
查看>>
linux中cp强制覆盖拷贝
查看>>
windows server 2008 jstack -存储空间不足,无法处理此命令
查看>>
个人LINUX学习笔记(二)
查看>>
wget
查看>>