`

笔记几个不常用但强大的shell命令

阅读更多
  • !$
    !$是一个特殊的环境变量,它代表了上一个命令的最后一个字符串。如:你可能会这样:
    $mkdir mydir
    $mv mydir yourdir

    $cd yourdir
    可以改成:
    $mkdir mydir
    $mv !$ yourdir
    $cd !$
  • sudo !!
    以root的身份执行上一条命令 。
    场景举例:比如Ubuntu里用apt-get 安装软件包的时候是需要root身份的,我们经常会忘记在apt-get 前加sudo 。每次不得不加上sudo 再重新键入这行命令,这时可以很方便的用sudo !! 完事。
    (陈皓注:在shell下,有时候你会输入很长的命令,你可以使用!xxx来重复最近的一次命令,比如,你以前输入过,vi /where/the/file/is, 下次你可以使用 !vi 重得上次最近一次的vi命令。)
  • cd –
    回到上一次的目录 。
    场景举例:当前目录为/home/a ,用cd ../b 切换到/home/b 。这时可以通过反复执行cd – 命令在/home/a/home/b 之间来回方便的切换。
    (陈皓注:cd ~ 是回到自己的Home目录,cd ~user,是进入某个用户的Home目录)
  • ‘ALT+.’ or ‘<ESC> .’
    热建alt+. 或 esc+. 可以把上次命令行的参数给重复出来。
  • ^old^new
    替换前一条命令里的部分字符串。
    场景:echo "wanderful" ,其实是想输出echo "wonderful" 。只需要^a^o 就行了,对很长的命令的错误拼写有很大的帮助。(陈皓注:也可以使用 !!:gs/old/new
  • du -s * | sort -n | tail
    列出当前目录里最大的10个文件。
  • :w !sudo tee %
    在vi中保存一个只有root可以写的文件
  • date -d@1234567890
    时间截转时间
  • > file.txt
    创建一个空文件,比touch短。
  • mtr coolshell.cn
    mtr命令比traceroute要好。
  • 在命令行前加空格,该命令不会进入history里。
  • echo “ls -l” | at midnight
    在某个时间运行某个命令。
  • 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码表。
    场景:忘记ascii码表的时候还需要google么?尤其在天朝网络如此“顺畅”的情况下,就更麻烦在GWF多应用一次规则了,直接用本地的man 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 -
    比较一个远程文件和一个本地文件
  • 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。
  • convert input.png -gravity NorthWest -background transparent -extent 720×200  output.png
    改一下图片的大小尺寸
  • lsof –i
    实时查看本机网络服务的活动状态。
  • vim scp://username@host//path/to/somefile
    vim一个远程文件
  • python -m SimpleHTTPServer
    一句话实现一个HTTP服务,把当前目录设为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
    (陈皓注:有点复杂了,history|awk ‘{print $2}’|awk ‘BEGIN {FS=”|”} {print $1}’|sort|uniq -c|sort -rn|head -10)
    这行脚本能输出你最常用的十条命令,由此甚至可以洞察你是一个什么类型的程序员。
分享到:
评论

相关推荐

    Linuxshell学习笔记Shell脚本常用命令中文版最新版本

    探讨学习与使用shell的理由,我们可以发现几点关键因素:首先,shell是Linux系统中内置的脚本语言,其程序开发效率高,这得益于其强大的命令功能,可以快速完成批处理任务。其次,shell的语法简洁,使得代码编写变得...

    Linux零基础学习笔记 Shell编程-菜鸟入门(超详细)

    在Linux学习笔记中,你将接触到以下几个关键知识点: 1. **命令行基础**:了解如何在终端中启动和使用shell,学习基本的文件和目录操作,如`cd`(改变目录)、`ls`(列出目录内容)、`touch`(创建新文件)、`mv`...

    shell学习笔记-2018-01-09

    3. **使用Shell命令程序执行**:通过`/bin/bash shell.sh`命令执行脚本。这种方式适用于任何路径下的脚本文件。 #### Shell变量 Shell变量主要用于存储数据。在Shell脚本中,变量可以分为几种类型: 1. **用户...

    《LINUX与UNIX SHELL编程指南》读书笔记

    在阅读这本书的过程中,你可能会学到以下几个关键知识点: 1. **Shell语法基础**:包括变量声明、赋值、条件语句(if...else)、循环结构(for、while)以及函数定义等。了解这些基础知识是编写Shell脚本的基础。 ...

    Android笔记之:App调试的几个命令的实践与分析

    本文将介绍几个在Android中常用的App调试命令及其实践应用。 首先,`logcat`是Android开发者最熟悉的命令之一,用于查看设备或模拟器的日志输出。通过`adb logcat -v time`,我们可以获取带有时间戳的日志,这对于...

    几个我自己学习的linux命令

    本文将围绕一个 Linux 学习者的笔记,详细解析几个常用的 Linux 命令及其应用场景。 #### 1. 在生成文件名内追加日期的小技巧 在 Linux 中,可以通过 shell 脚本结合日期命令 `date` 实现自动为文件添加日期后缀的...

    《Unix Shell 实例精解》学习笔记(pdf,清晰)

    其次,掌握Shell命令是学习Shell编程的关键。书中涵盖了诸如文件和目录操作(如cd、ls、mv、cp、rm等)、管道(pipe)和重定向(redirect)功能、条件测试和逻辑控制(如if、for、while语句)等内容。这些命令和结构...

    Shell编程学习笔记-TinyLab出品

    执行Shell脚本主要有几种方式,比如通过输入重定向到bash命令,以脚本名作为参数,或者使用点(.)符号来执行。其中,输入重定向到bash命令允许你将程序内容直接导入到bash中执行,例如使用`bash 命令读取ex1文件中...

    Linux_shell编程学习笔记

    本文将详细解析Linux Shell编程中的几个关键概念:正则表达式、find命令、grep命令以及sed命令。 1. **正则表达式**: 正则表达式是一种强大的文本匹配模式,用于在文本中寻找符合特定规则的字符串。在Shell编程中...

    linux运维学习笔记:Shell脚本调试.pdf

    本文档是一份针对Shell脚本调试的学习笔记,详细介绍了几种常见的调试方法和工具,帮助运维人员快速定位并修复脚本中的问题。 首先,需要了解的是Linux与Windows在文本文件行结束标志上的差异。在Linux系统中,文本...

    自学习,Linux命令行与Shell脚本编程笔记!word版本

    编写Shell脚本涉及以下几个方面: 1. 变量:用于存储数据,如`name="John"`。 2. 条件语句:`if`,`else`,`elif`用于根据条件执行不同操作。 3. 循环结构:`for`,`while`用于重复执行代码块。 4. 函数:定义可...

    马哥linux手写笔记

    2. **命令行操作**:Linux的强大在于其命令行工具,笔记可能会详细介绍各种常用命令,如ls、cd、cp、mv、rm、vi/vim编辑器、grep、find、sed等,以及如何通过shell脚本自动化任务。 3. **权限与用户管理**:Linux的...

    linux命令笔记-1

    Linux是世界上最广泛使用的开源操作系统之一,它为用户提供了强大的命令行接口(CLI)进行系统管理。...这些是Linux命令行环境中常用的几个方面,熟练掌握这些命令将极大地提升你在Linux系统上的工作效率。

    shell编程

    在压缩包子文件的文件名称列表中,我们可以看到几个可能的学习资源: 1. **笔记.zip**:这可能包含作者编写的关于shell编程的笔记,涵盖了基础概念、语法、实例和技巧。 2. **资料.zip**:可能包含更详细的文档、...

    非常经典的linux学习笔记

    通常,Linux开机大致分为BIOS自检、加载内核、启动init进程、运行系统服务和启动图形界面几个阶段。`/etc/inittab`或systemd的设置会影响系统运行级别,`/etc/rc.d`目录下的脚本控制服务启动顺序。 总之,这份Linux...

    linux命令笔记-2

    以下是文中提到的几个基本用法: 1. **下载文件**: ``` scp root@192.168.0.101:/var/www/test.txt /var/www/local_dir/ ``` 这个命令会将远程服务器192.168.0.101上的`/var/www/test.txt`文件下载到本地的`/...

    Linux必学60个命令文件处理

    本文将深入介绍几个常见的文件处理命令,帮助用户更好地理解如何管理和操作文件。这些命令不仅对于初学者来说是必备技能,同时也是高级用户日常工作中频繁使用的工具。 #### 一、`file` 命令 **功能简介:** `file`...

    《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版

    本书主要分为以下几个部分来讲解这一主题: 1. **基础知识**:首先,书中介绍了LINUX和UNIX的基础知识,包括文件系统结构、文件操作、进程管理以及环境变量等概念,这些都是进行shell编程的基础。 2. **Shell介绍*...

    linux运维学习笔记:Shell函数.pdf

    Shell函数是Linux系统中shell脚本编程的一个重要特性,它允许用户将一段可复用的代码封装成一个函数,通过一个名称来调用执行。Shell函数类似于其他编程语言中的函数,但它们在shell脚本执行时才被解释器解释,而...

    linux运维学习笔记:Shell变量的数值运算.pdf

    首先,Shell变量进行数值运算时,常见的命令有:双括号(( ))、let、expr、bc以及$[]。其中,bc命令除了能够处理整数,还能处理小数运算,其他命令则通常只能进行整数运算。在Shell中进行算数运算时,通常需要将算数...

Global site tag (gtag.js) - Google Analytics