- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
ag命令是一个用于在Linux系统中进行文本搜索的工具。它是基于Silver Searcher的改进版本,具有更快的搜索速度和更强大的功能.
ag命令的基本用法是在指定的目录中搜索指定的关键字。例如,要在当前目录中搜索关键字"example",可以使用以下命令:
ag example
ag命令会递归地搜索指定目录下的所有文件,并显示包含关键字的行。搜索结果会以文件名和行号的形式显示,方便用户快速定位到关键字所在的位置.
.gitignore
和 .hgignore
中的文件模式。
ag [options] pattern [path ...]
ag [可选项] 匹配模式 [路径...]
输出选项:
--ackmate 以 AckMate-parseable 的格式显示结果
-A --after [LINES] 显示匹配行之后的行(默认2行)
-B --before [LINES] 显示匹配行之前的行(默认2行)
--[no]break 不同文件中匹配到的内容新建一行显示(默认开启)
-c --count 只显示每个文件中匹配到的数量 (通常与匹配行数不同)
--[no]color 在结果中打印颜色代码(默认启用)
--color-line-number 行号的颜色代码(默认值为:1;33)。
--color-match 匹配结果的颜色代码(默认值为:30;43)。
--color-path 路径名称的颜色代码(默认值为:1;32)
--column 打印结果中的列号
--[no]filename 打印文件名(除非搜索单个文件,否则启用)。
-H --[no]heading 在每个文件匹配前输出文件名(默认开启)
-C --context [LINES] 显示匹配行上下两行(默认2行)
--[no]group 和这些一样: --[no]break --[no]heading
-g --filename-pattern PATTERN 打印匹配PATTERN的文件名
-l --files-with-matches 显示包含匹配的文件名(不显示匹配的行)
-L --files-without-matches 只显示不包含匹配项的文件名
--print-all-files 打印所有搜索到的文件的标题,甚至那些不包含匹配的文件。
--[no]numbers 打印行号。默认情况是在搜索流时省略行号。
-o --only-matching 只输出每行匹配的部分
--print-long-lines 在很长的行上打印匹配信息(默认:>2k字符)。
--passthrough 当搜索一个流时,打印所有的行,即使它们不匹配。
--silent 抑制所有的日志信息,包括错误
--stats 打印统计(扫描的文件、花费的时间等)。
--stats-only 打印统计信息,不打印其他信息(与搜索单个文件时的--计数相同)。
--vimgrep 像vim的:vimgrep /pattern/g那样打印结果(它报告每一行的匹配结果)
-0 --null --print0 用null分隔文件名(用于'xargs -0')。
搜索选项:
-a --all-types 搜索所有文件(包括隐藏文件)
-D --debug 可笑的调试(可能没有用)
--depth NUM 目录搜索最大深度(默认25)
-f --follow 跟随链接进行搜索
-F --fixed-strings 为了与grep兼容,--literal的别名。
-G --file-search-regex 根据正则匹配搜索指定类型的文件
--hidden 搜索隐藏文件 (但遵从 .*ignore 文件)
-i --ignore-case 不区分大小写匹配
--ignore PATTERN 忽略匹配 PATTERN 的文件/目录(也允许使用文字文件/目录名称)
--ignore-dir NAME 为了与ack兼容,--ignore的别名
-m --max-count NUM 在一个文件中最大匹配的数量(默认: 10,000)
--one-device 不跟随其他设备的链接搜索
-p --path-to-ignore STRING 在STRING使用.ignore文件
-Q --literal 不要将PATTERN解析为正则表达式
-s --case-sensitive 敏感地匹配案例
-S --smart-case 不区分大小写匹配,除非 PATTERN 包含大写字符
--search-binary 搜索二进制文件
-t --all-text 搜索所有文本文件(不包括隐藏文件)
-u --unrestricted 搜索所有文件 (忽略 .ignore, .gitignore, 比如:搜索二进制和隐藏文件)
-U --skip-vcs-ignores 忽略VCS的忽略文件(指的是 .gitignore,.hgignore;仍然遵从.ignore)。
-v --invert-match 反向匹配
-w --word-regexp 只匹配整个单词
-W --width NUM 在NUM字符后截断匹配行
-z --search-zip 搜索压缩文件中的内容
文件类型:
搜索可以限制在某些类型的文件中,例如:
ag --html needle 结果输出到指定类型文件
- 在后缀为 .htm、.html、.shtml 或 .xhtml 的文件中搜索“needle”
有关支持的文件类型的列表,可以运行:
ag --list-file-types 列出支持的文件类型
在Linux中,alias命令用于创建命令别名。它允许用户为常用的命令创建简短、易记的别名,从而提高工作效率.
alias命令的语法如下:
alias [别名]='命令'
-p:显示全部已定义的别名。
name(可选):指定要(定义、修改、显示)的别名。
value(可选):别名的值。
alias 返回 true 除非您要显示的别名未定义.
# 为方便演示,删除全部别名
unalias -a
# 没有用单引号扩起
alias rm=rm -rf
# 执行命令后报错 bash: alias: -rf: not found
# 这时使用alias查看rm的别名时返回 alias rm='rm'
# 更具有迷惑性的例子
# 为方便演示,删除全部别名
unalias -a
# 仍然没有用单引号括起
alias ls=ls --color=never
# 执行命令后看起来没有报错
# 使用alias查看全部别名会发现运行结果如下:
# alias --color=never
# alias ls='ls'
# alias处理时将它们看成了两组
Q:如果我要显示一到多个别名,但不知道其中是否有未定义的该怎么办?
A:正常执行就是了,alias不会因为有一个未定义的别名就结束对剩余参数的执行.
Q:如果我这么定义 alias cd='ls' ls='cd' ,会有什么后果?
A:运行cd依然会切换目录,运行ls依然会列出文件夹的内容;不要这样定义.
source
命令执行的bash脚本如果执行了 alias
或 unalias
命令,那么有可能会对终端环境的别名设置产生影响;终端环境的别名设置也可能改变运行结果; sh
方式调用的 bash 脚本或直接运行当前用户有执行权限的脚本不受终端环境的别名影响。 unalias
命令。 mv cp rm
等命令的别名设置危险的 -f
选项,比如 alias rm='rm -f'
。 help
命令。 apachectl命令是用于管理Apache HTTP服务器的命令行工具。它提供了一些常用的操作,如启动、停止、重启和重新加载Apache服务器.
apachectl(参数)
以下是apachectl命令的一些常用选项和功能:
start:启动Apache服务器。它会启动Apache进程,并开始监听指定的端口,以便接受来自客户端的HTTP请求.
stop:停止Apache服务器。它会停止正在运行的Apache进程,并不再接受新的HTTP请求.
restart:重启Apache服务器。它会先停止正在运行的Apache进程,然后再启动一个新的Apache进程,以便重新加载配置文件和更新服务器.
graceful:优雅地重启Apache服务器。它会先启动一个新的Apache进程,然后再停止旧的Apache进程。这样可以确保在重启过程中不会中断正在处理的HTTP请求.
configtest:检查Apache配置文件的语法错误。它会验证配置文件的正确性,并输出任何错误或警告信息.
status:显示Apache服务器的当前状态。它会输出正在运行的Apache进程的信息,包括进程ID、启动时间和处理的请求数等.
fullstatus:显示详细的Apache服务器状态。它会输出每个正在运行的Apache进程的详细信息,包括进程ID、启动时间、处理的请求数和当前请求的URL等.
graceful-stop:优雅地停止Apache服务器。它会停止正在运行的Apache进程,但会等待当前正在处理的HTTP请求完成后再停止.
help:显示apachectl命令的帮助信息。它会列出所有可用的选项和功能,并提供简要的说明.
总之,apachectl命令是一个方便的工具,用于管理和控制Apache HTTP服务器的运行。它提供了一些常用的操作,如启动、停止、重启和重新加载服务器,以及检查配置文件的语法错误和显示服务器状态等功能.
APK是Alpine Linux包管理器的命令行工具,用于处理Alpine Linux的软件包.
它用于安装、升级、删除和管理软件包.
以下是 APK 命令行的一些常见用法:
apk add:安装包或包组。例如,要安装一个名为 'httpd'的软件包,你需要运行 "apk add httpd".
apk del:删除包或包组。例如,要删除一个名为'httpd'的包,你需要运行 "apk del httpd".
apk update:更新包索引。这会从你在Alpine Linux中配置的所有仓库中获取最新的包索引.
apk upgrade:升级所有已安装的包到它们最新的版本.
apk search:检索可用的包。这个功能类似于 apt-cache search 或 yum search,在软件仓库中查找软件包.
apk info:显示关于已安装的包的信息。例如, "apk info httpd" 将显示有关'httpd'包的信息.
apk cache:管理本地缓存的软件包。你可以使用 'apk cache clean' 来清除所有没有在使用的软件包.
apk version:显示所有已安装包的版本.
APK 配置文件一般位于/etc/apk/目录下,主配置文件是/etc/apk/repositories,其中包含了可以下载的软件仓库源列表。可以手动编辑此文件以添加,删除或更改软件源.
apropos命令是Linux系统中的一个非常有用的命令,用于搜索系统中的帮助文档。它可以根据关键字搜索系统中的man页(manual page)和其他帮助文档,以便用户快速找到所需的信息.
使用apropos命令非常简单,只需要在命令后面跟上要搜索的关键字即可。例如,要搜索关于文件操作的帮助文档,可以使用以下命令:
apropos file 。
apropos命令会在系统的man页数据库中搜索包含关键字"file"的所有帮助文档,并将结果显示出来。搜索结果通常包括命令、函数、配置文件等相关的文档.
apropos命令的搜索结果通常包括以下几个字段:
通过apropos命令,用户可以快速查找到与关键字相关的帮助文档,并进一步使用man命令查看详细的帮助信息。例如,要查看关于"file"命令的帮助文档,可以使用以下命令:
man file 。
apropos命令还支持使用通配符进行模糊搜索。例如,要搜索以"file"开头的所有命令,可以使用以下命令:
apropos file* 。
总之,apropos命令是Linux系统中一个非常有用的工具,可以帮助用户快速搜索并找到所需的帮助文档。它可以提高用户的工作效率,并且非常适合在命令行环境下使用.
apropos [-dalhvV] -e|-[w|-r] [-s section] [-m system[,...]] [-M path] [-L locale] -C [file] keyword ...
-d, --debug:输出调试信息。
-v, --verbose:输出详细的警告信息。
-r, -- regex:将每个keyword作为正则表达式解释。这是默认行为。每个keyword将匹配手册页和描述。
-w, --wildcard:将每个keyword作为shell样式的通配符解释。
-e, --exact:每个keyword将精确匹配手册页名字和描述。
-a, --and:只显示匹配所有keyword的手册页和描述。默认显示匹配任何keyword的项。
-l, --long:不根据终端宽度缩减输出。
-s section, --section section:只查找指定的手册section。
-m system[,...], --systems=system[,...]:用于查找其它操作系统的手册页。
-M path, --manpath=path:指定从其它以冒号分隔的手册页层次查找。默认使用 $MANPATH 环境变量。这个选项覆盖 $MANPATH 的内容。
-L locale, --locale=locale:apropos调用C函数setlocale来得到当前本地化信息,包括 $LC_MESSAGE 和 $LANG 。使用该选项提供一个locale字符串来临时更改本地化信息。
-C file, --config-file=file:使用这个用户配置文件而不是默认的~/.manpath。
-h, --help:打印帮助信息并退出。
-V, --version:打印版本信息并退出。
返回0表示成功,1表示用法、语法或配置文件错误,2表示操作错误,16表示没有找到匹配的内容.
最后此篇关于【技术积累】Linux中的命令行【理论篇】【二】的文章就讲到这里了,如果你想了解更多关于【技术积累】Linux中的命令行【理论篇】【二】的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我想做的是让 JTextPane 在 JPanel 中占用尽可能多的空间。对于我使用的 UpdateInfoPanel: public class UpdateInfoPanel extends JP
我在 JPanel 中有一个 JTextArea,我想将其与 JScrollPane 一起使用。我正在使用 GridBagLayout。当我运行它时,框架似乎为 JScrollPane 腾出了空间,但
我想在 xcode 中实现以下功能。 我有一个 View Controller 。在这个 UIViewController 中,我有一个 UITabBar。它们下面是一个 UIView。将 UITab
有谁知道Firebird 2.5有没有类似于SQL中“STUFF”函数的功能? 我有一个包含父用户记录的表,另一个表包含与父相关的子用户记录。我希望能够提取用户拥有的“ROLES”的逗号分隔字符串,而
我想使用 JSON 作为 mirth channel 的输入和输出,例如详细信息保存在数据库中或创建 HL7 消息。 简而言之,输入为 JSON 解析它并输出为任何格式。 最佳答案 var objec
通常我会使用 R 并执行 merge.by,但这个文件似乎太大了,部门中的任何一台计算机都无法处理它! (任何从事遗传学工作的人的附加信息)本质上,插补似乎删除了 snp ID 的 rs 数字,我只剩
我有一个以前可能被问过的问题,但我很难找到正确的描述。我希望有人能帮助我。 在下面的代码中,我设置了varprice,我想添加javascript变量accu_id以通过rails在我的数据库中查找记
我有一个简单的 SVG 文件,在 Firefox 中可以正常查看 - 它的一些包装文本使用 foreignObject 包含一些 HTML - 文本包装在 div 中:
所以我正在为学校编写一个 Ruby 程序,如果某个值是 1 或 3,则将 bool 值更改为 true,如果是 0 或 2,则更改为 false。由于我有 Java 背景,所以我认为这段代码应该有效:
我做了什么: 我在这些账户之间创建了 VPC 对等连接 互联网网关也连接到每个 VPC 还配置了路由表(以允许来自双方的流量) 情况1: 当这两个 VPC 在同一个账户中时,我成功测试了从另一个 La
我有一个名为 contacts 的表: user_id contact_id 10294 10295 10294 10293 10293 10294 102
我正在使用 Magento 中的新模板。为避免重复代码,我想为每个产品预览使用相同的子模板。 特别是我做了这样一个展示: $products = Mage::getModel('catalog/pro
“for”是否总是检查协议(protocol)中定义的每个函数中第一个参数的类型? 编辑(改写): 当协议(protocol)方法只有一个参数时,根据该单个参数的类型(直接或任意)找到实现。当协议(p
我想从我的 PHP 代码中调用 JavaScript 函数。我通过使用以下方法实现了这一点: echo ' drawChart($id); '; 这工作正常,但我想从我的 PHP 代码中获取数据,我使
这个问题已经有答案了: Event binding on dynamically created elements? (23 个回答) 已关闭 5 年前。 我有一个动态表单,我想在其中附加一些其他 h
我正在尝试找到一种解决方案,以在 componentDidMount 中的映射项上使用 setState。 我正在使用 GraphQL连同 Gatsby返回许多 data 项目,但要求在特定的 pat
我在 ScrollView 中有一个 View 。只要用户按住该 View ,我想每 80 毫秒调用一次方法。这是我已经实现的: final Runnable vibrate = new Runnab
我用 jni 开发了一个 android 应用程序。我在 GetStringUTFChars 的 dvmDecodeIndirectRef 中得到了一个 dvmabort。我只中止了一次。 为什么会这
当我到达我的 Activity 时,我调用 FragmentPagerAdapter 来处理我的不同选项卡。在我的一个选项卡中,我想显示一个 RecyclerView,但他从未出现过,有了断点,我看到
当我按下 Activity 中的按钮时,会弹出一个 DialogFragment。在对话框 fragment 中,有一个看起来像普通 ListView 的 RecyclerView。 我想要的行为是当
我是一名优秀的程序员,十分优秀!