Linux 集合


Linux 集合
抓包
tcpdump -n -nn -vv -s0 -i {网卡号} host {IP} and port {端口} -w  {文件名}
tcpdump -vv -s0 -i bond0 src 211.139.191.174 or dst 211.139.191.174 -w stars.pcap
查看进程打开的文件.
ls -alh /proc/22003/fd/
lsof -p 22003

ubuntu dns 解析顺序:
vi nsswitch.conf
   hosts:          files dns


7za a -t7z -mx=9 u01_install_v1.0.7z u01_install
yum install salt-minion --disablerepo=\\* --enablerepo=salt* -y
fping -u -l 172.21.130.4 -p 200

将会显示服务器上所有的每个IP多少个连接数
netstat -ntu|sed -n "3,$"p|awk '{print $5}'|awk -F ':' '{print $(NF-1)}'|sort|uniq -c|sort -n
找出某个目录下大小超过 500MB 的文件(打印前40行并按照 MB 从小到大排列)
# find /home/vpsee -printf "%k %p\\n" | sort -g -k 1,1 | \\
awk '{if($1 > 500000) print $1/1024 "MB" " " $2 }' |tail -n 40
释放内存方
sync
echo 3 > /proc/sys/vm/drop_caches
更新内核明细版本
yum --disablerepo updates,base --enablerepo=centosplus list 'kernel*'

setenforce 0

echo "alias vi='vim'" >>/etc/bashrc

./nmon -f -t -s 10 -c 8640

useradd -g developers -m -s /bin/bash user1
echo 'user1:123456'|chpasswd

dmesg | grep CPU   查看硬件信息
cat /proc/cpuinfo | grep name;cat /proc/meminfo | grep MemTotal
dmidecode | grep "Product"
chkconfig --levels 235 crond on  开机运行
change -d 0 name
strings
netstat -tln 查看linux的端口使用情况
netstat -pant | grep 8080
netstat -tulnp 可以只显示目前连接得端口
netstat -t 所有TCP连接
netstat -vat 所有活动与被监听的连接
lsattr /bin /sbin /usr/bin /usr/sbin /etc| grep -e -ia
netstat -na | grep ESTAB | grep 80 | wc -l
netstat -lnat|grep ":80" |grep -v 8080|wc -l

for i in `find . -name "*.txt"`; do iconv -c -f gbk -t utf-8 $i -o $i.new; done  批量转码(c:忽略错误)

sort dcmp_reqModRules.xml|uniq -d  排序,检查重复过的行;uniq -u 检查不重复的行;uniq 去重. (uniq-d|wc -l + uniq -u|wc -l == uniq|wc -l)

sort dcmp_reqModRules.xml|uniq -c>test.txt  排序,去除重复的内容,并显示重复的次数.(比直接用uniq多显示一个重复行的重复次数.)

cat xxx | awk -F# '{print $2}' | sort | uniq -c | sort -rn | head -n 10   检查重复行 统计数量 排序

awk 'BEGIN{sum=0}{sum+=$1}END{print sum}' data.txt         计算文件中某一列的总和
nohup ping www.ibm.com &
route add -host 192.168.9.28 gw localhost dev lo

source /etc/profile

find / -inum 18164   硬连接
find / -links +2
pstree
lsof
修改时间
date -s 04/28/2009
date -s 20:12:00

service xinetd start
chkconfig time on
rdate -s 129.6.15.29
rdate -s 132.163.4.103
clock -w

chattr 用于设置文件属性
lsattr 用于查看文件属性
查看进程使用的CPU
taskset -cp pid
修改网关
setup
或者
vi /etc/sysconfig/network
加入GATEWAY=192.168.0.1
/etc/sysconfig/network-scripts/ifcfg-eth0
#/etc/init.d/network restart

修改hostname
vi /etc/sysconfig/network
vi /etc/hosts

find ~/test -mmin -1560 -exec rm -rf {} \\;

find /var/xmp/log/ -mmin -1560 -exec cp {} ~/test \\;

