小白基础待整理
linux中的很多简单命令都有很强大的功能,例如awk、sed等命令。
使用awk命令,其实只需要简单记一下它的命令形式:
awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息
awk处理过程: 依次对每一行进行处理,然后输出
awk命令形式:
awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file
[-F|-f|-v] 大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value
’ ’ 引用代码块
BEGIN 初始化代码块,在对每一行进行处理之前,初始化代码,主要是引用全局变量,设置FS分隔符
// 匹配代码块,可以是字符串或正则表达式
{} 命令代码块,包含一条或多条命令
; 多条命令使用分号分隔
END 结尾代码块,在对每一行进行处理之后再执行的代码块,主要是进行最终计算或输出结尾摘要信息
特殊要点:
$0 表示整个当前行
$1 每行第一个字段
NF 字段数量变量
NR 每行的记录号,多文件记录递增
FNR 与NR类似,不过多文件记录不递增,每个文件都从1开始
\t 制表符
\n 换行符
FS BEGIN时定义分隔符
RS 输入的记录分隔符, 默认为换行符(即文本是按一行一行输入)
~ 匹配,与==相比不是精确比较
!~ 不匹配,不精确比较
== 等于,必须全部相等,精确比较
!= 不等于,精确比较
&& 逻辑与
|| 逻辑或
+ 匹配时表示1个或1个以上
/[0-9][0-9]+/ 两个或两个以上数字
/[0-9][0-9]*/ 一个或一个以上数字
FILENAME 文件名
OFS 输出字段分隔符, 默认也是空格,可以改为制表符等
ORS 输出的记录分隔符,默认为换行符,即处理结果也是一行一行输出到屏幕
-F’[:#/]’ 定义三个分隔符
相关链接: linux awk命令详解
下面的命令记录已经是好多年前的mark记录
nohup sh run_fda.sh DomB2TAddSpecialTicketOrderSuccCount_1d_vzym >/dev/null 2>&1 &
kill -9 进程号
find / -name tomcat -type d | more
find . -maxdepth 1 -name “@*”
查找当前目录下以@开头的文件或者目录,搜索深度为一级也就是只在当前目录找
/apache-tomcat-6.0.26/bin下运行 ./startup.sh start 开始运行命令
停止tomcat时运行命令: ./shutdown.sh start
war文件和zip后缀可以互相改动
war: unzip -oq common.war -d common
http://www.2cto.com/os/201308/239355.html
sudo service tomcat restart
sudo service tomcat status
sudo service iptables status
chkconfig --list 可以列出所有的服务
sudo -i
/home/
su deploy
ps aux | grep java | grep BaggageAllowanceReqAndRes
/etc目录基本上存放着整个linux系统和应用程序的配置文件,是一个十分重要的目录。etc不是什么缩写,是and so on的意思 来源于 法语的 et cetera 翻译成中文就是 等等 的意思. 至于为什么在/etc下面存放配置文件, 按照原始的UNIX的说法,这下面放的都是一堆零零碎碎的东西, 就叫etc, 这其实是个历史遗留.
该目录包含系统启动脚本、启动配置文件、用户登陆配置文件、网络配置文件、httpd 配置文件、IPSec 配置文件和其他文件等。
ls -lh
当前目录大小: du -sh
磁盘使用情况,文件系统挂载情况: df -lh / df -h
ps -aux | grep ***
ps -ef
查看内存使用情况: free -m 按兆为单位输出内存的已用,未用,总共; free 按K为单位; free -g;
或者cat /proc/cpuinfo
es节点生产内存:total:125g used:124g free:1g
es节点开发内存:total:23g used;23g
top命令:
top -p PID
top -u UName 进入对话模式, q键退出
top //每隔5秒显式所有进程的资源占用情况
top -d 2 //每隔2秒显式所有进程的资源占用情况
top -c //每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 12345 -p 6789//每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
top -d 2 -c -p 123456 //每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数
查找当前目录下.phtml文件中,最近30分钟内修改过的文件。
find . -name ‘.phtml’ -type f -mmin -30
查找当前目录下.phtml文件中,最近30分钟内修改过的文件,的详细情况。
find . -name '.phtml’ -type f -mmin -30 -ls
查找当前目录下,最近1天内修改过的常规文件。
find . -type f -mtime -1
查找当前目录下,最近1天前(2天内)修改过的常规文件。
find . -type f -mtime +1
rpm -qc elasticsearch //列出配置文件
rpm -qi elasticsearch //查询包装的包的详细信息
rpm -qa
rpm -qa | grep elasti
安装模式:rpm–i
查询模式:rpm–q
验证模式:rpm–V或–verify
删除模式:rpm–e
whereis elasticsearch
rpm 只能安装已经下载到本地机器上的rpm 包. yum能在线下载并安装rpm包,能更新系统,且还能自动处理包与包之间的依赖问题,这个是rpm 工具所不具备的
&加在一个命令的最后,可以把这个命令放到后台执行 watch -n 10 sh test.sh &
ctrl+c 前台进程终止
ctrl+z后台挂起,先jobs -l查看后台运行的进程,
fg %jobnumber 将后台运行的命令调至前台继续运行,bg %jobnumber将选中的命令后台继续执行
linux系统约定不同类型文件默认的颜色:
白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件
浅蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其它文件
source命令, source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录
EsPro:2个物理CPU,32个逻辑CPU 2个8核的CPU,支持intel的超线程技术(HT),
逻辑CPU数量=物理cpu数量 x cpu cores规格值 x 2(如果支持并开启ht)
① 查看物理CPU的个数
#cat /proc/cpuinfo |grep “physical id”|sort |uniq|wc -l
② 查看逻辑CPU的个数
#cat /proc/cpuinfo |grep “processor”|wc -l
③ 查看CPU是几核
#cat /proc/cpuinfo |grep “cores”|uniq
tail -f
cat /etc/group
find -name ‘log’ | xargs tail -f
find -type f -name '.php’|xargs grep ‘GroupRecord’
jar包:
可以直接用Java jar 工具来替换
jar uvf test.jar com/test/test.class
这样就可以替换相应目录的class文件了。
这里值得注意的是 test.class 必须放在com/test 文件下,要和jar的路径对应起来。不然会说
没有这个文件或目录。jar 包 和 com 文件夹的上级在同一个目录。
解压某个文件: jar xvf test.jar com/test/test.class
查看: jar tvf fileName.jar
unzip EtnetChinaApplication.jar -d app
nohup ./test.sh &
lsof -i:8888
nbtstat -a 10.40.64.89
find .|xargs grep -ri “IBM” -l
grep -rn ‘CKMAuthFilter.class’ *
grep -r “字串” 目录名
grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
grep -B 5 foo file 显示foo及前5行
grep -A 5 foo file 显示foo及后5行
stop_all.sh ; start_all.sh ; & tail -100f tomcat/logs/catalina.out
find . -regex ‘.*.groovy’ | xargs grep --color -i “password = [a-z0-9A-Z]”
`
mkdir -p filePath
查看ftp端口号?
netstat -auntp | grep ftp
vi /etc/ssh/sshd_config
service sshd restart
du -h --max-depth=1
fdisk -l
netstat -an | grep 5436
netstat -anp | grep 28443
删除键生效
stty erase ^H
恢复
stty erase ^?
du -sh *
df -h
history
history 500 record
vim ~/bash_history 500 record
/etc/ssh/ssh_config
/etc/ssh/sshd_config
Subsystem-sftp sftp-server
/etc/init.d/sshd restart
rpm -qa | grep sftp
ps -ef | grep sftp
chattr -R -i /home/userslbun/
service --status-all
[root@localhost ~]#
分别代表用户名(root),主机名(localhost),当前路径(~,当前用户的home目录),权限标志位(#代表root,$代表普通用户)
tar -zxvf /usr/local/test.tar.gz
useradd -md /home/fimas -g users -s /usr/bin/csh fimas
uname -a
lsb_release -a
cat /etc/issue
cat /proc/version
$0 脚本名称
$1-9 脚本执行时的参数1到参数9
$? 脚本的返回值
$# 脚本执行时,输入的参数的个数
$@ 输入的参数的具体内容(将输入的参数作为一个多个对象,即是所有参数的一个列表)
$* 输入的参数的具体内容(将输入的参数作为一个单词)
使用netstat命令查看其占用的端口:
netstat -nap | grep pid