avatar

目录
shell命令笔记

shell命令笔记

事先声明,本人就是一个菜鸟,这篇博客也就是为了学习下大佬的博客。

陈皓和雷俊(Javaer/Emacser)-打造高效的工作环境 – SHELL 篇

无意间翻出来的,备注下链接,一点一点慢慢吸取下。

下面两篇是文中提到的两篇博客,有趣也有用的。

你可能不知道的SHELL
应该知道的LINUX技巧

又从里面看到的,算了我全都放这里了,慢慢啃吧

顺便把收藏的linux基本命令的流程图放上来

基础的linux基本命令图

摘抄+笔记

链接一: 你可能不知道的SHELL

  • !$

    这是个特殊的变量,代表上一个命令的最后一个字符串

    !$示例

  • sudo !!

    以root的身份执行上一条命令

    shell_02

  • cd -

    回到上一次的目录

    cd ~ 是回到自己的Home目录,cd ~user,是进入某个用户的Home目录

  • ALT+. or <ESC> .

    可以把上次命令的参数给重复出来。试了以下,没有想象中的好用。

  • ^old^new

    替换前一条命令里的部分字符串。

    shell_03

  • du -s *| sort -n | tail

    列出当前目录里最大的10个文件

  • :w !sudo tee %

    保存一个只有root可以写的文件,存疑。。。

    shell_04

  • date -d@1234567890

    时间戳转时间,说不定啥时候调bug会用到。

1579512240869

  • > file.txt

    创建一个空文件,或者可以用 touch file.txt,不过这个确实短一些。

  • mtr coolshell.cn

这个,平时不搞这个,放过吧,虚拟机里面一个也没有。不过说是mtr命令比traceroute要好。

  • 在命令行前加空格,该命令不会进入history里。

  • echo "ls -l" | at midnight

    在某个时间运行某个命令。又是一个没有见过的命令,先搜个博客

    linux中at命令详解

    linux命令之at

  • curl -u user:pass -d status="Tweeting from the shell" http://twitter.com/statuses/update.xml

    命令行的方式更新twitter。

  • curl -u username --silent "https://mail.google.com/mail/feed/atom" | perl -ne 'print "\t" if /<name>/; print "$2\n" if /<(title|name)>(.*)<\/\1>/;'

    检查你的gmail未读邮件。

  • ps aux | sort -nk +4 | tail

    列出头十个最耗内存的进程

  • man ascii

    显示ascii码表。

  • ctrl-x e

    快速启动你的默认编辑器(由变量$EDITOR设置)。

  • netstat –tlnp
    列出本机进程监听的端口号。

  • netstat -anop
    可以显示侦听在这个端口号的进程

    对比下,感觉上一个没啥用?

  • tail -f /path/to/file.log | sed '/^Finished: SUCCESS$/ q'

    当file.log里出现Finished: SUCCESS时候就退出tail,这个命令用于实时监控并过滤log是否出现了某条记录。
    这个不错

  • ssh user@server bash < /path/to/local/script.sh

    在远程机器上运行一段脚本。这条命令最大的好处就是不用把脚本拷到远程机器上。

    不知道怎么才能指定目录执行,不然脚本写的有点死。

  • ssh user@host cat /path/to/remotefile | diff /path/to/localfile -

    比较一个远程文件和一个本地文件. 感觉我首先得学会看diff命令。

  • net rpc shutdown -I ipAddressOfWindowsPC -U username%password

    远程关闭一台Windows的机器

  • screen -d -m -S some_name ping my_router

    后台运行一段不终止的程序,并可以随时查看它的状态。-d -m参数启动“分离”模式,-S指定了一个session的标识。可以通过-R命令来重新“挂载”一个标识的session。更多细节请参考screen用法 man screen。

  • wget --random-wait -r -p -e robots=off -U mozilla http://www.example.com

    下载整个 www.example.com 网站。(大佬注:别太过分,大部分网站都有防爬功能了:))

  • curl ifconfig.me

当你的机器在内网的时候,可以通过这个命令查看外网的IP

这个没搞懂,一个结果看不懂,一个干脆就是不通

1579578337692

  • convert input.png -gravity NorthWest -background transparent -extent 720x200 output.png

改一下图片的大小尺寸。虚拟机没装convert这个命令,centos精简版好多没有啊。

  • isof -i

实时查看本机网络服务的活动状态。

  • vim scp://username@host//path/to/somefile

    vim一个远程文件

  • python -m SimpleHTTPServer
    一句话实现一个HTTP服务,把当前目录设为HTTP服务目录,可以通过 http://localhost:8000 访问 这也许是这个星球上最简单的HTTP服务器的实现了。
    这个挺有用的,需要python,linux上面应该都带了python。

  • history|awk '{print $2}'|awk 'BEGIN {FS="|"}{print $1}'|sort|uniq -c|sort -rn|head -10

    这行脚本能输出你最常用的十条命令,由此甚至可以洞察你是一个什么类型的程序员。

    原文中的这行命令引号可能错了,我直接复制粘贴不行,我重新敲了一遍。

  • tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"

    想看看Marix的屏幕效果吗?(不是很像,但也很Cool!)

    停不下来,,按了几下ctrl+c 才停下来,蛮有意思的。

    shell_05

文章作者: thf
文章链接: http://pcbopcbo.github.io/2020/01/20/2020012015/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 漂泊的个人笔记

评论