1、Linux文件处理常用命令
grep -ri“xxx” 文件名(查找文件内包含的文本)
find . -name 文件名(查找文件)
vi 文件名 或 touch 文件名 或 >文件名(新建文件的三种方式)
rm -f 文件名(删除文件)
rm -rf 目录(删除文件夹)
2、vi命令
vi命令模式:一般模式、指令模式、编辑模式
一般模式>>
移动跳转: 跳到文本开头/结尾 >> gg G、[[ ]]、 :0 :9999
跳到行头/尾>> ^$
上下左右移动>>j k h l
复制粘贴: y yy yw y^ y$ yG p
删除: x dd cw
撤回:u(undo)
指令模式>>
搜索: /xxx 自上而下 ?xxx 自下而上
n :下一个 N:上一个
:1,$s/word1/word2/g 替换
:set nu 显示行号
:set ic 忽略大小写
:set fileencoding 显示文件编码
编辑模式>>
i,o,a(插入)、R(取代)
3、shell - 基础
(1)执行规则
第一行 #!/bin/bash 在宣告这个 script 使用的 shell 名称
除了第一行的『 #! 』是用来宣告 shell 的之外,其他的 # 都是『注解』用途
命令的运行是从上而下、从左而右的分析与运行
命令、选项与参数间的多个空白都会被忽略掉,空白行将被忽略掉
如果读取到一个 Enter 符号 (CR) ,就尝试开始运行该行命令;如果一行的内容太多,则可以使用『 \[Enter] 』来延伸至下一行
(2)符号
单引号:所见即所得,即原样打印,不会对变量解析
双引号:所见非所得,会对变量解析后再输出(常用于框住某个范围,比如内部有空格场景时)
反引号(piao号):命令替换,通常用于把命令输出结果传给变量中(功能同$( ))
反斜杠:转义字符
(3)参数
${param} 或 $param 参数使用
$0 命令本身
$1 第一个参数 。。。$9第9个参数,后面的参数要???
$# 参数的总个数
$* 获取所有的参数
$? 获取上一命令执行结果,0-成功,1及其他-失败
(4)时间 date
>>date + "%Y-%m-%d %H:%M:%S"
>>2019-10-18 17:00:00
>>date -d 1day + "%Y-%m-%d %H:%M:%S"(增加一天)
>>date -d -1day + "%Y-%m-%d %H:%M:%S"(减去一天)
>>date -d "-1day -1hour -1min" + "%Y-%m-%d %H:%M:%S"(减去一天一小时一分钟)
4、shell - 数据流重定向
标准输入 (stdin) :代码为 0 ,使用 < 或 << ;
标准输出 (stdout):代码为 1 ,使用 > 或 >> ;
标准错误输出(stderr):代码为 2 ,使用 2>(中间无空格) 或 2>> ;
垃圾桶黑洞装置:/dev/null
启动应用(后台模式运行)>> nohup ./start.sh >./logs/start.log 2>&1 &
例:清空文件内容>> echo > insert_olc_trading_day_info.sh 或 echo ""> insert_olc_trading_day_info.sh
标准输出到test.sh,错误输出到test2.sh>> cat insert_olc_trading_day_info.sh>test.sh 2>test2.sh
标准输出到test.sh,错误输出也重定向到test.sh>> cat insert_olc_trading_day_info.sh>test.sh 2>&1
将异常吞掉不做任何处理>>cat insert_olc_trading_day_info.sh>/dev/null
4、其他常用:
查看系统结构>>pstree
查看历史执行记录>>history
查看所有变量(环境变量+自定义变量)>>set 删除变量>>unset
定义环境变量>>export
增加文件权限>>chmod +x insert_olc_trading_day_info.sh
改变文件拥有者>>chown user insert_olc_trading_day_info.sh
查看文件夹大小>>du --max-depth=1 -h
分析磁盘使用情况>>df -h 文件目录