自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 (1) cat

总结在前面: cat 作为过滤器: 将从标准输入的数据 复制到 标准输出(It reads from standard input and writes to standard output without modifying the data) 。 但是,作为过滤器,只能从 ‘一个文件=也即是标准输入’中,获取数据, 然后输出到标准输出中。 而作为普通命令,却是可以读取多份’数据’,并将数据

2016-09-27 15:52:20 379

原创 shell filter的基本概念

过滤器(filter)概念: 当创建管道线的时候,必须使用”能够从标准输入读取文本(每次一行)数据,并同时间向标准输出写入文本(每次一行)数据的程序”。 这样的程序成为 “过滤器”,Unix上很多过滤器。 管道线上的 过滤器 可以任意多。目标: 形成通过组合过滤器成管道线来解决问题的能力 ! 过滤器的理解: 1):管道线上的所有命令不都是filter。 $ cat new old

2016-09-27 15:31:43 6348

原创 Shell处理命令的内部机制 和eval

看图说文! 命令行处理解释了Shell如何处理一个命令的内部机制: Shell从标准输入或脚本读取的每一行称为管道线(pipeline),每一行包含一个或多个命令,这些命令用管道符隔开,Shell对每一个读取的管道线都按照下面的步骤处理:1、将命令分割成令牌(token),令牌之间以元字符分隔。Shell的元字符集合是固定不变的,包括空格、Tab键、换行字符、分号(;)、小括号、输入重...

2016-09-20 19:22:26 1222 2

原创 Shell I/O重定向与exec的使用介绍

shell

2016-09-20 13:45:25 4612

原创 (2)再说管道与shell脚本执行关系

实验1:变量$path的输出是空值。root@37C:~# pwd | read pathroot@37C:~# echo $pathroot@37C:~# 实验2:#代码:$ ls -l1 | while read linedo let count=$count+1echo "line-${count}: $line"done--有输出结果:line-1: 总用量 292line

2016-09-19 17:31:16 1147

原创 (1)Shell 脚本的执行进程

# 当前login-shell的进程PID.root@37C:~# echo $$3016# 测试脚本:root@37C:~# cat run.sh#!/bin/bash # 获取执行shell脚本的非交互shell的PID.echo $$######echo "test1:-------------------------"ps -ef | grep `echo $$`echo

2016-09-19 16:28:50 1215

转载 fork创建子进程利用pipe管道通信

转自:这里。每个进程各自有不同的用户地址空间,任 何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)。 如下图所示: 管道 管道是一种最基本的IPC机制,由pipe函数创建:#

2016-09-19 14:00:57 13021

转载 Shell I/O重定向的原理解释

在Unix系统中,每个进程都有STDIN、STDOUT和STDERR这3种标准I/O,它们是程序最通用的输入输出方式。几乎所有语言都有相应的 标准I/O函数 ,比如,C语言可以通过scanf从终端输入字符,通过printf向终端输出字符。熟悉Shell的朋友都知道,我们可以方便地对 Shell命令进行I/O重定向,比如 $find -name "*.java" >testfile.txt 把当前目录

2016-09-18 14:09:55 2231

原创 Shell 条件执行元字符

&& || 元字符只有前面一条命令执行成功了,才执行后面一条,否则,后面命令不执行:$ command1 && command2$ grep a output >/dev/null && sort output只有前面一条命令执行不成功,才执行后面一条,否则,后面的命令不执行:$ command1 || command2$ update || echo ' The update pro

2016-09-18 12:52:07 427

原创 Shell 管道线 和 过滤器

1):基本概念 原始数据从一端进入,然后接着一个程序对数据进行处理,直到另一端,数据以结果形式出现。shell 允许创建一序列命令,命令(也可以是脚本)用’|’ 分隔开来,代表一个程序的标准输出(不包含有标准错误)可以 自动地发送给 下一个程序的标准输入。 阅读方式为: 从左到右的方式 读取。 两个程序之间的连接’|’ 就是 “管道” , “命令序列”称为 管道线。编写习惯: 当编写

