学习shell的第二天
程序 = 指令 + 数据
命令 变量
数据输入:键盘 -- 标准输入,但是并不是唯一输入方式;
--stdin
echo "123456" | passwd --stdin "username"
./useradd.sh a
./useradd.sh b
...
./useradd.sh < user.txt
while line ; do
循环体 $line
done < /etc/passwd
数据输出: 显示器 -- 标准输出,但是并不是唯一输出方式
ls /etc/ > a.txt
0 1 2
0 -- 标准输出
1 -- 标准输入
2 -- 错误输入输出(标准错误)
1、标准输出
> 覆盖重定向、非常危险
set -C 关闭覆盖重定向功能
>| 强制重定向
>> 追加重定向
不覆盖
2、标准输入
< tr 替换文件内容
tr set1 [set2] < file.txt
<< 将多行数据同时输入
cat >>a.txt<<EOF
>1
>2
>3
>EOF
3、错误输出
2> 2>>
扩展:不需要输出内容,只需要输出状态;
ls /etc/ > /dev/null 2> /dev/null
echo $? ($?--变量:上一条命令的执行状态)
if $?等于0;么?
OK--干!
否则
不
结束
/dev/null 黑洞文件 来什么吃什么(删除)
/dev/zero 吹泡泡
&> &>> == 2&>1
ls /etc/ &> /dev/null
前一个命令的执行结果交给后一个命令来执行;
【Linux思想:结合小功能实现大功能】
free -m | grep "^Mem" | cut -d' ' -f19
free -m | grep "^Mem" | awk '{print $3}'
tee /tmp/tee.out
如果没有文件,会创建,默认如果文件存在有内容,会覆盖;
将/etc/passwd文件中的前5行内容转换为大写后保存至/tmp/passwd.out文件中;
head -5 /etc/passwd | tr [a-z] [A-Z] > /tmp/passwd.out
who | tail -3 | cut -d' ' -f1 | tr [[:lower:]] [[:upper:]] | tee /tmp/who.out
-n tail -n 5 /etc/passwd == 简写 tail -5 /etc/passwd
-f 实时查看文件更新内容
tail -f /var/log/message
head 查看文件头部多少行(默认时行)
-n # 前#行, 简写 -#
取 10 - 20 行: head -20 /etc/passwd | tail -10
tr 替换
cut 切
学习shell的第二天的更多相关文章
- 第十三章、学习 Shell Scripts
什么是 Shell scripts shell script (程序化脚本) :shell script 是针对 shell 所写的『脚本!』 shell script 是利用 shell 的功能所写 ...
- 菜鸟教程之学习Shell script笔记(上)
菜鸟教程之学习Shell script笔记 以下内容是,学习菜鸟shell教程整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-shell.ht ...
- 鸟哥的Linux私房菜——第十六章:学习Shell Scripts
视频链接:http://www.bilibili.com/video/av10565321/ 1. 什么是 Shell Script (shell写的脚本)1.1 干嘛学习 shell s ...
- (转)跟着老男孩一步步学习Shell高级编程实战
原文:http://oldboy.blog.51cto.com/2561410/1264627/ 跟着老男孩一步步学习Shell高级编程实战 原创作品,允许转载,转载时请务必以超链接形式标明文章 原 ...
- 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)
第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...
- Shell prompt(PS1) 与 Carriage Return(CR) 的关系?-- Shell十三问<第二问>
Shell prompt(PS1) 与 Carriage Return(CR) 的关系?-- Shell十三问<第二问> 当你成功登录进一个文字界面之后,大部份情形下,你会在荧幕上看到一个 ...
- 学习 shell脚本之前的基础知识
转载自:http://www.92csz.com/study/linux/12.htm 学习 shell脚本之前的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写sh ...
- Stealth视频教程学习笔记(第二章)
Stealth视频教程学习笔记(第二章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提 ...
- Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程
Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程 教程简介: 本教程共71节,主要介绍了shell的相关知识教程,如shell编程需要的基础知识储备.shell脚本概念介 ...
随机推荐
- 编译原理--02 自顶向下、自底向上的LR分析复习(清华大学出版社第3版)
前言 目录 01 文法和语言.词法分析复习 02 自顶向下.自底向上的LR分析复习 03 语法制导翻译和中间代码生成复习 04 符号表.运行时存储组织和代码优化复习 第4章 自顶向下的语法分析方法 确 ...
- DOM 事件流与事件处理程序
㈠事件流 ▶事件:是文档和浏览器窗口中发生的,特定的交互瞬间. ▶事件流:描述的是从页面中接受事件的顺序 ⑴DOM事件冒泡 定义:事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接受,然后 ...
- TTTTTTTTTTTTTT CF 95 B 构造4,7幸运数字 贪心 构造 string
B. Lucky Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- hdu 1297
Children's Queue Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- 【UOJ#228】 基础数据结构练习题
题目描述 sylvia 是一个热爱学习的女孩子,今天她想要学习数据结构技巧. 在看了一些博客学了一些姿势后,她想要找一些数据结构题来练练手.于是她的好朋友九条可怜酱给她出了一道题. 给出一个长度为 n ...
- 存储映射--mmap
存储映射 使一个磁盘文件与存储空间中的一个缓冲区相映射. 当从缓冲区中取数据,就相当于读文件中的相应字节. 将数据存入缓冲区,则相应的字节就自动写入文件. 使用这种方法,首先应通知内核,将一个指定文件 ...
- [清华集训2016]石家庄的工人阶级队伍比较坚强——三进制FWT
题目链接: [清华集训2016]石家庄的工人阶级队伍比较坚强 题目大意:有$n=3^m$个人玩石头剪刀布,共$t$轮游戏,每轮每个人要和包括自己的所有人各进行$m$次石头剪刀布.每个人在$m$轮中的决 ...
- [题解] [AHOI2009] 跳棋
题面 题解 分类讨论, 考虑到只要所有的偶数点上都有棋子, 最左边的棋子就可以跳到最右边 题目第一问让我们求最少的在白格子上必须放的棋子数(不用考虑行动中放的棋子数) 考虑到这几种情况 有不少于两个红 ...
- find命令不递归查询子目录
[root@dbrg-2 test]# find . ! -name "." -type d -prune -o -type f -name "*.jpg" ...
- Nginx-rtmp点播之业务流程分析
1. 点播的播放流程分析 1.1 ngx_rtmp_cycle 在握手结束后,即进入该函数中做进一步处理. void ngx_rtmp_cycle(ngx_rtmp_session_t *s) { n ...