1.1 打包解包命令(tar)
常用打包命令:tar,一般搭配如下参数使用:
-c:建立压缩文件的参数命令(create)
-x:解压缩文件的参数命令
-z:是否同时具有gzip属性?是否需要用gzip压缩?
-j:是否同时具有bzip2熟悉?是否需要用bzip2压缩?
-v:压缩的过程中显示文件。
-f:使用文件名,注意,在f之后要立即接文件名。不要再增加新的参数。
1.1.1 打包命令
例如:
将以sms_mt开头的所有文件打包成名为sms_mt.tar包。
root@[/mas/log/sms/bak]$ tar -cvf sms_mt.tar sms_mt*
将以sms_mt开头的所有文件打包成为sms_mt.tar.gz包。
root@[/mas/log/sms/bak]$ tar -zcvf sms_mt.tar.gz sms_mt*
将以sms_mt开头的所有文件打包成为sms_mt.tar.bz2包。
root@[/mas/log/sms/bak]$ tar -jcvf sms_mt.tar.bz2 sms_mt*
1.1.2 解包命令
将sms_mt.tar包解包。
root@[/mas/log/sms/bak]$ tar -xvf sms_mt.tar
将sms_mt.tar.gz包解包。
root@[/mas/log/sms/bak]$ tar -zxvf sms_mt.tar.gz
将sms_mt.tar.bz2包解包。
root@[/mas/log/sms/bak]$ tar -jxvf sms_mt.tar.bz2
1.2 远程登录命令(ssh)
远程登录命令:ssh 登录用户@IP -p端口
例如:从某服务器上登录至172.16.9.28服务器,ssh端口为8015
root@[/root]$ ssh mas@172.16.9.28 -p8015
mas@172.16.9.28's password: (此处填写172.16.9.28服务器的mas用户密码)
Last login: Wed Aug 5 09:04:11 2009 from 172.18.25.203
mas@[/mas]$
1.3 远程传输命令(scp)
远程登录命令:scp -P端口 传输文件 用户@IP:目的路径
例如:从某服务器上传输DbBackUpFileDelete.pid文件至172.16.9.48
mas@[/mas]$ scp -P8015 DbBackUpFileDelete.pid mas@172.16.9.48:/mas
mas@172.16.9.28's password: (172.16.9.28服务器的mas用户密码)
1.4 查看磁盘文件空间(df/du)
1.4.1 查看系统各个磁盘使用情况
查看各磁盘空间文件系统和使用情况:df,常用参数如下:
-a或--all 包含全部的文件系统;
-h或--human-readable 以可读性较高的方式来显示信息;
-H或--si 与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
-i或--inodes 显示inode的信息;
-k或--kilobytes 指定区块大小为1024字节;
-l或--local 仅显示本地端的文件系统;
-m或--megabytes 指定区块大小为1048576字节;
例如:使用df –h查看当前系统的容量和已用空间、可用空间等详细信息。
mas@[/mas/libsrc]$ df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rootvg-lvroot 16G 386M 15G 3% /
/dev/mapper/rootvg-lvhome 992M 34M 908M 4% /home
/dev/mapper/rootvg-lvvar 20G 293M 19G 2% /var
/dev/mapper/appvg-lvmysql 21G 249M 20G 2% /var/lib/mysql
/dev/mapper/rootvg-lvusr 18G 3.5G 13G 21% /usr
/dev/mapper/appvg-lvapp 9.7G 435M 8.8G 5% /app
/dev/mapper/appvg-lvbak 9.7G 905M 8.4G 10% /bak
/dev/mapper/appvg-lvmas 48G 3.6G 42G 8% /mas
/dev/sda1 99M 12M 83M 13% /boot
tmpfs 506M 0 506M 0% /dev/shm
1.4.2 查看目录或者文件使用情况
查看各文件或者目录大小使用命令: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 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
例如:使用du –h查看当前目录下文件大小。
mas@[/mas/libsrc]$ du -h
88K ./svr_common
2.1M ./isdn_head
60K ./sms_moden
2.5M ./mas2
13M .
1.5 查看系统进程(ps)
查看系统各进程执行状况的命令:ps,常用参数如下:
-a 显示所有终端机下执行的程序,除了阶段作业领导者之外;
a 显示现行终端机下的所有程序,包括其他用户的程序;
-A 显示所有程序;
-c 显示CLS和PRI栏位;
c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示;
-e 此参数的效果和指定"A"参数相同;
e 列出程序时,显示每个程序所使用的环境变量;
-f 显示UID,PPIP,C与STIME栏位;
-H 显示树状结构,表示程序间的相互关系;
-j或j 采用工作控制的格式显示程序状况;
-l或l 采用详细的格式来显示程序状况;
L 列出栏位的相关信息;
n 以数字来表示USER和WCHAN栏位;
-u<用户识别码> 此参数的效果和指定"-U"参数相同;
u 以用户为主的格式来显示程序状况;
x 显示所有程序,不以终端机来区分;
X 采用旧式的Linux i386登陆格式显示程序状况。
例如:使用ps aux|grep gwinit_db查看gwiinit_db进程相关的信息。
mas@[/mas/libsrc]$ ps aux|grep gwiinit_db
mas 7944 0.0 0.0 5180 692 pts/7 S+ 20:24 0:00 grep gwiinit_db
1.6 显示内存状态(free)
显示内存状态的命令:free,一般显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。常用参数如下:
-b 以Byte为单位显示内存使用情况;
-k 以KB为单位显示内存使用情况;
-m 以MB为单位显示内存使用情况;
-o 不显示缓冲区调节列;
-s<间隔秒数> 持续观察内存使用状况;
-t 显示内存总和列;
-V 显示版本信息。
例如:使用free -m查看当前系统内存使用情况:
mas@[/mas/libsrc]$ free -m
total used free shared buffers cached
Mem: 1010 985 24 0 56 112
-/+ buffers/cache: 816 194
Swap: 4095 673 3422
1.7 显示系统资源(top)
显示系统资源命令:top。它是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。
root@[/root]$ top
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 191272k total, 173656k used, 17616k free, 22052k buffers
Swap: 192772k total, 0k used, 192772k free, 123988k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd
1470 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top
1471 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init
1472 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
1473 root 13 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
各列的含义如下:
序号 列名 含义
a PID 进程id
b PPID 父进程id
c RUSER Real user name
d UID 进程所有者的用户id
e USER 进程所有者的用户名
f GROUP 进程所有者的组名
g TTY 启动进程的终端名。不是从终端启动的进程则显示为?
h PR 优先级
i NI nice值,负值表示高优先级,正值表示低优先级
j P 最后使用的CPU,仅在多CPU环境下有意义
k %CPU 上次更新到现在的CPU时间占用百分比
l TIME 进程使用的CPU时间总计,单位秒
m TIME+ 进程使用的CPU时间总计,单位1/100秒
n %MEM 进程使用的物理内存百分比
o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
q RES 进程使用的、未被换出的物理内存大小,单位kb。
r CODE 可执行代码占用的物理内存大小,单位kb
s DATA 可执行代码以外的部分占用的物理内存大小,单位kb
t SHR 共享内存大小,单位kb
u nFLT 页面错误次数
v nDRT 最后一次写入到现在,被修改过的页面数。
w S 进程状态。(其中: D=不可中断的睡眠状态;R=运行;
S=睡眠;T=跟踪/停止; Z=僵尸进程)
x COMMAND 命令名/命令行
y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
z Flags 任务标志
默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND列。
1.8 显示系统网络状况(netstat)
显示系统网络状况常用命令:netstat,该命令可以查看整个Linux系统的网络情况(一般只有root用户拥有执行该命令的权限)。常用参数如下:
-a或--all 显示所有连线中的Socket;
-A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址;
-c或--continuous 持续列出网络状态;
-C或--cache 显示路由器配置的快取信息;
-e或--extend 显示网络其他相关信息;
-F或--fib 显示FIB;
-g或--groups 显示多重广播功能群组组员名单;
-h或--help 在线帮助;
-i或--interfaces 显示网络界面信息表单;
-l或--listening 显示监控中的服务器的Socket;
-M或--masquerade 显示伪装的网络连线;
-n或--numeric 直接使用IP地址,而不通过域名服务器;
-N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称;
-o或--timers 显示计时器;
-p或--programs 显示正在使用Socket的程序识别码和程序名称;
-r或--route 显示Routing Table;
-s或--statistice 显示网络工作信息统计表;
-t或--tcp 显示TCP传输协议的连线状况;
-u或--udp 显示UDP传输协议的连线状况;
-v或--verbose 显示指令执行过程;
-V或--version 显示版本信息;
-w或--raw 显示RAW传输协议的连线状况;
-x或--unix 此参数的效果和指定"-A unix"参数相同;
--ip或--inet 此参数的效果和指定"-A inet"参数相同。
例如:查看端口7890是否已被某进程占用。
root@[/root]$ netstat -anp |grep 7890
tcp 0 0 0.0.0.0:7890 0.0.0.0:* LISTEN 24536/mscp
tcp 0 0 172.16.9.48:45221 221.130.33.92:7890 ESTABLISHED 24464/mscp
1.9 网络数据包抓取命令(tcpdump)
网络数据包抓取使用命令:tcpdump,该命令通常只有root拥有执行权限。常用参数如下:
-i <网卡端口> 使用指定的网卡端口送出数据包;
-s <数据包大小> 设置每个数据包的大小;
-w <数据包文件> 把数据包数据写入指定的文件
例如:抓取发送给目的地址221.130.33.91,端口为tcp 8080
root@[/root]$ tcpdump -i eth0 tcp port 8080 and host 221.130.33.91 -s 0 -w mas_mms.cap
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
(使用”ctrl”+”c”组合键终止抓包命令,只是获取的数据包被写入mas_mms.cap文件中)
13 packets captured
13 packets received by filter
0 packets dropped by kernel
获取的网络数据包通常可以使用Ethereal工具分析。
1.10 进程的删除(kill)
进程的删除使用命令:kill,一般和-9搭配使用。
例如:可以先通过ps命令查找tomcat的pid,在通过kill命令强制结束该进程。
root@[/mas/guoleia/mysrc/gb2uni]$ ps -ef|grep gwiinit_db
mas 1446 1 0 22:04 ? 00:00:00 mscp gwiinit_db
root 2094 20812 0 22:08 pts/26 00:00:00 grep gwiinit_db
root@[/mas/guoleia/mysrc/gb2uni]$ kill -9 1446
1.11 重启命令(reboot、halt、poweroff)
重启命令:reboot、halt、poweroff都差不多,和shutdown -r now几乎相同。
1.12 关机命令(shutdown)
关机命令:shutdown,可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。常用参数如下:
-c 当执行"shutdown -h 11:50"指令时,只要按+键就可以中断关机的指令;
-f 重新启动时不执行fsck;
-F 重新启动时执行fsck;
-h 将系统关机;
-k 只是送出信息给所有用户,但不会实际关机;
-n 不调用init程序进行关机,而由shutdown自己进行;
-r shutdown之后重新启动;
-t<秒数> 送出警告信息和删除信息之间要延迟多少秒。
例如:
立即关机:
root@[/root]$ shutdown -h now
在当天20:25分定时关机:
root@[/root]$ shutdown -h 20:25
系统再过十分钟自动关机:
root@[/root]$ shutdown -h +10
系统马上重启:
root@[/root]$ shutdown –r now