Chinaunix首页 | 论坛 | 博客
  • 博客访问: 386356
  • 博文数量: 124
  • 博客积分: 2911
  • 博客等级: 少校
  • 技术积分: 1050
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-15 15:57
文章分类

全部博文(124)

文章存档

2012年(6)

2011年(26)

2010年(92)

我的朋友

分类: LINUX

2010-09-30 21:28:57

系统查看

dmidecode    查看主板型号      //可获得支持的硬件设备
ntsysv          设置自动启动的网络服务
lsmod              查看安装的驱动程序
rmmod       卸载驱动

lsof -p "pid"
        功能: 查看pid进程打开文件的详细信息。
lsof "FilePath"
        功能: 查看打开FilePath文件的进程详细信息。
============================================
dmesg [-cn][-s <缓冲区大小>]
功能:
kernel会将开机信息存储在ring buffer中。若开机时来不及查看信息,可利用dmesg来查看。
开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
参数:
-c 显示信息后,清除ring buffer中的内容。 
-s 预设置为8196,刚好等于ring buffer的大小。 
-n 设置记录信息的层级
============================================
系统负载
free
功能:
查看内存状态。常用命令有free,top,vmstat
格式:
total 内存总容量
used 使用量
free 剩余量
shared 系统当前共享内存(shm)的大小
buffers "内存使用量"中的内核缓存大小
cached "内存使用量"中的磁盘缓存大小
注意:
内存的真实使用量=used - (buffers+cached)

uptime
功能: 查看系统【从上次重启后的运行时间】,【当前登录到系统中的用户数】,【系统平均负载】
 load average格式:
显示当前【1分钟、5分钟、15分钟】内位于运行队列(等待CPU时间)里的进程数量。
对单颗CPU来说,通常等待CPU时间的进程不应当超过3个;超过3个表示系统负载较高;超过5个表示负载相当高。
对多颗CPU来说,12以内的进程等待数都是可以接受的。

iostat
功能:查看磁盘负载
格式:
【avg-cpu】 cpu使用情况
iowait 在最近时间段内由于等待磁盘I/O而占用的CPU资源。
这个值越高,说明有越多进程因为磁盘I/O问题而处于等待状态,也意味着磁盘性能对系统性能的影响越大。

【Device】 各个磁盘分区的使用情况
tps transfers per second,每秒对该设备的I/O请求(r|w)数量。
Blk_read/s 每秒从该设备读取的块数量
Blk_write/s 每秒从该设备写入的块数量
Blk_read 统计时间内从该设备读取的总块数量

iftop工具
功能:
        实时监控网络流量
参数:(iftop -h查看)
    iftop -n           //直接显示ip,不进行DNS反解
    iftop -N         //显示ip+port
    iftop -i eth1    //监控eth1的流量
    iftop -B         //以bytes显示
    iftop -F xxx.xxx.xxx.xxxx/x     //显示特定网段的流量

注:
    进入iftop界面
    a) 按p切换是否显示port
    b) n切换ip与主机名
    c) N切换port与服务名称
    d) b切换是否显示长条
    e) B切换计算几秒内的平均流量。
    f) 配置文件: ~/.iftoprc

Swap分区操作
1.添加SWAP:
1)设置swap路径及大小: dd if=/dev/zero of=/var/swap bs=1024 count=8192000
(内存4G,swap习惯设为其2倍)
2)设置交换文件: mkswap /var/swap
3)启用交换分区: swapon /var/swap
4)开机自挂: /etc/fstab=>/var/swap swap swap defaults 0 0
2.卸载Swap分区: swapoff /dev/sda3

磁盘管理
du:        使用的空间大小。e.g: du -sh /mnt
df:
        剩余空间大小。e.g: df -h
fdisk    :    查看硬盘分区状况,同时也是硬盘分区工具。e.g: fdisk -l
hdparm
cfdisk
mkfs.ext3 /dev/hdb1   //格式化硬盘成ext3格式
编辑/etc/fstab:可使硬盘在启动时自动挂载: 

