前言
本文总结了自己实际开发中的常用命令,不定时更新,方便自己和其他人查阅。
如有其他提高效率的使用技巧,欢迎留言。
本文地址 http://blog.csdn.net/never_cxb/article/details/47803991 转载请注明出处
Linux 常用命令
netstat
netstat -an | grep 8080
- ESTABLISHED是双方已经连接成功,正在发送消息
- SYN_SENT (客户端状态) ,是客户端已经向服务端发送了请求,但是还没有收到服务器的请求。以前排查过一个问题,java应用无法连接注册中心,看到的状态就是SYN_SENT,已经向注册中心发送了请求,但是没有连接成功。
- SYN_RECV (服务端状态),是服务器收到客户端发送的同步信号时,将标志位ACK和SYN置1发送给客户端,此时服务器端处于SYN_RECV。如果出现了SYN_RECV,可能是被泛洪攻击了。如果连接成功了就变为ESTABLISHED
- -an,a表示all,n表示network
基本
-
cd -
返回到上一次的工作目录 -
export LANG=en_US
,export 对于环境变量的设置也能作用于子shell -
ps -ef | grep nginx
,搜索,这儿用到了管道 -
passwd root
修改密码 -
top
监控CPU 内存等 -
$?
上一个命令执行的退出状态,成功为0,不成功为非0 -
hostname
获取 ip
ls 常用参数
-
-a
列出所有(含隐藏文件等): -
-ltr
按照时间升序 -
-lt
按照时间降序 -
统计文件数目
wc -l
输出文件行数,也就是文件的个数可以通过
grep
过滤文件[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的行,其余的都被显示
shell 常见用法
$#
表示接收到的参数个数
$1
表示第几个参数
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
删除,前面加上数字表示删除多少行,比如100dddw
删除单词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/