2017-7-11 使用bash,标准输入输出和管道
来源:互联网 发布:计算机算法基础 余祥宣 编辑:程序博客网 时间:2024/06/04 20:09
1.命令行快捷方式
1)文件globbing
*:匹配零或多个任意字符
?:匹配任何当个字符
[0-9]:代表一个区间中任意一个数字 [a-z][A-Z]
[abc]:匹配列表中任何字符
[^abc]:匹配任何除了列表中的字符
2)Tab键
在命令行按下Tab键 对于一个命令名称可以补齐命令 对于一个参数可以补齐文件名
3)历史记录
bash保存了你曾经输入过的命令的历史记录,他可以用来重复执行命令
命令:history 查看命令的历史记录
[root@localhost dir1]# history
1 ping 172.24.254.254
2 shutdown -h now
3 config
4 ifconfig
5 ifconfig eth0
6 ifconfig eth1
扩展:!+历史记录的行号 可以执行该命令
!+命令起始几个字符 可以倒叙查看最近的一条符合的命令
用上下键来滚动之前的命令
ctrl+r 在历史记录中查找一条命令
(reverse-i-search)`bash': vim ./.bash_history
Esc,.(先按再按)和Alt+.(同时按住) 可以调用之前命令的参数
4)波浪符
可以指向你的用户主目录
[root@localhost dir1]# cd ~
[root@localhost ~]# pwd
/root
也可以指向其他用户的主目录
[root@localhost ~]# cd ~pwk
[root@localhost pwk]# pwd
/home/pwk
2.命令行扩展:
Ctrl+a (abc..xyz)移到行首
Ctrl+e (end)移到行尾
Ctrl+u(undo) 删除光标之前的命令
Ctrl+k (kill)删除光标以后的命令
Ctrl+f (forward)向右走
Ctrl+b (backward)向左走
3.终端一些操作技巧
Ctrl+shift+t创建一个新的终端卡片夹
Ctrl+shift+c 复制选定的内容
Ctrl+shift+v 粘贴拷贝的内容
Alt+数字 切换终端窗口
4.标准输入输出和管道
1)标准输入输出
标准输入(STDIN)缺省为键盘
标准输出(STDOUT)默认为终端窗口
标准错误(STDERR)默认为终端窗口
2)重定向
格式:命令 操作 文件名
>(1>) 重定向标准输出到文件
[root@localhost pwk]# ls -l /etc/passwd >/tmp/test.txt
[root@localhost pwk]# cat /tmp/test.txt
-rw-r--r--. 1 root root 1861 Jul 11 11:09 /etc/passwd
[root@localhost pwk]#
2> 重定向标准错误到文件
[root@localhost pwk]# ls -l /etc/aslkdjahf 2>/tmp/test1.txt
[root@localhost pwk]# cat /tmp/test1.txt
ls: cannot access /etc/aslkdjahf: No such file or directory
&>重定向所有输出到文件
[root@localhost pwk]# ls -l /etc/passwd /etc/aslkdjahf &>/tmp/test3.txt
[root@localhost pwk]# cat /tmp/test3.txt
ls: cannot access /etc/aslkdjahf: No such file or directory
-rw-r--r--. 1 root root 1861 Jul 11 11:09 /etc/passwd
>会覆盖内容
[root@localhost pwk]# ls -l /etc/passwd >/tmp/test3.txt
[root@localhost pwk]# cat /tmp/test3.txt
-rw-r--r--. 1 root root 1861 Jul 11 11:09 /etc/passwd
>>用在追加 错误输出追加2>>
[root@localhost pwk]# ls -l /etc/group >>/tmp/test3.txt
[root@localhost pwk]# cat /tmp/test3.txt
-rw-r--r--. 1 root root 1861 Jul 11 11:09 /etc/passwd
-rw-r--r--. 1 root root 901 Jul 11 11:09 /etc/group
执行顺序:
②ls -l /etc/passwd;③>;①/tmp/test3.txt
让另一个终端显示结果
一个终端:
[root@localhost ~]# ls -l /etc/passwd >/dev/pts/1
另一个终端:
[student@localhost ~]$ tty
/dev/pts/1
[student@localhost ~]$ -rw-r--r--. 1 root root 1861 Jul 11 11:09 /etc/passwd
3)管道符 |
command1|command2|command3....
发送command1的标准输出给command2的标准输入 标准错误不会通过管道传递
查看命令:more 回车走一行 空格走一页 但是不能回退
more /etc/passwd
less 可用/查找 跟vim编辑差不多的命令很方便
筛选命令 grep
[student@localhost ~]$ less /etc/passwd |grep pwk
pwk:x:500:500::/home/pwk:/bin/bash
过滤分词是要给他们加单引号 grep’inet add’
5.命令行扩展 命令行和括号集
命令扩展 &()或‘’
编写sh文件:
[root@localhost ~]# vim welcome.sh
1 echo "Today is :$(date +%Y+%m+%d)"
2 echo "Welcome to $(hostname)"
3 echo "You are in the $(pwd)"
4 echo "Nice to meet you -->$(whoami)"
[root@localhost ~]# chmod a+x welcome.sh
[root@localhost ~]# ./welcome.sh
Today is :2017+07+11
Welcome to localhost.localdomain
You are in the /root
Nice to meet you -->root
括号的使用{}
①[root@localhost ~]# touch {a,b}_{1,2}.txt
[root@localhost ~]# ls [ab]*.txt
a_1.txt a_2.txt b_1.txt b_2.txt
②复制可省略前面相同的名称
[root@localhost etc]# cp /etc/passwd{,:0000}
[root@localhost etc]# ls passwd:0000
passwd:0000
- 2017-7-11 使用bash,标准输入输出和管道
- 标准输入输出及管道
- 利用管道重定向标准输入输出流
- Python使用管道(pipe)协同标准输入输出流使程序通信
- linux shell bash使用管道|和read结合时问题解决
- 标准输入输出和重定向输入输出
- Linux C 管道的应用(标准输入输出)
- 管道重定向之重定向标准输入输出句柄
- Linux--标准输入输出、重定向及管道运用
- VC使用管道重定向进程输入输出
- 标准I/O和管道
- 第三章 输入输出重定向和管道
- 11-输入输出重定向及管道
- 标准输入输出
- 标准输入输出
- 标准输入输出
- 标准输入输出
- 标准输入输出
- 中企动力主动求变 “管家服务”护航企业级市场
- .gitignore
- js排序算法
- 如何写出健壮的JAVA程序的一些心得。
- 《TP5.0学习笔记---配置篇》
- 2017-7-11 使用bash,标准输入输出和管道
- Java JDK和SDK
- 真机调试时部分日志丢失(魅族)
- 手机网络连接状态
- 讨论构造函数的N种调用情况的问题
- Thrift API for Python(依照源码整理)【未整理完成,暂时搁置】
- ES6
- 该条只用于测试,请忽略,谢谢
- Python II