当前位置: 首页 > 编程日记 > 正文

Unix / 类 Unix shell 中有哪些很酷很冷门很少用很有用的命令?(转)

著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 作者:孙立伟 链接:http://www.zhihu.com/question/20140085/answer/14107336 来源:知乎
这个问题quora上有人提过 What are some lesser known but useful Unix commands? ,已经有不少答案了,我个人已经从这些答案中学到不少,这里我只是照搬过来,然后加上自己的解释。
  1. lsof: 列出所有打开的文件。举例:'lsof -p 456,123' 列出进程456和123所有打开的文件。'lsof -i 6' 列出所有IPv6协议的网络文件。
  2. nl: 将输出的每一行加上行号。例如:'cat 1.txt | nl',输出1.txt的文件并加上行号
  3. CTRL+aCTRL+e: 到命令行首(ctrl+a)和行末(ctrl+e),在小键盘上特别有用,不用费心思找HOME和END键
  4. ALT+.:列出上一个命令的最后一个参数。这个命令我最常用。例如'mkdir mydir',然后'cd ALT+.'。很好用
  5. CTRL+R: 这个也很常用,搜索命令历史相当方便。
  6. grep/sed/cut/tr/: 这几个命令的组合能够很方便的解析很多文件,就不一一举例了。个人不常用awk,觉得'sed'就够用了。
  7. find/xargs: 这个我也很常用,在一堆文件中查找某个特定字符串。这个常常和6中列出命令组合使用。
  8. ls -d */: 这个命令仅列出当前目录下所有的一级子目录,不包括'.'开头的隐藏目录,如果想列出隐藏目录,使用'ls -d .*'。'find -type d -maxdepth 1'也有类似的效果。
  9. id: 列出本用户所属的所有用户组。
  10. Brace Expansion:已经有人说过了,我补充完整一点。"ls /usr/{,local}/bin",列出"/usr/bin"和"/usr/local/bin"下所有文件。这个机制称为"Brace Expansion",再举个例子:"diff    .bashrc{,.backup}",显示.bashrc和.bashrc.backup两个文件之间的差异。
  11. column: 也有人提过,放在这里算总结吧,一个常用的语法是'mount | column -t',或者 'df | column -t',让输出更加容易阅读。
  12. ssh/sshfs/scp: 善用ssh相关工具让你的远程工作起来更加方便。'ssh -X'打开X-forward功能。'ssh-keygen'和'ssh-copy-id'让你省去每次输入密码的麻烦。ssh root@10.1.1.1 “远程命令"让你的命令远程执行。'sshfs root@10.1.1.1:/var/ /home/root/var' 将远程目录直接mount到本地目录。"scp root@10.1.1.1:.vimrc ."将远程服务器中root用户HOME目录下的.vimrc文件拷贝到本地。
  13. 使用'<'号读取文件到标准输入:对于所有接受标准输入的命令,使用'<文件名'可以将某个文件送入标准输入,并且可以出现在命令的任何位置,例如:
        "cat filename""<filename cat""cat <filename"
上面三个命令的效果是一模一样的。
----更新----- 这里补充说明一下,上面的几个技巧中所有命令行编辑的快捷键(CTRL+r CTR+a, CTRL+e)是由GNU readline库定义的,'man readline'可以得到更详细的说明以及更多的快捷键定义。但是由于和你使用的TERMINAL类型可能发生各种冲突,所以不是所有的快捷键都能够很好的工作。
-----更新2--- 类似问题的链接 有哪些不常见但很有用处的 Unix 命令?
-----更新3---- Top Ten One-Liners from CommandLineFu Explained 上面这篇文章总结了不少有用的命令。这个链接是四篇文章组成的一个系列,值得一看。
另外,readline的模式问题,BASH缺省的是emac模式(set -o emacs),通过'set -o vi'可以切换到vi模式,同一个网站上也有两篇很好的文章介绍操作技巧,值得一看。 BASH VI 模式 Working Productively in Bash's Vi Command Line Editing Mode (with Cheat Sheet) BASH EMAC 模式 Bash Emacs Editing Mode Cheat Sheet
---更新4---- 碰巧看见All commands上有一个使用lsof的实用技巧(Keep a copy of the raw Youtube FLV,MP4,etc stored in /tmp/),借这个地方记录一下:
现在浏览器的flash插件在播放在线视频的时候,常常将下载的视频放在/tmp目录下,然后执行unlink删除文件,但实际上文件并没有删除,这些被unlink的文件其实可以通过/proc找到。通过lsof找出插件的进程号,然后在/proc/插件进程号/fd/下找到当前打开文件的链接,然后就可以直接拷贝出来,在我的ArchLinux下firefox是这样的:
首先保证firefox正在播放flash视频,例如打开youku,随便播放一个视频,按暂停,执行下面的步骤:
  1. lsof -n -P | grep FlashXX:输出当前flash插件打开的所有文件,例如:"plugin-co 30427 30428 dsun   15u      REG               0,17  8790980     163285 /tmp/FlashXXRxAIDF (deleted)"
  2. 30427即flash插件进程号,执行‘ls -l /proc/30427/fd/ | grep /tmp/FlashXXRxAIDF',输出 "lrwx------ 1 dsun dsun 64 Mar 27 13:31 15-> /tmp/FlashXXRxAIDF (deleted)"
  3. 拷贝文件:'cp /proc/30427/fd/15 15.flv'。