【附】基础知识
控制器对磁盘的指令分为两大体系:
ATA指令集
接口类型有:IDE接口(PATA)、SATA接口
SCSI指令集
接口类型有:并行SCSI接口、SAS接口(串行SCSI)。
——SAS接口兼容SATA接口,SAS环境中可以直接使用SATA硬盘,但SATA环境中不能直接使用SAS硬盘。




============================================
crontab [-u user] [-e|-l|-r]
功能:
    在一定的时间间隔内调度特定命令执行。/etc/crontab文件存放调度程序。
参数:
    -u    设定用户user的cron服务
    -e    编辑用户的cron服务
    -l    列出用户的cron服务
    -r    删除用户的cron服务
举例:
    查看oracle的cron服务:crontab -u oracle -l
    删除oracle的cron设置:crontab -u oracle -r
重点:
    编辑oracle的cron设置:crontab -u oracle -e
        编辑格式:
            # Example of job definition:
            # .---------------- minute (0 - 59)
            # |  .------------- hour (0 - 23)
            # |  |  .---------- day of month (1 - 31)
            # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
            # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
            # |  |  |  |  |
            # *  *  *  *  *  Command to be executed
    举例:
        每天早上6点向/tmp/record中记录"Good Morning":    0 6 * * * echo "Good morning." >> /tmp/test.txt

Crontab文件
说明:
    crontab命令针对用户,/etc/crontab针对系统任务。
    cron服务每分钟读一次/var/spool/cron/中的所有文件,也读一次/etc/crontab。
    *表示每分钟(小时、天、月、星期)都要执行Script。
    a,b,c,...表示第a,b,c,...分钟(小时、天、月、星期)执行Script。
举例:
    每晚的21:30重启httpd:30 21 * * * /etc/rc.d/init.d/httpd restart
    每天早上上班时间的整点检测服务状态: 0 8,9,10,11,12 *** /xxx/xxx/xxx status
============================================
安装:            rpm -ivh 【*.rpm】
卸载:            rpm -e 【*.rpm】
查看依赖关系:    rpm -qpR 【*.rpm】
查询:        rpm -q 【SoftwareName】

============================================
【网络命令】
1.
    arp            解析ip与主机名
2.
    traceroute    跟踪路由
3.
    nslookup    查询DNS域名
e.g.:
    [xxx]#nslookup
    >202.117.21.126
结果:
    Server:        202.117.0.20
    Address:    202.117.0.20#53
    126.21.117.202.in-addr.arpa    name = 21h126.xjtu.edu.cn.

4.
Lsof
# lsof -Pnl +M -i4    #查看IPv4协议端口
# lsof -Pnl +M -i6    #查看IPv6协议端口
    -P:约束网络文件的端口号到端口名称的转换。约束转换可以使lsof运行得更快一些。在端口名称的查找不能奏效时,这是很有用的。
    -n:这个选项约束着网络文件的端口号到主机名称的转换。约束转换可以使lsof的运行更快一些。在主机名称的查找不能奏效时,它非常有用。
    -l:这个选项约束着用户ID号到登录名的转换。在登录名的查找不正确或很慢时,这个选项就很有用。
    +M:此选项支持本地TCP和UDP端口映射程序的注册报告。
    -i4:仅列示IPv4协议下的端口。
    -i6:仅列示IPv6协议下的端口。

Netstat
# netstat -tulpn 或    # netstat -npl
    -t:指明显示TCP端口
    -u:指明显示UDP端口
    -l:仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
    -p:显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
    -n:不进行DNS轮询(可以加速操作)

查看本机服务端口: netstat -tln
查看端口 lsof -i: 80 或 netstat -anp | grep 80

