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.bashI/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

 

 


0 0
原创粉丝点击