Linux技巧:介绍安装完整 man 手册和其他查看姿势

2021-01-09
阅读 2 分钟
10.7k
本篇文章介绍在 Linux 中安装完整 man 手册、去掉 man 手册中文版本、和导出 man 手册的方法。安装完整的 man 手册在 Debian 系统、Ubuntu 系统中,可以执行下面命令来安装完整的 man 手册。这会安装系统函数、库函数等的说明文档。 {代码...} man 手册去掉中文版本当安装了中文版本的 Linux 系统时,查看 man 手册的帮...

Bash技巧:一个可以通过命令简写执行对应命令的Shell脚本

2020-12-26
阅读 10 分钟
5.2k
本篇文章介绍一个可以通过命令简写执行对应命令的 shell 脚本。假设这个 shell 脚本的名称为 tinyshell.sh。在 Linux 下进行项目开发,经常会用到一些调试开发命令。这些命令可能比较长,需要输入多个字符。例如,Android 系统抓取全部 log 并包含 log 时间的命令是 adb logcat -b all -v threadtime。抓取 log 是调试开...

Bash技巧:一个大幅提升Android平台开发效率的Shell脚本

2020-12-12
阅读 12 分钟
3.3k
之前文章介绍了一个 quickcd.sh 脚本,可以指定任意的顶层目录,在顶层目录底下快速 cd 到特定的目录。这个 quickcd.sh 脚本是通用的,适用于各种目录结构。如果从事 Android 开发工作,经常需要在 Android 源码目录之间切换。同时,可以对脚本进行一些修改,支持一些跟 Android 相关的功能。例如,指定一个选项就可以自...

Bash技巧:一个在不同目录之间直接来回快速 cd 的Shell脚本

2020-11-28
阅读 10 分钟
7.2k
本篇文章介绍一个可以在不同目录之间直接来回快速 cd 的 shell 脚本。假设这个 shell 脚本的名称为 quickcd.sh。在 Linux 下进行项目开发,特别是进行 Android 系统开发工作,经常需要使用 cd 命令切换 shell 的工作目录。想象这样一个使用场景:当前 shell 位于源码根目录的 frameworks/base/packages/SystemUI/src/com...

Bash技巧:介绍一个可以增删改查键值对格式配置文件的Shell脚本

2020-11-14
阅读 9 分钟
3.7k
本篇文章介绍一个解析、以及增删改查键值对格式配置文件的 bash shell 脚本。该 shell 脚本处理的基本配置格式信息是:key|value。在脚本中,把 key 称为 “键名”。把 value 称为 “键值”。把整个 key|value 称为 “键值对”。把中间的 | 称为 “分隔符”。默认的分隔符是 |。脚本里面提供了设置函数可以修改分隔符的值,以便...

Bash技巧:介绍一个批量复制文件到指定目录的Shell脚本

2020-10-31
阅读 8 分钟
9.5k
本篇文章介绍一个可以批量复制文件到指定目录的 shell 脚本。假设这个 shell 脚本的名称为 cpfiles.sh。在实际开发工作中,可能需要按照目录结构来保存一些改动后的文件,以作备份。这些目录结构可能包含多个子目录、或者需要复制多个文件。如果直接复制外面的目录,会包含没有发生改动的文件。如果手动创建各个子目录,...

Bash技巧:简单快速 cd 到多层上级目录的 Shell 脚本

2020-10-17
阅读 5 分钟
10k
在 Linux 中,当需要 cd 到多层的上级目录时,需要输入 cd ../../../ 等等多个 “../”。在输入比较快的时候,往往中间会多输入一个点号 ‘.’、或者少输入一个点号 ‘.’,需要往前删除,重新输入。而在实际开发工作中,特别是进行 Android 系统开发工作时,源代码目录可能会有多级子目录。当进入到目录结构非常深的子目录时...

Bash技巧:可以批量在多个目录名前面加上数字的Shell脚本

2020-10-03
阅读 6 分钟
5.6k
本篇文章介绍一个可以批量在多个目录名前面加上数字的 shell 脚本。假设这个 shell 脚本的名称为 digitname.sh。在实际的开发工作中,一般会在常用的重要目录前面添加数字。例如,把目录命名为 “1-开发文档”、“2-部门文档” 这种形式。这样命名有如下的好处:在文件管理器查看时,以数字开头的目录一般会排在前面。当目录...

Bash技巧:可以旋转移动俄罗斯方块所有形状的Shell脚本