/etc/services文件
    /etc/services:纯ASCII文件,提供互联网服务的友好名称,以及默认分配的端口号和协议类型。每一个网络程序都要进入这个文件得其服务的端口号(和协议)。

""是在输入模式下先按下CTRL-V,后再按下键,显示为^[

getconf LONG_BIT    显示系统多少位
============================================

Time

【格式】time [-p] command [arguments...]

【说明】

执行命令行"command [arguments...]",命令行执行结束时在标准输出中打印执行该命令行的时间统计结果,其统计结果包含以下数据:

1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间;

2)用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;

3)系统CPU时间(system CPU time): 命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。

其中,用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总 和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。


netstat:    查看网络状况。特定参数很有用

file +"file":    显示文件类型

时间shell
$ date     // 显示当前日期
$ time     // 显示程序运行的时间
$ hwclock  // 显示与设定硬件时钟
$ clock   // 显示与设定硬件时钟,是hwclock的链接文件
$ cal     // 显示日历

============================================
用户和用户组管理
1、建用户:
      adduser phpq                             //新建phpq用户
      passwd phpq                               //给phpq用户设置密码
2、建工作组
      groupadd test                          //新建test工作组
3、新建用户will及其工作组、home目录和密码
      useradd -d /home/will -g mpi -s /bin/bash -p [passwd] will
      注::-g 所属组 -d 家目录 -s 所用的SHELL

4、给已有的用户增加工作组
      usermod -G groupname username
      或者:gpasswd -a user group

5、临时关闭:在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。

或者使用如下命令关闭用户账号:
      passwd peter –l
重新释放:
      passwd peter –u
6、永久性删除用户账号
      userdel peter
      groupdel peter
      usermod –G peter peter   (强制删除该用户的主目录和主目录下的所有文件和子目录)
7、从组中删除用户
      编辑/etc/group 找到GROUP1那一行,删除 A
      或者用命令
      gpasswd -d A GROUP
8、显示用户信息
      id user
      cat /etc/passwd


w                    查询当前登录用户
pkill -kill -t 【TTY】:    强行踢掉登录用户

id+username: 查询系统用户

system-config-firewall : 防火墙设置configure system firewall

who
    -m    效果同who am i:显示用户名,登录终端,登录时间
    -q    只显示用户的登录帐号和登录用户的数量
    -s    忽略,它同于who
    -r    可以查看当前系统的运行级别
    -H或--heading:显示一行列标题。常用的标题如表4-2所示。

whoami:        只显示出自己在系统中的用户名
who am i:        显示出自己在系统中的用户名,登录终端,登录时间
logname:        可以显示自己登录到系统中的用户名
last:            可以查看上次自己登录的时间,当然root可以查看其他用户登录的情况
last -n user:    可以看user前n次登录的情况
tty:            报告所连接的设备或终端
============================================
#locale    显示系统语言环境;语言环境参数保存在/etc/sysconfig/i18n文件里;LANG是最主要的
#locale –a    查看系统对语言的支持情况
#LANG=zh_CN.GB2312        使系统支持以中文形式显示
============================================
一、linux上进程的5种状态:
1.运行:
    正在运行或在运行队列中等待
2.中断
    休眠中, 受阻, 在等待某个条件的形成或接受到信号
3.不可中断
    收到信号不唤醒和不可运行, 进程必须等待直到有中断发生
4.僵死
    进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放
5.停止
    进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行
