Linux常用命令记录

来源:互联网 发布:雨花区网络问政 编辑:程序博客网 时间:2024/05/05 03:19

tar命令详解


查找当前目录下所有包含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

SELinux导致Apache 403错误解决方法

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用来查看文件内容的工具。

原创粉丝点击