不过,根据上面commandlinfu中的另一个说法,可以直接这样做:
for h in `find /proc/*/fd -ilname "/tmp/Flash*" 2>/dev/null`; do cp $h `basename $h`.flv; done
---更新5----
又看到一个我之前不知道的用法,用backslash执行命令,可以取消alias的效果.
\ (backslash)
The backslash escape character can be used before a shell command to override any aliases.
For example if rm was made into an alias for rm -i then typing “rm” would actually run rm -i.
However, typing \rm lets the shell ignore the alias and just run rm (its runs exactly what you type), this way it won't confirm if you want to delete things.

nc,可以在没有ssh的情况下传输文件,配合tar真心好用

Ubuntu里面有个sl命令,如果输入ls手快了输成sl就会提示apt-get install sl,装完之后运行一下就会出现一个小火车,挺有意思的。
Ubuntu里面有个sl命令,如果输入ls手快了输成sl就会提示apt-get install sl,装完之后运行一下就会出现一个小火车,挺有意思的。

Quartz Lee,Do anything for fun.

白志伟、Startar Sun、王晓龙
等人赞同
Shell没有range函数,可以使用 {1..999} 的形式,或seq命令。seq的选项不多,但是设计的非常精致和强大,man seq查看手册,1分钟内可以掌握它。find xxx -print0xargs -0 或 xargs --null如果你被find和xargs坑过,-print0和--null你定会让你感到亲切的。re…
显示全部
Shell没有range函数,可以使用 {1..999} 的形式,或seq命令。seq的选项不多,但是设计的非常精致和强大,man seq查看手册,1分钟内可以掌握它。
find xxx -print0 xargs -0 或 xargs --null 如果你被find和xargs坑过,-print0和--null你定会让你感到亲切的。
read -a 将读取到的元素存入数组 或在循环里逐个地存入数组:
musics=()
while read -r -d $'\0'; do musics+=("$REPLY") done < <(find $HOME/Music -type f -print0) 
上例中的 -r 和 -d 选项以及REPLY变量都很有趣。
引号,很容易被忽略,但是对于Shell来说是极其重要的部分。单引号用于阻止Shell解释其中的内容,双引号用于保护空格。
传统的UNIX管道模式是“一个输入,一个输出”。用函数的观点来看就是只允许一个参数的函数调用,其弊端王垠也提到过。不过现代的Shell已经有了变通的方法了。 例如: 使awk获取多个输入:
awk '...' <(generate_data) <(another_generate_data) ...
将数据传给多个命令处理:
generate_data | tee >(sort | uniq > sorted_data) >(nl > with_line_number) > raw_data
变量$-: [ "$-" = "*i*" ] 可以判断是否以交互式运行程序
变量$_: 类似于Python交互式环境中的 _(下划线),但没有你想象的好用。
内建命令trap: 可以捕捉信号,Google+上有人贴过使用trap恶搞的脚本,不过它的正式用处应该是清理临时文件,例如:
trap 'rm -f $temp_file' EXIT


董伟明,欢迎入伙