============================================
二、PS命令参数:
-A    列出所有的行程
-w    显示加宽可以显示较多的资讯
-au    显示较详细的资讯
-aux    显示所有包含其他使用者的行程
-e    显示所有进程.
-f    全格式.
-h    不显示标题.
-l    长格式.
-w    宽输出.
a    显示终端上的所有进程,包括其他用户的进程.
r    只显示正在运行的进程.
x    显示没有控制终端的进程.
============================================
三、-aux输出格式:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
其中:
VSZ: 占用虚拟内存的大小
RSS: 占用实际内存大小
TTY: minor device number of tty
STAT: 进程状态:
D    uninterruptible sleep (usually IO)
R    Running or runnable (on run queue)
S    Interruptible sleep (waiting for an event to complete)
T    Stopped, either by a job control signal or because it is being traced.
Z    Defunct ("zombie") process, terminated but not reaped by its parent.
W   paging (not valid since the 2.6.xx kernel);没有足够的内存分页
X    dead (should never be seen)
【BSD Format】
<    high-priority (not nice to other users)
N    low-priority (nice to other users)
L    has pages locked into memory (for real-time and custom IO)
s    is a session leader
l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+    is in the foreground process group
START:进程开始时间
TIME:执行时间
COMMAND:所执行的指令


pgrep:    等同于ps aux | grep xxx.    更高效.e.g.: pgrep smbd ; pgrep heartbeat
    -l    列出程序名和进程ID;
    -o    进程起始的ID;
    -n    进程终止的ID;

kill -9 ID:    强制关闭程序
============================================
Samba
smbpasswd    -a {username}增加用户
            -x {username}删除用户
            -d {username}禁止用户

============================================

查看Selinux Context
ll -aZ [file]

修改Selinux Context
chcon: Change the SELinux security context of each FILE

关闭selinux
setenforce 0    关闭
setenforce 1    开启
或在/etc/selinux/config中改    SELINUXTYPE=permissive    关闭,disabled也可以

setenforce
[ Enforcing | Permissive | 1 | 0 ]Use Enforcing or 1 to put SELinux in enforcing mode.
Use Permissive or 0 to put SELinux in permissive mode.
You need to modify /etc/grub.conf or /etc/selinux/config to disable SELinux.
============================================

计算器:    bc

MD5计算
1.get file's MD5:
  (Shell) md5sum [filename]
2.get string's MD5:
  echo string | md5sum
============================================
字符数:    (expression) | wc -L
行数:    (expression) | wc -l
单词数:    (expression) | wc -w
============================================
watch
-d 高亮显示差异部分
-n 时间间隔
e.g.:
watch -d -n 1 tail /var/log/heartbeat.log


Head : Print the first 10 lines of each FILE to standard output.
e.g.: xm dmesg | head -n 5

tail -f "filepath"    动态查看文件末尾
tail -n 100 "filepath"    查看文件末尾100行

# Default runlevel. The runlevels used by RHS are:

# 0 - halt (Do NOT set initdefault to this)     关机
# 1 - Single user mode                     单人维护模式,和Windows的安全模式一样,用于修复的时候才用
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)    多人无网络模式
# 3 - Full multiuser mode                多人模式,就是我们所希望的命令行模式
# 4 - unused                             系统预制,为了以后扩展方便
# 5 - X11                             X-Windows模式,就是图形界面
# 6 - reboot (Do NOT set initdefault to this)    重新启动

ln : 软连接: ln -s {target-filename} {symbolic-filename}
        Example: Create softlink for /home/will/linuxCMD as /home/hadoop/linuxCMD_2.0:
        ln -s  /home/will/linuxCMD  /home/hadoop/linuxCMD_2.0
 ============================================
typeset
功能:    显示当前系统已经定义了的SHELL变量

============================================
两个目录间切换
    cd -        返回前一个目录(两个目录间切换)
多个目录间切换
1.
    pushd
                不指定参数,会回到前一个目录,并把堆栈中最近的两个目录作交换。
        /dir        切换到dir目录,并把原目录和当前目录(dir)压入到一个虚拟的堆栈中。
        -n        切换到堆栈中的第n个目录
        -n /dir    不切换目录增加/dir到虚拟堆栈中。
2.
    popd    把堆栈顶端的目录从堆栈中删除。位于堆栈顶部的目录是当前目录,它不能被pop出去的。
        -n    把堆栈中第n个目录从堆栈中删除
       
