现场运维一周,发现一些简单的命令也有妙用。
ll, list files under dir.
ll -h, 列出文件,文件大小带有单位后缀k,m
ll -a, 列出所有文件包含隐藏文件
ll -S, 列出所有文件以文件大小降序排列
ll -t, 列出所有文件,按时间戳降序排列,升序采用ll -t | tactac, output content in reverse order
scp, transfer files between hosts
一般我门使用scp都是 scp file user@dest_host: dest,但当我们遇到权限问题, 只能host1向host2传送文件时,可是需要把host2的文件传到host1,可采取做法:
scp user@src_host:src dest_dirtail, review the tail content of a file
tail -f file, 监视文件新增内容,查看动态日志非常有用
tail -num file, 查看文件最后num行内容
tail -num file >> test, 对于较大文件如catalina.out一次vim打开会卡顿,可取部分最后记录输出到小文件中查看.-
vim搜索,根据关键字查找相关日志
:set ic, 搜索ignore case
:set number, 显示行号/, 正向搜索, n下一个, N上一个
?, 逆向搜索, n逆向下一个, N正向下一个
搜索正则, 搜索直接支持正则,比如/.*word.* 搜索包含word的单词
y , /, ctrl+r",搜索选中内容,可绑定快捷键 :vn // y/<C-R>"<CR>, 输入//即可快速搜索选中内容.
q/, 查看搜索历史, j、k上下移动,enter选中搜索内容,control-c两次退出. -
命令历史, review之前执行过的命令
vim命令历史, 输入q:即可查看,操作方式与vim搜索历史相同.命令行历史, 输入history即可查.
history n, 显示最近的n条命令
!!, 执行最近一次命令
!2, 执行编号为2的命令
!mkdir 执行以mkdir开始的命令
ctrl+r, 搜索命令历史,输入关键字找最近匹配的命令 mysql相关
mysql -h ip -u user -p passwd, 连接ip位置的mysql
mysqldump -uuser -p database > db.sql,导出数据库结构及数据
mysqldump --no-date -uuser -p database > db.sql, 导出数据库结构only
grant权限: mysql访问、alter、delete权限和ip、用户绑定,当出现access denied
时请确认相关权限。jps, list all the jvm processes with pid
可以很容易的kill java进程,比如tomcat 进程名字为bootstrap,hive
创建表: create table test(a varchar(20), b int) row format delimited fields terminated by '|';
装载数据: load data inpath 'hdfs://..' into table test;
查看表结构、分区、分隔符等: desc formatted tableName;
where和limit查询: select * from table where b = 12 limit 10;
like和rlike: select * from table where a like '123'; rlike支持正则xshell 快速命令集
非常好用的功能,现场经常需要在多个主机之间切换,快速命令集可以添加几个button快速输入你想要的字符串,比如密码,ssh主机等等。无需记住相关内容,就可一键键入字符串,不能太好用。export TMOUT=0
设置用户auto logout时间,bash长时间inactivity会自动logout。export TMOUT=0可取消auto logout, shell不会长时间不操作后无反应
其他:
vim 搜索选中words
推荐cheat, python package, 简洁显示linux命令用法