yang zhao、张东亚、王电轻
赞同
!1003 #执行history里的第1003行命令!ll #执行上一个命令 或者!-1 !?dongwm#查找历史记录里面包含‘dongwm’最近的那个命令执行^str1^str2^ #使用^ str1的替换字符串^ str2 ^ !str:^ #获取命令str的第一个参数!str:$ #获取命令str的最后一个参数!str:n #获…
显示全部
!1003 #执行history里的第1003行命令 !ll #执行上一个命令  或者!-1 !?dongwm#查找历史记录里面包含‘dongwm’最近的那个命令执行 ^str1^str2^  #使用^ str1的替换字符串^ str2 ^ !str:^  #获取命令str的第一个参数 !str:$  #获取命令str的最后一个参数 !str:n  #获取命令str的第n个参数 !str:n-m  #获取命令str的第n-m的参数 !$ #获取上一个命令的最后一个参数


猫小喵,求求你让我秀个优越感

JesseChen、题叶
赞同
这里有个网页总结得也蛮好的,一些不常用但很好用的unix命令/工具:
这里有个网页总结得也蛮好的,一些不常用但很好用的unix命令/工具:


Tuxify,故书不厌百回读

知乎用户、Suuuch、刘浩骅
等人赞同
1. 以 sudo 运行上条命令:$ sudo !!2. 在以普通用户打开的 VIM 当中保存一个 ROOT 用户文件::w !sudo tee %3. 切换回上一个目录:$ cd -4. 替换上一条命令中的一个短语(仅替换第一个):$ ^foo^bar^5. 快速备份一个文件:$ cp filename{,.bak}引自:Top …
显示全部
1. 以 sudo 运行上条命令:
$ sudo !!
2. 在以普通用户打开的 VIM 当中保存一个 ROOT 用户文件:
:w !sudo tee %
3. 切换回上一个目录:
$ cd -
4. 替换上一条命令中的一个短语(仅替换第一个):
$ ^foo^bar^
5. 快速备份一个文件:
$ cp filename{,.bak}
引自: Top Ten One-Liners from CommandLineFu Explained


牛杰,阿里云专家、资深域名行业从业者、技术工…

 
whoami很酷很冷门很少用很有用-这个。。。自己判断吧
whoami
  • 很酷
  • 很冷门
  • 很少用
  • 很有用-这个。。。自己判断吧
Ctrl - R 不错。
Ctrl - R 不错。

知乎用户,

李润泽、匿名用户
赞同
1. cloc2. highlight, 把它弄成 function/alias。如果目标是所支持的后缀就使用 ccat, 其它如 pipeline 就使用 scat。3. unp,不确定算不算冷门,但很多传统教学都教 tar, 所以 linux 小白可能不懂。
显示全部
1. cloca17abf4e6c43a7427bc1db48113a06c8_b.png2. highlight, 把它弄成 function/alias。如果目标是所支持的后缀就使用 ccat, 其它如 pipeline 就使用 scat。2. highlight, 把它弄成 function/alias。如果目标是所支持的后缀就使用 ccat, 其它如 pipeline 就使用 scat。69999bc00d6dcf8ed7c35e07cb30fd0e_b.png 3. unp,不确定算不算冷门,但很多传统教学都教 tar, 所以 linux 小白可能不懂。
sdcv命令行版本的翻译软件。festival命令行版本的文字转语音。fbterm支持中文的字符界面。yong输入法,字符界面下的中文输入法。mplayer,支持字符界面的视频播放器。aria2c,命令行下的下载软件,支持迅雷。有了以上大法,你知道,意味着什么?
sdcv命令行版本的翻译软件。 festival命令行版本的文字转语音。 fbterm支持中文的字符界面。 yong输入法,字符界面下的中文输入法。 mplayer,支持字符界面的视频播放器。 aria2c,命令行下的下载软件,支持迅雷。 有了以上大法,你知道,意味着什么?


rm -rf /这个算是很酷很冷门很少有人用的命令吗?
rm -rf / 这个算是很酷很冷门很少有人用的命令吗?
 
工作使用的的ubuntu的bash/zsh交替。就我自己而言,因为除却答案排名最高的人之外,看到比如ctrl+a,ctrl+e居然也算入了命令,那么我继续补充其他诸如此类的快捷键。当然,不能补充完全,我只能用到我自己平时在用的。首先,对于楼上提到的这些快捷方式的冷…
显示全部
工作使用的的ubuntu的bash/zsh交替。就我自己而言,因为除却答案排名最高的人之外,看到比如ctrl+a,ctrl+e居然也算入了命令,那么我继续补充其他诸如此类的快捷键。当然,不能补充完全,我只能用到我自己平时在用的。 首先,对于楼上提到的这些快捷方式的冷门:
  • ctr+a回到首->你记忆成a是字母开始
  • ctr+e回到末->e是end的意思。
  • ctr+r历史命令检索->research.[ctrl+shift+r也可以试试]
  • 另外还有诸如:
  • ctrl+shift+v,黏贴,这样可以避免很多人使用鼠标右键~
  • ctr+p返回上一条命令->pre
  • ctr+n返回下一条命令->next
  • ctrl+l->类似clear命令的 效果
  • 其他ctr+d/c/z什么的不用提及吧?
