查找当前目录下所有包含400-886-0025字符串的文件,并列出来:
grep -i "400-886-0025" ./
将其替换为空字符串
sed -i "s/400-886-0025//g" `grep 400-886-0025 -rl ./`
基本参数:- c 统计字节数;- l 统计行数;- w 统计字数。
统计该目录下的所有文本文档的行数,写到a文件去。
用途:用于统计日志目录下所有日志文件的请求数目。
wc -l *.txt > a
查看80端口的占用情况
lsof -i :80
硬件:
操作系统:Red Hat Enterprise Linux Server release 5.5 (Tikanga)
CPU:8核 Intel(R) Xeon(R) CPU E5620 @ 2.40GHz
内存:16G (16426616 kB)
带宽:独立10M
软件:
Web服务器:Tomcat 6.0
开发语言:Java
数据库:MySQL 5.5
缓存: Memcached
队列: Nodejs+Mecached
系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# dmidecode -t processor # 查看CPU详细信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# rpm -qa # 查看所有安装的软件包
一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):
1、导出数据和表结构:
mysqldump -u用户名 -p 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/mysqldump -uroot -p abc > abc.sql
敲回车后会提示输入密码
2、只导出表结构
mysqldump -u用户名 -p -d 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/mysqldump -uroot -p -d abc > abc.sql
二、导入数据库
1、首先建空数据库
mysql>create database abc;
2、导入数据库
方法一:
(1)选择数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用户名 -p 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql
注意:有命令行模式,有sql命令
Linux: umount 时出现 "Device is busy" 的解法
当任何目录有 mount, 然后有程序使用/挂在那个目录上的话, 就没有办法 umount 掉, 於 umount 时会出现 Device is busy 的讯息.
要怎麼找出是哪个程序挂在那个目录上? 然后去把那个程式砍掉呢?
使用 fuser 的指令
那要怎麼找出是哪个程式挂在那个目录上?可以使用 fuser - identify processes using files or sockets
假设现在 mount 起来的目录是 /media/share
* 查询: fuser -m /media/share
* 显示: /media/share: 25023c
就代表是 process 25023(pid) 有使用到此目录, 后面 c 代表的意思可参考下述:
* c: current directory.
* e: executable being run.
* f: open file. f is omitted in default display mode.
* F: open file for writing. F is omitted in default display mode.
* r: root directory.
* m: mmap'ed file or shared library.
要把这个资源释放的话, 可以有下述做法:
* kill -9 25023 # ps aux | grep 25023 应该就会看到它
* fuser -m -v -i -k /media/share # 会问你是不是要把 25023 这个 kill 掉, 选 y 就会 kill 掉
提示信息如下:
USER PID ACCESS COMMAND
/meida/share: root 25023 ..c.. bash
Kill process 25023 ? (y/N) y
在特定目录下查找包含某个字符串的文件
grep -F web_see1.jsp -R /usr/web/cellcom_monitor/WebContent/
将包含特定目录下包含某个字符串的文件替换成另外一个字符串
sed -i "s/web_see.jsp/web_see1.jsp/g" `grep web_see.jsp -rl /usr/web/cellcom_monitor/WebContent`
查看操作系统类型
cat /proc/version
在Debian安装Node
apt-get install sudo
sudo apt-get update && sudo apt-get install git-core curl build-essential openssl libssl-dev
git clone https://github.com/joyent/node.git
cd node
git checkout v0.9.5 (or the version you want to build)
./configure --openssl-libpath=/usr/lib/ssl
make
sudo make install
node -v
npm -v
Permission denied: access to /phpmyadmin/ denied
phpmyadmin在非默认/var/www/html目录下无法运转通常类似的情况都是在配置了虚拟主机时,访问/phpmyadmin等提示403访问拒绝,日志里也提示Permission denied,这是因为phpmyadmin防止的目录及文件本身属性不符合context要求。
假设phpmyadmin放在/web目录下,那么执行:
chcon -R -t httpd_user_content_t /web
tr 'A-Z' 'a-z' < server.log | tr -sc 'A-Za-z' '\n' | grep 'ing$' | sort | uniq -c | sort -n -r | less
tr可以认为是sed的简化,用于字符串替换。
less是对文件或其他输出进行分页显示的工具,是linux用来查看文件内容的工具。