2020-09-21
阅读 9 分钟
1.8k
在 Linux bash 中,之前文章介绍过移动单个俄罗斯方块的 shell 脚本。下面继续介绍可以旋转移动俄罗斯方块所有形状的 shell 脚本。执行效果具体的执行效果如下:旋转移动的 Z 字形方块旋转移动的 L 字形方块实际执行时,会随机显示某个类型的方块形状。可以在边框内部,向下、向左、向右移动 Z 字形的方块,不能上移。俄...

Bash技巧:可以左右下移动和旋转俄罗斯方块的Shell脚本

2020-09-14
阅读 7 分钟
2.2k
在 Linux bash 中,之前文章介绍过使用 k、j、h、l 键来上下左右移动单个方块的 shell 脚本。下面继续介绍如何旋转单个方块。执行效果具体的执行效果如下:旋转前的截图移动并旋转后的截图实际执行时,默认显示横向的 Z 字形方块。可以在边框内部,左右下移动 Z 字形的方块,不能上移。俄罗斯方块不允许上移。可以按 k ...

Bash技巧:可以上下左右移动俄罗斯方块的Shell脚本

2020-09-07
阅读 5 分钟
2.8k
在 Linux bash 中,前面文章介绍过显示彩色俄罗斯方块的 shell 脚本。下面继续介绍如何通过 k、j、h、l 键来上下左右移动单个方块的 shell 脚本。脚本执行效果先贴出该shell脚本的具体执行截图如下:实际执行时,可以在边框内部,上下左右移动 Z 字形的方块。脚本代码假设有一个 moveblock.sh 脚本,具体的代码内容如下...

Bash技巧:打印彩色俄罗斯方块各个形状的Shell脚本

2020-08-31
阅读 4 分钟
3.1k
在 Linux bash 中,可以使用下面介绍的 shell 脚本来显示各个彩色的俄罗斯方块形状。硬编码显示彩色的俄罗斯方块下面的代码使用 ANSI 转义码来设置终端字符的显示颜色,从而显示出彩色的方块内容。在脚本代码的注释中说明了各个 ANSI 转义码的含义,方便理解。关于 ANSI 转义码的详细说明,可以参考前面的文章。假设有一...

Linux技巧:在代码中设置终端字符显示颜色和移动光标位置

2020-08-24
阅读 5 分钟
7.9k
本篇文章介绍如何在代码中使用 ANSI 转义码来设置终端的字符显示颜色、移动光标位置等,并实现一个进度条百分比跳变的效果。ANSI 转义码在 Linux 中,可以使用 ANSI 转义码(ANSI escape codes)设置终端的字符显示颜色、移动光标位置、清除字符显示等。ANSI 转义码是由终端自身支持,独立于编程语言之外,可以在 C 语言...

Bash技巧:把变量赋值为换行符,判断文件是否以换行符结尾

2020-08-17
阅读 2 分钟
9.8k
这是 bash 和 C 语言不一样的地方。 在 C 语言中,'\n' 对应换行符自身,只有一个字符;而 "\n" 对应一个字符串。 但是在 bash 中,'\n' 也是对应一个字符串。

Linux技巧:介绍设置定时周期执行任务的方法

2020-08-10
阅读 5 分钟
18.7k
在 Linux 中,可以使用 crontab 命令指定周期执行的定时任务,也就是周期性在指定的时间点执行某个任务,而不是执行一次之后就不再执行。

Linux技巧:介绍 tar 命令打包、压缩、和加解密的用法

2020-08-03
阅读 5 分钟
11.9k
要注意的是,tar 命令默认只是把多个文件打包放到一起,不会对文件进行压缩,所以打包后的文件大小并不会变小,由于添加了一些 tar 格式的文件信息,甚至可能会变大。

Linux技巧:ls命令只列出子目录名和每行打印一个文件名

2020-07-27
阅读 2 分钟
24k
在 Linux 中,ls 命令默认会列出所给目录下的所有文件名,包括子目录名。如果只想列出当前目录下的子目录名,可以使用 ls -d */ 命令。

Linux技巧:cp命令自动创建不存在的目录和只复制修改的文件

2020-07-20
阅读 2 分钟
24k
如果 target 目录下不存在 java/com/server/ 这一串子目录,cp --path 命令会自动创建 java/com/server/ 这一串子目录,然后把文件复制到对应的子目录下。

