Bash百宝箱
文章平均质量分 89
Bash及常用命令总结 $
会飞的代码UP
自强不息,厚德载物。
展开
-
【Bash百宝箱】与Linux关机、重启相关的几个命令
1、 syncsync:flush file system buffers。sync命令作用:刷新文件系统的缓存,将数据同步写入硬盘。执行sync命令的必要性:在计算机中,CPU所处理的数据首先要被读入内存中,而这些数据又经常要写回到硬盘上,但是硬盘的速度相对于内存来说太慢,如果数据频繁在内存与硬盘间交换,系统性能将大打折扣,所以为了加快数据的读取速度,默认情况下,某些已经加载在内存中的数据将不会直原创 2015-07-29 11:04:38 · 1684 阅读 · 1 评论 -
【Bash百宝箱】vi常用快捷命令大全
现在越来越多的智能IDE出现在工作当中,想必很少有人使用vi了吧,不过在某些场合下 ,vi还是一个必不可少的工具,其中就包括了许多好用的快捷命令,而且有些IDE如Qt还集成了vi。大家都知道,vi有三种模式:一般模式、编辑模式和指令模式,下面总结vi在这三种模式下的快捷命令。1、一般模式光标移动——h、j、k、l:作用分别与键盘左、上、下、右键一样,光标左右移动一个字符或者上下移动一行,前面可加一个原创 2015-08-17 13:20:37 · 1158 阅读 · 0 评论 -
【Bash百宝箱】Linux(Ubuntu-GNOME)桌面常用快捷方式总结
Ctrl + Q: 退出整个Nautilus窗口 Ctrl + W: 关闭当前Nautilus窗口的一个Tab Ctrl + N: 打开一个新的Nautilus窗口 Ctrl + T: 在当前Nautilus窗口打开一个新的TabCtrl + H: 切换隐藏文件(夹)显示状态 Ctrl + 1/2: 以列表方式或图标网格方式查看文件(夹) Ctrl + Shift + N: 创建新文件夹C原创 2015-09-09 21:05:26 · 3585 阅读 · 0 评论 -
【Bash百宝箱】awk
awk是一个强大的文本分析工具,从文件或管道中每次读取一行,默认以空格为分隔符把输入分割成若干字段,然后进行处理,一般格式如下:awk [OPTIONS] 'patterns{actions}' files分隔符1、“-F value”设置每行文本的分隔符为value,默认是空格。文本行被分割后的各字段由数字来访问,从1开始,0表示整行文本。如下例子中的“print”是个命令,用于输出。$ cat原创 2017-01-06 20:06:33 · 1218 阅读 · 0 评论 -
【Bash百宝箱】sed
sed是一个流编辑工具,从文件或管道中读取输入流,以行为单位,对字符串进行一定的处理后输出处理结果。sed命令基本格式如下:sed <OPTIONS> <input-files>sed -f script-file <input-files>OPTIONS为sed命令的参数,不过这些参数可以放在一个文件script-file中,通过“-f script-file”指定即可,input-files为原创 2017-01-06 12:21:07 · 1265 阅读 · 0 评论 -
【Bash百宝箱】xargs
shell命令xargs是一个实用的命令,它从标准输入读取内容,并执行指定的命令。标准输入可以被空格或换行符分隔,不指定执行的命令时默认为“/bin/echo”,只是把读到的内容打印出来,忽略空行。1、执行默认命令“echo”,忽略空行,换行符被替换为空格。$ cat 1a b cabc123$ cat 1 | xargsa b c abc 1232、使用参数“-0”,禁止特殊字符,把它们当原创 2016-12-30 13:42:57 · 1058 阅读 · 0 评论 -
【Bash百宝箱】Linux shell学习
shell特点——Linux有多种shell可以使用,默认的为bash,bash有以下几个主要特点。1、命令记忆能力在命令行中按上下键可以找到一个前/后输入的命令,这些命令记录在~/.bash_history中,这个文件记录的是上一次登录shell以前所执行过的所有命令,当前登录shell所执行的命令则暂存在临时内存中,成功注销系统后这些命令更新到文件中。历史命令可通过history命令查看,再次执原创 2015-08-21 11:49:35 · 1592 阅读 · 0 评论 -
【Bash百宝箱】shell作业控制(jobs、bg、fg)
在shell中,作业控制指选择性地停止(暂停)并在后来继续(恢复)执行某个进程的能力。通常,用户通过操作系统内核的终端驱动和bash共同提供的功能,在交互式的界面上进行作业控制。shell把每个管道和一个作业关联起来,维护着一个当前正在执行的作业表,这个表可以使用内建命令jobs列出,下面先介绍一下jobs命令的用法。jobs [-lnprs] [ jobspec ... ]jobs -x com原创 2016-09-29 17:13:18 · 2430 阅读 · 0 评论 -
【Bash百宝箱】shell命令行自动补全(compgen、complete、compopt)
在shell命令行可以使用“Tab”键自动补全命令或文件名,这种功能其实可以在shell脚本中实现,使得使用“Tab”键可以自动补全自定义的shell函数,相关命令有三个,compgen、complete和compopt。1、compgencompgen [option] [word]compgen命令根据option生成与word可能匹配的补全,并打印到标准输出中,这些选项可以是内建命令compl原创 2016-09-29 17:15:15 · 8957 阅读 · 0 评论 -
【Bash百宝箱】shell历史命令(history)
在shell命令行执行过的命令默认会保存到历史命令中,这些历史命令可以通过内建命令history和fc进行查看,下面对history命令做个介绍。 history [n] history -c history -d offset history -anrw [filename] history -p arg [arg ...]原创 2016-09-29 17:18:34 · 2021 阅读 · 0 评论 -
【Bash百宝箱】shell命令行快捷键大全
在日常工作中,许多事情要经常与电脑打交道,特别是高频率地使用一些专业性的软件,或者是玩一些键盘流性质的游戏,就应该熟知常用的快捷键,这样玩起来不仅高效,而且略显专业性。对于某些IT工作者来说,Linux的shell终端是一个经常要用到的工具,如果能够熟练使用快捷键,做起事情来且不事半功倍。下面列举一些shell终端常用的快捷键,它们一般是Shift、Ctrl、Alt键与其它按键的组合键,这些快捷键都原创 2015-07-14 20:35:18 · 5404 阅读 · 0 评论 -
【Bash百宝箱】shell环境变量有哪些
在shell中,有些环境变量如PATH、HOME、PWD等我们非常熟悉,有些则较为陌生,下面对shell现有的环境变量作个总结。CDPATH:冒号分隔的一组目录名,用作内建命令cd的搜索路径。HOME:当前用户主目录,也是内建命令cd不带参数时的目的路径,这个变量的值还用在波浪号扩展中。IFS:用来分隔字段的一组字符,例如空格、水平制表符、换行符,在shell扩展中用于分隔单词。MAIL:如果这个变原创 2016-09-28 21:25:47 · 2238 阅读 · 0 评论 -
【Bash百宝箱】shell数组
shell支持一维数组,包括普通的使用下标的索引数组和关联的键值对数组,下面以例子说明。创建一个名为foo的索引数组,三个元素a、bear、123以空格分隔放在圆括号内。$ foo=(a bear 123)查看索引数组foo的全部元素(使用特殊符号):$ echo $fooa$ echo ${foo}a$ echo ${foo[@]}a bear 123 echo ${foo[*]}a原创 2016-09-28 21:33:22 · 1017 阅读 · 0 评论 -
【Bash百宝箱】shell目录栈(dirs、pushd、popd)
在shell中,目录栈是一组最近访问过的目录,使用内建命令dirs、pushd、popd进行管理。dirs命令可以显示目录栈的内容,pushd命令可以把目录压入目录栈、更改当前目录,popd命令可以从目录栈中移除目录、更改当前目录,下面对这三个命令的用法作个介绍。1、dirsdirs [-clpv] [+n] [-n]dirs命令可以列出当前目录栈的内容,用pushd命令添加目录,popd命令删除目原创 2016-09-28 21:34:33 · 1925 阅读 · 0 评论 -
【Bash百宝箱】shell中如何进行数学运算
在shell中进行数学运算时有其特殊的语法,不同于其它编程语言,比如说加法,仅仅简单的使用一个加号+是不够的,下面是两种错误的使用方式。错误1——$ num1=3;num2=4$ sum=num1+num2$ echo $num1 $num2 $sum结果显示:3 4 num1+num2首先要注意的是,shell中变量赋值=的两边不能有空格。加法运算出错,只是把两个变量名拼起来了,有人说访问变量原创 2016-04-08 12:16:59 · 3620 阅读 · 0 评论 -
【Bash百宝箱】shell内建命令之set、shopt
1、set在shell中,内建(builtin)命令set,格式如下:set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]set命令用以改变bash默认行为,不指定任何选项和参数时,显示所有shell变量的名称及值,包括shell函数,但原创 2016-09-27 21:13:53 · 2070 阅读 · 0 评论 -
【Bash百宝箱】shell内建命令之echo、printf
1、echo在shell中,内建(builtin)命令echo,格式如下:echo [-neE] [arg ...]echo命令用于输出各参数arg,参数间以空格分隔,结尾是个换行符。选项“-n”禁止输出结尾的换行符。对于一些反斜线“\”转义的特殊字符,在echo命令中默认不进行转义,选项“-e”启用转义,“-E”禁止转义。下面是反斜线“\”转义的特殊字符。 \a原创 2016-09-23 18:01:45 · 4055 阅读 · 0 评论 -
【Bash百宝箱】shell内建命令之help、type、let、logout
1、help在shell中,内建(builtin)命令help,格式如下:help [-dms] [pattern]help命令用于显示shell内建命令的帮助信息,如果指定了模式pattern,则只显示与模式匹配的命令的帮助信息,否则显示全部内建命令的帮助信息。选项“-d”用于显示命令的一个简短描述,“-m”以man page的格式来打印命令描述,否则以默认格式打印,“-s”用于显示命令的语法格式原创 2016-09-23 18:03:34 · 1680 阅读 · 0 评论 -
【Bash百宝箱】shell内建命令之read、readarray、mapfile
1、read在shell中,内建(builtin)命令read,格式如下:read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]read命令用于从标准输入或选项”-u“指定的文件描述符中读取一行文本,把第一个单词赋值给第一个名称nam原创 2016-09-23 18:05:14 · 9869 阅读 · 0 评论 -
【Bash百宝箱】shell内建命令之bind、enable、ulimit
1、bind在shell中,内建(builtin)命令bind,格式如下:bind [-m keymap] [-lpsvPSVX]bind [-m keymap] [-q function] [-u function] [-r keyseq]bind [-m keymap] -f filenamebind [-m keymap] -x keyseq:shell-commandbind [-m原创 2016-09-23 18:06:55 · 2356 阅读 · 0 评论 -
【Bash百宝箱】shell内建命令之builtin、command、caller
1、builtin在shell中,内建(builtin)命令builtin,格式如下:builtin shell-builtin [arguments]builtin命令用以执行shell的内建命令,既然是内建命令,为什么还要以这种方式执行呢?因为shell命令执行时首先从函数开始,如果自定义了一个与内建命令同名的函数,那么就执行这个函数而非真正的内建命令。下面以shell内建命令umask为例说明原创 2016-09-22 18:18:50 · 5821 阅读 · 0 评论 -
【Bash百宝箱】shell内建命令之declare、typeset、local
1、declare(typeset)在shell中,内建(builtin)命令declare与typeset用法相同,格式如下:declare [-aAfFgilnrtux] [-p] [name[=value] ...]typeset [-aAfFgilnrtux] [-p] [name[=value] ...]declare命令用于声明变量,可以给变量设置属性。如果没有指定name,则显示相应原创 2016-09-22 18:20:16 · 7890 阅读 · 0 评论 -
【Bash百宝箱】shell内建命令之test
在shell中,内建(builtin)命令test,格式如下:test expr[ expr ]test命令用于测试条件表达式expr的结果,为true时返回0,为false时返回1,每个运算符和操作数都是一个独立的参数。对条件表达式测试时使用一对方括号也是可以的,效果等同于test命令。test命令支持以下4种运算符(运算符优先级从高到低):! expr 如果expr为false,返回tr原创 2016-09-21 20:00:18 · 1402 阅读 · 0 评论 -
【Bash百宝箱】shell内建命令之trap
在shell中,内建(builtin)命令trap,格式如下:trap [-lp] [[arg] sigspec ...]trap命令用于跟踪Linux信号,当shell收到信号sigspec时,就会读取命令arg并执行它。首先,看一下Linux有哪些信号。$ trap -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6原创 2016-09-21 20:03:03 · 2621 阅读 · 0 评论 -
【Bash百宝箱】shell内建命令之alias与unalias
1、alias在shell中,内建(builtin)命令alias,格式如下:alias [-p] [name[=value] ...]alias命令用于给一个shell命令建立一个别名,主要用于简化命令,比如说有一个经常要用到的复杂命令,如果每次在使用时都输入这个命令,就显得繁琐了,这时可使用alias给这个命令创建一个简单的别名,然后直接使用这个别名就方便多了。alias命令不指定任何参数或使用原创 2016-09-21 20:04:36 · 2094 阅读 · 0 评论 -
【Bash百宝箱】shell内建命令之times、umask、unset
1、times在shell中,内建(builtin)命令times,格式如下:timestimes命令用于显示shell及其子进程所使用的累积用户时间和系统时间,退出状态为0。times命令用例如下(启动一个新的shell终端开始执行):$ times0m0.024s 0m0.004s0m0.000s 0m0.000s$ times0m0.024s 0m0.004s0m0.000s 0m0原创 2016-09-20 21:05:08 · 1871 阅读 · 1 评论 -
【Bash百宝箱】shell内建命令之pwd、readonly、return、shift
1、pwd在shell中,内建(builtin)命令pwd,格式如下:pwd [-LP]pwd命令用于打印当前工作目录的绝对路径,选项“-L”表示路径可能包含符号链接,选项“-P”表示路径为物理路径,不包含符号链接,不指定任何选项时,默认效果同选项“-L”。成功执行时,pwd命令的退出状态为0。2、readonly在shell中,内建(builtin)命令readonly,格式如下:readonly原创 2016-09-20 21:03:25 · 2183 阅读 · 1 评论 -
【Bash百宝箱】shell内建命令之hash
在shell中,内建(builtin)命令hash,格式如下:hash [-lr] [-p filename] [-dt] [name]hash命令的作用是在环境变量PATH中搜索命令name的完整路径并记住它,这样以后再次执行相同的命令时,就不必搜索其完整路径了,而且shell每次执行环境变量PATH中的一个命令时,hash都会记住它。当hash不指定任何参数时,显示当前hash列表,包括每个命令原创 2016-09-20 21:01:40 · 7903 阅读 · 1 评论 -
【Bash百宝箱】shell内建命令之cd、getopts
1、cd在shell中,内建(builtin)命令cd,格式如下:cd [-L | -P] [dir]cd命令用于改变当前工作目录,新的工作目录为dir,如果没有指定dir,则使用shell系统变量“HOME”的值,参数“-L”表示不跟踪符号链接,如果dir是一个符号链接的目录,结果便是dir本身,“-P”表示物理链接即跟踪符号链接,如果dir是一个符号链接的目录,结果则是dir指向的实际物理目录,原创 2016-09-19 20:38:31 · 1252 阅读 · 1 评论 -
【Bash百宝箱】shell内建命令之eval、exec、exit、export
1、eval在shell中,内建(builtin)命令eval,格式如下:eval [arg ...]eval命令首先读取其参数值,然后把它们连接成一个命令并执行这个命令,这个命令的退出状态即eval的退出状态,如果没有指定参数,其退出状态为0。在简单命令的场景中,eval并没有什么特殊之处,如下例子:$ foo="uname"$ unameLinux$ $fooLinux但是,遇到复杂命令原创 2016-09-19 20:34:35 · 8967 阅读 · 1 评论 -
【Bash百宝箱】shell内建命令之break与continue
1、break在shell中,内建(builtin)命令break,格式如下:break [n]break命令用于退出for、while、until、select循环,循环可嵌套多层,可指定退出循环的层数n,这个值大于等于1,不指定时,默认为1,即退出当前循环。当n小于1时,命令出错,“loop count out of range”,退出状态为1,否则退出指定的循环嵌套层数,命令退出状态为0,若n原创 2016-09-19 20:32:43 · 1499 阅读 · 1 评论 -
【Bash百宝箱】shell内建命令之句点与source
在shell中,内建(builtin)命令句点“.”和source用法相同,格式如下:. filename [arguments]source filename [arguments]句点命令和source的作用相同,都是从脚本filename中读取命令并执行它们,若指定了参数arguments,参数便成为对应的位置参数。命令执行的退出状态为执行的最后一个命令的退出状态,没有执行任何命令时,退出状原创 2016-09-19 20:30:28 · 1620 阅读 · 1 评论 -
【Bash百宝箱】shell内建命令之冒号
在shell中,冒号“:”是一个内建(builtin)命令,格式如下:: [arguments]冒号命令本身没什么副作用,使用场景有限,一般用于参数扩展,有以下几种用法:${parameter:-word} 如果parameter没有设置或者为空,替换为word;否则替换为parameter的值。${parameter:+word} 如果parameter没有设置或者为空,不进行任何替原创 2016-09-19 20:29:14 · 6342 阅读 · 2 评论 -
【Bash百宝箱】shell重定向
在shell中,可以对输入、输出进行重定向,顺序从左到右。Linux有三个特殊的文件描述符,分别是标准输入、标准输出和标准错误输出,对应于“/dev/stdin”、“/dev/stdout”、和“/dev/stderr”,也即“/dev/fd/0”、“/dev/fd/1”和“/dev/fd/2”。在shell重定向中,常对这三个文件描述进行操作。1、输入重定向输入重定向的基本格式为:[n]<word原创 2016-09-16 16:21:53 · 935 阅读 · 1 评论 -
【Bash百宝箱】shell变量及扩展
1、shell变量shell变量赋值语句为”name=[value]“,等号两边不能有空格,可以给shell变量追加内容”name+=value“,取消shell变量的设置使用”unset name”,例子如下。$ var=1$ echo $var1$ var=123$ echo $var123$ var+=100$ echo $var123100$ var=a$ echo $v原创 2016-09-15 06:15:58 · 2709 阅读 · 1 评论 -
【Bash百宝箱】协作进程coproc
shell中的协作进程coprocess是指一个shell命令的前面添加了coproc关键字的情形,这个命令是在子shell中异步执行的,就好像在命令的末尾使用了后台命令控制符“&”一样,不同的是,协作进程与其父进程间有双向的管道,提供了一种便利的通信途径。 协作进程命令格式如下:coproc [NAME] command [redirections]上述命令用于创建一个名为NAME的协作进程,如原创 2016-09-14 09:29:25 · 2940 阅读 · 2 评论 -
【Bash百宝箱】shell函数
1、基本格式shell函数的格式如下:name () compound-command [redirection]function name [()] compound-command [redirection]shell函数实际上就是一个简单的shell命令,在当前shell执行,它代表了一组复合命令compound-command即函数体,函数体一般放在一对花括号中。关键字function可有原创 2016-09-14 09:34:18 · 1305 阅读 · 1 评论 -
【Bash百宝箱】shell命令
1、简单命令简单命令即命令本身,只有一个命令,有些命令有一个或多个参数,它们以空格分隔。2、多个命令执行多个命令最简单的方法是使用分号“;”把它们分隔开来,效果是所有的命令会依次执行,即使前面的命令执行失败了,后面的命令也会继续执行,不同于下面介绍的队列命令。退出状态为执行的最后一个命令的退出状态。3、队列命令队列命令使用符号”&&“、”||“,在c/c++中,它们也叫短路运算符,前者称为逻辑与,当原创 2016-09-10 07:47:28 · 1164 阅读 · 1 评论 -
【Bash百宝箱】Bash简介
1、shell在Unix/Linux操作系统中,shell俗称壳,区别于kernel内核。shell有双重功能,一方面,shell是一个命令解释器,用于处理shell内置的命令或者用户自定义的命令,可以在shell终端与用户交互,等待用户输入一个命令或者一串命令,然后以用户指定的方式执行命令;另一方面,shell是一种程序设计语言,更确切地说是一种脚本语言,一种解释型语言,类似于Python,有内置原创 2016-09-10 07:36:46 · 1232 阅读 · 2 评论