Linux Shell Vim 常用命令、使用技巧总结

前言

本文总结了自己实际开发中的常用命令,不定时更新,方便自己和其他人查阅。

如有其他提高效率的使用技巧,欢迎留言。

本文地址 http://www.alijava.com/linux-basics/ 转载请注明出处

Linux 常用命令

基本

  • cd - 返回到上一次的工作目录

  • export LANG=en_US,export 对于环境变量的设置也能作用于子shell

  • ps -ef | grep nginx ,搜索,这儿用到了管道

  • passwd root 修改密码

  • top 监控CPU 内存等

  • $? 上一个命令执行的退出状态,成功为0,不成功为非0

  • hostname 获取 ip

  • alias vi="vim" 在/etc/profile (用户登录自运行配置文件)的末尾添加vi的别名设置

ls 常用参数

  • -a 列出所有(含隐藏文件等):
  • -ltr 按照时间升序
  • -lt 按照时间降序

  • 统计文件数目

    wc -l输出文件行数,也就是文件的个数

    可以通过 grep 过滤文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    [root@** _posts]# ls -l
    total 156
    -rw-r--r-- 1 root root 13607 Aug 26 14:07 android-interview.md
    -rw-r--r-- 1 root root 16287 Aug 26 14:07 arrays-sort.md
    -rw-r--r-- 1 root root 2951 Aug 30 12:03 common-tools.md
    [root@** _posts]# ls | wc -l
    3
    [root@** _posts]# ls | grep ".md" | wc -l
    3

查找文件

  • locate
    locate 是基于内部系统表的, 速度快, 但是可能更新不即时
  • find . -name "*.sh" -or -name "*.c"
    find 即时查找, 速度相对较慢

端口占用情况

  • netstat -tnpl | grep 12
  • kill -9 42312 杀掉进程,-9 表示强制杀

sed 使用

  • sed '$d' datafile 除最后一行,其余行都被显示
  • sed '/my/d' datafile 除包含 my 的行,其余行都被显示
    这两个命令并不会真的删除文本里的某些行
  • sed -e 's/\.md$//'去掉后缀 .md
  • sed -e 's/^/http:\/\/www.alijava.com\//'加上网站前缀
  • sed 's/old/new/'old 替换为new

shell 常见用法

$# 表示接收到的参数个数
$1 表示第几个参数

1
2
3
4
5
6
7
8
9
10
11
12
13
if [ $# -ne 4 ]
then
echo "usage: bash autofetch.sh <space> <windows/linux> <command> <number>"
exit -1
fi
which=$1
if [ $2 = "windows" ]
then
machine=WINDOWS
elif [ $2 = "linux" ]
then
machine=LINUX
fi

vim 常用命令

方向移动

  • h, j, k, l 分别代表向左、下、上、右移动

    在这些j前加一个数字,表示移动的倍数。例如,”10j“表示向下移动10行

  • ^ 移动光标到行首 0(数字0)也可以实现相同功能
    ^ 是移到第一个到行首的第一个非空白字符
    0 只是移动到行首,不区分空白或非空白

  • $ 移动光标到行尾

  • gg 回到文件开头 H 也可以回到文件最上面

  • G 到最下面

复制粘贴

  • dd 删除,前面加上数字表示删除多少行,比如100dd
  • dw 删除单词
  • d$ 删除到这行末尾的单词
  • yy 复制
  • p 粘贴
    它们都可以加上数字参数表示操作多少行

输入文字

  • i 当前文字位置插入 insert
  • a 当前文字的后面插入 append
  • o 下一行插入
  • w 光标到下一个单词的词首
  • e 移动光标到下一个单词的结尾

查找替换

  • /string 查找
  • n 查找下一个匹配的
  • :set nu 显示行号

保存

  • :wq 写入并退出
  • :q! 强制退出 不保存修改

在线学习

推荐一个在线学习vim网站 http://www.atool.org/vim.php

参考文章

http://easwy.com/blog/archives/advanced-vim-skills-basic-move-method/