From 728b588be8361e661763fc975b0687f66ae9f7a5 Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Mon, 1 May 2017 09:43:19 +0800 Subject: [PATCH 1/4] Add README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000000..df520bd624c --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +[Alfred 版本下载](https://github.com/jaywcjlove/linux-command/releases) + +[![Linux 命令大全](./alfred.png)](https://github.com/jaywcjlove/linux-command/releases) \ No newline at end of file From 409f1cf2961e66078014cc979ef7a2fa8bfeb05a Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Mon, 1 May 2017 09:44:01 +0800 Subject: [PATCH 2/4] Add Alfred project. --- icon.png | Bin 0 -> 20304 bytes index.js | 63 ++++++++++++++++++++ info.plist | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 37 ++++++++++++ 4 files changed, 263 insertions(+) create mode 100644 icon.png create mode 100644 index.js create mode 100644 info.plist create mode 100644 package.json diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d8b27630ecfd910829aa9598657d7c5328f6215b GIT binary patch literal 20304 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 literal 0 HcmV?d00001 diff --git a/index.js b/index.js new file mode 100644 index 00000000000..5c6d7f84a17 --- /dev/null +++ b/index.js @@ -0,0 +1,63 @@ +var alfy = require('alfy'); +function isSreachIndexOF(oldstr,kw){ + var istrue = false; + if(oldstr&&toString.call(oldstr) === '[object Array]'){ + for (var i = 0; i < oldstr.length; i++) { + oldstr[i].toLowerCase()===kw.toLowerCase()?istrue=true:null; + } + return istrue; + } + if(!oldstr || !kw) return false; + return oldstr.toLowerCase().indexOf(kw.toLowerCase()) > -1 ? true : false; +} + +var urlstr = 'git.oschina.net/JSLite/linux-command/raw/master/dist/data.json' +// var urlstr = 'http://git.oschina.net/JSLite/linux-command/raw/master/dist/data.json' + +alfy.fetch(urlstr).then(result => { + var commands = []; + var e = 0 + for(var a in result){ + ++e; + result[a]['id'] = e; + commands.push(result[a]) + } + var i=0, + page_size = commands.length, + arrResult = [], + query=alfy.input; + if(commands&&commands.length&&toString.call(commands).indexOf('Array')>-1){ + var count = 0 + for (; i < page_size; i++) { + if(isSreachIndexOF(commands[i].n,query) + || isSreachIndexOF(commands[i].d,query) + ){ + if(count < page_size){ + arrResult.push(commands[i]); + ++count; + } + } + } + } + var items = []; + for(var i = 0;i< arrResult.length;i++){ + items.push({ + title: arrResult[i].n, + subtitle: arrResult[i].d, + arg: arrResult[i].n + }) + } + + if(items.length < 1){ + items.push({ + title: "没有搜素到内容", + subtitle: "请尝试其它关键字", + }) + } + alfy.output(items); +}); +// const items = alfy.inputMatches(commands, 'n').map(x => ({ +// title: x.n, +// subtitle: x.d, +// arg: x.id +// })); \ No newline at end of file diff --git a/info.plist b/info.plist new file mode 100644 index 00000000000..b383cfd3a0f --- /dev/null +++ b/info.plist @@ -0,0 +1,163 @@ + + + + + bundleid + com.linux.command.keywords + category + Tools + connections + + AB769D13-5DB9-42BF-A314-2D07384CB3A4 + + + destinationuid + 0E764AF0-9350-40B4-8A01-175FAD0D952D + modifiers + 0 + modifiersubtext + + vitoclose + + + + C24D6FD9-17A8-47C0-B2FD-7F1323E47407 + + + destinationuid + AB769D13-5DB9-42BF-A314-2D07384CB3A4 + modifiers + 0 + modifiersubtext + + vitoclose + + + + + createdby + kenny wang + description + 520多个 Linux 命令大全,内容包含 Linux 命令手册、详解、学习,值得收藏的 Linux 命令速查手册。 + disabled + + name + Linux Command + objects + + + config + + browser + + spaces + + url + https://jaywcjlove.github.io/linux-command/c/{query}.html + utf8 + + + type + alfred.workflow.action.openurl + uid + 0E764AF0-9350-40B4-8A01-175FAD0D952D + version + 1 + + + config + + autopaste + + clipboardtext + {query} + transient + + + type + alfred.workflow.output.clipboard + uid + AB769D13-5DB9-42BF-A314-2D07384CB3A4 + version + 2 + + + config + + alfredfiltersresults + + argumenttype + 0 + escaping + 36 + keyword + lc + queuedelaycustom + 3 + queuedelayimmediatelyinitially + + queuedelaymode + 0 + queuemode + 1 + runningsubtext + 正在搜索中... + script + ./node_modules/.bin/run-node index.js {query} + scriptargtype + 0 + scriptfile + + subtext + 搜索Linux命令 + title + 命令行搜索工具 + type + 0 + withspace + + + type + alfred.workflow.input.scriptfilter + uid + C24D6FD9-17A8-47C0-B2FD-7F1323E47407 + version + 2 + + + readme + Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。 + uidata + + 0E764AF0-9350-40B4-8A01-175FAD0D952D + + xpos + 390 + ypos + 70 + + AB769D13-5DB9-42BF-A314-2D07384CB3A4 + + xpos + 240 + ypos + 70 + + C24D6FD9-17A8-47C0-B2FD-7F1323E47407 + + colorindex + 8 + note + Script Filter Input: A very powerful workflow object, allowing you to populate Alfred's results with your own custom items using external input. + xpos + 70 + ypos + 70 + + + version + 1.0 + webaddress + https://git.io/linux + + diff --git a/package.json b/package.json new file mode 100644 index 00000000000..3fd1a9710e9 --- /dev/null +++ b/package.json @@ -0,0 +1,37 @@ +{ + "name": "alfred-linux-command", + "version": "1.0.0", + "description": "Search through the Linux command.", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "postinstall": "alfy-init", + "preuninstall": "alfy-cleanup" + }, + "keywords": [ + "linux", + "command", + "alfred", + "workflow", + "mdn", + "mozilla", + "developers", + "network", + "html", + "javascript", + "js" + ], + "files": [ + "index.js", + "icon.png", + "info.plist" + ], + "engines": { + "node": ">=4" + }, + "author": "kenny wang ", + "license": "MIT", + "dependencies": { + "alfy": "^0.6.0" + } +} From 4e03832cdc5c62ca111cbefc099f810db13bfdbc Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Mon, 1 May 2017 09:45:57 +0800 Subject: [PATCH 3/4] Update the image URL. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index df520bd624c..f5e0cbdba5c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ [Alfred 版本下载](https://github.com/jaywcjlove/linux-command/releases) -[![Linux 命令大全](./alfred.png)](https://github.com/jaywcjlove/linux-command/releases) \ No newline at end of file +[![Linux 命令大全](https://github.com/jaywcjlove/linux-command/raw/master/alfred.png)](https://github.com/jaywcjlove/linux-command/releases) \ No newline at end of file From 80c5e187fafacf2cf55ea2cf5874863fb6194cda Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Sat, 13 Apr 2019 00:01:56 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E6=85=A2=E7=9A=84=E9=97=AE=E9=A2=98.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data.json | 1 + index.js | 63 ---------------------------------------------------- info.plist | 48 ++++++++++++++++++++------------------- linux.js | 32 ++++++++++++++++++++++++++ package.json | 7 ++---- 5 files changed, 60 insertions(+), 91 deletions(-) create mode 100644 data.json delete mode 100644 index.js create mode 100644 linux.js diff --git a/data.json b/data.json new file mode 100644 index 00000000000..33855a2e45d --- /dev/null +++ b/data.json @@ -0,0 +1 @@ +{"ab":{"n":"ab","p":"/ab","d":"Apache服务器的性能测试工具"},"accept":{"n":"accept","p":"/accept","d":"指示打印系统接受发往指定目标打印机的打印任务"},"ack":{"n":"ack","p":"/ack","d":"比grep好用的文本搜索工具"},"alias":{"n":"alias","p":"/alias","d":"用来设置指令的别名"},"apachectl":{"n":"apachectl","p":"/apachectl","d":"Apache服务器前端控制工具"},"apk":{"n":"apk","p":"/apk","d":"Alpine Linux 下的包管理工具"},"apropos":{"n":"apropos","p":"/apropos","d":"在 whatis 数据库中查找字符串"},"apt-get":{"n":"apt-get","p":"/apt-get","d":"Debian Linux发行版中的APT软件包管理工具"},"apt-key":{"n":"apt-key","p":"/apt-key","d":"管理Debian Linux系统中的软件包密钥"},"apt-sortpkgs":{"n":"apt-sortpkgs","p":"/apt-sortpkgs","d":"Debian Linux下对软件包索引文件进行排序的工具"},"aptitude":{"n":"aptitude","p":"/aptitude","d":"Debian Linux系统中软件包管理工具"},"ar":{"n":"ar","p":"/ar","d":"建立或修改备存文件,或是从备存文件中抽取文件"},"arch":{"n":"arch","p":"/arch","d":"显示当前主机的硬件架构类型"},"arj":{"n":"arj","p":"/arj","d":"用于创建和管理.arj压缩包"},"arp":{"n":"arp","p":"/arp","d":"arp 命令用于显示和修改 IP 到 MAC 转换表。ARP 是 Address Resolution Protocol,地址解析协议,是通过解析网络层地址来找寻数据链路层地址的一个网络协议包中极其重要的网络传输协议。而该命令可以显示和修改 arp 协议解析表中的缓冲数据。"},"arpd":{"n":"arpd","p":"/arpd","d":"收集免费ARP信息"},"arping":{"n":"arping","p":"/arping","d":"通过发送ARP协议报文测试网络"},"arptables":{"n":"arptables","p":"/arptables","d":"管理ARP包过滤规则表"},"arpwatch":{"n":"arpwatch","p":"/arpwatch","d":"监听网络上ARP的记录"},"as":{"n":"as","p":"/as","d":"汇编语言编译器"},"at":{"n":"at","p":"/at","d":"在指定时间执行一个任务"},"atop":{"n":"atop","p":"/atop","d":"监控Linux系统资源与进程的工具"},"atq":{"n":"atq","p":"/atq","d":"列出当前用户的at任务列表"},"atrm":{"n":"atrm","p":"/atrm","d":"删除待执行任务队列中的指定任务"},"awk":{"n":"awk","p":"/awk","d":"文本和数据进行处理的编程语言"},"axel":{"n":"axel","p":"/axel","d":"多线程下载工具"},"badblocks":{"n":"badblocks","p":"/badblocks","d":"查找磁盘中损坏的区块"},"basename":{"n":"basename","p":"/basename","d":"打印目录或者文件的基本名称"},"batch":{"n":"batch","p":"/batch","d":"在系统不繁忙的时候执行定时任务"},"bc":{"n":"bc","p":"/bc","d":"算术操作精密运算工具"},"bg":{"n":"bg","p":"/bg","d":"用于将作业放到后台运行"},"bind":{"n":"bind","p":"/bind","d":"显示或设置键盘按键与其相关的功能"},"blkid":{"n":"blkid","p":"/blkid","d":"查看块设备的文件系统类型、LABEL、UUID等信息"},"blockdev":{"n":"blockdev","p":"/blockdev","d":"从命令行调用区块设备控制程序"},"bmodinfo":{"n":"bmodinfo","p":"/bmodinfo","d":"显示给定模块的详细信息"},"builtin":{"n":"builtin","p":"/builtin","d":"执行shell内部命令"},"bunzip2":{"n":"bunzip2","p":"/bunzip2","d":"创一个bz2文件压缩包"},"bye":{"n":"bye","p":"/bye","d":"命令用于中断FTP连线并结束程序。。"},"bzcat":{"n":"bzcat","p":"/bzcat","d":"解压缩指定的.bz2文件"},"bzcmp":{"n":"bzcmp","p":"/bzcmp","d":"比较两个压缩包中的文件"},"bzdiff":{"n":"bzdiff","p":"/bzdiff","d":"直接比较两个.bz2压缩包中文件的不同"},"bzgrep":{"n":"bzgrep","p":"/bzgrep","d":"使用正则表达式搜索.bz2压缩包中文件"},"bzip2":{"n":"bzip2","p":"/bzip2","d":"将文件压缩成bz2格式"},"bzip2recover":{"n":"bzip2recover","p":"/bzip2recover","d":"恢复被破坏的.bz2压缩包中的文件"},"bzless":{"n":"bzless","p":"/bzless","d":"增强.bz2压缩包查看器"},"bzmore":{"n":"bzmore","p":"/bzmore","d":"查看bzip2压缩过的文本文件的内容"},"cal":{"n":"cal","p":"/cal","d":"显示当前日历或指定日期的日历"},"cancel":{"n":"cancel","p":"/cancel","d":"取消已存在的打印任务"},"cat":{"n":"cat","p":"/cat","d":"连接文件并打印到标准输出设备上"},"cd":{"n":"cd","p":"/cd","d":"切换用户当前工作目录"},"cdrecord":{"n":"cdrecord","p":"/cdrecord","d":"Linux系统下光盘刻录功能命令"},"chage":{"n":"chage","p":"/chage","d":"修改帐号和密码的有效期限"},"chattr":{"n":"chattr","p":"/chattr","d":"用来改变文件属性"},"chcon":{"n":"chcon","p":"/chcon","d":"修改对象(文件)的安全上下文"},"chfn":{"n":"chfn","p":"/chfn","d":"用来改变finger命令显示的信息"},"chgrp":{"n":"chgrp","p":"/chgrp","d":"用来变更文件或目录的所属群组"},"chkconfig":{"n":"chkconfig","p":"/chkconfig","d":"检查或设置系统的各种服务"},"chmod":{"n":"chmod","p":"/chmod","d":"用来变更文件或目录的权限"},"chown":{"n":"chown","p":"/chown","d":"用来变更文件或目录的拥有者或所属群组"},"chpasswd":{"n":"chpasswd","p":"/chpasswd","d":"批量更新用户口令的工具"},"chroot":{"n":"chroot","p":"/chroot","d":"把根目录换成指定的目的目录"},"chsh":{"n":"chsh","p":"/chsh","d":"用来更换登录系统时使用的shell"},"cksum":{"n":"cksum","p":"/cksum","d":"检查文件的CRC是否正确"},"clear":{"n":"clear","p":"/clear","d":"清除当前屏幕终端上的任何信息"},"clock":{"n":"clock","p":"/clock","d":"用于调整 RTC 时间。"},"clockdiff":{"n":"clockdiff","p":"/clockdiff","d":"检测两台linux主机的时间差"},"cmp":{"n":"cmp","p":"/cmp","d":"比较两个文件是否有差异"},"col":{"n":"col","p":"/col","d":"过滤控制字符"},"colrm":{"n":"colrm","p":"/colrm","d":"删除文件中的指定列"},"comm":{"n":"comm","p":"/comm","d":"两个文件之间的比较"},"command":{"n":"command","p":"/command","d":"调用并执行指定的命令"},"compress":{"n":"compress","p":"/compress","d":"使用Lempress-Ziv编码压缩数据文件"},"consoletype":{"n":"consoletype","p":"/consoletype","d":"输出已连接的终端类型"},"convertquota":{"n":"convertquota","p":"/convertquota","d":"把老的配额文件转换为新的格式"},"cp":{"n":"cp","p":"/cp","d":"将源文件或目录复制到目标文件或目录中"},"cpio":{"n":"cpio","p":"/cpio","d":"用来建立、还原备份档的工具程序"},"crontab":{"n":"crontab","p":"/crontab","d":"提交和管理用户的需要周期性执行的任务"},"csplit":{"n":"csplit","p":"/csplit","d":"将一个大文件分割成小的碎片文件"},"cu":{"n":"cu","p":"/cu","d":"用于连接另一个系统主机。"},"cupsdisable":{"n":"cupsdisable","p":"/cupsdisable","d":"停止指定的打印机"},"cupsenable":{"n":"cupsenable","p":"/cupsenable","d":"启动指定的打印机"},"curl":{"n":"curl","p":"/curl","d":"利用URL规则在命令行下工作的文件传输工具"},"cut":{"n":"cut","p":"/cut","d":"连接文件并打印到标准输出设备上"},"date":{"n":"date","p":"/date","d":"显示或设置系统时间与日期"},"dd":{"n":"dd","p":"/dd","d":"复制文件并对原文件的内容进行转换和格式化处理"},"declare":{"n":"declare","p":"/declare","d":"声明或显示shell变量"},"depmod":{"n":"depmod","p":"/depmod","d":"分析可载入模块的相依性"},"df":{"n":"df","p":"/df","d":"显示磁盘的相关信息"},"dhclient":{"n":"dhclient","p":"/dhclient","d":"动态获取或释放IP地址"},"dhcpd":{"n":"dhcpd","p":"/dhcpd","d":"运行DHCP服务器。"},"dhcrelay":{"n":"dhcrelay","p":"/dhcrelay","d":"使用dhcrelay命令可以提供中继DHCP和BOOTP请求"},"diff":{"n":"diff","p":"/diff","d":"比较给定的两个文件的不同"},"diff3":{"n":"diff3","p":"/diff3","d":"比较3个文件不同的地方"},"diffstat":{"n":"diffstat","p":"/diffstat","d":"显示diff命令输出信息的柱状图"},"dig":{"n":"dig","p":"/dig","d":"域名查询工具"},"dircolors":{"n":"dircolors","p":"/dircolors","d":"置ls命令在显示目录或文件时所用的色彩"},"dirname":{"n":"dirname","p":"/dirname","d":"去除文件名中的非目录部分"},"dirs":{"n":"dirs","p":"/dirs","d":"显示目录记录"},"dmesg":{"n":"dmesg","p":"/dmesg","d":"显示Linux系统启动信息"},"dmidecode":{"n":"dmidecode","p":"/dmidecode","d":"在Linux系统下获取有关硬件方面的信息"},"dnf":{"n":"dnf","p":"/dnf","d":"新一代的RPM软件包管理器"},"dnsdomainname":{"n":"dnsdomainname","p":"/dnsdomainname","d":"定义DNS系统中FQDN名称的域名"},"domainname":{"n":"domainname","p":"/domainname","d":"显示和设置系统的NIS域名"},"dos2unix":{"n":"dos2unix","p":"/dos2unix","d":"将DOS格式文本文件转换成Unix格式"},"dpkg-deb":{"n":"dpkg-deb","p":"/dpkg-deb","d":"Debian Linux下的软件包管理工具"},"dpkg-divert":{"n":"dpkg-divert","p":"/dpkg-divert","d":"Debian Linux中创建并管理一个转向列表"},"dpkg-preconfigure":{"n":"dpkg-preconfigure","p":"/dpkg-preconfigure","d":"Debian Linux中软件包安装之前询问问题"},"dpkg-query":{"n":"dpkg-query","p":"/dpkg-query","d":"Debian Linux中软件包的查询工具"},"dpkg-reconfigure":{"n":"dpkg-reconfigure","p":"/dpkg-reconfigure","d":"Debian Linux中重新配制一个已经安装的软件包"},"dpkg-split":{"n":"dpkg-split","p":"/dpkg-split","d":"Debian Linux中将大软件包分割成小包"},"dpkg-statoverride":{"n":"dpkg-statoverride","p":"/dpkg-statoverride","d":"Debian Linux中覆盖文件的所有权和模式"},"dpkg-trigger":{"n":"dpkg-trigger","p":"/dpkg-trigger","d":"Debian Linux下的软件包触发器"},"dpkg":{"n":"dpkg","p":"/dpkg","d":"Debian Linux系统上安装、创建和管理软件包"},"dris":{"n":"dris","p":"/dris","d":"显示和清空目录堆栈中的内容"},"dstat":{"n":"dstat","p":"/dstat","d":"通用的系统资源统计工具"},"du":{"n":"du","p":"/du","d":"显示每个文件和目录的磁盘使用空间"},"dump":{"n":"dump","p":"/dump","d":"用于备份ext2或者ext3文件系统"},"e2fsck":{"n":"e2fsck","p":"/e2fsck","d":"用于检查第二扩展文件系统的完整性"},"e2label":{"n":"e2label","p":"/e2label","d":"设置第二扩展文件系统的卷标"},"echo":{"n":"echo","p":"/echo","d":"输出指定的字符串或者变量"},"ed":{"n":"ed","p":"/ed","d":"单行纯文本编辑器"},"edquota":{"n":"edquota","p":"/edquota","d":"用于编辑指定用户或工作组磁盘配额"},"egrep":{"n":"egrep","p":"/egrep","d":"在文件内查找指定的字符串"},"eject":{"n":"eject","p":"/eject","d":"用来退出抽取式设备"},"elinks":{"n":"elinks","p":"/elinks","d":"纯文本界面的WWW浏览器"},"elm":{"n":"elm","p":"/elm","d":"纯文本邮件客户端程序"},"emacs":{"n":"emacs","p":"/emacs","d":"功能强大的全屏文本编辑器"},"enable":{"n":"enable","p":"/enable","d":"启动或关闭shell内建命令"},"env":{"n":"env","p":"/env","d":"显示系统中已存在的环境变量"},"ethtool":{"n":"ethtool","p":"/ethtool","d":"显示或修改以太网卡的配置信息"},"ex":{"n":"ex","p":"/ex","d":"启动vim编辑器的ex编辑模式"},"exec":{"n":"exec","p":"/exec","d":"调用并执行指定的命令"},"exit":{"n":"exit","p":"/exit","d":"退出当前的shell"},"expand":{"n":"expand","p":"/expand","d":"将文件的制表符转换为空白字符"},"export":{"n":"export","p":"/export","d":"设置或显示系统环境变量"},"exportfs":{"n":"exportfs","p":"/exportfs","d":"管理NFS共享文件系统列表"},"expr":{"n":"expr","p":"/expr","d":"一款表达式计算工具"},"fc":{"n":"fc","p":"/fc","d":"修改历史命令并执行"},"fdisk":{"n":"fdisk","p":"/fdisk","d":"查看磁盘使用情况和磁盘分区"},"fg":{"n":"fg","p":"/fg","d":"将后台作业放到前台终端运行"},"fgrep":{"n":"fgrep","p":"/fgrep","d":"为文件搜索文字字符串"},"file":{"n":"file","p":"/file","d":"用来探测给定文件的类型。"},"find":{"n":"find","p":"/find","d":"在指定目录下查找文件"},"findfs":{"n":"findfs","p":"/findfs","d":"标签或UUID查找文件系统"},"finger":{"n":"finger","p":"/finger","d":"用于查找并显示用户信息"},"firewall-cmd":{"n":"firewall-cmd","p":"/firewall-cmd","d":"Linux上新用的防火墙软件,跟iptables差不多的工具。"},"fishshell":{"n":"fishshell","p":"/fishshell","d":"比 bash 更好用的 shell"},"fmt":{"n":"fmt","p":"/fmt","d":"读取文件后优化处理并输出"},"fold":{"n":"fold","p":"/fold","d":"控制文件内容输出时所占用的屏幕宽度"},"free":{"n":"free","p":"/free","d":"显示内存的使用情况"},"fsck":{"n":"fsck","p":"/fsck","d":"检查并且试图修复文件系统中的错误"},"ftp":{"n":"ftp","p":"/ftp","d":"用来设置文件系统相关功能"},"ftpcount":{"n":"ftpcount","p":"/ftpcount","d":"显示目前已FTP登入的用户人数"},"ftpshut":{"n":"ftpshut","p":"/ftpshut","d":"在指定的时间关闭FTP服务器"},"ftptop":{"n":"ftptop","p":"/ftptop","d":"proftpd服务器的连接状态"},"ftpwho":{"n":"ftpwho","p":"/ftpwho","d":"显示当前每个ftp会话信息"},"fuser":{"n":"fuser","p":"/fuser","d":"使用文件或文件结构识别进程"},"gcc":{"n":"gcc","p":"/gcc","d":"基于C/C++的编译器"},"gcov":{"n":"gcov","p":"/gcov","d":"测试程序的代码覆盖率的工具"},"gdb":{"n":"gdb","p":"/gdb","d":"功能强大的程序调试器"},"get_module":{"n":"get_module","p":"/get_module","d":"获取Linux内核模块的详细信息"},"getenforce":{"n":"getenforce","p":"/getenforce","d":"显示当前SELinux的应用模式,是强制、执行还是停用。"},"getsebool":{"n":"getsebool","p":"/getsebool","d":"查询SElinux策略内各项规则的布尔值"},"git":{"n":"git","p":"/git","d":"是目前世界上最先进的分布式版本控制系统"},"gpasswd":{"n":"gpasswd","p":"/gpasswd","d":"Linux下工作组文件的管理工具"},"gpm":{"n":"gpm","p":"/gpm","d":"提供文字模式下的滑鼠事件处理"},"grep":{"n":"grep","p":"/grep","d":"强大的文本搜索工具"},"groupadd":{"n":"groupadd","p":"/groupadd","d":"用于创建一个新的工作组"},"groupdel":{"n":"groupdel","p":"/groupdel","d":"用于删除指定的工作组"},"groupmod":{"n":"groupmod","p":"/groupmod","d":"更改群组识别码或名称"},"groups":{"n":"groups","p":"/groups","d":"用来打印指定用户所属的工作组"},"grpck":{"n":"grpck","p":"/grpck","d":"用于验证组文件的完整性"},"grpconv":{"n":"grpconv","p":"/grpconv","d":"用来开启群组的投影密码"},"grpunconv":{"n":"grpunconv","p":"/grpunconv","d":"用来关闭群组的投影密码"},"grub":{"n":"grub","p":"/grub","d":"多重引导程序grub的命令行shell工具"},"gunzip":{"n":"gunzip","p":"/gunzip","d":"用来解压缩文件"},"gzexe":{"n":"gzexe","p":"/gzexe","d":"用来压缩可执行文件"},"gzip":{"n":"gzip","p":"/gzip","d":"用来压缩文件"},"halt":{"n":"halt","p":"/halt","d":"关闭正在运行的Linux操作系统"},"hdparm":{"n":"hdparm","p":"/hdparm","d":"显示与设定硬盘的参数"},"head":{"n":"head","p":"/head","d":"在屏幕上显示指定文件的开头若干行"},"help":{"n":"help","p":"/help","d":"显示帮助信息"},"hexdump":{"n":"hexdump","p":"/hexdump","d":"显示文件十六进制格式"},"history":{"n":"history","p":"/history","d":"用于显示历史命令"},"host":{"n":"host","p":"/host","d":"常用的分析域名查询工具"},"hostid":{"n":"hostid","p":"/hostid","d":"用来打印当前主机的数字化标识"},"hostname":{"n":"hostname","p":"/hostname","d":"显示和设置系统的主机名"},"hping3":{"n":"hping3","p":"/hping3","d":"测试网络及主机的安全"},"htdigest":{"n":"htdigest","p":"/htdigest","d":"Apache服务器内置工具"},"htop":{"n":"htop","p":"/htop","d":"[非内部命令]一个互动的进程查看器,可以动态观察系统进程状况。"},"htpasswd":{"n":"htpasswd","p":"/htpasswd","d":"apache服务器创建密码认证文件"},"hwclock":{"n":"hwclock","p":"/hwclock","d":"显示与设定硬件时钟"},"iconv":{"n":"iconv","p":"/iconv","d":"转换文件的编码方式"},"id":{"n":"id","p":"/id","d":"显示用户的ID以及所属群组的ID"},"ifcfg":{"n":"ifcfg","p":"/ifcfg","d":"置Linux中的网络接口参数"},"ifconfig":{"n":"ifconfig","p":"/ifconfig","d":"配置和显示Linux系统网卡的网络参数"},"ifdown":{"n":"ifdown","p":"/ifdown","d":"禁用指定的网络接口"},"ifstat":{"n":"ifstat","p":"/ifstat","d":"统计网络接口流量状态"},"iftop":{"n":"iftop","p":"/iftop","d":"一款实时流量监控工具"},"ifup":{"n":"ifup","p":"/ifup","d":"激活指定的网络接口"},"indent":{"n":"indent","p":"/indent","d":"格式化C语言的源文件"},"info":{"n":"info","p":"/info","d":"Linux下info格式的帮助指令"},"init":{"n":"init","p":"/init","d":"init进程是所有Linux进程的父进程"},"inotifywait":{"n":"inotifywait","p":"/inotifywait","d":"异步文件系统监控机制"},"insmod":{"n":"insmod","p":"/insmod","d":"将给定的模块加载到内核中"},"install":{"n":"install","p":"/install","d":"安装或升级软件或备份数据"},"iostat":{"n":"iostat","p":"/iostat","d":"监视系统输入输出设备和CPU的使用情况"},"iotop":{"n":"iotop","p":"/iotop","d":"用来监视磁盘I/O使用状况的工具"},"ip":{"n":"ip","p":"/ip","d":"网络配置工具"},"ip6tables-restore":{"n":"ip6tables-restore","p":"/ip6tables-restore","d":"还原ip6tables表"},"ip6tables-save":{"n":"ip6tables-save","p":"/ip6tables-save","d":"保存ip6tables表配置"},"ip6tables":{"n":"ip6tables","p":"/ip6tables","d":"linux中防火墙软件"},"ipcalc":{"n":"ipcalc","p":"/ipcalc","d":"简单的IP地址计算器"},"ipcrm":{"n":"ipcrm","p":"/ipcrm","d":"删除消息队列、信号集、或者共享内存标识"},"ipcs":{"n":"ipcs","p":"/ipcs","d":"分析消息队列共享内存和信号量 "},"iperf":{"n":"iperf","p":"/iperf","d":"网络性能测试工具"},"iptables-restore":{"n":"iptables-restore","p":"/iptables-restore","d":"还原iptables表的配置"},"iptables-save":{"n":"iptables-save","p":"/iptables-save","d":"备份iptables的表配置"},"iptables":{"n":"iptables","p":"/iptables","d":"Linux上常用的防火墙软件"},"iptraf":{"n":"iptraf","p":"/iptraf","d":"实时地监视网卡流量"},"iptstate":{"n":"iptstate","p":"/iptstate","d":"显示iptables的工作状态"},"ispell":{"n":"ispell","p":"/ispell","d":"检查文件中出现的拼写错误"},"jed":{"n":"jed","p":"/jed","d":"主要用于编辑代码的编辑器"},"jobs":{"n":"jobs","p":"/jobs","d":"显示Linux中的任务列表及任务状态"},"joe":{"n":"joe","p":"/joe","d":"强大的纯文本编辑器"},"join":{"n":"join","p":"/join","d":"两个文件中指定栏位内容相同的行连接起来"},"jwhois":{"n":"jwhois","p":"/jwhois","d":"whois 客户端服务"},"kernelversion":{"n":"kernelversion","p":"/kernelversion","d":"打印当前内核的主版本号"},"kexec":{"n":"kexec","p":"/kexec","d":"从当前正在运行的内核引导到一个新内核"},"kill":{"n":"kill","p":"/kill","d":"删除执行中的程序或工作"},"killall":{"n":"killall","p":"/killall","d":"使用进程的名称来杀死一组进程"},"last":{"n":"last","p":"/last","d":"列出目前与过去登入系统的用户相关信息"},"lastb":{"n":"lastb","p":"/lastb","d":"列出登入系统失败的用户相关信息"},"lastlog":{"n":"lastlog","p":"/lastlog","d":"显示系统中所有用户最近一次登录信息"},"ld":{"n":"ld","p":"/ld","d":"将目标文件连接为可执行程序"},"ldconfig":{"n":"ldconfig","p":"/ldconfig","d":"动态链接库管理命令"},"ldd":{"n":"ldd","p":"/ldd","d":"打印程序或者库文件所依赖的共享库列表"},"less":{"n":"less","p":"/less","d":"分屏上下翻页浏览文件内容"},"let":{"n":"let","p":"/let","d":"简单的计算器"},"lftp":{"n":"lftp","p":"/lftp","d":"优秀的文件客户端程序"},"lftpget":{"n":"lftpget","p":"/lftpget","d":"调用lftp指令下载指定的文件"},"lha":{"n":"lha","p":"/lha","d":"压缩或解压缩lzh格式文件"},"lilo":{"n":"lilo","p":"/lilo","d":"安装核心载入开机管理程序"},"ln":{"n":"ln","p":"/ln","d":"用来为文件创件连接"},"lnstat":{"n":"lnstat","p":"/lnstat","d":"显示Linux系统的网路状态"},"locate":{"n":"locate","p":"/locate","d":"比 find 好用的文件查找工具"},"logger":{"n":"logger","p":"/logger","d":"在系统日志中记录相应条目"},"login":{"n":"login","p":"/login","d":"登录系统或切换用户身份"},"logname":{"n":"logname","p":"/logname","d":"用来显示用户名称"},"logout":{"n":"logout","p":"/logout","d":"退出当前登录的Shell"},"logrotate":{"n":"logrotate","p":"/logrotate","d":"统日志进行轮转、压缩和删除"},"logsave":{"n":"logsave","p":"/logsave","d":"将命令的输出信息保存到指定的日志文件"},"logwatch":{"n":"logwatch","p":"/logwatch","d":"可定制和可插入式的日志监视系统"},"look":{"n":"look","p":"/look","d":"显示文件中以指定字符串开头的任意行"},"losetup":{"n":"losetup","p":"/losetup","d":"设定与控制循环(loop)设备"},"lp":{"n":"lp","p":"/lp","d":"打印文件或修改排队的打印任务"},"lpadmin":{"n":"lpadmin","p":"/lpadmin","d":"配置CUPS套件中的打印机和类"},"lpc":{"n":"lpc","p":"/lpc","d":"命令行方式打印机控制程序"},"lpq":{"n":"lpq","p":"/lpq","d":"显示打印队列中的打印任务的状态信息"},"lpr":{"n":"lpr","p":"/lpr","d":"将文件发送给指定打印机进行打印"},"lprm":{"n":"lprm","p":"/lprm","d":"删除打印队列中的打印任务"},"lpstat":{"n":"lpstat","p":"/lpstat","d":"显示CUPS中打印机的状态信息"},"ls":{"n":"ls","p":"/ls","d":"显示目录内容列表"},"lsattr":{"n":"lsattr","p":"/lsattr","d":"查看文件的第二扩展文件系统属性"},"lsb_release":{"n":"lsb_release","p":"/lsb_release","d":"显示发行版本信息"},"lsblk":{"n":"lsblk","p":"/lsblk","d":"列出块设备信息"},"lscpu":{"n":"lscpu","p":"/lscpu","d":"显示有关CPU架构的信息"},"lsmod":{"n":"lsmod","p":"/lsmod","d":"显示已载入系统的模块"},"lsof":{"n":"lsof","p":"/lsof","d":"显示Linux系统当前已打开的所有文件列表 `lsof -p pid`"},"lspci":{"n":"lspci","p":"/lspci","d":"显示当前主机的所有PCI总线信息"},"lsusb":{"n":"lsusb","p":"/lsusb","d":"显示本机的USB设备列表信息"},"ltrace":{"n":"ltrace","p":"/ltrace","d":"用来跟踪进程调用库函数的情况"},"lvcreate":{"n":"lvcreate","p":"/lvcreate","d":"用于创建LVM的逻辑卷"},"lvdisplay":{"n":"lvdisplay","p":"/lvdisplay","d":"显示逻辑卷属性"},"lvextend":{"n":"lvextend","p":"/lvextend","d":"扩展逻辑卷空间"},"lvreduce":{"n":"lvreduce","p":"/lvreduce","d":"收缩逻辑卷空间"},"lvremove":{"n":"lvremove","p":"/lvremove","d":"删除指定LVM逻辑卷"},"lvresize":{"n":"lvresize","p":"/lvresize","d":"调整逻辑卷空间大小"},"lvscan":{"n":"lvscan","p":"/lvscan","d":"扫描逻辑卷"},"lynx":{"n":"lynx","p":"/lynx","d":"纯文本模式的网页浏览器"},"mail":{"n":"mail","p":"/mail","d":"命令行下发送和接收电子邮件"},"mailq":{"n":"mailq","p":"/mailq","d":"显示待发送的邮件队列"},"mailstat":{"n":"mailstat","p":"/mailstat","d":"显示到达的邮件状态"},"make":{"n":"make","p":"/make","d":"GNU的工程化编译工具"},"man":{"n":"man","p":"/man","d":"查看Linux中的指令帮助"},"md5sum":{"n":"md5sum","p":"/md5sum","d":"计算和校验文件报文摘要的工具程序"},"mesg":{"n":"mesg","p":"/mesg","d":"设置当前终端的写权限"},"mii-tool":{"n":"mii-tool","p":"/mii-tool","d":"配置网络设备协商方式的工具"},"mkbootdisk":{"n":"mkbootdisk","p":"/mkbootdisk","d":"可建立目前系统的启动盘"},"mkdir":{"n":"mkdir","p":"/mkdir","d":"用来创建目录"},"mke2fs":{"n":"mke2fs","p":"/mke2fs","d":"创建磁盘分区上的“etc2/etc3”文件系统"},"mkfs":{"n":"mkfs","p":"/mkfs","d":"用于在设备上创建Linux文件系统"},"mkinitrd":{"n":"mkinitrd","p":"/mkinitrd","d":"建立要载入ramdisk的映像文件"},"mkisofs":{"n":"mkisofs","p":"/mkisofs","d":"建立ISO 9660映像文件"},"mknod":{"n":"mknod","p":"/mknod","d":"创建字符设备文件和块设备文件"},"mkswap":{"n":"mkswap","p":"/mkswap","d":"建立和设置SWAP交换分区"},"mktemp":{"n":"mktemp","p":"/mktemp","d":"创建临时文件供shell脚本使用"},"modprobe":{"n":"modprobe","p":"/modprobe","d":"自动处理可载入模块"},"more":{"n":"more","p":"/more","d":"显示文件内容,每次显示一屏"},"mount":{"n":"mount","p":"/mount","d":"用于挂载Linux系统外的文件。"},"mpstat":{"n":"mpstat","p":"/mpstat","d":"显示各个可用CPU的状态"},"mtools":{"n":"mtools","p":"/mtools","d":"显示mtools支持的指令"},"mv":{"n":"mv","p":"/mv","d":"用来对文件或目录重新命名"},"mysql":{"n":"mysql","p":"/mysql","d":"MySQL服务器客户端工具"},"mysqladmin":{"n":"mysqladmin","p":"/mysqladmin","d":"MySQL服务器管理客户端"},"mysqldump":{"n":"mysqldump","p":"/mysqldump","d":"MySQL数据库中备份工具"},"mysqlimport":{"n":"mysqlimport","p":"/mysqlimport","d":"为MySQL服务器用命令行方式导入数据"},"mysqlshow":{"n":"mysqlshow","p":"/mysqlshow","d":"显示MySQL中数据库相关信息"},"named-checkzone":{"n":"named-checkzone","p":"/named-checkzone","d":"使用named-checkzone命令可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称。"},"nano":{"n":"nano","p":"/nano","d":"字符终端文本编辑器"},"nc":{"n":"nc","p":"/nc","d":"命令用于设置路由器。"},"ncftp":{"n":"ncftp","p":"/ncftp","d":"是增强的的FTP工具"},"nethogs":{"n":"nethogs","p":"/nethogs","d":"终端下的网络流量监控工具"},"netstat":{"n":"netstat","p":"/netstat","d":"查看Linux中网络系统状态信息"},"newusers":{"n":"newusers","p":"/newusers","d":"用于批处理的方式一次创建多个命令"},"nfsstat":{"n":"nfsstat","p":"/nfsstat","d":"列出NFS客户端和服务器的工作状态"},"ngrep":{"n":"ngrep","p":"/ngrep","d":"方便的数据包匹配和显示工具"},"nice":{"n":"nice","p":"/nice","d":"改变程序执行的优先权等级"},"nisdomainname":{"n":"nisdomainname","p":"/nisdomainname","d":"显示主机NIS的域名"},"nl":{"n":"nl","p":"/nl","d":"在Linux系统中计算文件内容行号"},"nm":{"n":"nm","p":"/nm","d":"显示二进制目标文件的符号表"},"nmap":{"n":"nmap","p":"/nmap","d":"网络探测和安全审核"},"nmcli":{"n":"nmcli","p":"/nmcli","d":"地址配置工具"},"nohup":{"n":"nohup","p":"/nohup","d":"将程序以忽略挂起信号的方式运行起来"},"nologin":{"n":"nologin","p":"/nologin","d":"拒绝用户登录系统"},"nslookup":{"n":"nslookup","p":"/nslookup","d":"查询域名DNS信息的工具"},"ntpdate":{"n":"ntpdate","p":"/ntpdate","d":"使用网络计时协议(NTP)设置日期和时间"},"ntsysv":{"n":"ntsysv","p":"/ntsysv","d":"集中管理系统的各种服务"},"objdump":{"n":"objdump","p":"/objdump","d":"显示二进制文件信息"},"od":{"n":"od","p":"/od","d":"输出文件的八进制、十六进制等格式编码的字节"},"openssl":{"n":"openssl","p":"/openssl","d":"强大的安全套接字层密码库"},"parted":{"n":"parted","p":"/parted","d":"磁盘分区和分区大小调整工具"},"partprobe":{"n":"partprobe","p":"/partprobe","d":"不重启的情况下重读分区"},"passwd":{"n":"passwd","p":"/passwd","d":"用于让用户可以更改自己的密码"},"paste":{"n":"paste","p":"/paste","d":"将多个文件按列队列合并"},"patch":{"n":"patch","p":"/patch","d":"为开放源代码软件安装补丁程序"},"pathchk":{"n":"pathchk","p":"/pathchk","d":"检查文件中不可移植的部分"},"perl":{"n":"perl","p":"/perl","d":"perl语言解释器"},"pfctl":{"n":"pfctl","p":"/pfctl","d":"PF防火墙的配置命令"},"pgrep":{"n":"pgrep","p":"/pgrep","d":"设置用户的认证信息,包括用户密码、密码过期时间等"},"php":{"n":"php","p":"/php","d":"PHP语言的命令行接口"},"pico":{"n":"pico","p":"/pico","d":"功能强大全屏幕的文本编辑器"},"pidof":{"n":"pidof","p":"/pidof","d":"查找指定名称的进程的进程号ID号"},"pigz":{"n":"pigz","p":"/pigz","d":"可以用来解压缩文件,gzip的并行实现升级版。"},"ping":{"n":"ping","p":"/ping","d":"测试主机之间网络的连通性"},"pkill":{"n":"pkill","p":"/pkill","d":"可以按照进程名杀死进程"},"pmap":{"n":"pmap","p":"/pmap","d":"报告进程的内存映射关系"},"popd":{"n":"popd","p":"/popd","d":"用于删除目录栈中的记录"},"poweroff":{"n":"poweroff","p":"/poweroff","d":"关闭Linux系统,关闭记录会被写入到/var/log/wtmp日志文件中。"},"ppp-off":{"n":"ppp-off","p":"/ppp-off","d":"关闭ppp连线"},"pr":{"n":"pr","p":"/pr","d":"将文本文件转换成适合打印的格式"},"printf":{"n":"printf","p":"/printf","d":"格式化并输出结果"},"protoize":{"n":"protoize","p":"/protoize","d":"GNU-C代码转换为ANSI-C代码"},"ps":{"n":"ps","p":"/ps","d":"报告当前系统的进程状态"},"pssh":{"n":"pssh","p":"/pssh","d":"批量管理执行"},"pstack":{"n":"pstack","p":"/pstack","d":"显示每个进程的栈跟踪"},"pstree":{"n":"pstree","p":"/pstree","d":"以树状图的方式展现进程之间的派生关系"},"pushd":{"n":"pushd","p":"/pushd","d":"将目录加入命令堆叠中"},"pv":{"n":"pv","p":"/pv","d":"显示当前在命令行执行的命令的进度信息,管道查看器。"},"pvchange":{"n":"pvchange","p":"/pvchange","d":"修改物理卷属性"},"pvck":{"n":"pvck","p":"/pvck","d":"检测物理卷的LVM元数据的一致性"},"pvcreate":{"n":"pvcreate","p":"/pvcreate","d":"将物理硬盘分区初始化为物理卷"},"pvdisplay":{"n":"pvdisplay","p":"/pvdisplay","d":"显示物理卷的属性"},"pvremove":{"n":"pvremove","p":"/pvremove","d":"删除一个存在的物理卷"},"pvs":{"n":"pvs","p":"/pvs","d":"输出物理卷信息报表"},"pvscan":{"n":"pvscan","p":"/pvscan","d":"扫描系统中所有硬盘的物理卷列表"},"pwck":{"n":"pwck","p":"/pwck","d":"用来验证系统认证文件内容和格式的完整性"},"pwconv":{"n":"pwconv","p":"/pwconv","d":"用来开启用户的投影密码"},"pwd":{"n":"pwd","p":"/pwd","d":"绝对路径方式显示用户当前工作目录"},"pwunconv":{"n":"pwunconv","p":"/pwunconv","d":"用来关闭用户的投影密码"},"quota":{"n":"quota","p":"/quota","d":"显示磁盘已使用的空间与限制"},"quotacheck":{"n":"quotacheck","p":"/quotacheck","d":"检查磁盘的使用空间与限制"},"quotaoff":{"n":"quotaoff","p":"/quotaoff","d":"关闭Linux内核中指定文件系统的磁盘配额功能"},"quotaon":{"n":"quotaon","p":"/quotaon","d":"激活Linux内核中指定文件系统的磁盘配额功能"},"rcconf":{"n":"rcconf","p":"/rcconf","d":"Debian Linux下的运行等级服务配置工具"},"rcp":{"n":"rcp","p":"/rcp","d":"使在两台Linux主机之间的文件复制操作更简单"},"read":{"n":"read","p":"/read","d":"从键盘读取变量值"},"readelf":{"n":"readelf","p":"/readelf","d":"用于显示elf格式文件的信息"},"readonly":{"n":"readonly","p":"/readonly","d":"定义只读shell变量或函数"},"reboot":{"n":"reboot","p":"/reboot","d":"重新启动正在运行的Linux操作系统"},"reject":{"n":"reject","p":"/reject","d":"指示打印系统拒绝发往指定目标打印机的打印任务"},"rename":{"n":"rename","p":"/rename","d":"用字符串替换的方式批量改变文件名"},"renice":{"n":"renice","p":"/renice","d":"修改正在运行的进程的调度优先级"},"repquota":{"n":"repquota","p":"/repquota","d":"报表的格式输出磁盘空间限制的状态"},"resize":{"n":"resize","p":"/resize","d":"命令设置终端机视窗的大小。"},"restore":{"n":"restore","p":"/restore","d":"所进行的操作和dump指令相反"},"restorecon":{"n":"restorecon","p":"/restorecon","d":"恢复文件的安全上下文"},"rev":{"n":"rev","p":"/rev","d":"将文件内容以字符为单位反序输出"},"rexec":{"n":"rexec","p":"/rexec","d":"运程执行Linux系统下命令 "},"rlogin":{"n":"rlogin","p":"/rlogin","d":"从当前终端登录到远程Linux主机"},"rm":{"n":"rm","p":"/rm","d":"用于删除给定的文件和目录"},"rmdir":{"n":"rmdir","p":"/rmdir","d":"用来删除空目录"},"rmmod":{"n":"rmmod","p":"/rmmod","d":"从运行的内核中移除指定的内核模块"},"route":{"n":"route","p":"/route","d":"显示并设置Linux中静态路由表"},"rpm":{"n":"rpm","p":"/rpm","d":"RPM软件包的管理工具"},"rpm2cpio":{"n":"rpm2cpio","p":"/rpm2cpio","d":"将RPM软件包转换为cpio格式的文件"},"rpmbuild":{"n":"rpmbuild","p":"/rpmbuild","d":"创建RPM的二进制软件包和源码软件包"},"rpmdb":{"n":"rpmdb","p":"/rpmdb","d":"初始化和重建RPM数据库"},"rpmquery":{"n":"rpmquery","p":"/rpmquery","d":"从RPM数据库中查询软件包信息"},"rpmsign":{"n":"rpmsign","p":"/rpmsign","d":"使用RPM软件包的签名管理工具"},"rpmverify":{"n":"rpmverify","p":"/rpmverify","d":"验证已安装的RPM软件包的正确性"},"rsh":{"n":"rsh","p":"/rsh","d":"连接远程主机并执行命令"},"rsync":{"n":"rsync","p":"/rsync","d":"远程数据同步工具"},"runlevel":{"n":"runlevel","p":"/runlevel","d":"打印当前Linux系统的运行等级"},"sar":{"n":"sar","p":"/sar","d":"系统运行状态统计工具"},"scp":{"n":"scp","p":"/scp","d":"加密的方式在本地主机和远程主机之间复制文件"},"screen":{"n":"screen","p":"/screen","d":"用于命令行终端切换"},"sed":{"n":"sed","p":"/sed","d":"功能强大的流式文本编辑器"},"seinfo":{"n":"seinfo","p":"/seinfo","d":"查询SELinux的策略提供多少相关规则"},"semanage":{"n":"semanage","p":"/semanage","d":"默认目录的安全上下文查询与修改"},"sendmail":{"n":"sendmail","p":"/sendmail","d":"著名电子邮件服务器"},"seq":{"n":"seq","p":"/seq","d":"以指定增量从首数开始打印数字到尾数"},"service":{"n":"service","p":"/service","d":"控制系统服务的实用工具"},"sesearch":{"n":"sesearch","p":"/sesearch","d":"查询SELinux策略的规则详情"},"set":{"n":"set","p":"/set","d":"显示或设置shell特性及shell变量"},"setfacl":{"n":"setfacl","p":"/setfacl","d":"设置文件访问控制列表"},"setpci":{"n":"setpci","p":"/setpci","d":"查询和配置PCI设备的使用工具"},"setsebool":{"n":"setsebool","p":"/setsebool","d":"修改SElinux策略内各项规则的布尔值"},"setsid":{"n":"setsid","p":"/setsid","d":"在新的会话中运行程序。"},"sftp-server":{"n":"sftp-server","p":"/sftp-server","d":"sftp协议的服务器端程序"},"sftp":{"n":"sftp","p":"/sftp","d":"交互式的文件传输程序"},"sh":{"n":"sh","p":"/sh","d":"shell命令解释器"},"shopt":{"n":"shopt","p":"/shopt","d":"显示和设置shell操作选项"},"showmount":{"n":"showmount","p":"/showmount","d":"显示NFS服务器加载的信息"},"shutdown":{"n":"shutdown","p":"/shutdown","d":"用来执行系统关机的命令"},"skill":{"n":"skill","p":"/skill","d":"向选定的进程发送信号冻结进程"},"slabtop":{"n":"slabtop","p":"/slabtop","d":"实时显示内核slab内存缓存信息"},"sleep":{"n":"sleep","p":"/sleep","d":"将目前动作延迟一段时间"},"slocate":{"n":"slocate","p":"/slocate","d":"命令查找文件或目录"},"smbclient":{"n":"smbclient","p":"/smbclient","d":"交互方式访问samba服务器"},"smbpasswd":{"n":"smbpasswd","p":"/smbpasswd","d":"samba用户和密码管理工具"},"sort":{"n":"sort","p":"/sort","d":"将文件进行排序并输出"},"source":{"n":"source","p":"/source","d":"在当前Shell环境中从指定文件读取和执行命令,命令返回退出状态。"},"speedtest-cli":{"n":"speedtest-cli","p":"/speedtest-cli","d":"命令行下测试服务器外网速度"},"spell":{"n":"spell","p":"/spell","d":"对文件进行拼写检查"},"split":{"n":"split","p":"/split","d":"分割任意大小的文件"},"squid":{"n":"squid","p":"/squid","d":"squid服务器守护进程"},"squidclient":{"n":"squidclient","p":"/squidclient","d":"squid服务器的客户端管理工具"},"ss":{"n":"ss","p":"/ss","d":"比 netstat 好用的socket统计信息,iproute2 包附带的另一个工具,允许你查询 socket 的有关统计信息。"},"ssh-add":{"n":"ssh-add","p":"/ssh-add","d":"把专用密钥添加到ssh-agent的高速缓存中"},"ssh-agent":{"n":"ssh-agent","p":"/ssh-agent","d":"ssh密钥管理器"},"ssh-copy-id":{"n":"ssh-copy-id","p":"/ssh-copy-id","d":"把本地的ssh公钥文件安装到远程主机对应的账户下"},"ssh-keygen":{"n":"ssh-keygen","p":"/ssh-keygen","d":"为ssh生成、管理和转换认证密钥"},"ssh-keyscan":{"n":"ssh-keyscan","p":"/ssh-keyscan","d":"收集主机公钥的使用工具"},"ssh":{"n":"ssh","p":"/ssh","d":"openssh套件中的客户端连接工具"},"sshd":{"n":"sshd","p":"/sshd","d":"openssh软件套件中的服务器守护进程"},"startx":{"n":"startx","p":"/startx","d":"用来启动X Window"},"stat":{"n":"stat","p":"/stat","d":"用于显示文件的状态信息"},"strace":{"n":"strace","p":"/strace","d":"跟踪系统调用和信号"},"strings":{"n":"strings","p":"/strings","d":"在对象文件或二进制文件中查找可打印的字符串"},"stty":{"n":"stty","p":"/stty","d":"修改终端命令行的相关设置"},"su":{"n":"su","p":"/su","d":"用于切换当前用户身份到其他用户身份"},"sudo":{"n":"sudo","p":"/sudo","d":"以其他身份来执行命令"},"sum":{"n":"sum","p":"/sum","d":"计算文件的校验码和显示块数"},"supervisord":{"n":"supervisord","p":"/supervisord","d":"配置后台服务/常驻进程的进程管家工具"},"swapoff":{"n":"swapoff","p":"/swapoff","d":"关闭指定的交换空间"},"swapon":{"n":"swapon","p":"/swapon","d":"激活Linux系统中交换空间"},"sync":{"n":"sync","p":"/sync","d":"用于强制被改变的内容立刻写入磁盘"},"sysctl":{"n":"sysctl","p":"/sysctl","d":"时动态地修改内核的运行参数"},"syslog":{"n":"syslog","p":"/syslog","d":"系统默认的日志守护进程"},"systemctl":{"n":"systemctl","p":"/systemctl","d":"系统服务管理器指令"},"systool":{"n":"systool","p":"/systool","d":"显示基于总线、类和拓扑显示系统中设备的信息"},"tac":{"n":"tac","p":"/tac","d":"将文件以行为单位的反序输出"},"tail":{"n":"tail","p":"/tail","d":"在屏幕上显示指定文件的末尾若干行"},"tailf":{"n":"tailf","p":"/tailf","d":"在屏幕上显示指定文件的末尾若干行内容,通常用于日志文件的跟踪输出。"},"talk":{"n":"talk","p":"/talk","d":"让用户和其他用户聊天"},"tar":{"n":"tar","p":"/tar","d":"Linux下的归档使用工具,用来打包和备份。"},"tcpdump":{"n":"tcpdump","p":"/tcpdump","d":"一款sniffer工具,是Linux上的抓包工具,嗅探器。"},"tcpreplay":{"n":"tcpreplay","p":"/tcpreplay","d":"将PCAP包重新发送,用于性能或者功能测试"},"tee":{"n":"tee","p":"/tee","d":"把数据重定向到给定文件和屏幕上"},"telint":{"n":"telint","p":"/telint","d":"切换当前正在运行系统的运行等级"},"telnet":{"n":"telnet","p":"/telnet","d":"登录远程主机和管理(测试ip端口是否连通)"},"tempfile":{"n":"tempfile","p":"/tempfile","d":"shell中给临时文件命名"},"test":{"n":"test","p":"/test","d":"shell环境中测试条件表达式工具"},"tftp":{"n":"tftp","p":"/tftp","d":"在本机和tftp服务器之间使用TFTP协议传输文件"},"time":{"n":"time","p":"/time","d":"统计给定命令所花费的总时间"},"tload":{"n":"tload","p":"/tload","d":"显示系统负载状况"},"tmux":{"n":"tmux","p":"/tmux","d":"Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。"},"top":{"n":"top","p":"/top","d":"显示或管理执行中的程序"},"touch":{"n":"touch","p":"/touch","d":"创建新的空文件"},"tput":{"n":"tput","p":"/tput","d":"通过terminfo数据库对终端会话进行初始化和操作"},"tr":{"n":"tr","p":"/tr","d":"将字符进行替换压缩和删除"},"tracepath":{"n":"tracepath","p":"/tracepath","d":"追踪目的主机经过的路由信息"},"traceroute":{"n":"traceroute","p":"/traceroute","d":"显示数据包到主机间的路径"},"trap":{"n":"trap","p":"/trap","d":"指定在接收到信号后将要采取的动作"},"tree":{"n":"tree","p":"/tree","d":"树状图列出目录的内容"},"tty":{"n":"tty","p":"/tty","d":"显示连接到当前标准输入的终端设备文件名。"},"type":{"n":"type","p":"/type","d":"显示指定命令的类型"},"ulimit":{"n":"ulimit","p":"/ulimit","d":"控制shell程序的资源"},"umask":{"n":"umask","p":"/umask","d":"用来设置限制新建文件权限的掩码"},"umount":{"n":"umount","p":"/umount","d":"用于卸载已经加载的文件系统"},"unalias":{"n":"unalias","p":"/unalias","d":"删除由alias设置的别名"},"uname":{"n":"uname","p":"/uname","d":"显示Linux系统信息"},"unarj":{"n":"unarj","p":"/unarj","d":"解压缩由arj命令创建的压缩包"},"uncompress":{"n":"uncompress","p":"/uncompress","d":"用来解压.Z文件"},"unexpand":{"n":"unexpand","p":"/unexpand","d":"将文件的空白字符转换为制表符"},"uniq":{"n":"uniq","p":"/uniq","d":"报告或忽略文件中的重复行"},"unlink":{"n":"unlink","p":"/unlink","d":"系统调用函数unlink去删除指定的文件"},"unprotoize":{"n":"unprotoize","p":"/unprotoize","d":"删除C语言源代码文件中的函数原型"},"unset":{"n":"unset","p":"/unset","d":"删除指定的shell变量或函数"},"unzip":{"n":"unzip","p":"/unzip","d":"用于解压缩由zip命令压缩的压缩包"},"updatedb":{"n":"updatedb","p":"/updatedb","d":"创建或更新slocate命令所必需的数据库文件"},"uptime":{"n":"uptime","p":"/uptime","d":"查看Linux系统负载信息"},"useradd":{"n":"useradd","p":"/useradd","d":"创建的新的系统用户"},"userdel":{"n":"userdel","p":"/userdel","d":"用于删除给定的用户以及与用户相关的文件"},"usermod":{"n":"usermod","p":"/usermod","d":"用于修改用户的基本信息"},"usernetctl":{"n":"usernetctl","p":"/usernetctl","d":"被允许时操作指定的网络接口"},"users":{"n":"users","p":"/users","d":"显示当前登录系统的所有用户"},"uucico":{"n":"uucico","p":"/uucico","d":"UUCP文件传输服务程序。"},"uupick":{"n":"uupick","p":"/uupick","d":"命令处理传送进来的文件。"},"vdfuse":{"n":"vdfuse","p":"/vdfuse","d":"VirtualBox软件挂载VDI分区文件工具"},"vgchange":{"n":"vgchange","p":"/vgchange","d":"修改卷组属性"},"vgconvert":{"n":"vgconvert","p":"/vgconvert","d":"转换卷组元数据格式"},"vgcreate":{"n":"vgcreate","p":"/vgcreate","d":"用于创建LVM卷组"},"vgdisplay":{"n":"vgdisplay","p":"/vgdisplay","d":"显示LVM卷组的信息"},"vgextend":{"n":"vgextend","p":"/vgextend","d":"向卷组中添加物理卷"},"vgreduce":{"n":"vgreduce","p":"/vgreduce","d":"从卷组中删除物理卷"},"vgremove":{"n":"vgremove","p":"/vgremove","d":"用于用户删除LVM卷组"},"vgrename":{"n":"vgrename","p":"/vgrename","d":"使用vgrename命令可以重命名卷组的名称。"},"vgscan":{"n":"vgscan","p":"/vgscan","d":"扫描并显示系统中的卷组"},"vi":{"n":"vi","p":"/vi","d":"功能强大的纯文本编辑器"},"vmstat":{"n":"vmstat","p":"/vmstat","d":"显示虚拟内存状态"},"volname":{"n":"volname","p":"/volname","d":"显示指定的ISO-9660格式的设备的卷名称"},"w":{"n":"w","p":"/w","d":"显示目前登入系统的用户信息"},"wait":{"n":"wait","p":"/wait","d":"等待进程执行完后返回"},"wall":{"n":"wall","p":"/wall","d":"向系统当前所有打开的终端上输出信息"},"watch":{"n":"watch","p":"/watch","d":"可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令"},"wc":{"n":"wc","p":"/wc","d":"统计文件的字节数、字数、行数"},"wget":{"n":"wget","p":"/wget","d":"Linux系统下载文件工具"},"whatis":{"n":"whatis","p":"/whatis","d":"查询一个命令执行什么功能"},"whereis":{"n":"whereis","p":"/whereis","d":"查找二进制程序、代码等相关文件路径"},"which":{"n":"which","p":"/which","d":"查找并显示给定命令的绝对路径"},"who":{"n":"who","p":"/who","d":"显示目前登录系统的用户信息"},"whoami":{"n":"whoami","p":"/whoami","d":"打印当前有效的用户名称"},"write":{"n":"write","p":"/write","d":"向指定登录用户终端上发送信息"},"xargs":{"n":"xargs","p":"/xargs","d":"给其他命令传递参数的一个过滤器"},"xauth":{"n":"xauth","p":"/xauth","d":"显示和编辑被用于连接X服务器的认证信息"},"xclip":{"n":"xclip","p":"/xclip","d":"管理 X 粘贴板"},"xhost":{"n":"xhost","p":"/xhost","d":"制哪些X客户端能够在X服务器上显示"},"xinit":{"n":"xinit","p":"/xinit","d":"是Linux下X-Window系统的初始化程序"},"xlsatoms":{"n":"xlsatoms","p":"/xlsatoms","d":"列出X服务器内部所有定义的原子成分"},"xlsclients":{"n":"xlsclients","p":"/xlsclients","d":"列出显示器中的客户端应用程序"},"xlsfonts":{"n":"xlsfonts","p":"/xlsfonts","d":"列出X Server使用的字体"},"xset":{"n":"xset","p":"/xset","d":"设置X-Window系统中的用户爱好的实用工具"},"xz":{"n":"xz","p":"/xz","d":"POSIX 平台开发具有高压缩率的工具。"},"yes":{"n":"yes","p":"/yes","d":"重复打印指定字符串"},"ypdomainname":{"n":"ypdomainname","p":"/ypdomainname","d":"显示主机的NIS的域名"},"yum":{"n":"yum","p":"/yum","d":"基于RPM的软件包管理器"},"zcat":{"n":"zcat","p":"/zcat","d":"显示压缩包中文件的内容"},"zfore":{"n":"zfore","p":"/zfore","d":"强制为gzip格式的压缩文件添加.gz后缀"},"zip":{"n":"zip","p":"/zip","d":"可以用来解压缩文件"},"zipinfo":{"n":"zipinfo","p":"/zipinfo","d":"用来列出压缩文件信息"},"zipsplit":{"n":"zipsplit","p":"/zipsplit","d":"将较大的zip压缩包分割成各个较小的压缩包"},"znew":{"n":"znew","p":"/znew","d":"将.Z压缩包重新转化为gzip命令压缩的.gz压缩包"}} \ No newline at end of file diff --git a/index.js b/index.js deleted file mode 100644 index 5c6d7f84a17..00000000000 --- a/index.js +++ /dev/null @@ -1,63 +0,0 @@ -var alfy = require('alfy'); -function isSreachIndexOF(oldstr,kw){ - var istrue = false; - if(oldstr&&toString.call(oldstr) === '[object Array]'){ - for (var i = 0; i < oldstr.length; i++) { - oldstr[i].toLowerCase()===kw.toLowerCase()?istrue=true:null; - } - return istrue; - } - if(!oldstr || !kw) return false; - return oldstr.toLowerCase().indexOf(kw.toLowerCase()) > -1 ? true : false; -} - -var urlstr = 'git.oschina.net/JSLite/linux-command/raw/master/dist/data.json' -// var urlstr = 'http://git.oschina.net/JSLite/linux-command/raw/master/dist/data.json' - -alfy.fetch(urlstr).then(result => { - var commands = []; - var e = 0 - for(var a in result){ - ++e; - result[a]['id'] = e; - commands.push(result[a]) - } - var i=0, - page_size = commands.length, - arrResult = [], - query=alfy.input; - if(commands&&commands.length&&toString.call(commands).indexOf('Array')>-1){ - var count = 0 - for (; i < page_size; i++) { - if(isSreachIndexOF(commands[i].n,query) - || isSreachIndexOF(commands[i].d,query) - ){ - if(count < page_size){ - arrResult.push(commands[i]); - ++count; - } - } - } - } - var items = []; - for(var i = 0;i< arrResult.length;i++){ - items.push({ - title: arrResult[i].n, - subtitle: arrResult[i].d, - arg: arrResult[i].n - }) - } - - if(items.length < 1){ - items.push({ - title: "没有搜素到内容", - subtitle: "请尝试其它关键字", - }) - } - alfy.output(items); -}); -// const items = alfy.inputMatches(commands, 'n').map(x => ({ -// title: x.n, -// subtitle: x.d, -// arg: x.id -// })); \ No newline at end of file diff --git a/info.plist b/info.plist index b383cfd3a0f..662105b19db 100644 --- a/info.plist +++ b/info.plist @@ -4,8 +4,6 @@ bundleid com.linux.command.keywords - category - Tools connections AB769D13-5DB9-42BF-A314-2D07384CB3A4 @@ -45,25 +43,6 @@ Linux Command objects - - config - - browser - - spaces - - url - https://jaywcjlove.github.io/linux-command/c/{query}.html - utf8 - - - type - alfred.workflow.action.openurl - uid - 0E764AF0-9350-40B4-8A01-175FAD0D952D - version - 1 - config @@ -86,10 +65,12 @@ alfredfiltersresults + argumenttrimmode + 0 argumenttype 0 escaping - 36 + 62 keyword lc queuedelaycustom @@ -103,7 +84,9 @@ runningsubtext 正在搜索中... script - ./node_modules/.bin/run-node index.js {query} + /usr/local/bin/node <<-'CODE' +require("./linux")("{query}"); +CODE scriptargtype 0 scriptfile @@ -124,6 +107,25 @@ version 2 + + config + + browser + + spaces + + url + https://jaywcjlove.github.io/linux-command/c/{query}.html + utf8 + + + type + alfred.workflow.action.openurl + uid + 0E764AF0-9350-40B4-8A01-175FAD0D952D + version + 1 + readme Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。 diff --git a/linux.js b/linux.js new file mode 100644 index 00000000000..fc4b0ef1b5f --- /dev/null +++ b/linux.js @@ -0,0 +1,32 @@ + +const data = require('./data.json'); + +module.exports = function (query) { + var commands = []; + Object.keys(data).forEach(function (keyName) { + if (keyName.toLowerCase().indexOf(query) > -1) { + const cmd = data[keyName]; + commands.push({ + title: cmd.n, + subtitle: cmd.d, + }); + } + }); + commands = commands.map(function (item) { + item.len = item.title.length; + return item; + }).sort(function (a, b) { + return a.len - b.len; + }).map(function(item) { + return { title: item.title, subtitle: item.subtitle, arg: item.title }; + }).slice(0, 8); + if (commands.length === 0) { + commands.push({ + title: "没有搜素到内容", + subtitle: "请尝试其它关键字", + }); + } + + const result = { items: commands }; + console.log(JSON.stringify(result)); +} diff --git a/package.json b/package.json index 3fd1a9710e9..c5f99dc47bf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "alfred-linux-command", - "version": "1.0.0", + "version": "1.2.2", "description": "Search through the Linux command.", "main": "index.js", "scripts": { @@ -30,8 +30,5 @@ "node": ">=4" }, "author": "kenny wang ", - "license": "MIT", - "dependencies": { - "alfy": "^0.6.0" - } + "license": "MIT" }