http://mayuqi827.javaeye.com/blog/804409
LINUX基本操作命令
基本操作命令
----------------------------------------------------------------------
----------------------------------------------------------------------
ls #以默认方式显示当前目录文件列表
ls –a #显示所有文件包括隐藏文件
ls –l #显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
ls --color=never *.so > obj #不显示文字颜色,将所有so文件记录到obj文件中
----------------------------------------------------------------------
cd dir #切换到当前目录下的dir目录
cd / #切换到根目录
cd .. #切换到到上一级目录
cd ../.. #切换到上二级目录
cd ~ #切换到用户目录,比如是root用户,则切换到/root下
----------------------------------------------------------------------
rm file #删除某一个文件
rm -fr dir #删除当前目录下叫dir的整个目录
----------------------------------------------------------------------
cp source target #将文件source 复制为 target
cp /root/source . #将/root下的文件source复制到当前目录
cp –av soure_dir target_dir #将整个目录复制,两目录完全一样
cp –fr source_dir target_dir
#将整个目录复制,并且是以非链接方式复制,当source目录带有符号链接时,两个目录不相同
----------------------------------------------------------------------
mv source target #将文件source更名为target
----------------------------------------------------------------------
diff dir1 dir2 #比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出
diff file1 file2
#比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的
comm file1 file2 #比较文件,显示两个文件不相同的内容
----------------------------------------------------------------------
echo message #显示一串字符
echo "message message2" #显示不连续的字符串
cat:
cat file #显示文件的内容,和DOS的type相同
cat file | more #显示文件的内容并传输到more程序实现分页显示,使用命令less file可实现相同的功能
more #分页命令,一般通过管道将内容传给它,如ls | more
----------------------------------------------------------------------
export LC_ALL=zh_CN.GB2312 #将环境变量LC_ALL的值设为zh_CN.GB2312
export DISPLAY=0:0 #通过该设置,当前字符终端下运行的图形程序可直接运行于Xserver
date #显示当前日期时间
date -s 20:30:30 #设置系统时间为20:30:30
date -s 2002-3-5 #设置系统时期为2003-3-5
clock –r #对系统Bios中读取时间参数
clock –w #将系统时间(如由date设置的时间)写入Bios
----------------------------------------------------------------------
eject #umout掉CDROM并将光碟弹出,但cdrom不能处于busy的状态,否则无效
----------------------------------------------------------------------
du #计算当前目录的容量
du -sm /root #计算/root目录的容量并以M为单位
find -name /path file #在/path目录下查找看是否有文件file
grep -ir “chars” #在当前目录的所有文件查找字串chars,并忽略大小写,-i为大小写,-r为下一级目录
----------------------------------------------------------------------
vi file #编辑文件file
vi 原基本使用及命令:
输入命令的方式为先按ctrl+c, 然后输入:x(退出),:x!(退出并保存) :w(写入文件),:w!(不询问方式写入文件), :r
file(读文件file) ,:%s/oldchars/newchars/g(将所有字串oldchars换成newchars)
这一类的命令进行操作
----------------------------------------------------------------------
man ls #读取关于ls命令的帮助
man ls | grep color #读取关于ls命令的帮助并通过grep程序在其中查找color字串
----------------------------------------------------------------------
startx #运行Linux图形有环境
Xfree86 #只运行X图形server
----------------------------------------------------------------------
reboot #重新启动计算机
halt #关闭计算机
init 0 #关闭所有应用程序和服务,进入纯净的操作环境
init 1 #重新启动应用及服务
init 6 #重新启动计算机
----------------------------------------------------------------------
扩展命令
----------------------------------------------------------------------
----------------------------------------------------------------------
tar xfzv file.tgz #将文件file.tgz解压
tar xfzv file.tgz -C target_path #将文件file.tgz解压到target_path目录下
tar cfzv file.tgz source_path #将文件source_path压缩为file.tgz
tar c directory > directory.tar #将目录directory打包成不压缩的directory.tar
gzip directory.tar #将覆盖原文件生成压缩的 directory.tar.gz
gunzip directory.tar.gz #覆盖原文件解压生成不压缩的 directory.tar。
tar xf directory.tar #可将不压缩的文件解包
----------------------------------------------------------------------
dmesg #显示kernle启动及驱动装载信息
uname #显示操作系统的类型
uname -R #显示操作系统内核的version
----------------------------------------------------------------------
strings file 显示file文件中的ASCII字符内容
----------------------------------------------------------------------
rpm -ihv program.rpm #安装程序program并显示安装进程
rpm2targz program.rpm program.tgz #将rpm格式的文件转换成tarball格式
----------------------------------------------------------------------
su root #切换到超级用户
sulogin /dev/tty4 #在tty4即alt+F4终端等待用户登陆或直接登陆开启一个shell
chmod a+x file #将file文件设置为可执行,脚本类文件一定要这样设置一个,否则得用bash file才能执行
chmod 666 file #将文件file设置为可读写
chown user /dir #将/dir目录设置为user所有
----------------------------------------------------------------------
mknod /dev/hda1 b 3 1 #创建块设备hda1,主设备号为3,从设备号为1,即master硬盘的的第一个分区
mknod /dev/tty1 c 4 1 #创建字符设备tty1,主设备号为4,众设备号为1,即第一个tty终端
----------------------------------------------------------------------
touch /tmp/running #在/tmp下创建一个临时文件running,重新启动后消失
----------------------------------------------------------------------
sleep 9 #系统挂起9秒钟的时间
----------------------------------------------------------------------
lpd stop 或 cups stop #停止打印服务程序
lpd start 或 cups start #启动打印服务程序
lpd restart 或 cups restart #重新启动打印服务程序
lpr file.txt #打印文件file.txt
----------------------------------------------------------------------
fdisk /dev/hda #就像执行了dos的fdisk一样
cfdisk /dev/hda #比fdisk界面稍为友好些
mount -t ext2 /dev/hda1 /mnt #把/dev/hda1装载到 /mnt目录
df #显示文件系统装载的相关信息
mount -t iso9660 /dev/cdrom /mnt/cdrom #将光驱加载到/mnt/cdrom目录
mount-t smb //192.168.1.5/sharedir /mnt -o
username=tomlinux,password=tomlinux
#将windows的的共享目录加载到/mnt/smb目录,用户名及密码均为tomlinux
mount -t nfs 192.168.1.1:/sharedir /mnt
#将nfs服务的共享目录sharedir加载到/mnt/nfs目录
umount /mnt #将/mnt目录卸载,/mnt目录必须处于空闲状态
umount /dev/hda1 #将/dev/hda1设备卸载,设备必须处于空亲状态
sync #将cache中的内容与磁盘同步,在Linux中复制文件,一般要系统空闲才去写文件
e2fsck /dev/hda1 #检查/dev/hda1是否有文件系统错误,提示修复方式
e2fsck -p /dev/hda1#检查/dev/hda1是否有错误,如果有则自动修复
e2fsck -y /dev/hda1#检查错误,所有提问均于yes方式执行
e2fsck -c /dev/hda1#检查磁盘是否有坏区
mkfs /dev/hda1 #格式化/dev/hda1为ext2格式
mkfs.minix /dev/hda1 #格式化/dev/hda1为minix格式文件系统
mfks /dev/hda9 #格工化/dev/hda9为Linux swap格式
swapon /dev/hda9 #将swap分区装载当作内存来用
swapoff /dev/hda9 #将swap分区卸载
----------------------------------------------------------------------
lilo #运行lilo程序,程序自动查找/etc/lilo.conf并按该配置生效
lilo -C /root/lilo.conf #lilo程序按/root/lilo.conf配置生效
grub #在Linux shell状态下运行boot loader设置程序
grub-install
#安装grub磁盘引导程序,成功后升级内核无须像lilo一样要重新启动系统,只需修改/etc/grub.conf即可实现新引导配置
rdev bzImage #显示kernel的根分区信息
rdev bzImage /dev/hda1
#将kernel的根分区设置为/dev/hda1,这在没有lilo等引导程序的系统中非常重要.
----------------------------------------------------------------------
dd if=/dev/fd0 of=floppy.fd #将软盘的内容复制成一个镜像,功能与旧石器时代常用的hd-copy相同
dd if=/dev/zero of=root.ram bs=1024,count=1024
#生成一个大小为1M的块设备,可以把它当作硬盘的一个分区来用
mkfs root.ram #将块设备格式化为ext2格式
dd if=root.ram of=/dev/ram0 #将init.rd格式的root.ram的内容导入内存
mount /dev/ram0 /mnt #ramdisk /dev/ram0装载到/mnt 目录
----------------------------------------------------------------------
gcc hello.c #将hello.c编译成名为a.out二进制执行文件
gcc hello.c -o hello #将hello.c编译成名为hello的二进制执行文件
gcc -static -o hello hello.c #将hello.c编译成名为hello的二进制静态执行文件
ldd program #显示程序所使用了哪些库
objcopy -S program #将程序中的符号表及无用的调试信息去掉,可以小很多
----------------------------------------------------------------------
strace netscape
#跟踪程序netscape的执行,看调用的库,环境变量设置,配置文件,使用的设备,调用的其它应用程序等,在strace下,程序干了什么东东一目了
然。
ps #显示当前系统进程信息
ps –ef #显示系统所有进程信息
kill -9 500 #将进程编号为500的程序干掉
killall -9 netscape #将所有名字为netscape的程序杀死,kill不是万能的,对僵死的程序则无效。
top #显示系统进程的活动情况,按占CPU资源百分比来分
free #显示系统内存及swap使用情况
time program #在program程序结束后,将计算出program运行所使用的时间
----------------------------------------------------------------------
chroot . #将根目录切换至当前目录,调试新系统时使用
chroot /tomlinux #将根目录切换至/tomlinux目录
chroot /tomlinux sbin/init #将根目录切换至/tomlinux并执行sbin/init
adduser id #增加一个叫id的用户
userdel id #增除叫id的用户
userlist #显示已登陆的用户列表
passwd id #修改用户id的密码
passwd -d root #将root用户的密码删除
chown id /work #指定/work目录为id用户所拥有
----------------------------------------------------------------------
ifconfig eth0 192.168.1.1 netmask 255.255.255.0
#设置网卡1的地址192.168.1.1,掩码为255.255.255.0,不写netmask参数则默认为255.255.255.0
ifconfig eth0:1 192.168.1.2 #捆绑网卡1的第二个地址为192.168.1.2
ifconfig eth0:x 192.168.1.x #捆绑网卡1的第二个地址为192.168.1.x
ifconfig down eth1 #关闭第二块网卡,使其停止工作
hostname -F tomlinux.com #将主机名设置为tomlinux.com
route #显示当前路由设置情况
route add default gw 192.168.1.1 metric 1 #设置192.168.1.1为默认的路由
route del default #将默认的路由删除
dhcp #启动dhcp服务
dhclient #启动dhcp终端并自动获取IP地址
ping 163.com #测试与163.com的连接
ping 202.96.128.68 #测试与IP 202。96.128.68的连接
----------------------------------------------------------------------
probe rtl8139 #检查驱动程序rtl8139.o是否正常工作
lsmod #显示已装载的驱动程序
insmod rtl8139.o #装载驱动程序rtl8139.o
insmod sb.o io=0x280 irq=7 dma=3 dma16=7 mpu_io=330
#装载驱动程序并设置相关的irq,dma参数
rmmod rtl8139 #删除名为rtl8139的驱动模块
gpm -k #停止字符状态下的mouse服务
gpm -t ps2 #在字符状态下以ps2类型启动mouse的服务
----------------------------------------------------------------------
telnet 192.168.1.1 #登陆IP为192.168.1.1的telnet服务器
telnet iserver.com #登陆域名为iserver.com的telnet服务器
ftp 192.168.1.1 或 ftp iserver.com #登陆到ftp服务
1、安装VMware workstation。
2、安装guest系统,这里我安装的Red Hat
Linux9,安装过程中确保网络连接选择的是NAT方式,当然可以在安装完后进行修改。
3、到windows XP
中,查看所有的网络连接,你应该发现除了原有的网卡之外,又多了Vmnet1和Vmnet8。
vmnet1是hostonly的接口,而Vmnet8是就是我们要使用的NAT的网络接口。
4、在win主机上用ipconfig查看VMnet8的IP地址,
一般是192.168.X.1/255.255.255.0,此时VMnet8的设置应该是自动获取IP,现在改成静态IP,并把此IP直接填入
VMnet8里,不设网关。
5、同时在VM网络设置里的NAT项中查看VMnet8,一般是
192.168.X.2/255.255.255.0这个地址就是VMnet8,NAT的网关。
6、现在在LINUX下把网卡IP设置成和VMnet8一个网段的
IP(192.168.X.Z/255.255.255.0)
7、网关设置成刚才查看的那个IP192.168.X.2即可。
8、DNS和你host主机的一样就可以。
9、设置完成后,重新启动linux的网络服务。
Linux命令
netconfig 设置IP
ifconfig 查看
reboot 重启
services network restart (重启网络)
http://www.cnblogs.com/hakuci/archive/2008/12/07/1349547.html
一般情况下,安装完vmware,不做其他设置,直接使用nat模式就可以与主机共享上网了。但如果你用的是某些精简版,或者你自己做过修改,那么就照下
面的步骤检查一遍吧。
一、先检查nat是否可用及相关服务是否已经打开。
首先打开虚拟机的虚拟网络设置功
能,虚拟机菜单栏——编辑——虚拟网络设置
=700)
window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_887ae060f330442.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图一
如果你发现上面的选项是灰色的,说明你的精简版没有这个功能,想办法换个版本,或者找下载说明,看看是否还
需要装其他东西。
在后面的对话框里检查dhcp和nat服务是否已经打开。
=700)
window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_56d1cfb5e6d2e11.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图二
=700)
window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_da98e19f2ca0e5a.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图三
如果你在上图中按下启动——应用没有用的话,就要考虑是不是相关服务被禁用了。主机开始菜单——运行——
services.msc检查相关服务的情况。正确的应该如下:
=700)
window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_b831307582cc66e.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图四
二、
检查ics是否有打开,既打开ics又打开nat模式,同时作用,会造成混乱的,必须关闭。(ics就是internet connection
share,也就是internent连接共享)
=700)
window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_180e7abade984b8.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图五
三、
检查网络接口模式
看看虚拟机网卡是不是真的用了nat模式,跟虚拟网络设置里是不是用了同一个vmnet号,请确保下图六和图3中用的是
同一个vmnet号。
=700)
window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_88f83d8b3174401.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图六
虚拟机7.0以前的版本,nat都默认使用了vmnet8作为nat的默认端口号,但vm7.0就不同了。
=700)
window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_742811ec5a6daf6.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图七
nat模式用的是vmnet0了,这个时候,保险为妙,虚拟机网卡请使用自定义vmnet0接口。
四、
开虚拟机系统检查是否获取到了ip。检查ip,网关,dns,是否都正常。
=700)
window.open('http://bbs.crsky.com/1236983883/thumb/Mon_1004/6_194774_724219dda00790b.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图八
4.1关于出现网络连接红叉,“电缆被拔出”。在虚拟机里是不存在电缆的,所以肯定是设置问题。
4.1.1
检查图六“打开电源时连接”的钩,或者检查图八里,右下角的虚拟网卡图标是否有叉。
4.1.2
上一条正常的,请安装一遍vmtools,确保虚拟网卡驱动正常。
4.1.3
上2条都正常的,还是有问题的,应该是某些系统的问题了。ubuntu的话多点几次连接看看,redflag的话,本地连接属性里“连接后在通知区域显示
图标”前的钩去掉,眼不见心不烦反而可以连上了。
五、vm7.0还是没有获取到ip的,需要把虚拟网络设置设置为默
认再试一遍。
将虚拟机里的系统关机,打开虚拟网络配置,如图7所示,按下左下角的“resore
default”恢复默认设置,在随后跳出的whql驱动认证里全部选择“始终安装此驱动软件”。
=700)
window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_b329ff341c566c1.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图九
完
成后,请继续检查前面的检查项目,再检查一遍后再打开虚拟机里的系统。
六、获取了ip还是无法上网的,有以下的几种情况。
6.1 主机是win7或是vista,vmware版本低于6.5.3的,请升级vmware的版本。
这个问题的症状就是能ping通域名,也上不去网。但qq可以上去,这个应该是个兼容问题,请升级vmware版本。
6.2
使用网络命令检查网络。
1.ping nat网关,以图8为利,ping 192.168.47.2
2.ping
物理主机公网ip或内网真实ip,
3.可以继续ping,公网的isp网关或是内网的路由器ip,最后ping下网站域名。
如果都能通,而不是6.1的问题,看是不是浏览器上设置了错误的代理。
如果dns能解析,
但ping所有外网ip都是丢包的,应该是网关问题,检查下是否是双网关,route print检查下默认网关。
如果可以ping通所
有ip,ping不通域名,则应该是nat服务器的dns解析出了问题,重新启动主机(和重启路由器一样的道理)或是在虚拟机里直接填公网dns,或者设
置nat,直接将dns直接填到虚拟机nat里(如图十)。
=700)
window.open('http://bbs.crsky.com/1236983883/thumb/Mon_1004/6_194774_c10769a426e7ab1.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
http://www.xpxzlt.cn/simple/?t161677.html
Q:VMware DHCP Service 服务无法启动 1067 错误
A:打开Virtual Network Editor,选择 Restore Default
Q:VMware Brige 桥接服务无法启动 发生系统错误 2 系统找不到指定的文件
A:替换vmnetbridge.sys
vmnetbridge.dll(下载)
生成 注释
应该是选取要注释内容后, ctrl+shift+c 按一下注释,按两下取消注释
ctrl+shift+"反注释!能讲ctrl+shift+/ 多行注释掉的内容反注释掉
CTRL+T 查看接口的实现
MyEclipse调试
1.首先在一个java文件中设断点,然后运行debug,当程序走到断点处就会停下。
2.F5键与F6键均为单步调试,
F5是step into,也就是进入本行代码中执行(进入函数执行),
F6是step over,也就是执行本行代码,跳到下一行执行(不进入函数),
3.F7是跳出函数 step return
4.F8是执行到最后。
=====================================
1.Step Into (F5) 跳入
2.Step Over (F6) 跳过
3.Step Return (F7) 执行完当前method,然后return跳出此method
4.step Filter 逐步过滤
一直执行直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-step
Filtering)
5.resume 重新开始执行debug,一直运行直到遇到breakpoint
6.hit count 设置执行次数 适合程序中的for循环(设置 breakpoint view-右键hit
count)
7.inspect 检查 运算。执行一个表达式显示执行值
8.watch 实时地监视变量的变化
9.我们常说的断点(breakpoints)是指line breakpoints,除了line
breakpoints,还有其他的断点类型:field(watchpoint)breakpoint,method
breakpoint,exception breakpoint.
10.field breakpoint 也叫watchpoint(监视点) 当成员变量被读取或修改时暂挂
11.添加method breakpoint 进入/离开此方法时暂挂(Run-method breakpoint)
12.添加Exception breakpoint 捕抓到Execption时暂挂(待续...)
断点属性:
1.hit count 执行多少次数后暂挂 用于循环
2.enable condition 遇到符合你输入条件(为ture\改变时)就暂挂
3.suspend thread 多线程时暂挂此线程
4.suspend VM 暂挂虚拟机
13.variables 视图里的变量可以改变变量值,在variables 视图选择变量点击右键--change
value.一次来进行快速调试。
14.debug
过程中修改了某些code后--〉save&build-->resume-->重新暂挂于断点
===========================
例如你有如下程序:
public class debugtest {
来源:(http://blog.sina.com.cn/s/blog_624aa0960100fkrr.html)
- MyEclipse调试_匆匆过客_新浪博客
public String addDays() {
System.out.println("1");//
=============》(3)
String result = "";
//=============》(4)
System.out.println("2");//
=============》(5)
return result;
}
public static void main(String args[]) {
debugtest aa = new
debugtest();
int ii=9;
aa.addDays();//
=============》(1)
System.out.println("eeeeeeeeeeeeeee");//=============》(2)
}
}
你在(1)处加断点,运行到此处时如果Step Into (F5)为跳入(进入函数),则接着执行到(3)。
再执行Step Over (F6)执行本行,则执行到(4)。
最后执行Step Return (also F7),则跳出addDays方法,跳到(2)
转http://blog.sina.com.cn/s/blog_624aa0960100fkrr.html
MyEclipse 中显示行号 要想显示行号,按住 Ctrl + F10 选择 show Line Numbers
eclipse/myeclipse注释模板的修改 alt+shitf+j
Window --> Java --> Code Style --> Code Templates --> Comments --> types --> Edit
/**
*
* 项目名称:${project_name}
* 类名称:${type_name}
* 类描述:
* 创建人:${user}
* 创建时间:${date} ${time}
* 修改人:${user}
* 修改时间:${date} ${time}
* 修改备注:
* @version
*
*/
http://www.javaeye.com/topic/585168
myeclipse中如何配置自定义的代码排版格式 ctrl+shift+f