没有合适的资源?快使用搜索试试~ 我知道了~
Bash notes for professionals
需积分: 8 2 下载量 83 浏览量
2018-01-26
11:59:13
上传
评论
收藏 1.6MB PDF 举报
温馨提示
This Bash Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow. Text content is released under Creative Commons BY-SA, see credits at the end of this book whom contributed to the various chapters. Images may be copyright of their respective owners unless otherwise specified
资源推荐
资源详情
资源评论
















Bash
Notes for Professionals
Bash
Notes for Professionals
GoalKicker.com
Free Programming Books
Disclaimer
This is an unocial free book created for educational purposes and is
not aliated with ocial Bash group(s) or company(s).
All trademarks and registered trademarks are
the property of their respective owners
100+ pages
of professional hints and tricks

Contents
About 1 ...................................................................................................................................................................................
Chapter 1: Getting started with Bash 2 .................................................................................................................
Section 1.1: Hello World 2 .................................................................................................................................................
Section 1.2: Hello World Using Variables 4 .....................................................................................................................
Section 1.3: Hello World with User Input 4 ......................................................................................................................
Section 1.4: Importance of Quoting in Strings 5 ............................................................................................................
Section 1.5: Viewing information for Bash built-ins 6 ....................................................................................................
Section 1.6: Hello World in "Debug" mode 6 ..................................................................................................................
Section 1.7: Handling Named Arguments 7 ....................................................................................................................
Chapter 2: Script shebang 8 ........................................................................................................................................
Section 2.1: Env shebang 8 ..............................................................................................................................................
Section 2.2: Direct shebang 8 ..........................................................................................................................................
Section 2.3: Other shebangs 8 ........................................................................................................................................
Chapter 3: Navigating directories 10 ......................................................................................................................
Section 3.1: Absolute vs relative directories 10 ..............................................................................................................
Section 3.2: Change to the last directory 10 ..................................................................................................................
Section 3.3: Change to the home directory 10 ..............................................................................................................
Section 3.4: Change to the Directory of the Script 10 ..................................................................................................
Chapter 4: Listing Files 12 ............................................................................................................................................
Section 4.1: List Files in a Long Listing Format 12 .........................................................................................................
Section 4.2: List the Ten Most Recently Modified Files 13 ............................................................................................
Section 4.3: List All Files Including Dotfiles 13 ................................................................................................................
Section 4.4: List Files Without Using `ls` 13 .....................................................................................................................
Section 4.5: List Files 14 ...................................................................................................................................................
Section 4.6: List Files in a Tree-Like Format 14 .............................................................................................................
Section 4.7: List Files Sorted by Size 14 ..........................................................................................................................
Chapter 5: Using cat 16 ..................................................................................................................................................
Section 5.1: Concatenate files 16 .....................................................................................................................................
Section 5.2: Printing the Contents of a File 16 ...............................................................................................................
Section 5.3: Write to a file 17 ...........................................................................................................................................
Section 5.4: Show non printable characters 17 .............................................................................................................
Section 5.5: Read from standard input 18 .....................................................................................................................
Section 5.6: Display line numbers with output 18 .........................................................................................................
Section 5.7: Concatenate gzipped files 18 .....................................................................................................................
Chapter 6: Grep 20 ...........................................................................................................................................................
Section 6.1: How to search a file for a pattern 20 .........................................................................................................
Chapter 7: Aliasing 21 .....................................................................................................................................................
Section 7.1: Bypass an alias 21 ........................................................................................................................................
Section 7.2: Create an Alias 21 ........................................................................................................................................
Section 7.3: Remove an alias 21 .....................................................................................................................................
Section 7.4: The BASH_ALIASES is an internal bash assoc array 22 ..........................................................................
Section 7.5: Expand alias 22 ............................................................................................................................................
Section 7.6: List all Aliases 22 ..........................................................................................................................................
Chapter 8: Jobs and Processes 23 ...........................................................................................................................
Section 8.1: Job handling 23 ............................................................................................................................................
Section 8.2: Check which process running on specific port 25 ....................................................................................

