linux_bash的基础特性
来源:互联网 发布:声卡机架软件下载 编辑:程序博客网 时间:2024/06/06 07:25
bash的基础特性(2):
1.命令别名(alias)
通过alias命令实现
(1)alias : 显示当前shell进程所有可用的命令别名
(2)alias NAME=”VALUE”
定义别名NAME,其相当于执行命令VALUE
注:在命令行中定义的别名,仅对当前shell进程有效,若果想永久有效,要定义在配置文件中
仅对当前用户: ~/.bashrc
对所有用户有效:/etc/bashrc
bash进程重新读取配置文件:
source /path/to/config_file
2.glob(globing) linux名称通配机制
bash中用于实现文件名“通配”
通配符:*,?,[ ]
(1)*
任意长度的任意字符
a*b: aab , ab , a123b , abc(X)
(2)?
任意单个字符
a?b: aab ab(X) a12b(X)
(3)[ ]
匹配指定范围内的任意单个字符
[0~9]
[a~z]
3.bash快捷键
Ctrl+l: 相当于 clear清屏
Ctrl+a: 跳转至命令首部 Ctrl+e跳转至命令结尾处
Ctrl+c: 取消命令执行
Ctrl+u: 删除命令行首至光标所在处的所有内容
Ctrl+k: 删除光标所在处至命令行尾的所有内容
4.bash的I/O重定向及管道
程序:指令+数据
读入数据:Input
输出数据:Output
打开的文件都有一个fd: file descriptor(文件描述符)
标准输入:keyboard (文件描述符:0)(若缺省输入,则默认输入为键盘)
标准输出:monitor (文件描述符:1)(显示器)
标准错误输出:monitor 2
I/O重定向:改变标准位置
输出重定向:COMMAND > NEW_POS , COMMAND >> NEW_POS
> : 覆盖重定向,目标文件中的原有内容会被清除
>>:追加重定向,新内容会被追加至目标文件
# set -C : 禁止将内容覆盖输出至已有文件中 #set +C允许
强制覆盖:>|
2> : 覆盖重定向错误输出数据流
2>>: 追加重定向错误输出数据流
注:正确和错误为两种不同的数据流
标准输出和错误输出各自定向至不同位置:
COMMAND> /path/to/file.out 2> /path/to/error.out
合并标准输出和错误输出至同一数据流进行重定向
&>:覆盖重定向
&>>:追加重定向
COMMAND > /path/to/file.out 2> &1(功能同上)
输入重定向:<
tr字符转换命令:转换或删除字符
tr [options]... set1 [set2]
-d: 删除信息中set1这个字符串
例:tr ‘a-z’ ‘A-Z’ < /etc/fstab
管道:
COMMAND|COMMAND|...
注:最后一个命令会在当前shell的子shell进程中执行
wc:统计输出信息的整体数据
-l: 仅显示行数
-w: 仅显示单词数
cut: 将一段信息的某一段切出来
-d: 后面接分割字符,与-f一起使用
-f: 依据-d的分隔符将一段信息切割成数段,用-f取出第几段的意思
-c: 以字符(characters)的单位取出固定字符区间
例:echo $PATH | cut -d ‘:’ -f 3-5,7 //以’:’分割,取出第3,4,5,7列
sort: 排序命令
-f: 忽略大小写
-r: 反向排序
-t: 分隔符
-k: 以那个区间(field)来进行排序
-n: 使用数值大小进行排序
-u: 去重显示,相同的数据中只显示一次
例:cat /etc/passwd | sort -t ‘:’ -k 3 //以’:’来分割,以第三列进行排序
uniq: 将重复的数据仅列出一个显示
-c: 记录重复的次数
-i: 忽略大小写字符的不同
注:连续且相同为重复
cp: 复制文件或目录
cp SRC DEST: cp 源 目的
SRC是文件:
如果目标不存在,则新建DEST,并将SRC中内容填充至DEST中
如果目标不存在
如果DEST是文件,将SRC中的内容覆盖至DEST中
如果DEST是目录,在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中
cp SRC... DEST
SRC.. 多个文件
DEST必须存在,且为目录,其他情况均会出错
常用选项:
-i: 若目标文件已经存在,在覆盖时会先询问操作的进行(常用)
-r: 递归持续复制,用于目录的复制行为
-p: 连同文档的属性一起复制过去,而非使用默认属性(备份常用)
-a: 相当于-pdr
mv(移动文件与目录,或更名)
-f: force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i: 若目标文件已经存在询问是否存在
rm(删除文件或目录)
-f: 忽略不存在的文件,不会出现警告信息
-i: 交互模式,在删除前会询问用户是否操作
-r: 递归删除,最常用在目录的删除。是非常危险的参数
超简单的文本编辑器:nano
- linux_bash的基础特性
- Linux_Bash脚本基础
- bash的基础特性
- 数据结构基础-数据结构的特性
- Linux_Bash语言_if
- Linux_Bash常用脚本
- Linux_Bash指令_命令行参数
- JavaScript-需要的基础DOM特性
- 计算机电路基础半导体器件的开关特性
- 关于java基础--面向对象的特性
- 1-4 Sass的基本特性-基础
- Linux学习笔记:bash的基础特性
- 1-4 Sass的基本特性-基础
- 1-4 Sass的基本特性-基础
- C++11的新基础特性
- JAVA基础-类2-类的特性
- JAVA的特性(基础慨念)
- JAVA基础(二)·类的一些基础特性概念
- Spring集成Hibernate映射文件的4种方式
- android Sqlite insert command after,data is empty
- UILabel的相关属性设置
- POJ
- 字符串的修改与替换
- linux_bash的基础特性
- Java实现线程安全的单例模式方法
- Java编程思想重点笔记
- 一个能让你了解所有函数调用顺序的Android库
- CentOS6.5安装与配置Mysql数据库
- Java异常体系结构
- cuda nvidia driver cudnn 安装
- [BZOJ 1093][ZJOI2007]最大半连通子图(Tarjan+拓扑排序+Dp)
- 自己做工具--用原生js封装一个AJAX插件