以上只是因为上面看到别人的原因,就补充了我平时使用的ctrl开始的快捷键. 接下来一!开始的快捷键
  • 使用 !! 执行上一条命令,常用的时候就是sudo !!
  • 使用 !foo 执行以 foo 开头的命令
  • 使用 !?foo 执行包含 foo 的命令
  • 通过 !$ 得到上一条命令的最后一位参数[Alt +.]
  • !^ 得到上一条命令的第一个参数[Ctrl + Alt + y]
  • 使用 !n 执行第 n 个命令,这个一般是在我ctlr+r没检索到,会用history来看.然后就.
  • 使用 !-n 执行倒数第 n 个命令,同上.
  • 使用 !# 引用当前行,这个我基本不用,但是讲到!了,我就顺便说说.比如cp,mv的时候就容易用到它,mv fuck !#:1.bak 这里的1是一个word specifier.我不常用,因为一般我都直接tab补全的.有兴趣的可以网上看看资料
  • !:[n-m] 得到上一条命令第 n -m个参数.这么说把,当!:N表示你要第n个,当你冒号之后给的是2个数字范围,那么就是去一个范围的参数,当给出!:n*的时候,就是第n个到最后一个,当!*这种就是所有参数.
  • 在!#我提到过word specifier,现在补充比如:!$:h->选取参数的开头部分.这个我也比较常用.
  • 还有:h:e:t等等,自己看吧.写的太多了.
然后是其他使用命令行的技巧:
  • alias这种命令属于常用的.$()和``[反引号]这些,大家都懂撒.
比如我在ubuntu下使用龙井qq的时候因为qq经常异常退出,但是还有进程在,所以我每次都要kill掉,大概我写的就是sudo kill -9 `ps axu|grep qq|grep -v grep |awk '{print $2}'`  里面用到了这个``.
  • 使用^ 删除错误.比如当你执行ls -l 的时候,你输入lsss -l,这时候可以执行^ss,删除2个s,删除是从左边开始寻找然后删除,比如lsds  ->你^s的时候,命令就换成了lds了.
  • 使用 ^old^new 替换. 不解释
至于要说好玩的功能.我推荐google 检索一下Ascii Art 哦.楼上说的什么cowsay,sl,toitlet,tpp这些都是属于此类. 补充: Home · rvoicilas/inotify-tools Wiki · GitHub Asciinema - Record and share your terminal sessions, the right way 这种都好玩呢.
网站推荐的话:explainshell.com

mike deng,哈哈!

make -j8一个伟大的东西诞生了。
make -j8 一个伟大的东西诞生了。
huangkun、yegle
赞同
strace, 秒杀大部分debug
strace, 秒杀大部分debug


henix

郅帅杰、知乎用户
赞同
bash 中我用得最多的快捷键是 alt+退格,删除最后一个单词;然后是 ctrl+R 找历史watch : 每隔一段时间监视某个命令的输出split : 分割文件comm : 得到两个文件中相同的行join : 像 sql 的 join 语句一样操作文本cut : 以某个分隔符提取某一列参考:…
显示全部
bash 中我用得最多的快捷键是 alt+退格,删除最后一个单词;然后是 ctrl+R 找历史
watch : 每隔一段时间监视某个命令的输出 split : 分割文件 comm : 得到两个文件中相同的行 join : 像 sql 的 join 语句一样操作文本 cut : 以某个分隔符提取某一列
参考:


find,运维, Release Engineer,