touch -t 200906101212.12 test2
find . ! -newer test2 -exec rm -rf {} \\;

find -mmin -1560 -exec ls -alh {} \\;

route add -host 218.16.123.92 gw 121.14.129.129 dev eth0

route add default gw 192.168.4.33 dev eth1

mount 218.16.123.92:/data/movies /media

route del -net 10.0.0.0 netmask 255.0.0.0

route add default gw 192.168.10.254 dev eth0
route del default gw 192.168.10.253 dev eth0

/etc/rc.d/rc.local

DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.13.2
NETMASK=255.255.255.0


时间表示
昨天的命令是:
yesterdayformat=`date --date='yesterday'  "+%Y-%m-%d_%H:%M:%S"`
echo $yesterdayformat
輸出格式是:
2006-03-30_08:39:54


明天的命令是:
tomorrowformat=`date --date='tomorrow'  "+%Y-%m-%d_%H:%M:%S"`
echo $tomorrowformat
輸出格式是:
2006-04-01_08:41:29


strings /lib/tls/libc.so.6 | grep GLIBC
ldconfig

--------------------------文件安装
----RPM包

初始化rpm 数据库
rpm --initdb
rpm --rebuilddb

查询安装软件信息
rpm -q gaim
rpm -qa   查询所有
rpm -qf /usr/lib/libacl.la  查询文件属于哪个软件
rpm -ql lynx  查询软件安装到何处
rpm -qi lynx  查询软件包的信息
rpm -qil lynx 配合使用
rpm -qc lynx  查看一下已安装软件的配置文件
rpm -qd lynx  查看一个已经安装软件的文档安装位置
rpm -qR  rpm-python 查看一下已安装软件所依赖的软件包及文件
rpm -e

查看未安装软件信息
rpm -qpi lynx-2.8.5-23.i386.rpm  查看一个软件包的用途、版本等信息
rpm -qpl  lynx-2.8.5-23.i386.rpm  查看一件软件包所包含的文件

安装
rpm  -vih file.rpm    新安装
rpm -Uvh file.rpm     升级
rpm -ivh file.rpm --nodeps --force    强制安装
rpm -ivh --test  gaim-1.3.0-1.fc4.i386.rpm    测试安装,检查依赖关系


compress the folder test to test.war:

jar -cvfM test.war test


extract   the   folder   test   from   test.war:

jar   -xvf   test.war


----tar.gz源包
解压
tar -zxvf ****.tar.gz
tar -jxvf ****.tar.bz(或bz2)

----tar
c 建立新文档
t 查看文档内容
x 解压
f 自定义文件名
v 显示操作流程
z 使用gzip压缩
GZIP="-9" tar -zcvf test.tar.gz *  压缩


./configure

./configure --prefix=/opt/msmtp

make
make install


du会显示指定的目录或文件所占用的磁盘空间。
     -a或-all           显示目录中个别文件的大小。
       -b或-bytes         显示目录或文件大小时,以byte为单位。
       -c或--total         除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
       -D或--dereference-args   显示指定符号连接的源文件大小。
       -h或--human-readable     以K,M,G为单位,提高信息的可读性。
       -H或--si         与-h参数相同,但是K,M,G是以1000为换算单位。
       -k或--kilobytes   以1024   bytes为单位。
       -l或--count-links   重复计算硬件连接的文件。
       -L<符号连接>或--dereference<符号连接>
     显示选项中所指定符号连接的源文件大小。
       -m或--megabytes         以1MB为单位。
       -s或--summarize         仅显示总计。
       -S或--separate-dirs   显示个别目录的大小时,并不含其子目录的大小。
       -x或--one-file-xystem     以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
       -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
       --exclude=<目录或文件>         略过指定的目录或文件。

du -S | sort -n |tail -100

-------------------------------系统资源
cpu 内存 占用率 查看
vmstat 1 100 -S M  (动态显示)
vmstat -sSM  (内存,CPU详细情况)
top  (d: 设置时间间隔,c:列出路径)
free -mos1  (内存详细情况)
tload