3.
    dirs        列出当前堆栈中保存的目录列表
        -p    以每行一个目录的形式显示堆栈中的目录列表
        -v    在目录前加上编号
        -c    清除堆栈。位于堆栈顶部的目录是当前目录,它不能被pop出去的。
注:
    当前目录总在堆栈顶端。
============================================
su命令
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
参数:
    -f            不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
    -m -p        执行su时不改变环境变量
    -c command    变更为帐号为USER并执行command后再变回原来的使用者
    -s shell        指定要执行的shell(bash/csh/tcsh...),默认值为/etc/passwd内的该USER的Shell
    --help        显示说明文件
    --version        显示版本资讯
    - -l            这个参数加了之后,就好像是重新login为该使用者一样,大部份环境变量(HOME/SHELL/USER...)都以该USER为主,并且工作目录也会改变;
                如果没有指定USER,默认是root
USER    欲变更的使用者帐号
ARG        传入新的shell 参数

范例:
    su -c "ls" root 变更帐号为 root 并在执行 ls 指令后退出变回原使用者。
    su root -f 变更帐号为root并传入 -f 参数给新执行的shell。
    su - tuxedo 变更帐号为tuxedo并改变工作目录至tuxedo的Home目录。
============================================
NFS
chfs -a size=+100G /home/
mount
1.普通分区
  mount /dev/sda5 /mnt
2.img文件
  mount -o loop /mnt

修改fstab后如何不重启加载所有文件系统:mount –a


dd
Function: Convert & Copy a file
Usage:
        dd if=[STDIN] of=[STDOUT] [OPTION]
[Option]
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。 
obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。 
bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。 
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。 
cbs = byte 一次转换bytes字节。 
count=blocks 只拷贝输入的blocks块。 

conv = ASCII 把EBCDIC码转换为ASCIl码。 
conv = ebcdic 把ASCIl码转换为EBCDIC码。 
conv = ibm 把ASCIl码转换为alternate EBCDIC码。 
conv = block 把变动位转换成固定字符。 
conv = ublock 把固定位转换成变动位。 
conv = ucase 把字母由小写转换为大写。 
conv = lcase 把字母由大写转换为小写。 
conv = notrunc 不截短输出文件。 
conv = swab 交换每一对输入字节。 
conv = noerror 出错时不停止处理。 
conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充)
============================================
【find命令advance】
1. 想查看当前文件夹及子文件夹里有没有”xyz”目录
    # find . -type d -name xyz
        -type:表示设定类型,d表示文件夹类型,可以替换为f(普通文件)、l(链接文件)

2. 想查找当前目录及其子文件夹中“roc”用户自己的文件有哪些
    # find . -user roc
        -user:用于设定所属用户的名称,此处可替换为-group,即所属用户组的名称
3. 想查找当前文件夹及子文件夹里权限设定为755的所有文件
    # find . -perm 755
        -perm:用于设定权限
4. 想查找当前文件夹及子文件夹里的同时含有b字符和3字符的文件:用到正则表达式技术
    # find . -regex ‘.*b.*3′
        -regex:表示使用正则表达式进行匹配。请注意,此命令会和“全路径”进行匹配,也就是说前面要加.*,因为输出结果中会有“./”符号。
5. 如果想全部输出用find命令查找出的“*.abc”文件的内容
    # find . -type f -name “*.abc” -exec cat {} \;
        -exec 表示由find找到的匹配项会作为“-exec后面设定的命令”的参数
        可以使用-ok代替-exec,这样对每个匹配项进行操作,都会要求用户确认(y为是,n为否)
        命令最后的{} \; 别忘了写,其中{}代表用find查找到的结果中的每一个查找项。
6. 查找当前目录下在5分钟内被访问过的文件
    # find . -amin -5
        访问过用amin,修改过用mmin,文件状态改变过用cmin
        精确到分钟的用amin,mmin,cmin,精确到天的用atime,mtime,ctime
        在5分钟之内的用-5,在5分钟以上的用+5