Section 8.3: Disowning background job 25 ....................................................................................................................
Section 8.4: List Current Jobs 25 .....................................................................................................................................
Section 8.5: Finding information about a running process 25 .....................................................................................
Section 8.6: List all processes 26 .....................................................................................................................................
Chapter 9: Redirection 27 .............................................................................................................................................
Section 9.1: Redirecting standard output 27 ..................................................................................................................
Section 9.2: Append vs Truncate 27 ...............................................................................................................................
Section 9.3: Redirecting both STDOUT and STDERR 28 ..............................................................................................
Section 9.4: Using named pipes 28 .................................................................................................................................
Section 9.5: Redirection to network addresses 30 ........................................................................................................
Section 9.6: Print error messages to stderr 30 ..............................................................................................................
Section 9.7: Redirecting multiple commands to the same file 31 ...............................................................................
Section 9.8: Redirecting STDIN 31 ..................................................................................................................................
Section 9.9: Redirecting STDERR 32 ...............................................................................................................................
Section 9.10: STDIN, STDOUT and STDERR explained 32 ............................................................................................
Chapter 10: Control Structures 34 ............................................................................................................................
Section 10.1: Conditional execution of command lists 34 .............................................................................................
Section 10.2: If statement 35 ............................................................................................................................................
Section 10.3: Looping over an array 36 ..........................................................................................................................
Section 10.4: Using For Loop to List Iterate Over Numbers 37 ....................................................................................
Section 10.5: continue and break 37 ...............................................................................................................................
Section 10.6: Loop break 37 .............................................................................................................................................
Section 10.7: While Loop 38 .............................................................................................................................................
Section 10.8: For Loop with C-style syntax 39 ...............................................................................................................
Section 10.9: Until Loop 39 ...............................................................................................................................................
Section 10.10: Switch statement with case 39 ................................................................................................................
Section 10.11: For Loop without a list-of-words parameter 40 .....................................................................................
Chapter 11: true, false and : commands 41 ..........................................................................................................
Section 11.1: Infinite Loop 41 .............................................................................................................................................
Section 11.2: Function Return 41 ......................................................................................................................................
Section 11.3: Code that will always/never be executed 41 ...........................................................................................
Chapter 12: Arrays 42 ......................................................................................................................................................
Section 12.1: Array Assignments 42 .................................................................................................................................
Section 12.2: Accessing Array Elements 43 ....................................................................................................................
Section 12.3: Array Modification 43 .................................................................................................................................
Section 12.4: Array Iteration 44 .......................................................................................................................................
Section 12.5: Array Length 45 ..........................................................................................................................................
Section 12.6: Associative Arrays 45 .................................................................................................................................
Section 12.7: Looping through an array 46 ....................................................................................................................
Section 12.8: Destroy, Delete, or Unset an Array 47 .....................................................................................................
Section 12.9: Array from string 47 ...................................................................................................................................
Section 12.10: List of initialized indexes 47 ......................................................................................................................
Section 12.11: Reading an entire file into an array 48 ....................................................................................................
Section 12.12: Array insert function 48 ............................................................................................................................
Chapter 13: Associative arrays 50 ............................................................................................................................
Section 13.1: Examining assoc arrays 50 ........................................................................................................................
Chapter 14: Functions 52 ...............................................................................................................................................
Section 14.1: Functions with arguments 52 .....................................................................................................................
Section 14.2: Simple Function 53 .....................................................................................................................................
Section 14.3: Handling flags and optional parameters 53 ...........................................................................................