Linux技巧:详解正则表达式和通配符的用法和它们的区别

2020-07-13
阅读 18 分钟
6.2k
描述正则表达式、通配符的用法,以及它们之间的区别 正则表达式的标准规范文档 正则表达式可用于匹配特定模式的字符串。 在 Linux 中,可以用 man 7 regex 命令查看正则表达式的说明,里面提到 POSIX.2 标准定义了正则表达式规范。 这里面的说明比较乱,内容也比较老,建议查看最新版的 POSIX 标准。 在网上找不到 POSIX...

Linux技巧:详解 grep 命令的多个选项含义和常见用法

2020-07-07
阅读 15 分钟
14.6k
grep - print lines matching a patterngrep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

Linux技巧:find 命令用法入门详解和忽略多个目录的方法

2020-06-30
阅读 15 分钟
11.6k
在 Linux 命令中,find 是比较复杂难用的命令。使用该命令搜索文件时,常常发现自己找了一些例子能用,但稍微改一下条件,就搜不到想要的结果。

Linux技巧:awk 命令简单入门介绍

2020-06-23
阅读 7 分钟
3.9k
在 Linux 命令中,awk 命令常用于处理文本内容。下面基于实例介绍 awk 命令的常见用法。 GNU gawk awk 既是一个命令,也是一种程序语言,它可以有不同的实现版本。 在 Linux 系统中,awk 的实现版本是 GNU gawk。 在 shell 中执行 awk 命令,实际执行的是 gawk 命令。如下所示: {代码...} 可以看到,/usr/bin/awk 文件...

Linux技巧:sed命令替换、删除、同时匹配多个模式的方法

2020-06-09
阅读 7 分钟
25.5k
在 Linux 中,sed 命令的完整格式如下: sed [OPTION]... {script-only-if-no-other-script} [input-file]... 修改输入文件本身的内容 sed 命令是一个流编辑器 (stream editor),可以对输入的文本内容进行处理,文本内容可来自文件或者管道。 它默认把处理后的结果打印到标准输出,不修改文件本身内容。 在 man sed 里面...

Linux技巧:介绍从目录路径获取文件名和目录前缀的方法

2020-06-02
阅读 4 分钟
7.1k
dirname [OPTION] NAME... dirname - strip last component from file name.Output each NAME with its last non-slash component and trailing slashes removed;if NAME contains no /'s, output '.' (meaning the current directory).

Linux技巧:使用 expr 命令获取子字符串和字符串长度

2020-05-23
阅读 2 分钟
6.8k
在 Linux 中,我们可以使用 expr 命令对字符串做一些处理。例如: expr index STRING CHARS 获取指定字符在字符串中的位置 expr substr STRING POS LENGTH 从字符串中获取到子字符串 expr length STRING 获取字符串的长度 expr index STRING CHARS 查看 man expr 对 index STRING CHARS 表达式说明如下: index STRING C...

Bash技巧:介绍test、[、[[ 命令的用法和它们之间的区别

2020-05-17
阅读 7 分钟
10.5k
[: [ arg... ]Evaluate conditional expression. This is a synonym for the "test" builtin, but the last argument must be a literal ']', to match the opening '['.

Bash技巧:列举在 bash 中用于进行判断的各个条件表达式

2020-05-10
阅读 6 分钟
2k
在 bash 中,条件表达式(Conditional expressions)用于进行一些判断。 例如判断文件是否存在、字符串是否相等、比较数值大小,等等。

Bash技巧:详解test命令的参数个数不同对判断结果的影响

2020-05-03
阅读 3 分钟
2.7k
在 Linux bash shell 中,使用 test 内置命令、[ 内置命令、和 [[ 内置命令进行判断时,所提供的参数个数会影响判断结果。

Bash技巧:对比 test、[、[[ 判断字符串是否为空的用法

2020-04-26
阅读 5 分钟
11.6k
在 bash 中,test 命令、[ 命令、[[ 命令都可以用于进行一些判断。 例如,这三个命令都可以用来判断字符串是否为空。 实际使用时,这几个命令的用法有一些异同和一些注意事项。 具体说明如下。

Bash技巧:使用[[命令的 =~ 操作符判断字符串的包含关系

2020-04-19
阅读 5 分钟
20.9k
在 Linux bash shell 中,可以使用 [[ 命令来进行判断。 其中,可以使用 [[ 命令的 =~ 操作符来判断某个字符串是否包含特定模式。