你不知道的shell用法和脚本,简单强大
本文摘自:码农增刊 Linus与Linux
在阅读以下部分前, 强烈建议读者打开一个 shell 实验,这些都不是 shell 教科书里的大路货哦:)
1. sudo !!
以root的身份执行上一条命令 。
场景举例:比如Ubuntu里用apt-get安装软件包的时候是需要root身份的,我们经常会忘记在apt-get前加sudo。 每次不得不加上sudo再重新键入这行命令, 这时可以很方便的用sudo !!完事。
2. cd –
回到上一次的目录 。
场景举例: 当前目录为/home/a, 用cd ../b切换到/home/b。 这时可以通过反复执行cd –命令在/home/a和/home/b之间来回方便的切换。
3. ^old^new
替换前一条命令里的部分字符串。
场 景: echo "wanderful", 其实是想输 出echo "wonderful"。 只需要^a^o就行了,对很长的命令的错误拼写有很大的帮助。
4. man ascii
显示ascii码表。
场景: 忘记ascii码表的时候还需要google么?尤其在天朝网络如此“ 顺畅”的情况下, 就更麻烦在GWF多应用一次规则了, 直接用本地的man ascii吧。
5. ctrl-x e
快速启动你的默认编辑器(由变量$EDITOR设置)。
6. netstat –tlnp
列出本机进程监听的端口号。
7. tail -f /path/to/file.log | sed '/^Finished: SUCCESS$/ q'
当file.log里出现Finished: SUCCESS时候就退出tail, 这个命令用于实时监控并过滤log是否出现了某条记录。
8. ssh user@server bash < /path/to/local/script.sh
在远程机器上运行一段脚本。 这条命令最大的好处就是不用把脚本拷到远程机器上。
9. screen -d -m -S some_name ping my_router
后台运行一段不终止的程序, 并可以随时查看它的状态。-d -m参数启动 “ 分离” 模式, -S指定了一个session的标识。 可以通过-R命令来重新“ 挂载”一个标识的session。 更多细节请参考screen用法 man screen。
10. wget --random-wait -r -p -e robots=off -U mozilla http://www.example.com
下载整个www.example.com网站。
11. curl ifconfig.me
当你的机器在内网的时候, 可以通过这个命令查看外网的IP。
12. lsof –i
实时查看本机网络服务的活动状态。
13. python -m SimpleHTTPServer
一句话实现一个HTTP server, 把当前目录设为HTTP服务目录, 可以通过http://localhost:8000访问 这也许是这个星球上最简单的HTTP服务器的实现了。
最后来个复杂的,这行脚本能输出你最常用的十条命令, 由此甚至可以洞察你是一个什么类型的程序员。
history | awk '{CMD[$2]++;count++;} END { for (a in CMD )print CMD[a] " " CMD[a]/count*100 "% " a }' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10
看不懂行代码? 没关系, 系统的学习一下 *nix shell 脚本吧,力荐《Linux命令行与Shell脚本编程大全》 。
最后还是那句 Shell 的至理名言:“ Where there is a shell, there is a way!”
PS:欢迎追加
你不知道的shell用法和脚本,简单强大相关推荐
- xshell脚本简单代码_十分钟学会写shell脚本
大家好!我是handsomecui,下面我为大家讲解一下shell脚本的写法,讲的不好的地方,欢迎大家留言拍砖. 1.在linux下会写shell脚本是非常重要的,下面我参照例子给大家展示几个脚本,顺 ...
- java使用lua脚本操作 redis_在Redis中使用简单强大的Lua脚本
Redis分布式锁加锁 前段时间写Redis分布式锁,想着在小灰文章的基础上再总结一下,这样能有更深的印象,顺便把Lua脚本分享一下,如果项目中使用Redis比较多,那么Lua脚本一定是会用到的,因为 ...
- 生产力工具:shell 与 Bash 脚本
生产力工具:shell 与 Bash 脚本 作者:吴甜甜 个人博客网站: wutiantian.github.io 微信公众号: 吴甜甜的博客 注意:本文只是我个人总结的学习笔记,不适合0基础人士观看 ...
- [MIT公开课(计算机教育中缺失的一课)]2.Shell工具与脚本
(该系列文章大部分内容来源于MIT课程笔记,加入了个人的理解.原笔记中没有的细节和其他的需要理解的内容,公开课地址:https://www.bilibili.com/video/BV14E411J7n ...
- Linux安装Flash脚本,Linux(CentOS)下的Shockwave Flash shell一键更新脚本
原创内容,转载请注明出处: https://www.myzhenai.com.cn/post/2318.html https://www.myzhenai.com/thread-17933-1-1.h ...
- Shell语言-16-Shell脚本调试 -n -v -x -c
Shell脚本的语法调试,使用bash的相关参数进行调试 sh [参数] 文件名.sh -n 不要执行script,仅查询语法 -v 在执行script之前,先将script的内容输出到屏幕上 -x ...
- shell简介和脚本执行方式
shell简介和脚本执行方式 1.shell简介 Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输 ...
- Java - 调用 Shell 命令和脚本
介绍 有时候我们在Linux中运行Java程序时,需要调用一些Shell命令和脚本.而Runtime.getRuntime().exec()方法给我们提供了这个功能,而且Runtime.getRunt ...
- Shell编程(脚本)的常用命令和语句
一些常用的Shell编程(脚本)命令和语句,可以满足一般需求. 接收到的命令参数: 参数个数: $# 参数值: 命令本身:$0 第一个参数:$1 第二个参数:$2 -- 退出命令: exit echo ...
最新文章
- java 实现接口后重写方法报错
- Python:用字典建立一个通讯录,向字典中添加和删除通讯人信息,查询某个人的信息,然后输出通讯录中所有人的信息。
- CentOS6.5下用yum安装 git .
- docker下用keepalived+Haproxy实现高可用负载均衡集群
- ASP.NET MVC 多语言开发简单案例
- CAN总线技术 | 数据链路层04 - CAN节点状态与错误处理机制
- Netty的EventLoop
- Win10下windows mobile device center设备中心连接不上无法启动
- thinkpad sl400 换网卡,debian换驱动
- 《思考的艺术》-大前研一
- html 设计尺寸,多少像素才合适 网页设计标准尺寸大讲解
- 泰坦尼克号沉船生还预测
- Lingo 简单的背包问题
- 苹果cms漫画小说模板
- markdown-Emoji
- debug tools
- MSVC中常见的几种函数调用约定
- 如何成为一名很酷的机器人工程师?
- 聚焦SSD:各固态硬盘厂商主控芯片选择
- 漫画 | 计算机原来这么有趣(附赠书)
热门文章
- 使用python获取路径问题
- Xcode制作动态及静态Framework
- Cocos2D粒子发射器的纹理
- RHEL5.3下搭建SSH
- mysql group by 区间_SQL按区间进行group by
- 动态添加的路由 直接访问_VUE 动态路由(二)
- 初学者选黑卡还是微单_入门单反和微单相机该买哪个
- centos 7 安装 mantisbt-2.12.0 —— 安装LAMP环境、安装mantisbt-2.12.0
- 第五篇:JMeter 定时器
- Search Insert Position @leetcode