常用命令

1. 在忘记输入sudo 指令时,需要重新输入sudo,可以:
ctrl + p --> ctrl + a --> 再输入 sudo 即可
上述指令,可以直接使用 sudo!! 代替
说明: 2个叹号其实是bash的一个特性,称为事件引用符, !! 其实相当于 !-1 ,引用前一条命令,当然也可以 !-2, !-50
默认情况下bash会在 ~./bash_history文件内记录用户执行的500条命令,history可以现实这些命令
2 . 以HTTP方式共享当前文件夹的文件
$ python -m SimpleHTTPServer
这个命令启动了Python的SimpleHTTPServer模块,可实现简单的跨平台传文件
命令行后将在本机8000端口开放HTTP服务,在其他能访问本机的机器浏览器打开 ttp://ip:8000即可打开目录列表,点击下载
3. 在以普通用户打开的vim当中保存一个ROOT用户的文件
:w! sudo tee %
w! {cmd} 会让vim执行一个外部命令{cmd},然后把当前缓冲区的内容从stdin传入.
tee 是一个把stdin保存到文件的小工具
% 是vim当中一个只读寄存器的名字,总保存这当前编辑文件的编辑路径
所以执行这个命令,就相当于从vim外部修改了当前编辑的文件
4. 切换回上一个目录
$ cd -
- 代表上一个目录的路径,实际上 cd - 表示 cd $OLDPWD 的简写,bash的固定变量 $OLDPWD 总保存这之前一个目录的路径
5. 替换上一条命令中的一个短语
$^foo^bar^
又是另一个事件引用符,可以把上一条指令中的foo替换成bar. 其原始命令为: !!:s/foo/bar/
6. 快速备份一份文件
$ cp filename{,.bak}
这条命令把filename文件拷贝成 filename.bak, 其原理就是在于bash对大括号的展开操作, filename(,.bak)这段代码展开就是
filename filename.bak 再传给cp, 这样就有了备份的命令了
7. 免输入SSH登陆主机
$ ssh-copy-id remote-machine
这条指令会把当前用户的公钥串写入到远程主机的 ~/.ssh/authorized_keys内,这样下次使用ssh登陆的时候,远程主机就直接根据这串密钥完成身份验证,不再询问密码,前提是你当前用户有生成了公钥,默认是没有的,先执行 ssh-keygen 试试.
your-machine$ scp ~/.ssh/identity.pub remote-machine:
your-machine$ ssh remote-machine
remote-machine$ cat identity.pub >> ~./ssh/authorized_keys
如果想删除远程主机上的密钥,直接打开 authorized_keys ,搜索你的用户名,删除那行,即可
8. 抓取 linux桌面的视频
$ ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg
ffmpeg可以直接解码X11的图形 ,并转换到相应输出格式
-f x11grab 指定输入类型.因为x11的缓冲区不是普通的视频文件可以侦测格式,必须制定后ffmpeg才知道如何获得输入
-s wxga 设置抓取区域的大小. wxga 是1366*768 的标准说法,也可以换成 -s 800x600的写法\
-r 25 设置帧率,
-i :0.0 设置输入源,本地x默认在0.0
-sameq 保持跟输入刘一样的图像质量,以后用来后期处理
9. 显示消耗内存最多的10个运行中的进程,以内存使用量排序
ps aux | sort -nk +4 | tail
10. 使用喜欢的编辑器而不用指令: < CTRL - x CTRL - e >
在已经敲完的指令后按上述指令,会打开一个你指定的编辑器(如vim, 可通过环境变量$EDITOR制定),里面就是你刚输入的命令,然后就可编辑,特别是那些参数异常复杂的程序,修改完参数保存推出后,自动执行这个程序
11. 清空后常见一个文件 > file.txt
12. 用SSH创建端口转发通道
ssh -N -L2001 :remotehost:80 user@somemachine
这个命令在本机打开了2001端口,对本机2001端口的请求通过somemachine作为跳板,转到remotehost的端口上.
实现效果跟术语反响代理是类似的,实际就是端口转发,注意上面涉及到的3台主机,somemachine可以变成localhost
13. 重置终端 reset
14. 在午夜的时候执行某命令 echo cmd | at midnight
at这个组件,通常跟cron相提并论,不过at主要用于定时一次性任务,而cron定时周期性任务
15. 映射一个内存目录
mount -t tmpfs -o size=1024m tmpfs /mnt/ram
这个命令开了一块1G内存来当目录用,不用担心,如果里面没有文件,是不会占用内存的,用多少占多少
16. 用DIFF对比远程文件跟本地文件
ssh user@host cat /path/to/remotefile | diff /path/to/localfile -
diff通常的用法是从参数读入2个文件,而命令里面的 - 是指从stdin读入了.
17. 查看系统中占用端口的进程
netstat -tulnp
参数含义: -t 现实TCP链接信息 -u显示UDP链接信息 -l 显示监听状态的端口 -n 直接显示ip,不做名称转换
-p 显示相应的进程PID以及名称(要root权限)
18. 显示当前目录中所有子目录的大小
du -h --max-depth=1
--max-depth=1参数可以让du命令显示当前目录下1级子目录的统计信息, -h参数是以MB,G 单位来现实大小
19. 查看磁盘空间指令
df -h
20. ubuntu上命令行中同时执行多个命令
cmd && cmda
cmd ; cmd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值