当前位置:   article > 正文

linux/shell学习_在线学习shell

在线学习shell

http://c.biancheng.net/cpp/view/7005.html

缺少:, 变量声明和调用

高级命令:

#查找目录下某后缀文件,mv到bak文件夹下

find ./ -name "*.zip" |xargs -I {} mv {} bak

或者 find ./ -name "*.zip" -exec mv {} bak \;

#awk处理文本文件的一个应用程序:awk 入门教程 - 阮一峰的网络日志

awk '{print $0}' test_g.txt    //awk处理文件按每行返回,这表示把文件每一行都打印出来,相当于cat

awk -F " " '{if ($NF=="boy") $NF="girl"}1' test.txt > test_g.txt    //test.txt文件中按空格分隔符,(每行)最后一部分等于boy的替换为girl,并另存为test_g.txt 

ls -lrt | grep ".zip" |tail -1 |awk '{print $NF}'    //ls参数t:时间排序最新最前面,r:倒序,$NF倒数第一部分,查找目录下最新的zip包的名字

#sed,轻量级流处理器

sed '2a aaa' test.log   //a第二行后新增一行aaa

sed '2i aaa' test.log   //i第二行前插入一行aaa

sed '2c aaa' test.log    //c第二行整行替换成aaa 

sed -i 's/abc/000/g ; s/123/000/g' test.log    //-i结果保存修改源文件,s字符替换abc替换成000,g表示同一行中出现多次该字符都会替换,不加g默认只替换一次(也要g前面的/)

#cut ,字符截取命令按列截取,和grep行截取相反,一般和grep搭配使用提取某个值

ps | cut -d " " -f 1      //-d指定分隔符,-f指定第几列

linux常用命令

#find

find / -name 文件名         

find / -name aaa.cfg  查找全目录中的aaa.cfg文件所在路径

find /etc -name aaa.cfg  查找etc目录中的aaa.cfg文件所在路径

find /etc -name '*aaa*'     查找etc目录中,命名含有aaa的文件所在路径

find /etc -name 'aaa*'   查找etc目录中,命名以aaa开头的文件所在路径

#ifconfig临时,setup永久,

ifconfig eth0 172.18.70.186

ifconfig eth0 192.168.0.1 netmask 255.255.255.0

#路由

route add -net 192.168.0.0/24 gw 192.168.0.1

route add -host 192.168.1.1 dev 192.168.0.1

  • -net 表示目标是一个网络。
  • -host 表示目标是一个主机。
  • target 表示要到达的目标网络或主机。
  • netmask Nm 表示目标的网络掩码。
  • gw Gw 表示用于到达目标的网关。

#rm

现在使用rm -rf命令即可。

直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字

-r 就是向下递归,不管有多少级目录,一并删除

-f 就是直接强行删除,不作任何提示的意思

#tftp

tftp -pl aaa.cfg 172.18.8.250        推到tftp服务器指定目录(本地电脑安装的tftp服务)

tftp -gr aaa.cfg 172.18.8.250    从tftp服务器get到机顶盒

#systemclt 

开启/关闭各服务(防火墙等),查看服务状态

#shutdown, reboot

shutdown -h 关机 

shutdown -r 关机 

#解压和压缩文件
tar -xzvf remote_update.tar.gz 
tar -czvf logserver.tar.gz ./*(当前目录所有文件打包、以gzip压缩)
unzip file.zip
gzip/gunzip file.gz

x:解压    z:支持.gz文件压缩或解压      v:显示过程    f:指定文件

#tcpdump

tcpdump tcp port 23 and host 210.27.48.1
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap

(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i eth1 : 只抓经过网卡eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

#连接ln

ln -s log2013.log  link2013   //创建软连接

ln log2013.log  ln2013   //创建硬链接

unlink  link2013  //删除连接

#远程复制scp

scp /etc/mysql/my.cnf necok@192.168.1.136:/etc/mysql
将mysql配置文件上传到136服务器相应文件夹内

scp necok@192.168.1.136:/etc/mysql/my.cnf /etc/mysql
将136服务器上的mysql配置文件下载到本地的相应文件夹下面

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/676171
推荐阅读
相关标签
  

闽ICP备14008679号