Section 14.4: Print the function definition 54 ..................................................................................................................
Section 14.5: A function that accepts named parameters 54 ......................................................................................
Section 14.6: Return value from a function 55 ...............................................................................................................
Section 14.7: The exit code of a function is the exit code of its last command 55 .....................................................
Chapter 15: Bash Parameter Expansion 57 ..........................................................................................................
Section 15.1: Modifying the case of alphabetic characters 57 .....................................................................................
Section 15.2: Length of parameter 57 ............................................................................................................................
Section 15.3: Replace pattern in string 58 ......................................................................................................................
Section 15.4: Substrings and subarrays 59 ....................................................................................................................
Section 15.5: Delete a pattern from the beginning of a string 60 ................................................................................
Section 15.6: Parameter indirection 61 ...........................................................................................................................
Section 15.7: Parameter expansion and filenames 61 ..................................................................................................
Section 15.8: Default value substitution 62 .....................................................................................................................
Section 15.9: Delete a pattern from the end of a string 62 ..........................................................................................
Section 15.10: Munging during expansion 63 .................................................................................................................
Section 15.11: Error if variable is empty or unset 64 ......................................................................................................
Chapter 16: Copying (cp) 65 .........................................................................................................................................
Section 16.1: Copy a single file 65 ....................................................................................................................................
Section 16.2: Copy folders 65 ...........................................................................................................................................
Chapter 17: Find 66 ...........................................................................................................................................................
Section 17.1: Searching for a file by name or extension 66 ..........................................................................................
Section 17.2: Executing commands against a found file 66 .........................................................................................
Section 17.3: Finding file by access / modification time 67 ..........................................................................................
Section 17.4: Finding files according to size 68 ..............................................................................................................
Section 17.5: Filter the path 69 .........................................................................................................................................
Section 17.6: Finding files by type 70 ..............................................................................................................................
Section 17.7: Finding files by specific extension 70 ........................................................................................................
Chapter 18: Using sort 71 ..............................................................................................................................................
Section 18.1: Sort command output 71 ...........................................................................................................................
Section 18.2: Make output unique 71 ..............................................................................................................................
Section 18.3: Numeric sort 71 ..........................................................................................................................................
Section 18.4: Sort by keys 72 ...........................................................................................................................................
Chapter 19: Sourcing 74 .................................................................................................................................................
Section 19.1: Sourcing a file 74 .........................................................................................................................................
Section 19.2: Sourcing a virtual environment 74 ...........................................................................................................
Chapter 20: Here documents and here strings 76 ...........................................................................................
Section 20.1: Execute command with here document 76 .............................................................................................
Section 20.2: Indenting here documents 76 ..................................................................................................................
Section 20.3: Create a file 77 ...........................................................................................................................................
Section 20.4: Here strings 77 ...........................................................................................................................................
Section 20.5: Run several commands with sudo 78 .....................................................................................................
Section 20.6: Limit Strings 78 ..........................................................................................................................................
Chapter 21: Quoting 80 ...................................................................................................................................................
Section 21.1: Double quotes for variable and command substitution 80 ....................................................................
Section 21.2: Dierence between double quote and single quote 80 .........................................................................
Section 21.3: Newlines and control characters 81 .........................................................................................................
Section 21.4: Quoting literal text 81 .................................................................................................................................
Chapter 22: Conditional Expressions 83 ................................................................................................................
Section 22.1: File type tests 83 .........................................................................................................................................

Section 22.2: String comparison and matching 83 .......................................................................................................
Section 22.3: Test on exit status of a command 85 ......................................................................................................
Section 22.4: One liner test 85 .........................................................................................................................................
Section 22.5: File comparison 85 ....................................................................................................................................
Section 22.6: File access tests 86 ....................................................................................................................................
Section 22.7: Numerical comparisons 86 .......................................................................................................................
Chapter 23: Scripting with Parameters 88 ...........................................................................................................
Section 23.1: Multiple Parameter Parsing 88 ..................................................................................................................
Section 23.2: Argument parsing using a for loop 89 ....................................................................................................
Section 23.3: Wrapper script 89 ......................................................................................................................................
Section 23.4: Accessing Parameters 90 .........................................................................................................................
Section 23.5: Split string into an array in Bash 91 .........................................................................................................
Chapter 24: Bash history substitutions 92 ...........................................................................................................
Section 24.1: Quick Reference 92 ....................................................................................................................................
Section 24.2: Repeat previous command with sudo 93 ...............................................................................................
Section 24.3: Search in the command history by pattern 93 .......................................................................................
Section 24.4: Switch to newly created directory with !#:N 93 ......................................................................................
Section 24.5: Using !$ 94 ..................................................................................................................................................
Section 24.6: Repeat the previous command with a substitution 94 ..........................................................................
Chapter 25: Math 95 ........................................................................................................................................................
Section 25.1: Math using dc 95 ........................................................................................................................................
Section 25.2: Math using bash capabilities 96 ...............................................................................................................
Section 25.3: Math using bc 96 ........................................................................................................................................
Section 25.4: Math using expr 97 ....................................................................................................................................
Chapter 26: Bash Arithmetic 98 .................................................................................................................................
Section 26.1: Simple arithmetic with (( )) 98 ...................................................................................................................
Section 26.2: Arithmetic command 98 ...........................................................................................................................
Section 26.3: Simple arithmetic with expr 99 .................................................................................................................
Chapter 27: Scoping 100 ................................................................................................................................................
Section 27.1: Dynamic scoping in action 100 .................................................................................................................
Chapter 28: Process substitution 101 ......................................................................................................................
Section 28.1: Compare two files from the web 101 .......................................................................................................
Section 28.2: Feed a while loop with the output of a command 101 ..........................................................................
Section 28.3: Concatenating files 101 ............................................................................................................................
Section 28.4: Stream a file through multiple programs at once 101 ..........................................................................
Section 28.5: With paste command 102 ........................................................................................................................
Section 28.6: To avoid usage of a sub-shell 102 ...........................................................................................................
Chapter 29: Programmable completion 103 .......................................................................................................
Section 29.1: Simple completion using function 103 .....................................................................................................
Section 29.2: Simple completion for options and filenames 103 ................................................................................
Chapter 30: Customizing PS1 104 ..............................................................................................................................
Section 30.1: Colorize and customize terminal prompt 104 .........................................................................................
Section 30.2: Show git branch name in terminal prompt 105 .....................................................................................
Section 30.3: Show time in terminal prompt 105 ...........................................................................................................
Section 30.4: Show a git branch using PROMPT_COMMAND 106 ..............................................................................
Section 30.5: Change PS1 prompt 106 ............................................................................................................................
Section 30.6: Show previous command return status and time 107 ..........................................................................
Chapter 31: Brace Expansion 109 ...............................................................................................................................
Section 31.1: Modifying filename extension 109 .............................................................................................................
剩余201页未读,继续阅读
资源评论


