1.显示消耗内存/CPU最多的10个进程
ps aux | sort -nk +4 | tail
ps aux | sort -nk +3 | tail
——————————————————————————————————————————
2.查看Apache的并发请求数及其TCP连接状态
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
——————————————————————————————————————————
3.找出自己最常用的10条命令及使用次数(或求访问最多的ip数)
sed -e ‘s/| /\n/g’ ~/.bash_history |cut -d ‘ ‘ -f 1 | sort | uniq -c | sort -nr | head
——————————————————————————————————————————
4.日志中第10个字段表示连接时间,求平均连接时间
cat access_log |grep “connect cbp” |awk ‘BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf(“sum=%d,count=%d,avg=%f\n”,sum,count,
sum/count)}’
——————————————————————————————————————————
5.lsof命令
lsof abc.txt 显示开启文件abc.txt的进程
lsof -i :22 知道22端口现在运行什么程序
lsof -c abc 显示abc进程现在打开的文件
lsof -p 12 看进程号为12的进程打开了哪些文件
——————————————————————————————————————————
6.杀掉一个程序的所有进程
pkill -9 httpd
killall -9 httpd
注意尽量不用-9,数据库服务器上更不能轻易用kill,否则造成重要数据丢失后果将不堪设想。
——————————————————————————————————————————
7.rsync命令(要求只同步某天的压缩文件,而且远程目录保持与本地目录一致)
/usr/bin/rsync -azvR –password-file=/etc/rsync.secrets `find . -name “*$yesterday.gz” -type f ` storage@192.168.2.23::logbackup/13.21/
——————————————————————————————————————————
8.把目录下*.sh文件改名为*.SH
find . -name “*.sh” | sed ’s/\(.*\)\.sh/mv \0 \1.SH/’ |sh
find . -name “*.sh” | sed ’s/\(.*\)\.sh/mv & \1.SH/’|sh (跟上面那个效果一样)
——————————————————————————————————————————
9.ssh执行远程的程序,并在本地显示
ssh -n -l zouyunhao 192.168.2.14 “ls -al /home/zouyunhao”
——————————————————————————————————————————
10. 直接用命令行修改密码
echo “zouyunhaoPassword” |passwd –stdin zouyunhao
——————————————————————————————————————————
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remoteServer
——————————————————————————————————————————
12.以http方式共享当前文件夹的文件
$ python -m SimpleHTTPServer
在浏览器访问http://IP:8000/即可下载当前目录的文件。
——————————————————————————————————————————
13.shell段注释
:<<’echo hello,world!’
——————————————————————————————————————————
14.查看服务器序列号
dmidecode |grep “Serial Number” (查看机器其他硬件信息也可用这个命令)
——————————————————————————————————————————
15.查看网卡是否有网线物理连接
/sbin/mii-tool
——————————————————————————————————————————
16.查看linux系统或者mysql错误码表示的意思,如查看13错误码表示的意思:
perror 13
——————————————————————————————————————————
17.关于cpu个数
查看逻辑cpu个数:cat /proc/cpuinfo | grep “processor” | wc -l
查看物理cpu个数:cat /proc/cpuinfo | grep “physical id” | sort | uniq | wc -l
查看每个物理cpu的核数cores:cat /proc/cpuinfo | grep “cpu cores”
如果所有物理cpu的cores个数加起来小于逻辑cpu的个数,则该cpu使用了超线程技术。查看每个物理cpu中逻辑cpu的个数:cat /proc/cpuinfo | grep “siblings”
——————————————————————————————————————————
18.从格式不规范的日志中截取字符串
perl -ne ’print “$1\n” if /servletPath=(\S+)/g’ test.log
——————————————————————————————————————————
19. 把所有的文件名含有空格的,把空格去掉
find ./ -type f | while read line;do echo $line|grep -q " " && \mv "$line" $(echo $line|sed 's/ //g');done
------------------------------------------
20.把所有的文件夹的文件名含有空格的,把空格去掉
find ./ -type d -name '*'|while read file; do echo $file|grep -q " " && mv "$file" $(echo $file|tr -d ' '); done
当文件名的末尾以空格结束时,就不能用命令行来实现,需要使用脚本:
#!/bin/bash
IFS=$'\n'
find ./ -type f | while read line;do echo $line|grep -q " " && \mv "$line" $(echo $line|sed 's/ //g');done
-------------------------------------------
21.生成随机字符串:
# tr -dc _A-Z-a-z#$%^*-0-9 </dev/urandom |head -c8
chgSh^eJ
或者
# mkpasswd -l 8 -d 1 -c 3 -C 2 -s 2
G_ze3Hto
-------------------------------------------
22.linux统计PCI插槽数量:
[root@vcdog ~]# dmidecode |grep -1 PCI
ISA is supported
PCI is supported
PC Card (PCMCIA) is supported
--
System Slot Information
Designation: PCI Slot J11
Type: 32-bit PCI
Current Usage: In Use
--
System Slot Information
Designation: PCI Slot J12
Type: 32-bit PCI
Current Usage: In Use
--
System Slot Information
Designation: PCI Slot J13
Type: 32-bit PCI
Current Usage: In Use
--
System Slot Information
Designation: PCI Slot J14
Type: 32-bit PCI
Current Usage: Available
----------------------------------------
23. nmap探测远程主机的开放端口及操作系统:
# nmap -A -T4 192.168.1.28 //此处可以为主机名,域名,或主机IP地址
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2010-12-28 09:46 CST
Interesting ports on bogon (192.168.1.29):
Not shown: 1677 closed ports
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds
MAC Address: 70:5A:B6:09:45:FA (Unknown)
Device type: general purpose
Running: Microsoft Windows NT/2K/XP
OS details: Microsoft Widows XP SP2
Service Info: OS: Windows
------------------------------------
24. linux下的文件去掉^M硬回车的方法:
(1)# cat test.txt |tr -d '^M' >test.new
(2).# sed -i 's/^M//g' test.txt
(3)# dos2unix test.txt
(4)在vi中用:%s/^M//g
注意:这里的“^M”要使用“CTRL-V CTRL-M”生成,而不是直接键入“^M”。
-------------------------------------
25.删除文件中的所有空行:
1.使用awk方法如下:
[root@dg ~]# cat t.txt | awk -F '' '{if($1!=null) print $0}'
203.208.46.146 www.google.com
223.208.46.146 www.google.com
203.208.46.147 www.google.com.hk
203.208.46.132 clients1.google.com
203.208.46.149 mail.google.com
2.sed方法如下:
[root@dg ~]# sed '/^$/d' t.txt
203.208.46.146 www.google.com
223.208.46.146 www.google.com
203.208.46.147 www.google.com.hk
203.208.46.132 clients1.google.com
203.208.46.149 mail.google.com
203.208.46.161 chatenabled.mail.google.com
3.awk方法如下:
[root@dg ~]# awk 'NF' t.txt
203.208.46.146 www.google.com
223.208.46.146 www.google.com
203.208.46.147 www.google.com.hk
203.208.46.132 clients1.google.com
203.208.46.149 mail.google.com
203.208.46.161 chatenabled.mail.google.com
4.vim中删除空行如下:
:g/^$/d
203.208.46.146 www.google.com
223.208.46.146 www.google.com
203.208.46.147 www.google.com.hk
203.208.46.132 clients1.google.com
203.208.46.149 mail.google.com
203.208.46.161 chatenabled.mail.google.com
------------------------------------
26.获取内存条TYPE和SPEED的信息:
# dmidecode |grep -A 16 "Memory Device"|grep -E "Speed|Type"
Type: DDR2 FB-DIMM
Speed: 667 MHz (1.5 ns)
Type: DDR2 FB-DIMM
Speed: 667 MHz (1.5 ns)
Type: DDR2 FB-DIMM
Speed: 667 MHz (1.5 ns)
Type: DDR2 FB-DIMM
Speed: 667 MHz (1.5 ns)
Type: DDR2 FB-DIMM
Type: DDR2 FB-DIMM
Type: DDR2 FB-DIMM
Type: DDR2 FB-DIMM
=================================================================
分享到:
相关推荐
### 在Python中实现运行多条Shell命令 在Python编程中,有时我们需要调用系统的Shell命令来完成特定的任务,比如文件操作、系统管理等。本文将详细介绍如何在Python中执行多条Shell命令,并探讨不同的实现方法及其...
在Android系统中,有时我们需要执行一些底层操作,如文件管理、系统调试或自动化测试,这时候就需要用到shell命令。本文将深入探讨如何在Android平台上执行shell命令,以及它在实际开发中的应用。 首先,Android...
Linux Shell 命令解释步骤程序实现 Linux Shell 命令解释是 Linux 操作系统中最基本也是最重要的一部分,它负责处理用户与操作系统之间的交互动作,并且给出相应的操作系统的输出结果。 Shell 基本上是一个命令...
**Shell命令解释器**是Linux操作系统中的核心组件之一,它是一个用户与系统交互的界面,让用户能够通过输入命令来执行各种系统操作。在Linux的世界里,shell不仅是一个命令行接口,还是一个强大的脚本编程语言,允许...
Android Debug Bridge(ADB)就是一个强大的工具,允许开发者从计算机上对连接的Android设备进行各种操作,包括发送shell命令。本篇将深入探讨如何在APK程序中执行Adb shell命令以及它与高级语言之间的调用关系。 ...
本单元实现了一个伪的Shell,可以用于在Android程序中执行Shell命令,如果需要Root权限,则在执行前,调用AskForRoot方法来获取用户的Root授权,如果不再需要在Root账号下执行命令,则调用ExitRoot方法来退出Root...
在Android平台上,有时候开发者需要超越普通应用程序的权限范围,例如执行系统级别的操作,这就涉及到给APP授权和执行Shell命令。Android系统默认是以安全为优先,不允许应用无限制地执行shell命令,但通过获取Root...
Java 调用 Shell 命令 在 Java 中调用 Shell 命令是非常常见的操作,特别是在需要执行系统命令或脚本时。在这个例子中,我们将看到如何使用 Java 调用 Shell 命令,并介绍相关的知识点。 Java 调用 Shell 命令的...
1. **执行shell命令**: ExecuteShell提供了简洁的API,允许开发者在Android应用中执行各种shell命令,包括但不限于ls, cd, mkdir, rm等,极大地扩展了Android应用的功能。 2. **异步与同步执行**: 库支持同步和异步...
在Android系统中,有时我们需要执行一些底层操作,这时就可能会用到shell命令。shell命令是Linux或类Unix系统中的命令行工具,通过它们可以进行文件管理、系统控制、进程交互等众多操作。在Android这样的基于Linux...
在Android开发中,有时我们需要执行一些底层操作,例如与硬件交互或者进行系统级别的操作,这时候JNI(Java Native Interface)和shell命令就显得尤为重要。本文将详细介绍如何在Android应用中使用JNI来执行shell...
在IT领域,Shell命令是Linux和Unix操作系统中的一个强大工具,它允许用户通过文本界面与操作系统进行交互。这本书“shell命令文档 中文版”提供了一个全面的指南,涵盖了所有基本到高级的Shell命令,这对于系统管理...
shell 命令的用法 Shell 命令是 Linux 操作系统中最基本也是最重要的工具之一,它提供了强大的命令行接口,能够帮助用户快速高效地完成各种任务。了解 shell 命令的用法是每一个 Linux 用户的必备知识。 1. cp ...
Linux下Shell命令解释器,一、 实现功能: 要求实现一个简单的命令解释器,也就是linux中的shell程序,在本程序中我们将其起名为mysh,要求: 1、 能够执行外部程序命令,命令可以带参数; 2、 能够执行fg、bg、cd、...
### Windows命令大全与Shell命令详解 #### 一、Windows下的Shell命令概述 Windows下的Shell命令通常指的是CMD命令,这是从MS-DOS系统继承下来的特性。Shell命令提供了比图形用户界面更为快速的操作方式,尤其受到...
Python执行shell命令并将结果保存的实例涉及到了Python编程中与系统交互的一个重要方面。在软件开发和系统管理中,经常需要从Python程序中调用系统的shell命令,并将这些命令的输出用作进一步的处理。本文将详细介绍...
"华为光猫shell命令补全文件" 提供了一种便捷的方式来完成命令输入,提高命令行操作的效率。 Shell命令补全通常包含一系列自动提示和补全功能,帮助用户快速输入正确的命令、参数或文件名。在华为光猫的环境中,这...
放在Post Steps 的shell命令 ,一键自动部署(2021最新版)
博通网络交换SDK Shell命令是博通公司为其交换机芯片设计的命令行解释器,提供对其嵌入的参考平台的精确控制。这个命令行解释器可以支持所有博通交换芯片在同一图像中,直接访问所有寄存器、内存和大多数高级API功能...
标题中提到的“shell命令豪华版”说明了本内容主要围绕Shell命令进行展开,Shell命令是Linux操作系统中最基本、最核心的命令集合,对于Linux新手而言,掌握这些命令是至关重要的。 Shell是Linux系统中的命令解释器...