linux下命令集合
1 tar命令
1 从网络上下载到的源码包, 最常见的是 .tar.gz 包, 还有一部分是 .tar.bz2包 要解压很简单 : .tar.gz 格式解压为 tar -zxvf xx.tar.gz .tar.bz2 格式解压为 tar -jxvf xx.tar.bz2 出现的问题: 2 用tar 解压 tar.bz2文件出错 debian:/usr/src# tar jxf linux-2.6.26.tar.bz2 tar: bzip2: Cannot exec: No such file or directory tar: Error is not recoverable: exiting now tar: Child returned status 2 tar: Error exit delayed from previous errors 解决办法 安装bzip2软件包 apt-get install bzip2 3 tar: 从成员名中删除开头的“/” 解决:使用大写的P [root@bj ~]# tar czPvf test.tar.gz /root/tomcat/ 4 tar的增量备份 [root@192 ~]# tar -g /root/snapshot -czPvf /root/20161201.tar.gz /root/test.bak tar: /root/test.bak:目录是新的 /root/test.bak/ /root/test.bak/1.txt /root/test.bak/2.txt /root/test.bak/4.txt /root/test.bak/add.txt [root@192 ~]# tar -zxvf 20161201.tar.gz tar: 从成员名中删除开头的“/” /root/test.bak/ /root/test.bak/1.txt /root/test.bak/2.txt /root/test.bak/4.txt /root/test.bak/add.txt
2 wget-c命令
1 wget -c 已经下载就不会再下载了 [root@192 sh]# wget -c http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.23.tar.bz2 --2016-11-23 18:18:12-- http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.23.tar.bz2 正在解析主机 mirrors.cnnic.cn (mirrors.cnnic.cn)... 218.241.113.17, 218.241.113.17 正在连接 mirrors.cnnic.cn (mirrors.cnnic.cn)|218.241.113.17|:80... 已连接。 已发出 HTTP 请求,正在等待回应... 416 Requested Range Not Satisfiable文件已下载完成;不会进行任何操作。
3 cat命令和EOF标识输出shell到文件
cat命令和EOF标识输出shell到文件 链接:http://www.cnblogs.com/zht-blog/p/4065668.html 在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中。(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判断生成不同的最终文件等等。 一、cat和EOF cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的; EOF是“end of file”,表示文本结束符。 结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。 二、使用 看例子是最快的熟悉方法:# cat << EOF > test.sh > #!/bin/bash > #you Shell script writes here. > EOF结果:引用 # cat test.sh #!/bin/bash #you Shell script writes here.可以看到,test.sh的内容就是cat生成的内容。 三、其他写法 1、追加文件# cat << EOF >> test.sh2、换一种写法# cat > test.sh << EOF3、EOF只是标识,不是固定的# cat << HHH > iii.txt > sdlkfjksl > sdkjflk > asdlfj > HHH这里的“HHH”就代替了“EOF”的功能。结果是相同的。引用 # cat iii.txt sdlkfjksl sdkjflk asdlfj4、非脚本中 如果不是在脚本中,我们可以用Ctrl-D输出EOF的标识# cat > iii.txt skldjfklj sdkfjkl kljkljklj kljlk Ctrl-D结果:引用 # cat iii.txt skldjfklj sdkfjkl kljkljklj kljlk [root@192 sh]# cat <<EOF > ^C [root@192 sh]# cat <<EOF>test.sh > #!/bin/sh > #you shell script writes here > EOF [root@192 sh]# more test.sh #!/bin/sh #you shell script writes here
4 echo
1 echo -e 允许后面的输出进行转义 echo -e \" <?php\nphpinfo();\n?>\" 2 得到名字 [root@192 sh]# echo /var/log/messages-20161118 |awk -F "/" '{print $NF}' messages-20161118 [root@192 sh]# echo /var/log/messages-20161118 |xargs basename messages-20161118 3 sed分割ip [root@192 sh]# echo 192.168.57.131|sed 's/\./\n/g' 192 168 57 131 4 awk awk获取某一列的值 以空格分隔 [root@192 sh]# awk '{print $3}' test.txt #IP 192.168.1.1 192.168.1.2 awk--head -1获取第一行 [root@192 sh]# cat /etc/passwd|awk '{print $1}'|head -1 root:x:0:0:root:/root:/bin/bash awk--tail -1获取第一行 [root@192 sh]# cat /etc/passwd|awk '{print $1}'|tail -1 chy_:x:1006:1006::/home/chy_:/bin/bash awk---F: 以:分隔 [root@192 sh]# cat /etc/passwd|awk -F: '{print $1}'|tail -1 chy_ awk以www.做分隔 [root@192 sh]# echo "http://www.baidu.con"|awk -F"www." '{print $2}' baidu.con awk -baidu.con变成baidu-con [root@192 sh]# echo "http://www.baidu.con"|awk -F"www." '{print $2}'|awk -F. '{print $1"-"$2}' baidu-conawk输出 [root@192 sh]# cat test.txt |awk 'NR==1 {print}' 192.168.57.132 [root@192 sh]# cat test.txt |awk '/132/' 192.168.57.132 php-config文件中长度大于100的行号 [root@test scripts]# cat php-config|awk 'length($0)>80{print NR}' 10 12 20 27 30 显示test.txt中的第3行至第5行的第一列与最后一列 [root@192 sh]# cat test.txt | awk 'NR==3, NR==5 {print $1,$NF}'136137123 5 获取IP [root@192 sh]# ifconfig|grep "broadcast"|awk '{print $2}'|sed 's/addr://g' 192.168.57.132
5 du-sch
root@192 sh]# du -sh * 4.0K auto_check_mysql.sh 4.0K lamp.sh 4.0K php.info 4.0K rsa.sh 4.0K test.txt [root@192 sh]# du -shc * 4.0K auto_check_mysql.sh 4.0K lamp.sh 4.0K php.info 4.0K rsa.sh 4.0K test.txt 20K 总用量
6 查询linux版本信息
系统版本 [root@test ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.5 (Santiago) [root@test ~]# lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Distributor ID: RedHatEnterpriseServer Description: Red Hat Enterprise Linux Server release 6.5 (Santiago) Release: 6.5 Codename: Santiago 内核版本 [root@test ~]# cat /proc/version Linux version 2.6.32-431.el6.x86_64 (mockbuild@x86-023.build.eng.bos.redhat.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Sun Nov 10 22:19:54 EST 2013 You have new mail in /var/spool/mail/root [root@test ~]# uname -a Linux test 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
7 查看机器的cpu和内存
[root@192 sh]# cat /proc/cpuinfo |grep "processor"|wc -l 1 [root@192 sh]# free -mtotal used free shared buff/cache available Mem: 977 239 578 6 159 581
8 时间变量
时间变量 YEAR=`date +%Y` MONTH=`date +%m` DAY=`date +%d` WEEK=`date +%u`
9 screen后台运行脚本
screen后台执行 crtl—+a+d进行保存 screen -ls 查看id screen -r id 进入后台 或者 nohup mkdir -p/tmp & 也是在后台执行不会掉 只有&是在当前页面进行
10 2>&1
2>&1将标准出不标准输出错误均打印出来 [root@192 ~]# hhhh >/tmp/error 2>&1 [root@192 ~]# more /tmp/error -bash: hhhh: 未找到命令
11 csv文件
csv文件 扫描文件以,作分隔,csv文件上传到桌面excel直接可以打开
12 secure文件登陆纪录
secure文件登陆纪录,下面这条命令可以查看出哪些ip尝试登陆我们的ip sort --排序 uniq -c ---唯一值并排序 sort -nr --从大到小排序 [root@192 log]# grep -i "Failed password" /var/log/secure|awk '{print $(NF-3)}'|sort |uniq -c|sort -nr|more 2 192.168.57.1 $1>=10 将超过10次登陆失败的机器追加到host.deny中或者防火墙中,禁止他们登陆 [root@192 log]# grep -i "Failed password" /var/log/secure|awk '{print $(NF-3)}'|sort |uniq -c|sort -nr|awk '$1>=10 {print $2}' 执行 [root@192 sh]# !sh sh -x auto_drop.sh + IP=(`grep -i "Failed password" /var/log/secure|awk '{print $(NF-3)}'|sort |uniq -c|sort -nr|awk '{print $2}'`) ++ grep -i 'Failed password' /var/log/secure ++ awk '{print $2}' ++ awk '{print $(NF-3)}' ++ sort ++ uniq -c ++ sort -nr ++ echo 192.168.57.1 + for i in '`echo ${IP[@]}`' + sed -i '/OUTPUT/a -A INPUT -s 192.168.57.1 -j DROP' /etc/sysconfig/iptables + service iptables restart Redirecting to /bin/systemctl restart iptables.service [root@192 sh]# more auto_drop.sh #!/bin/sh IP=( `grep -i "Failed password" /var/log/secure|awk '{print $(NF-3)}'|sort |uniq -c|s ort -nr|awk '{print $2}'` ) #echo ${IP[@]}for i in `echo ${IP[@]}` dogrep $i /etc/sysconfig/iptables >>/dev/nullif [ $? -ne 0 ];thensed -i "/OUTPUT/a -A INPUT -s $i -j DROP" /etc/sysconfig/iptable sfi done service iptables restart 加入到定时任务中去,五分钟执行一次 [root@192 sh]# crontab -l */5 * * * * /bin/sh /data/sh/suto_drop.sh >>/tmp/drop.log 2>&1 如何实现每秒运行一次这个脚本 [root@192 sh]# while sleep 1; do sh /data/sh/auto_drop.sh ;done
13 nmap如果ping禁止,用这个
14
1) 删除匹配行sed -i '/匹配字符串/d' filename (注:若匹配字符串是变量,则需要“”,而不是‘’。记得好像是)sed -i '/HISTFILESIZE/d' /etc/bashrc参考https://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html2) 替换匹配行中的某个字符串sed -i '/匹配字符串/s/替换源字符串/替换目标字符串/g' filenamesed -i 's/yes/old/g' netwrk3) 匹配前面是#的删除sed -i '/^[^#]/d' /etc/hosts.allow 4) root用户环境变量不包括父目录+环境变量不包含权限为777的目录!echo $PATH | egrep '(^|:)(\.|:|$)'||echo "root用户环境变量不包括父目录!" >>$log_nameecho $PATH | tr ':' ' '` -type d \( -perm -002 -o -perm -020 \) -ls||echo "环境变量不包含权限为777的目录!" >>$log_name5)#echo ${SOURCE_DIR[@] @代表SOURCE_DIR中输入的所有数值 6)IP_ADDR=`tail -n 1000 /var/log/secure |grep "Failed password"| egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | sort -nr | uniq -c |awk ' $1>=4 {print $2}'`egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3} 筛选IP
转载于:https://blog.51cto.com/6874869/1877937
linux下命令集合相关推荐
- Linux下命令行压缩照片或图片的脚本 (ImageMagick使用心得,convert,import,display实例)
from: Linux下命令行压缩照片或图片的脚本 (ImageMagick使用心得,convert,import,display实例) 在认识ImageMagick之前,我使用的图像浏览软件是Kui ...
- windows、linux下命令行登录oracle数据库方法,查询sga参数值sql语句
windows 下 cmd 命令行登录 oracle 数据库方法.直接就登录进来了. C:\Users\Administrator>sqlplusSQL*Plus: Release 11.2.0 ...
- Linux中的报错命令,Linux学习教程-Linux下命令的一些异常情况
导读 命令不全:在命令没有输入完 (引号或括号没有配对),就不小心按下了Enter键,终端会提示出一个>代表命令不完整,这是可以继续输入,也可以ctrl+c终止输入,重新再来.(下面sed命令使 ...
- linux中C编译命令,linux下命令行下编译c程式
linux下命令行下编译c程式 2008-02-23 05:41:36来源:互联网 阅读 () C 是任何版本的UNIX上的系统语言. C 在过去的二十年中有了很大的发展. 在80年代末期美国国家标准 ...
- Linux下命令行打开word、excel、pdf文件
Linux下命令行打开word.excel.pdf文件 1.打开word文件 wps xxx.docx xdg-open xxx.docx 2.打开excel文件 et xxx.xlsx xdg-op ...
- LibOpenCM3(一) Linux下命令行开发环境配置
目录 LibOpenCM3(一) Linux下命令行开发环境配置 LibOpenCM3(二) 项目模板 Makefile分析 LibOpenCM3(三) .ld文件(连接器脚本)和startup代码说 ...
- Kali Linux下命令行终端的中英文切换
Kali Linux下命令行终端的中英文切换 由于自己想下载个kali linux学习,但是苦于自己设备受限,下载了kali官网的light版本: kali-linux-light-2019.1a-a ...
- linux登陆ftp报错425,linux下命令行连接FTP是遇到的错误(425 Failed to establish connection)...
linux下命令行连接FTP是遇到的错误(425 Failed to establish connection) 首先FTP的运行模式有主动模式和被动模式两种 然后笔者在工作中搭建了ftp,但是没有开 ...
- linux下安装.hex文件,HexEdit Linux下命令集
Linux下Ganglia集群监控安装.配置笔记 http://www.blogjava.net/henry14/archive/2011/12/17/ganglia.html 枪声依旧 Linux下 ...
最新文章
- 我想说:mysql 的 join 真的很弱
- gcc可以编译python程序吗_gcc c语言编译流程
- 装饰者模式 php,PHP设计模式之装饰器模式
- 移动时代的互联网格局变化
- SEO三种职位类型:编辑型SEO、技术型SEO、营销型SEO详解
- flink报错:Error: Static methods in interface require -target:jvm-1.8 已解决
- 数据结构 - 树形选择排序 (tree selection sort) 具体解释 及 代码(C++)
- vue-slicksort拖拽组件
- 计算机硬件密码,计算机硬件技术基础综合性实验任务书(08)密码门锁的模拟_C
- 我的迅雷资源博客已经开通!
- JNDI配置数据库连接
- MAC 升级 node.js 的快捷方法
- php和mysql做甘特图_Twproject Gantt开源甘特图功能扩展
- sunlight的中文_Diana Vickers的Sunlight中文歌词。
- 偏差、方差、标准差、协方差
- windows xp系统重装之u盘装系统,u盘安装xp系统
- 7、固定资产减少凭证处理
- 不是私密链接,如何继续前往?
- opencv生成棋盘格图像
- RuoYi-Vue——裁剪区域头像回显的跨域问题