首页 > 我用过的,我正在用的,比较高效、好用的命令

我用过的,我正在用的,比较高效、好用的命令

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

首先声明,一般的命令就不入了。
1. $ ! (你没看错,就只是一个惊叹号)
它可以这样用"!!",这表示上一条命令,"!x",x为一个数字,例如"!345",执行history表中第345条命令。
实用举例:我执行某条好长的命令"ifconfig eth0 192.168.1.1",Enter后发现提示权限不够要sudo,难道你会把光标移动到行首,然后加入sudo吗?NO,你只需要输入"sudo !!"即等于"sudo ifconfig eth0 192.168.1.1",就这样神奇。
配合history来使用简直就是逆天。例如你想输入一条记不清的很长很长的命令,但是你记得之前用过,那就这样吧,输入"history | grep KEYWORD"这样就会在检索出该命令,然后你是不是考虑去用鼠标复制那条命令,然后粘贴执行?NO,你只需要输入"!历史编号",历史编号就是那条命令左边的序号。
2. $ mtr www.baidu.com
tracert + ping 命令的组合式
3. $ :w !sudo tee %
注意看这条命令是[:w !sudo tee %],w和!之间有个空格的!!!
想象一下这种场景,一个已经在vi中修改好了一个文件,但是$:w的时候却发现没有权限,或者readonly提示,此时难道放弃修改,退出去改完权限再回来?NO,请用上面这条命令。
在Vim中无需权限保存编辑的文件,输入后会提示是否继续,还会提示此文件已经更改,是否LOAD。
4. $ ^old^new
将上一条命令中的old改成new,然后执行一次,这个简直是神技。用熟了以后才会感受到,开始觉得变扭。
举个例子吧,我想查找一个C标准函数在哪个头文件里面声明了,然后再include进来,解决我的报错,于是我执行:$ grep KEYWORD /usr/include -R,然后又想换个关键词再查找,一般的做法是按键盘上,然后将光标移动到KEYWORD处,然后删除KEYWORD,改成新的KEYWORD,再执行。有了这条命令后,只需要执行^old_KEYWORD^new_KEYWORD即可,相当实用。
5. $ cd -
返回上一次的pwd,用惯了以后你将会强迫自己一次性cd到位,否则这条命令的效果会减少90%以上。
6.$ ls -h
不得不说,加个-h好多了,human readable,所以平常可以把ll映射成"ls -alh",即alias ll="ls -alh",在~/.bash_profile里面增加这行,再重启terminal
7.$ Ctrl + d
作用是exit当前的shell,假设你是用michael普通账户登陆,然后因为有点事情要root权限,你su成了root,用完root了又用su michael回到michael,然后按↑键,发现在michael时执行的命令记录不见了,为什么呢?
实事是这样的,你现在的shell是基于michael->root->michael,而不是michael,此时你需要Ctrl + d,退回到michael->root,再Ctrl + d,退回到michael,再按↑键,是不是看到之前的命令了。
8.$ cp file1 file2
注意,cp前面加了一个反斜杠,它的作用就是无论cp命令被alias成了什么,我总是调用/bin/cp。
它的好处在于,如果某个系统中cp被alias成了alias cp="/bin/cp -i",哪怕你用cp -f命令,也会被翻译成/bin/cp -i -f,还是会prompt你,那可真烦躁。但是有了反斜杠之后,一切迎刃而解!
9.$ Control + Insert 或者 Shift + Insert
和Control + C 或者 Control + V对应,也是复制,粘贴的意思。
但是前者不管是Linux的终端,串口,Windows文本框,都兼容!
从兼容性来看,使用前者较好,但由于后者更方便,Only左手皆可完成,且右手可不离开鼠标。
10.$ readelf
可以用这个命令来查看二进制文件的一些详细内容,例如libxxx.a这个库是哪种架构CPU的目标代码,readelf -a ./libxxx.a | grep machine -i。
更多的细节,应该亲自尝试比
11.$ fuser + dir or file
比如要umount某个设备,却被提示the device is busy.无法umount,那么使用fuser来查看该device的目录,即可找出是哪些服务或者进程在使用该目录或者该目录下的文件。例如:使用fuser /media会显示涉及到该/media目录的进程号,然后利用ps -ef | grep 进程号,来查看到底是哪些进程在使用,加-k选项可以杀掉那些进程fuser -k /media,之后即可umount该device。


转载于:https://my.oschina.net/michaelyuanyuan/blog/68611

更多相关:

  • 在DOS窗口执行了一些列命令完成某项工作后,如果要查看都执行了那些命令,该如何办呢?(前提:DOS窗口未关闭的情况下)     一、方法一:使用↑↓箭头上下翻看执行过的命令,此方式适宜执行命令较少的情况; 二、方法二:使用快捷键; F7快捷键查看所有执行过的命令 F3:调出上一条执行过的命令,调出后直接回车即可执行; F...

  • 在windows的DOS操作界面里面,清屏的命令是cls,那么在linux 里面的清屏命令是什么呢?下面笔者分享几种在linux下用过的清屏方法。 1、clear命令、这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。 2、Ctrl+l(小写的L)、这是一个清屏的快捷键,这个是笔者...

  • LINUX下用CTRL+R快速搜索HISTORY历史命令,快速索引到之前使用过的命令行语句 前提是,搜索已经使用的命令,否则是查不出来结果的。 ctrl+r 用途:反向搜索执行过的命令。(reverse-i-search) 1、任何目录下按住ctrl + r 2、输入历史命令中的字符串 ,比如 输入shut 会检索...

  • 刚开始接触linux,总有些简单的问题不知道怎么搞定,先将目前汇总的解决方法叫做"linux入门-1",后续在使用过程中逐步总结。   1. 连接 ADSL : sudo pon dsl-provider 断开 ADSL: sudo poff 查看 ADSL 状态: plog 2. dpkg 命令 dpkg 是 Debia...

  • 文章目录NVME 和 AHCI 性能比较NVME-CLI nvme工具使用1. 安装2. 命令综述3. 基本命令演示4. NVME 固件设备升级...

  •   每次我用Xshell登录服务器的时候,都要重复输入cd /home/web(不同的人不一样)目录去更新代码,很TMD麻烦,希望能够每次登录自动就进入到我想要去的目录,毕竟大家每天都很忙,不想因为恶心的cd 路径/路径损失太多陪家人的时间 百度搜索了很多方法都是扯淡,这里来个干货! 首先我们还是以传统方式Xshell把服务...

  • 刚安装完Ubuntu后firefox竟然启动不了,上网查了一下,然后运行命令:mv ~/.mozilla ~/.mozilla-backup然后再运行firefox就可以了。原来是配置文件的问题。再,Ubuntu下要更新显卡驱动最好在软件仓库中将服务器改为主服务器 ...