ricoyu2009
- 粉丝: 0
- 资源: 19
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 中科岩创隧道自动化监测解决方案
- Manatee 1.09电磁噪声振动计算软件:引领电机NVH领域革新,带教程易上手,超越同类软件的强大后处理功能,电机电磁振动噪声NVH解决利器:Manatee 1.09软件教程全面,强大后处理参数化
- C2000 MCU同步降压升压转换器的数字控制系统应用与优化
- .NET 9 彻底改变了 API 的文档:从 Swashbuckle 到 Scalar
- datax-mysql8驱动
- 气动影响下叶片裂纹应力集中现象的Fluent分析,基于气动影响的叶片裂纹应力集中现象的Fluent分析与研究,Fluent,考虑气动影响情况下的叶片裂纹应力集中 ,Fluent; 考虑气动影响; 叶片
- MATLAB驱动的高尔夫模拟仿真系统:深度定制球杆与挥杆参数的互动体验,基于MATLAB的全方位高尔夫模拟仿真系统:精确设定球杆与天气因素,让用户享受个性化的挥杆力量与角度掌控体验,基于MATLAB的
- 单向光伏并网逆变器:结构解析与性能追踪图集,包括整体结构图、并网电流电压曲线图、最大功率追踪MPPT控制图及直流母线电压曲线图,单向光伏并网逆变器:结构解析与性能追踪图集,含最大功率追踪图及电流电压曲
- COMSOL裂缝地层THM耦合离散模型与地热能开采过程研究:探究随机复杂裂缝对增强地热系统的影响,COMSOL裂缝地层THM耦合与离散随机复杂裂缝模型在地热能开采中的应用研究,COMSOL裂缝地层的T
- 基于C2000 MCU峰值电流控制模式的升压电路实现在电源领域的应用与优化
- site-packages.rar
- BUCK控制策略对比及主电路图详解:开环与闭环控制的波形与调节过程分析,BUCK控制策略对比及主电路图详解:开环与闭环控制的波形与调节过程分析,BUCK多种控制策略对比 图一BUCK主电路图与控制策略
- 永磁同步电机MATLAB仿真:直接转矩控制下的转速外环与磁链内环优化,转矩脉动显著减小,永磁同步电机MATLAB仿真:直接转矩控制下的转速外环与磁链内环优化,转矩脉动显著减小,永磁同步电机(PMSM)
- 清华大学最新学习教程《DeepSeek与AI幻觉》
- 销售数据集,数据集包含模拟不同产品、地区和客户的销售交易信息,可以用于机器学习
- 可以快速使用的一个日志模块,可以打印不同颜色,绑定到RichTextBox
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