7. 想查找当前目录及子目录下文件大小大于10M的所有文件
    # find . -size +10000000c
        -size:表示文件大小,+表示大于某个数,-表示小于某个数。c表示单位是字节,你可以将c换成k,M,G。
8. 上述所有的find命令都是查找当前目录及其子目录。如果不想深入到子目录中,而是只查找当前一层目录,则可以:
    # find . -maxdepth 1 -name “*.c”
============================================
【chkconfig】
0.脚本放入/etc/rc.d/init.d/*下后可以使用 chkconfig 和 service + Script +{option}
1.列出系统所有的服务启动情况:
    # chkconfig --list
2.列出xxx服务情况:
    #chkconfig --list mysqld
3.【重点】设定xxx的启动级别:
    # chkconfig --level 35 xxx on(off)    //在等级3和5情况下,xxx为开机运行服务(或关闭)
    注:
        --level 35    执行级别。可以为2,3,4,5的任意组合。
        level 2:无网络连接的多用户命令行模式
        level 3:有网络连接的多用户命令行模式
        level 4:不可用
        level 5:带图形界面的多用户模式
4. 设定xxx在每个等级为on:
    # chkconfig mysqld on
4. 增加一个服务xxx:
    4.1    服务脚本必须存放在/etc/ini.d/目录下
    4.2    chkconfig -add xxx
    4.3    修改服务的默认启动等级
5. 删除一个服务xxx:
    # chkconfig -del xxx
&命令
1. jobs
    功能:查看扔到后台(&)的任务:
2. fg %n
    功能:把后台第n号任务放回前台。
3. kill %n
    功能:取消第3号后台任务。
============================================
【chmod】
chmod [options] permissions file[s]
Options:
-R set permissions recursively
-f "forced" or silent mode
-v "verbose", show information for every file processed
-c show information only if changes are made to the file
Permissions:
Octal numeric format, with a leading zero like "0644"
Octal numeric format, without a leading zero like "644"
Text permissions values:
u Sets permissions for the owner of the file, e.g.: "u+w" allows the owner to write to the file
g Sets permissions for the group (to which owner belongs), e.g. "g-x" suppresses the execution of the file by the group
o Sets permissions for other users (that are not in group), e.g.: "o=r" allows others only to read the file
a Sets permissions for all (owner, group and others), e.g.: "a-w" disables write access to the file for everyone
= Assigns the permissions, e.g. "a=rw", sets read and write permissions and disables execution for all
- Removes certain thing[s] from the permissions, keeping all other (not involved) permissions.
E.g. "a-x" disables execution of the file for everyone, this example doesn't touch read and write permissions.
+ Adds certain thing[s] to the permissions, keeping all other (not involved) permissions.
E.g. "a+x" allows execution of the file for everyone, this example doesn't touch read and write permissions.
r Sets read permissions
w Sets write permissions
x Sets execute permissions
t Sets sticky bit, e.g. "o+t" sets sticky bit for a file
s Sets SUID or SGID. E.g.: "u+s" sets SUID, "g+s" sets SGID.
File[s] can be either
========================================================================================

压缩/解压:tar/gzip/bunzip/zip...

tar:归档
1. tar文件是归档文件,并未被压缩
2. 拆档
    #tar -xvf xxx.tar
============================================
    | 不特殊指定压缩工具,只用-xvf也正确的. |
============================================
gzip: *.gz/*.tgz
1.解压缩:
    #tar -xzvf【pakg】
    #tar -xzvf【pakg】
        z表示用gzip工具进行解压缩
        v表示在解压缩时显示详细信息
        f表示指定文件(f一定要放选项最后)
    #gzip -d 【pakg】
        d表示解压缩
2.压缩
    #tar -czvf [dst].tar.gz [src_file]
3.查看xxx.tar.gz包含的文件
    #tar -ztvf 【pakg】
4.只提取xxx文件
    #tar -xzvf 【pakg】 def/xxx
5.解压abc.tar.gz时我想保留原来被压缩文件的权限(常用于备份)
    #tar -xzvpf abc.tar.gz
6.最快压缩
    #gzip -1 xxx.tar
    注:
        -1也可以换成–fast;
        -9表示压缩比高,但速度最慢,-9也可以用–best代替。
        默认的是-6.
============================================
bunzip/bzip: *.bz2
1. bunzip2<-->bzip2
    fedora下,bunzip2是bzip2的一个符号连接。
    但bunzip2和bzip2的功能相反。
    bzip2    压缩文件 (用选项-d解压)
    bunzip2    =bzip2 -d, 解压文件
2. 解压
    #tar -xjvf xxx.tar.bz2
        j:采用bunzip2工具。高版本tar可以省略j参数,即直接用-xvf。
    # bunzip2 xxx.txt.bz2
        解压后原xxx.txt.bz2会被删除
3. 压缩
3.1    压缩单个文件
    #bzip2 xxx.txt
        压缩后得到xxx.txt.bz2,同时原abc.txt会被删除。(linux考试会问到)。
3.2 压缩多个文件
    #bzip pkg.bz2 1.txt 2.txt 3.txt D1/ D2/
        压缩1.txt/2.txt/3.txt和D1/D2文件夹到pkg.bz2
3.3 分别压缩
    # bzip2 xxx1.txt xxx2.txt
        压缩后出现xxx1.txt.bz2和xxx2.txt.bz2
============================================
zip/unzip: *.zip
1.压缩多个文件
    #zip -r pkg.zip 1.txt Dir1/
2.解压缩:
2.1 解压单个文件
    #unzip 【file】
2.2 解压多个文件
    #unzip abc\?.zip    //同时解压前缀为abc的zip压缩包。
        ?表示一个字符
        *表示任意字符。
3. 查看压缩包:
    #unzip -v 【pkg】
4.查看压缩文件是否下载完全
    #unzip -t 【pkg】
========================================================================================
wget 是一个命令行的下载工具。对于我们这些 Linux 用户来说,几乎每天都在使用它。下面为大家介绍几个有用的 wget 小技巧,可以让你更加高效而灵活的使用 wget。

$ wget -r -np -nd
这条命令可以下载 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。

$ wget -r -np -nd --accept=iso /centos-5/i386/
与上一条命令相似,但多加了一个 --accept=iso 选项,这指示 wget 仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名,只需用逗号分隔即可。

$ wget -i filename.txt
此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。

$ wget -c /really-big-file.iso
这里所指定的 -c 选项的作用为断点续传。

$ wget -m -k (-H)
该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项。

============================================
文件编码与转换【乱码处理】:iconv , enca
0.查看文件编码
file

1. 转换
enca -L zh_CN //检查文件编码
enca -L zh_CN -x UTF-8 //将文件编码转换为UTF-8
enca -L zh_CN -x UTF-8 //如果不想覆盖原文件可以这样
enconv -L zh_CN -x UTF-8 //将一个GBK编码的文件转换成UTF-8编码

iconv -f GBK -t UTF-8 -o //将一个UTF-8 编码的文件转换成GBK编码

:set fileencoding=utf-8 //利用vim将编码转换为utf-8

2. 显示文件当前编码格式: set fileencoding

3. vim解决乱码添加
set encoding=utf-8
let &termencoding=&encoding

//让vim依照fileencodings提供的编码列表尝试自动识别文件编码
set fileencodings=utf-8,gb2312,gbk,ucs-bom,cp936
阅读(1568) | 评论(0) | 转发(0) |
0

上一篇:SHELL_PROGRAM_STUDY

下一篇:Mass_Data_Process_II

给主人留下些什么吧!~~