Linux常用命令操作————持续更新

来源:互联网 发布:mac版tomcat下载 编辑:程序博客网 时间:2024/06/05 20:24

随手记下来日常工作中用到的命令。

文本处理

grep命令

grep -i 忽略大小写grep -v 反向选择、不匹配grep -l 只显示文件名grep -e "pattern"正则匹配grep -n ,  --line-number   #在显示符合样式的那一行之前,标示出该行的列数编号

egrep命令

egrep执行效果与grep -E相似
egrep是用extended regular expression语法来解读的,而grep则用basic regular expression 语法解读,extended regular expression比basic regular expression的表达更规范。

sed命令

sed -i '/删除包含此片段的行/'d 文件sed -i 's/待替换/替换目标/' /文件

awk命令

例子:打印所有tomcat进程的进程号:
ps -ef |grep -v 'grep' | grep tomcat | awk '$2 ~ /[0-9]+/ {print $2}'
命令行方式  
awk [-F  field-separator]  'commands'  input-file(s)  
其中,commands 是真正awk命令,[-F域分隔符]是可选的。 input-file(s) 是待处理的文件。  
在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格。
[root@localhost ~]# cat $FILEPATH | grep '/login/authenticate.action' | awk -F'/' '{print $0}'      proxy_pass  https://8.7.175.71:32020/login/authenticate.action;  [root@localhost ~]# cat $FILEPATH | grep '/login/authenticate.action' | awk -F'/' '{print $1}'      proxy_pass  https:  [root@localhost ~]# cat $FILEPATH | grep '/login/authenticate.action' | awk -F'/' '{print $2}'    [root@localhost ~]# cat $FILEPATH | grep '/login/authenticate.action' | awk -F'/' '{print $3}'  8.7.175.71:32020  [root@localhost ~]# cat $FILEPATH | grep '/login/authenticate.action' | awk -F'/' '{print $4}'  login  [root@localhost ~]# cat $FILEPATH | grep '/login/authenticate.action' | awk -F'/' '{print $5}'  authenticate.action;  [root@localhost ~]# cat $FILEPATH | grep '/login/authenticate.action' | awk -F'/' '{print $6}'    [root@localhost ~]# cat $FILEPATH | grep '/login/authenticate.action' | awk -F'/' '{print $7}'    [root@localhost ~]#  

netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,”\t”,arr[k]}’

vim编辑器

设置行号:
:set nu 或者 :set number
调到指定行:
命令模式下,G 跳到最后一行:1  跳到第一行:n 跳到第n行
删除某一行
命令模式下,dd

文件系统

tar命令

tar czvf my.tar.gz file1 file2

ls命令

-h, --human-readable       with -l, print sizes in human readable format
                             (e.g., 1K 234M 2G)
-l
-a

find命令

常用option:

-name   -name "*.java"  、 -name "*.java" -o -name "*.jsp-size-cmin-perm-exec

举例:

查找包含某些字段的文件:
find /opt/path -name "*.xml" -o -name "*.properties" -o -name "*.dat" -o -name "*.ini" -o -name "*.json" -o -name "*.conf"  | xargs grep -r -E  "keyword1|keyword2|keyword3"
find /opt/iEMP -name "*.log" -type f -exec egrep -ni "PersistenceException|UnsupportedOperationException" {} /dev/null \; 2>/dev/null > result.txt

find . -name "*ab*" -exec rm -f {}\; 
反斜杠用于识别最后的参数即反斜杠后面,就是find的另外一个参数了。

限定搜索:path、prune
http://blog.sina.com.cn/s/blog_6ad648f30100tqwy.html

当你的-name没有加引号时,有可能不是你的预期
SZX1000108192:/opt/testfind # lsxxSZX1000108192:/opt/testfind # ls xxa.properties  b.properties  c.propertiesSZX1000108192:/opt/testfind # find . -name *.properties./xx/a.properties./xx/b.properties./xx/c.propertiesSZX1000108192:/opt/testfind # touch devil.propertiesSZX1000108192:/opt/testfind # lltotal 4-rw-r--r-- 1 root root    0 Sep 19 19:16 devil.propertiesdrwxr-xr-x 2 root root 4096 Sep 19 19:16 xxSZX1000108192:/opt/testfind # find . -name *.properties./devil.propertiesSZX1000108192:/opt/testfind # find . -name "*.properties"./devil.properties./xx/a.properties./xx/b.properties./xx/c.properties


Windows中的find:

findstr /D:"/path" /S/N/I "keyword1|keyword2|keyword3" *.log > result.txtfind /r D:\path "127.0.0.1" in ("*.xml","*.properties") do 命令




