当前位置: 首页 > Linux

bash的特点

时间:2023-04-06 04:32:01 Linux

命令行编辑Ctrl+a:将光标移至命令行开头Ctrl+e:将光标移至命令行末尾Ctrl+u:删除光标前的所有内容Ctrl+k:删除光标后的搜索用content命令别名在shell中定义的别名只在当前shell的生命周期内有效,别名的有效范围也只是当前shell进程。如果shell中的命令本身有别名,则使用COMMAND执行命令本身的功能。#aliasCOMMANDALias='COMMAND[option][argument]'(单引号最好)#alias显示系统中所有的命令别名)#unaliasCOMALIAS取消命令别名命令替换,用其执行结果替换命令中的一个子命令过程$(COMMAND),backquote:`COMMAND`#echo"Thecurrentdirectoryis$(pwd)"创建一个以当前时间命名的文件,如:file-2018-01-30-20-39.txt#touch./file-$(date+%F-%H-%M-%S).txtCommandhistoryCommandhistory可以查看命令执行历史-c:清除命令历史-dOFFSET[n]:删除命令处指定位置-d5103:从第510条记录往后一共删除3条-w:将buffer命令历史保存到历史文件中(历史文件在用户主目录的.bash_history中)命令使用的技巧历史!n:执行命令历史上第n条命令;!-n:执行命令历史中的最后第n条命令;!!:执行上一条命令;!string:执行命令历史中以指定字符串开头的最新命令;!$:引用上一条命令的最后一个参数;(或按Esc释放并按.或按Alt+。)Command&&PathCompletionCommandCompletionSearchforpossiblepathsstartingwiththestringwegiveundereachpathpointedbythePATHenvironmentvariable执行文件,在命令搜索路径,在我们给定的起始路径下搜索每个文件名,并尝试补全,在给定的起始路径下寻找bash支持的引号``:命令替换"":弱引用,可以实现变量和命令替换'':强引用,不能实现变量替换文件名globbing"*":匹配任意多个任意字符"?":匹配任意单个字符"[]":匹配指定范围[:space内的单个字符:]:空格[:punct:]:标点符号[:lower:]:小写[:upper:]:大写[:alpha:]:大写和小写[:digit:]:number[:alnum:]:数字和大写和小写字母“[^]”:匹配指定范围外的单个字符characters[[:alpha:]]*[[:space:]]*[[:alpha:]]做法:1、创建a123、cd6、c78m、c1、my、m.z、k67、8yu、789等文件;注意以上文件用逗号分隔,其他符号是文件名的一部分2.显示所有以a或m开头的文件;3、显示所有文件名包含数字的文件;4.显示所有以数字结尾且文件名不包含空格的文件;??????ls*[^[:space:]]*[0-9]5,显示文件名包含特殊符号,不是字母或数字的文件