Linux命令行教程:文件系统操作与shell探索

需积分: 11 8 下载量 13 浏览量 更新于2024-08-08 收藏 1.78MB PDF 举报
"《任何字符-numerical optimization 2nd》是关于数值优化的英文书籍,高清版。在正则表达式中,圆点字符(.)用于匹配任意单个字符。例如,`.zip`会匹配任何包含'.zip'序列的位置,但不会匹配只有三个字符的'zip'。此外,该资源还提及了Linux命令行的使用,包括shell、文件系统的导航、操作系统的基本操作以及文件和目录的操作等。" 在《快乐的Linux命令行》中,作者提供了对Linux shell的全面介绍,包括终端仿真器、命令历史、光标移动、命令执行、工作目录管理、文件系统结构、文件类型识别、文件内容查看(如通过less命令)、文件和目录的操作(如mkdir、cp、mv、rm、ln等)以及命令的使用和识别。这本书适合对命令行感兴趣的读者,无论新手还是经验丰富的用户,都能从中学习到丰富的知识。 在正则表达式的上下文中,圆点字符(.)是一个重要的概念。它能匹配除了换行符之外的任何单个字符,因此在搜索时,`.zip`将匹配像`bunzip2`或`unzip`这样的单词,只要它们中间包含一个字符。这在处理文本数据、日志文件或者进行文本模式匹配时非常有用。 Linux命令行是一个强大的工具,它允许用户通过键盘直接与操作系统交互。通过学习和掌握各种shell命令,用户可以高效地进行文件管理、系统监控、程序执行等任务。例如,`ls`命令用于列出目录内容,`cd`用于改变当前工作目录,`mkdir`用于创建新目录,`cp`和`mv`用于复制和移动文件或目录,而`rm`用于删除文件和目录。`ln`命令则用于创建链接,包括硬链接和符号链接,它们在文件系统中提供了不同的引用方式。 在实际操作中,了解如何正确使用这些命令及其选项至关重要。例如,`cp`和`mv`命令通常可以接受选项来指定是否递归处理子目录,或者是否覆盖已存在的目标文件。`rm`命令的`-i`选项可以提示用户确认删除操作,以避免误删重要文件。而`type`命令则可以帮助用户确定命令是内置的shell命令还是外部可执行程序,这对于理解命令的工作原理和定位问题非常有用。 理解和掌握这些基本的Linux命令行知识,不仅能提高日常的系统管理效率,也是成为熟练的Linux用户的基础。无论是进行简单的文件操作,还是进行复杂的自动化脚本编写,这些技能都是必不可少的。

ind = find(desc<0); stepmax = min(-(SigmaNew(ind))./desc(ind)); deltmax = stepmax; if isempty(stepmax) || stepmax==0 Sigma = SigmaNew; return end if stepmax > 0.1 stepmax=0.1; end %----------------------------------------------------- % Projected gradient %----------------------------------------------------- while costmax<costmin [costmax, S] = costgraph(KH,stepmax,desc,SigmaNew); if costmax<costmin costmin = costmax; SigmaNew = SigmaNew + stepmax * desc; %------------------------------- % Numerical cleaning %------------------------------- % SigmaNew(find(abs(SigmaNew<option.numericalprecision)))=0; % SigmaNew=SigmaNew/sum(SigmaNew); % SigmaNew =SigmaP; % project descent direction in the new admissible cone % keep the same direction of descent while cost decrease %desc = desc .* ( (SigmaNew>0) | (desc>0) ) ; desc = desc .* ( (SigmaNew>option.numericalprecision)|(desc>0)); desc(coord) = - sum(desc([[1:coord-1] [coord+1:end]])); ind = find(desc<0); if ~isempty(ind) stepmax = min(-(SigmaNew(ind))./desc(ind)); deltmax = stepmax; costmax = 0; else stepmax = 0; deltmax = 0; end end end %----------------------------------------------------- % Linesearch %----------------------------------------------------- Step = [stepmin stepmax]; Cost = [costmin costmax]; [val,coord] = min(Cost); % optimization of stepsize by golden search while (stepmax-stepmin)>option.goldensearch_deltmax*(abs(deltmax)) && stepmax > eps stepmedr = stepmin+(stepmax-stepmin)/gold; stepmedl = stepmin+(stepmedr-stepmin)/gold; [costmedr, S1] = costgraph(KH,stepmedr,desc,SigmaNew); [costmedl, S2] = costgraph(KH,stepmedl,desc,SigmaNew); Step = [stepmin stepmedl stepmedr stepmax]; Cost = [costmin costmedl costmedr costmax]; [val,coord] = min(Cost); switch coord case 1 stepmax = stepmedl; costmax = costmedl; S = S2; case 2 stepmax = stepmedr; costmax = costmedr; S = S2; case 3 stepmin = stepmedl; costmin = costmedl; S = S2; case 4 stepmin = stepmedr; costmin = costmedr; S = S1; end end %--------------------------------- % Final Updates %--------------------------------- CostNew = Cost(coord); step = Step(coord); % Sigma update if CostNew < CostOld SigmaNew = SigmaNew + step * desc; end Sigma = SigmaNew;

2023-05-25 上传