进程线程

top命令

http://blog.csdn.net/hdyrz/article/details/76230240

top -H -P pid,查看某个进程内的线程信息
top - 10:30:29 up 18 days, 10:40,  8 users,  load average: 3.00, 2.97, 3.37Tasks: 1394 total,   0 running, 1394 sleeping,   0 stopped,   0 zombieCpu(s): 17.0%us,  1.8%sy,  0.0%ni, 80.5%id,  0.3%wa,  0.1%hi,  0.4%si,  0.0%stMem:     64393M total,    64043M used,      349M free,     3899M buffersSwap:     4093M total,      290M used,     3803M free,    44407M cached   PID USER      PR  NI  VIRT  RES  SHR S   %CPU %MEM    TIME+  COMMAND 79167 guest   20   0 15.6g  12g  37m S     36 20.5   1:57.61 java 64481 guest   20   0 15.6g  12g  37m S      8 20.5   0:06.75 java 60900 guest   20   0 15.6g  12g  37m S      0 20.5  10:55.69 java 60916 guest   20   0 15.6g  12g  37m S      0 20.5   0:29.66 java 61296 guest   20   0 15.6g  12g  37m S      0 20.5   0:00.33 java 61297 guest   20   0 15.6g  12g  37m S      0 20.5   0:08.98 java
查看79167线程占用cpu最多,79167转换为16进制为1353F,通过一定的方法打印出进程堆栈,在通过关键字"nid=0x1353F"就可以定位到具体线程堆栈信息

kill命令

kill -3 
kill -9

ps命令

查找进程信息:
ps -ef | grep
查看某进程的启动时间
# ps -o lstart -p 47389                 STARTEDFri Jul 28 21:46:18 2017

网络

netstat命令

-r,--route:显示路由表。-i,--interfaces:显示网络接口信息。-n,--numeric:直接使用IP地址,而不通过域名服务器。-a,--all,--listening:显示所有连线中的Socket。-l,--listening:显示监控中的服务器的Socket。-e,--extend:显示网络其他相关信息。

ping命令

ping -a IP

nc命令

磁盘

df命令

# df -lhFilesystem      Size  Used Avail Use% Mounted on/dev/sda2       491G  483G  6.3G  99% /udev            6.9G  104K  6.9G   1% /devtmpfs           6.9G   72K  6.9G   1% /dev/shm

# df -iFilesystem       Inodes  IUsed    IFree IUse% Mounted on/dev/sda2      32636928 621764 32015164    2% /udev                  0      0        0     - /devtmpfs           1783676      3  1783673    1% /dev/shm

du命令

# du -sh b.txt4.0K b.txt

fdisk命令

fdisk

dd命令

消耗磁盘空间:dd if=/dev/zero of=tmp.5G bs=1G count=5

系统权限

useradd命令

passwd命令

未分类

dd命令

date命令

格式化:
$(date +%Y_%m_%d)格式说明:% : 印出 %%n : 下一行%t : 跳格%H : 小时(00-23)%I : 小时(01-12)%k : 小时(0-23)%l : 小时(1-12)%M : 分钟(00-59)%p : 显示本地 AM 或 PM%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数%S : 秒(00-60)%T : 直接显示时间 (24 小时制)%X : 相当于 %H:%M:%S%Z : 显示时区日期方面 :%a : 星期几 (Sun-Sat)%A : 星期几 (Sunday-Saturday)%b : 月份 (Jan-Dec)%B : 月份 (January-December)%c : 直接显示日期与时间%d : 日 (01-31)%D : 直接显示日期 (mm/dd/yy)%h : 同 %b%j : 一年中的第几天 (001-366)%m : 月份 (01-12)%U : 一年中的第几周 (00-53) (以 Sunday 为一周的第一天的情形)%w : 一周中的第几天 (0-6)%W : 一年中的第几周 (00-53) (以 Monday 为一周的第一天的情形)%x : 直接显示日期 (mm/dd/yy)%y : 年份的最后两位数字 (00.99)%Y : 完整年份 (0000-9999)

lsof命令

查找打开文件的进程:
lsof filename
查看进程打开的文件:
lsof -p PID
查看打开某端口的用户、进程:
lsof -i[46][protocol][@hostname|hostaddr][:service|port]

其他:
查看仍在访问已删除文件的进程:
lsof | grep deleted
查看某用户打开的文件:
lsof -u username
查看某命令访问的文件:
lsof -c command

stress命令

tc命令

原创粉丝点击