拉拉过者、郭涛
赞同
strace 用来跟踪程序执行情况,debug的时候很有用。sed -i 配合find用来修改配置文件极度方便vimdiff 打开vim看两个文件的不同之处pstack 这个用来看线程情况ctrl+z 把当前程序放到后台执行,比如vim的时候,你需要看本级ip就可以执行这个命令,ifconfig后…
显示全部
strace 用来跟踪程序执行情况,debug的时候很有用。 sed -i 配合find用来修改配置文件极度方便 vimdiff  打开vim看两个文件的不同之处 pstack 这个用来看线程情况 ctrl+z 把当前程序放到后台执行,比如vim的时候,你需要看本级ip就可以执行这个命令,ifconfig后可以再用fg切换回vim的界面,而不用退出vim。 cp /dev/null filename   用来删掉filename文件,而不会影响正在使用这个文件的进程。 暂时这么多了


题叶,Ubutnu12.04 && Gnome3

知乎用户
赞同
$ pushd . # 把当前路径压入栈中$ popd # 从栈中弹出思维习惯跟不上.. 有时挺有用的, unix 命令真多到无语了
$ pushd .  # 把当前路径压入栈中 $ popd  # 从栈中弹出 思维习惯跟不上.. 有时挺有用的, unix 命令真多到无语了
$ bc高精度计算器
$ bc
高精度计算器
http://www.zhihu.com/question/20140085

转载于:https://www.cnblogs.com/softidea/p/4909467.html

相关文章:

干货满满的 Python 实战项目,点赞收藏

作者 | 俊欣来源 | 关于数据分析与可视化今天小编来给大家介绍3个干货满满的计算机视觉方向的Python实战项目&#xff0c;主要用到的库有opencv-pythonnumpypillow要是大家所配置的环境当中没有这几个模块的话&#xff0c;就需要先用pip命令下载安装pip install opencv-python …

php安装完成以后要复制php.ini文件

直接 #find / -name "php.ini" 找不到&#xff0c;是因为安装php的时候没有复制配置文件 php版本变化以后ini文件名有变 php.ini-production对应于php.ini-recommended php.ini-development对应于php.ini-dist二者差异&#xff1f; 由于版本更新,这些文件有了新的命…

MASQUERADE --random 端口不随机

iptables -t nat -A POSTROUTING -o xxxx -j MASQUERADE --random发现源端口并不是随机的而是有规律递增&#xff0c;经过Google的搜索查找&#xff0c;发现新的版本有--random-full 这个参数iptables -t nat -A POSTROUTING -o xxxx -j MASQUERADE --random-full经过测试端口随…

PHP安装与使用VLD查看opcode代码【PHP安装第三方扩展的方法】

需要分析PHP代码的性能&#xff0c;或者说实现同样功能的代码到底哪个更好呢&#xff1f;或者说想知道底层的实现可以使用VLD查看opcode 下载与安装VLD # wget http://pecl.php.net/get/vld-0.11.2.tgz# tar zxvf vld-0.11.2.tgz# cd ./vld-0.11.2# /usr/local/php/bin/phpize …

实现数组字符串翻转的两种方法

//第一种方法&#xff1a;递归法 #include <stdio.h> int reverse_string(char * string) {if (*string ! \0){reverse_string(string1);printf("%c", *string);} } int main() {char *string "abcde";printf("源字符串为&#xff1a;%s\n&quo…

详解 Python 如何将爬取到的数据分别存储到 txt、excel、mysql 中!

作者 | 黄伟呢来源 | 数据分析与统计学之美1. 页面分析我爬取的页面是腾讯体育&#xff0c;链接如下&#xff1a;https://nba.stats.qq.com/player/list.htm观察上图&#xff1a;左边展示的分别是NBA的30支球队&#xff0c;右边就是每只球队对应球员的详细信息。此时思路就很清…

蹭了BCH热度,还来诋毁BCH,这些跳梁小丑到底在玩什么阴谋?

最近一些分叉币为了博眼球简直什么招数都用。有的某分叉币对主链暂停10天的问题闭口不提&#xff0c;靠微博撕逼来吸引关注&#xff0c;有的则自导自演了一出51%***的大戏。而奇怪的是当别人开始谈论他们这些错误的时候&#xff0c;他们却把矛头指向了火热的比特币现金。这些跳…

比 GPT-3 更擅长理解用户意图,OpenAI发布 InstructGPT

作者 | 青苹果来源 | 数据实战派近日&#xff0c;OpenAI 发布了一项令人瞩目的研究—— InstructGPT。在这项研究中&#xff0c;相比 GPT-3 而言&#xff0c;OpenAI 采用对齐研究&#xff08;alignment research&#xff09;&#xff0c;训练出更真实、更无害&#xff0c;而且更…