------------------------------文件系统管理
----fdisk
fdisk /dev/sda
p:显示分区表
l:显示分区类型
n:建立新分区
----mkfs----建立文件系统(格式化)
t:建立指定文件系统(后面跟文件类型)
V:显示详细格式化状态
c:检查坏道
mkfs -t ext3 /dev/hda2

block size
mkfs
b 数据块
i 节点
m 保留空间%
mkfs.ext3 -b 1024 /dev/ram3
mkfs.ext3 -b 1024 -i 8196 /dev/ram3
mkfs.ext3 -b 1024 -i 8196 -m 2/dev/ram3

----tune2fs
tune2fs -l /dev/ram3   查看分区详细信息数据块节点
-i 自检天数 -i 20d
-c 挂载次数后自检 -c 1000
-m 设置预留空间 -m 2
-j 转换格式ext3
hdparm /dev/sad1 查看当前硬盘是否开启DMA

----fsck----检查修复文件系统
a:自动修复
fs ck -t msdos -a /dev/hda5

内存:/dev/ram*

----mount 挂载文件系统
mkdir mem1
mount /dev/ram15 /mnt/mem1
----------------------------------------------------------
改变文件权限
chown
chgrp
chmod

文件管理
ln -s tset.log test.log.in (建立软链接,可跨分区)
ln tset.log test.log.in.2 (建立硬链接,不可跨分区)
mkdir -p /zzz/xxx/ccc   (建立一串目录)

find
-name 文件名
-size 大小
-exec  \\;  执行命令
find /tmp -name "*.jpg" -size 100k rm {} \\;

ps
ps -aux  显示所有进程
top
k 杀进程
grep -E "15920362222|cg" /usr/local/cmcc_logs.log
grep -i
系统命令
whoami 查当前用户
uname -a linux信息
su
-  继承转换用户的环境变量
#超级用户
$普通用户

用户配置文件
/home
/etc/passwd
/etc/shadow
/etc/

useradd
G  指定组
useradd -G root starsliao

S位
rwx    421
SUID    4
SGID    2
chmod 4777 mkdir
chmod 2777 mkdir



fstab  文件列表

磁盘配额
/etc/fstab
加入usrquota,grpquot
重新挂载
mount -l
quotacheck -ug /home  生成用户磁盘配额文件(home目录)
quotaoff -a  关闭磁盘配额
quotaon -a  打开磁盘配额

edquota -u test   对test用户进行磁盘配额设置
edquota -u test2 -p test 把test的磁盘配额设置复制给test2
repquota -a  查看所有磁盘配额设置
quota  用户查看方式

linux乱码

修改客户端字符编码utf-8
locale -a 列出系统支持的编码
LANG=zh_CN.utf8 设置当前系统编码变量

ntsysv     redhat中打开当前系统自动启动的服务
chkconfig --list  查看当前系统自动启动服务状态
/etc/inittab  指定系统启动后的状态

grub  引到装入器
/boot/grub/grub.conf

grub被覆盖
使用恢复光盘
#chroot /mut/sysimages
#grub-install /dev/hdx
#exit

xinetd  超级守护进程

for i in *zjdx.zip;
> do
> unzip $i
> done
/etc/service 网络服务数据文件(端口)

DNS
bind
/etc/named.conf
/var/named/chroot 目录 固牢技术

/var/log/messages 服务启动错误信息
echo "">messages  清空该文件
more massages|grep named

ACL 访问控制列表
修改 /etc/fstab    defsults后加 acl  重启
touch test.file  建立文件
setfacl -m u:chu888:rw- test.file  为chu888添加test.file文件权限rw
getfacl test.file 查看文件权限
setfacl -m mask::r-- chutest.file  修改mask的权限
setfacl -m u::rwx,g::rwx,o::rwx test.file  添加传统权限
setfacl -x u:chu888 test.file 删除用户chu888文件权限
setfacl -b test.file  删除所有acl权限
getfacl -R chu888>chu888.acl.bak  备份chu888文件夹的ACL权限
setfacl --restore chu888.acl.bak  还原