本文由jmdgm贡献
ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
重定向和管道文件
输入/输出重定向 输入 输出重定向
输入/输出重定向 输入 输出重定向
同标准I/O一样,Unix Shell对于每一 个进程预先定义3个文件描述字(0、1、 2)。 ? 分别对应于: ? 0(STDIN_FILENO):标准输入; ? 1 (STDOUT_FILENO) :标准输出; ? 2 (STDERR_FILENO) :标准出错输 出。
重定向
重定向分为: 重定向分为 输出重定向、输入重定向和错误
重定向。 < 实现输入重定向。 >或>> 实现输出重定向,用户可以使用输出重定向 或 把 一个命令的输出重定向到一个文件 1)ls –l /etc>dir 将ls命令生成的/etc目录下的一个清单存到当前目录 中的dir文件,而不在屏幕输出。 2)ls –l /usr>>dir 将ls命令生成的/usr目录的一个清单以追加的方式存 到当前目录中的dir文件中。
重定向
重定向
连接两个或多个文件 ?
使用cat命令并重定向输出到一个文件可以连接两 个或多个文件。
重定向
追加到一个文件
可以使用双重定向输出符号“>>”,保留文件以前的内容。 这种情况下,命令输出追加到另一个文件中。
重定向
重定向标准输出到一个设备 ?
除了重定向一个命令的输出到一个文件,也可以把它重定向 到一个设备,因为UNIX系统将设备当做文件。 ? $echo “Hello! I am petter!” > /dev/tty01
重定向标准输入 ?
使用“<”重定向输入。 ? 例如:用户已经创建好了一个文件letter。如果希望通过电子邮件 发送给用户petter。可以使用下面方式: ? $mail petter < letter ? $
重定向
标准错误重定向 ?
没有专门的符号用于重定向stderr。我们可以同样 使用“< ”或“>”符号,但需在它前面补一个数字2。
管道及其使用
管道
管道即将一条命令执行后产生的结果数据 通过标准输出送给后一条命令,作为该命令的 输入数据。 管道使用命令“|”将这些命令前后衔接在 |” 一起,形成一个管道线,格式为: 命令1|命令2|……|命令3 管道线中的每一条命令都作为一个单独的 进程运行,每一条命令的输出作为下一条命令 的输入。命令执行的顺序是从左至右。
管道
管道
管道经常用于过滤、修改或维护一个命
令的输出。 ? 1、用管道做过滤器 ? 很多时候不需要一个命令产生的全部 输出。这种情况下,用户可以从有命令 产生的输出中过滤想要的信息。 ? 2、用管道进行数据处理
管道
T接头 ?
是一种特殊类型的管道,与现实生活 中的T型管道接头很相似。 ? 用于重定向一个管道数据到多个地 方。 ? tee命令用于首先一个T接头功能。它从 stdin得到输入并把同样的内容写入stdout 和别的文件中。
管道
命令的间隔符
命令间隔符
一个命令行中可以若干条命令,各个命令 之间可以用下表的字符进行间隔。 ;
用“;”间隔的各命令按顺序依次执行
&& 前后命令的执行存在“逻辑与”关系,
只有&&前面的命令执行成功后,后面的 命令才被执行 前后命令的执行存在“逻辑或”关系,只 有“| |”前面的命令执行失败,后面的命令 才被执行。
||
命令间隔符(续一) 命令间隔符(续一)
当几个命令的间隔符同时出现在同一个命 令行上时,其优先级为: 1) ;的优先级最低 2) | |和&&具有相同的优先级 3) 相同优先级,按从左到右的结合原则执行 命令行 4) 使用“( )”可以组合命令行中的命令,改 “ 变执 行顺序
使用vi编辑器 使用 编辑器
编辑文件
You can change the content of text files and create new files with a text editor. PICO Text editors edit text. They do not try to
format the text like word processors. EMACSfriendly basic text editor used as A novice standard on many systems. Start with the A VIpowerful editing environment which can be command 'pico filename' programmed. It has many modes for auto A powerful editor which Start with the layout of program code. can be somewhat confusing for newcomers. It is designed for command 'emacs filename' rapid editing of text files and programming. Start with the command 'vi filename'
Vi 简介
Vi是Visual interface的简称,它是一个功 能强大的全屏幕文本编辑器,是UNIX最重要 的应用程序之一,它的作用是建立、编辑、显 示ASCII码的文本文件。 Vi没有菜单,只有命令。
注意:Vi命令并不锁住所编辑的文件,因 注意 此多个用户可能同时编辑一个文件,那 么最后保存的文件版本将被保留。
Vi 简介
键入:vi exampletext
Vi 的三种运行模式
进入 vi filename 退出 键入ZZ 键入
编辑模式
输入 i,o,a ESC键 键 : 命令以回车 结束运行
插入模式
命令模式
移动光标
命令 j 或下箭头 k 或上箭头 h 或左箭头 l 或右箭头 w W b B 0 描述 向下移动一行 向上移动一行 左移一个字符 右移一个字符 右移一个词 右移一个以空格分隔的词 左移一个词 左移一个以空格分隔的词 移到行首
移动光标(续一) 移动光标(续一)
命令 $ ( ) { } Ctrl-F Ctrl-B nG G 描述 到行尾 到句子的开头 到句子的末尾 到段落的开头 到段落的末尾 向前翻页 向后翻页 到第n 到第n行 到最后一行
插入文本
命令
i I a A o O R
描述
在当前字符前插入文本 在行首插入文本 在当前字符后添加文本 在行末添加文本 在当前行后面插入一空行 在当前行前面插入一空行 以改写方式输入文本
删除、 删除、拷贝文本
命令
x X dd d$ d0 db dG 删除光标处的字符 删除光标前面的字符 删除光标所在的整行 删除从光标所在处开始到行尾的内容 删除从光标前一个字符开始到行首的内容 删除前一个词 删除当前行一直到文件结尾 描述
文本替换命令
命令
r s R cw cc cG 描述 仍保持在命令模式替换当前字符 替换当前字符并进入插入模式 直到按下Esc键才替换多个字符 键才替换多个字符 直到按下 修改下一个词的开头 修改整个一行 从文件的最后一行开始修改
查找和替换命令
命令
/text ?text / ? n N 描述 从当前光标位置开始向前查找text 从当前光标位置开始向前查找 从当前光标位置开始向后查找text 从当前光标位置开始向后查找 向前重复前一次的查找 向后重复前一次的查找 在同一个方向重复查找 在反方向重复查找
文本查找和替换命令
命令
:s/oldtext /newtext
m,ns/oldtext /newtext :s/oldtext /newtext/g
描述 向前查找oldtext并替换成 并替换成newtext 向前查找 并替换成
行到n行向前查找 并替换成newtext 从m行到 行向前查找 行到 行向前查找oldtext并替换成 并替换成 在这个文件中查找oldtext并替换成 并替换成newtext 在这个文件中查找 并替换成 如果在/和 之间输入多个空格, 如果在 和text之间输入多个空格,只查找整个词 之间输入多个空格
/text
/^text /text$
/(多于一个单词) (多于一个单词)
只在一行的开始查找 只在一行的结尾查找 用括弧查找多个单词
剪切、 剪切、拷贝和粘贴命令
命令
yy nyy p P :ma :a, bmc :a, btc 拷贝当前行 从当前行位置开始拷贝n行 从当前行位置开始拷贝 行 在当前光标位置后粘贴拷贝的文本 在当前光标位置前粘贴拷贝的文本 移动当前行并剪贴在第a行后面 移动当前行并剪贴在第 行后面 移动第a至 行并剪贴在第 行并剪贴在第c行后面 移动第 至b行并剪贴在第 行后面 拷贝第a至 行并剪贴在第 行并剪贴在第c行后面 拷贝第 至b行并剪贴在第 行后面 描述
对vi选项的设置 选项的设置
命令
:set number
描述 在vi中为每一行设行号 中为每一行设行号 列出所有有效的选项 约束下一行使之与当前行有同样的字符数 设置当前文件为只读。 设置当前文件为只读。不保存修改 设置右侧装订线等于n. 设置右侧装订线等于 显示用户所在的“插入” 显示用户所在的“插入”、“替换一个字 替换” 符”或“替换”模式
:set all
:set autoindent :set readonly
:set wrapmargin=n
:set showmode
撤消和重做命令
如果用户对文件的修改有误,可以撤消
所做的修改。 ? 使用命令“u”命令可以撤消刚才的修改。 ? 也可以使用命令“U”重做对当前行的修 改。 ? 为了重做被撤消的内容,可以使用命令 “.”。
导入和导出文本
导入:在特定的位置上将一个磁盘文件插入编辑器。 ? 导出:打开多个文件,从一个打开的文件中拷贝文本 ? ?
? ? ?
并把它保存为磁盘上的另一个文件。 导入一个磁盘文件到编辑器: 为了插入一个磁盘文件到已打开文件的位置上,使用 命令“r filename”。其中,filename是一个用完全路径 命名的文件名。 从当前文件导出文本: 可以导入任意行使它们作为一个新文件并保存在磁盘 中。使用命令“w”。例: 5,36 w filename 表示:将文件的第5行至第36行所有的文本导出到文件 名为filename的文件。
保存文件和退出Vi 保存文件和退出
命令 ZZ : w filename :w : wq :x : wq! : q! :q 写入文件 写入文件 保存并退出 保存并退出 强制写入并退出 不保存文件, 不保存文件,直接退出 退出Vi 退出 描述 保存并退出
1
浙公网安备 33010602011771号