2016-09-18 12:24:51 854

原创 Shell I/O重定向

① 默认情况下,在登陆时,shell自动将标准输入设置为 “键盘”,将标准输出和标准错误设置为 “屏幕”。②使用>和>>重定向的要点 对于Shell两大家族: (1)将命令的输出覆盖到文件中 command > filename 例如:ls > file1 命令执行效果: 如果不存在file1,则创建,并写入ls的输出内容; 如果已存在file1,

2016-09-18 11:52:38 349

原创 Shell 初始化文件和注销文件

① 初始化文件被执行的时机Which initialization files are executed and when? There are two general rules, with minor variations. 1.A login shell executes your login file and your environment file. 2.A non

2016-09-17 14:10:21 471

原创 Shell命令行编辑与自动补全

1.命令行编辑修改# 删除字符命令:^H | ^? | Backspace | delete^W :删除一个词。^U : 删除当前光标之前的所有字符。# 移动光标命令:^A : 移动到最开始的位置。^E :移动到最后面的位置。2.命令行的上下移动 bash,tcsh支持,但korn shell & C-shell不支持一下的键: left | right | up | down但是:

2016-09-16 16:15:12 3422

原创 识别内置外置命令以及$PATH认识

如何查看一个新的命令的使用:1.首先,确定该命令是否是内置还是外置。一般使用type命令做辨别。type: type [-afptP] name [name ...] For each NAME, indicate how it would be interpreted if used as a command name.例如:$ type -a timetime 是 shell 关键字ti

2016-09-16 14:34:19 359

原创 Shell登录提示符

Bash家族 & C-Shell家族常见的提示结束符:所有的shell都包含有两部分: 字符+一个空格(空格属于提示的一部分)"SHELL" "PROMPT-CHARACTER"Bash $Korn Shell $C-Shell %Tcsh % or >Super-user #如何修改登录提示符?所有的 B-SH

2016-09-16 13:58:30 1011

原创 linux 显示字符

linux中字符的类型: a.键入即可看到:字母数字字符。 b.非元字符: 非字母数字字符,但也不是元字符。 c. 元字符。元字符相关概念: 1.元字符:拥有特殊含义的字符,如 $ ; & 。2.引用元字符:在输入时,告诉shell,希望按字面含义解释字符,而不使用其特殊含义。引用元字符有三种种方式 : (1) 使用反斜线引用单个字符,反斜线引用最强。#当我们使用反斜线引用单个字符时,称

2016-09-15 01:53:50 903

原创 Shell 变量和选项

①:变量的概述!变量的概念介绍: 变量:一个用于存储数据的实体 ,由 变量名 和 值 两部分组成!变量名:用来引用变量的标识符 命名的规则:字母 A-z ,数字(不能为开头)0-9 ,下划线。变量值:存储在变量中的值。 值得类型:值只有一种数据类型: “字符” 。引用变量的值: $变量名 变量的默认值:创建一个新的变量,若是没有赋值,那么变量值被置为 ‘NULL’ 。操作变量: 变量有四种

2016-09-14 17:43:07 322

原创 Shell 家族-族谱

看图! shell 有 bourne shell和 c shell两大家族。1.先看bourne shell的历史:sh shell阶段: 标准化阶段,都向后兼容sh shell 2.再看看 c-shell 家族:3.各个Unix-like系统上shell程序的命名。On some Unix systems, the various shells are all installed under

2016-09-14 15:58:39 500

原创 Shell 命令的语法

如何学习一条Unix-like 命令:命令的结构组成:(1,命令本身 2,选项 3,参数 ) A good approach to learning a new command is to answer the following three questions: • What does the command do? • How do I use the options? • H

2016-09-14 12:58:54 258

原创 all I want is nothing more...

all I want is nothing more…

2016-09-06 10:25:00 463

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除