The C10K problem原文翻译

原文地址&#xff1a;http://www.cnblogs.com/fll/archive/2008/05/17/1201540.htmlThe C10K problem如今的web服务器需要同时处理一万个以上的客户端了&#xff0c;难道不是吗&#xff1f;毕竟如今的网络是个big place了。 现在的计算机也很强大了&#xff0c;你只需要花大概$…

mysql中模糊查询的四种用法介绍

下面介绍mysql中模糊查询的四种用法&#xff1a; 1&#xff0c;%&#xff1a;表示任意0个或多个字符。可匹配任意类型和长度的字符&#xff0c;有些情况下若是中文&#xff0c;请使用两个百分号&#xff08;%%&#xff09;表示。 比如 SELECT * FROM [user] WHERE u_name LIKE …

spring data jpa 详解

2019独角兽企业重金招聘Python工程师标准>>> 本篇进行Spring-data-jpa的介绍&#xff0c;几乎涵盖该框架的所有方面&#xff0c;在日常的开发当中&#xff0c;基本上能满足所有需求。这里不讲解JPA和Spring-data-jpa单独使用&#xff0c;所有的内容都是在和Spring整…

php使用curl可以get 模拟post

本机windows测试需要打开curl php.ini extensionphp_curl.dll重启apacheinclude (Curl.php);$cunew QP_Curl_Curl();$s$cu->get(http://www.baidu.com);echo $s;Curl.php可以使用http://www.myquickphp.com/的框架中的组件Curl.php/*** CURL 工具* * category QuickPHP(II…

为什么使用模块?

# -*- coding: utf-8 -*- #python 27 #xiaodeng #模块01#每个文件都是一个模块&#xff0c;并且模块导入之后就可以导入模块定义的变量名。#为什么使用模块&#xff1f; #命名空间提供了将部件组织为系统的简单的方法。 #在一个模块文件的顶层定义的所有变量名都成了被导入的模…

报告!插件×元宵来啦

欢欢喜喜 闹元宵迈过新年&#xff0c;开工大吉&#xff0c;元宵节的脚步悄悄靠近&#xff0c;在大家努力搬砖得同时&#xff0c;CSDN插件带着它的元宵活动走来啦~元宵喜乐汇虎年的第一个月圆之夜&#xff0c;除了吃汤圆还能干啥呢&#xff1f;当然是猜灯谜咯&#xff01;CSDN插…

%f%g%e区别

%f 表示按浮点数的格式输出 %e 表示按指数形式的浮点数的格式输出 %g 表示自动选择合适的表示法输出&#xff0c;可以去小数末尾多余的0转载于:https://www.cnblogs.com/holyday/p/9111777.html

Cassandra安装测试

说明&#xff0c;本人成功安装过程记录 只要看解压目录的readme.txt即可&#xff0c;其他网上教程由于版本不对会执行报错&#xff0c;例如遇到编码问题 #wget http://www.apache.org/dyn/closer.cgi?path/cassandra/1.0.3/apache-cassandra-1.0.3-bin.tar.gz #tar -zxvf a…

如何使用 Python 隐藏图像中的数据

作者 | 小白来源 | 小白学视觉隐写术是在任何文件中隐藏秘密数据的艺术。秘密数据可以是任何格式的数据&#xff0c;如文本甚至文件。简而言之&#xff0c;隐写术的主要目的是隐藏任何文件&#xff08;通常是图像、音频或视频&#xff09;中的预期信息&#xff0c;而不实际改变…

php 的 危 险 参 数

hpinfo() 功能描述&#xff1a;输出 PHP 环境信息以及相关的模块、WEB 环境等信息。 危险等级&#xff1a;中 passthru() 功能描述&#xff1a;允许执行一个外部程序并回显输出&#xff0c;类似于 exec()。 危险等级&#xff1a;高 exec() 功能描述&#xff1a;允许执行一个外部…

开源 | 蚂蚁金服分布式中间件开源第二弹:丰富微服务架构体系

小蚂蚁说&#xff1a; 数据、消息、微服务是蚂蚁金服自主研发的金融级分布式中间件 SOFA &#xff08;Scalable Open Financial Architecture&#xff09;的三大方向。 一个多月前&#xff0c;蚂蚁金服开源了 SOFABoot 和 SOFARPC 两个组件&#xff0c;受到了社区的热烈欢迎&am…

System.Web.Caching.Cache类 缓存 各种缓存依赖

原文:System.Web.Caching.Cache类 缓存 各种缓存依赖Cache类&#xff0c;是一个用于缓存常用信息的类。HttpRuntime.Cache以及HttpContext.Current.Cache都是该类的实例。 一、属性 属性说明Count获取存储在缓存中的项数。EffectivePercentagePhysicalMemoryLimit获取在 ASP.NE…

Python 可视化近 90 天的百度搜索指数 + 词云图

作者 | 叶庭云来源 | AI庭云君一、简介 在实际业务中我们可能会使用爬虫根据关键词获取百度搜索指数历史数据&#xff0c;然后进行对应的数据分析。百度指数&#xff0c;体验大数据之美。但要获取百度指数相关的数据&#xff0c;困难如下&#xff1a;不是静态网页&#xff0c;并…

php常用比较函数区别表

php常用比较函数区别表 表达式 empty() is_null() isset() if($x) $x "" TRUE FALSE TRUE FALSE $x null TRUE TRUE FALSE FALSE $x is undefined TRUE TRUE FALSE FALSE(报E_NOTICE错) $x array() TRUE FALSE TRUE FALSE $x false TRUE FALSE TRUE FALSE $x 0 …

实战分享:淘宝Web 3D应用与游戏开发

大家下午好&#xff01;我们今天讲个比较有意思的话题&#xff0c;这个话题在业界被谈及得比较少。大家在座有做过移动端开发的同学吗&#xff1f;请举个手&#xff0c;人还挺多的。那做过3D应用的同学请举个手&#xff0c;有用过Threejs的请举个手&#xff0c;做过游戏的呢..人…

常见NoSQL系统使用场景分析

•Cassandra •特性&#xff1a;分布式与复制的权衡\根据列和键范围进行查询\BigTable类似的功能&#xff1a;列&#xff0c;列族\写比读快很多 •最佳适用&#xff1a;写操作较多&#xff0c;读比较少的时候。如果你的系统都是基于Java的时候。 •应用场景&#xff1a;银行&am…

再一次输给了AI,弯道急速超车、登上 Nature 封面

作者 | 学术头条来源 | 学术头条人工智能&#xff08;AI&#xff09;的很多潜在应用&#xff0c;涉及与人类交互时做出更优化的实时决策&#xff0c;而竞技或者博弈类游戏&#xff0c;便是最佳的展示舞台。近日&#xff0c;发表在《自然》杂志上的封面文章报告称&#xff0c;AI…

maven 多环境打包

2019独角兽企业重金招聘Python工程师标准>>> 1.在项目的pom中添加 <build><resources><!-- Resource Filter --><resource><directory>src/main/resources</directory><filtering>true</filtering></resource&g…

Sass函数:Sass Maps的函数-map-has-key($map,$key)

map-has-key($map,$key) 函数将返回一个布尔值。当 $map 中有这个 $key&#xff0c;则函数返回 true&#xff0c;否则返回 false。 前面的示例&#xff0c;当 $key 不在 $map 中时&#xff0c;使用 map-get($map,$key) 函数将返回一个 null 值。但对于开发人员&#xff0c;并看…

Memcache内存分配策略

转自&#xff1a;http://tank.blogs.tkiicpp.com/2010/12/14/memcache%e5%86%85%e5%ad%98%e5%88%86%e9%85%8d%e7%ad%96%e7%95%a5/ 一、Memcache内存分配机制关于这个机制网上有很多解释的&#xff0c;我个人的总结如下。 Page为内存分配的最小单位。 Memcached的内存分配以page…

论排列组合,持续更新

今天刚好碰到了一个排列组合问题&#xff0c;因为之前对这方面的学习比较少&#xff0c;所以用的非常蠢的方法做了四位数中取三位的排列&#xff0c;写的程序太有局限性&#xff0c;源码如下#define _CRT_SECURE_NO_WORNINGS 1#include<stdio.h>#include<stdlib.h>…

Python 中少为人知的 10 个安全陷阱

作者&#xff1a;Dennis Brinkrolf译者&#xff1a;豌豆花下猫Python猫原题&#xff1a;10 Unknown Security Pitfalls for Python英文&#xff1a;https://blog.sonarsource.com/10-unknown-security-pitfalls-for-pythonPython 开发者们在使用标准库和通用框架时&#xff0c;…