bash及其特性:
- 光标跳转:
Ctrl+a:跳到命令行首
+e:行尾
+u:删除光标至命令行首的内容
+k:删除光标至命令行尾的内容
+l:清屏 clear
- 命令历史:
查看命令历史:history
-c : 清空命令历史
-d OFFSET [n] :删除指定位置的命令
-w:保存历史命令至历史文件中
命令历史的使用技巧:
!n:执行命令历史中第n条命令
!-n:执行命令历史中倒数第n条命令
!!:执行上一个命令
! string:执行命令历史中最近一个以string开头的命令
! $应用上个命令的最后 一个参数;ESC, . 及 Alt+.(本地)
Tab
- 命令补全:Tab(命令搜索路径下)
- 路径补全全:Tab
环境变量:
PATH:命令搜索路径
HISTSIZE:命令历史缓冲区大小
命令别名:
alias:在shell中定义的别名仅在当前shell的生命周期中有效,有效范围为当前shell进程;
alias的基本使用方法为:alias COMMANDS=‘COMMANDS [option] [ arguments]’
$ cls
-sh: cls: command not found
$ alias cls=clear
- 撤销命令别名,可以使用unalias命令
$ cls
-sh: cls: command not found
$ alias cls=clear
$ unalias cls
$ cls
-sh: cls: command not found
命令替换:
把命令中的某个子命令替换为执行结果的过程
格式为:
$(COMMAND)或COMMAND
(反引号)
例子1:
$ echo "The current directory is $(pwd)"
The current directory is /umac/ht1T/home//ywu
$ pwd
/umac/ht1T/home//ywu
例2:date +%F命令可以查看今天的日期,我们若想建一个新文件,以今天的日期命名,则可以使用以下命令:
$ date +%F-%H-%M
2018-10-11-13-12
$ touch ./file-$(date +%F-%H-%M).txt
$ ls
a -aaa- file-2018-10-11-13-13.txt readme.txt sort.test.save testtouch tmp wy
- bash支持的引号:
:命令替换
" ":弱引用,可以实现变量替换
' ':强引号,不完全变量替换
文件名通配:
用法:
*:匹配任意长度的任意字符;(可以为零)
?:匹配任意单个字符;
[]:匹配指定范围内的任意单个字符;
[^]:匹配指定范围外的任意单个字符;
[::]:中括号和冒号中间加某些字母,可以表示某个范围的字符,外面再加一个中括号可表示匹配;
[[:space:]]:空白字符;
[[:punct:]]:标点符号;
[[:lower:]]:小写字母;
[[:upper:]]:大写字母;
[[:alpha:]]:大小写字母;
[[:digit:]]:数字;
[[:alnum:]]:数字和大小写字母;
[^[:space:]]:取非空白字符;
- 小练习:
$ touch a123 abc xyz x12 xyz123
$ ls
a123 abc x12 xyz xyz123
$ ls a*
a123 abc
$ ls a*3
a123
$ ls *y*
xyz xyz123
$ touch y123
$ ls *y*
xyz xyz123 y123
$ ls ?y*
xyz xyz123
$ ls [a-z]*[0-9]
a123 x12 xyz123 y123
$ ls [^0-9]*
a123 abc x12 xyz xyz123 y123
友情阅读推荐:
生信技能树公益视频合辑:学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!
请猛戳下面链接:
B站链接:https://m.bilibili.com/space/338686099
YouTube链接:https://m.youtube.com/channel/UC67sImqK7V8tSWHMG8azIVA/playlists
生信工程师入门最佳指南:https://mp.weixin.qq.com/s/vaX4ttaLIa19MefD86WfUA
网友评论