Linux命令备忘

比较两个文件的异同

$md5sum filename1

反向删除

rm -rf !(file1|file2)
rm `ls | grep -v "aa" `
外面是反引号,grep -v表示过滤掉带“aa”的

磁盘管理

df -i # 查看inode
df -h # 查看磁盘使用和挂载情况
df -h /dir: 可知某个目录还有多少容量
du -sh /dir | grep G # 找到带'G'的大文件
du -sm $dir_name 查看目录大小,以mbytes形式列出

vim

和终端切换

  1. 在vim文本中esc+shift+1+cmmand,执行结果显示完后按任意键返回vim
  2. ctrl-z挂起,通过jobs找寻编号,用fg+编号回到

复制

复制多行
将9至15行复制到第16行
:9, 15 copy 16
移动: :9, 15 move 16
全部复制: esc->ggyG

复制游标所在行 yy
剪切游标所在行 dd
粘贴 p

跳跃

->last line: G(shift-g)
->first line: twice 'g'
->first char in current line: '0'(zero)

分屏显示

vim -on file1 file2 小写o表示水平分屏(上下),大写o表示垂直分屏(左右)
窗口间跳转 ctrl-w h左, ctrl-w j下, ctrl-w k上

删除

delete all: esc->dG

全局替换

:%s/1/2/g
把所有1替换成2

%s/acuitynet\///g
acuitynet/替换为空

撤销与恢复

撤销 u
恢复 ctrl-r

其他

ctrl-s: 暂停终端
ctrl-q: 解锁
ctrl-z: 会产生很多僵尸进程,用fg找到后ctrl-c,或kill
y: 赋值
p: 粘贴
d: 剪切

命令行跳转

ctrl-u: 删除光标前
ctrl-k: 删除光标后
ctrl-a: 移动到命令首
ctrl-e: 移动到命令末

脚本执行方式之区别

  1. source命令:在当前bash环境下读取并执行file中的命令,该文件可以无执行权限,可简写为 . a.sh
  2. sh/bash a.sh:都是打开一个subshell去执行a.sh,这样subshell里设置变量就不会影响fathershell,a.sh同样不需要执行权限
  3. ./a.sh打开一个subshell,文件需要有执行权限, chmod a+x a.sh

ctrl-c没反应

ctrl-z看一下,如果可以返回,再用ps,然后kill -9 $pid

环境变量

export xxx=xxx
取消设置 unset xxx

find查找

find / -name +文件名

find是在指定的目录下遍历查找,如果目录使用 / 则表示在所有目录下查找,find方式查找文件消耗资源比较大,速度也慢一点。

which+可执行文件名

使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令

posted @ 2019-04-09 12:14  开心大人  阅读(222)  评论(0编辑  收藏  举报