linux 环境下开发 常用指令

java开发,由于其很多应用都是发布在Linux操作系统上,因此了解、掌握一些常用的Linux命令对与提高Java开发人员的工作效率是很有必要的。本文着重介绍Java开发相关的一些常用命令,其中以Tomcat应用相关作为重点。

1、  如何登陆到Linux机器上

习惯使用命令操作的开发人员可以使用Telnet等登录到Linux机器上进行相关操作,建议大家将Linux机器的SSH服务开启,使用SSH客户端软件登录到Linux机器上,可以很方便的进行文件编辑、权限更改、上传、下载文件等处理。

2、  如何查找文件

在实际工作当中,大家经常会碰到如何某个文件在哪个目录下面,系统有没有类似“abc”开头的文件等问题,这时我们就需要在Linux下查找相关文件。如我在Linux下安装了tomcat6,但是不知道默认安装到哪个目录下了,这时我就可以查tomcat*文件。Linux下查找文件使用find命令,如:find / -name httpd.conf,表示在根目录下查找文件名为httpd.conf文件,为此find命令可以这样变通使用,其变式如下:

find path[要查找的路径] –name filename[文件名,可以使用通配符]

大家只要了解在Linux下可以使用find查找文件,可以查找某个具体目录下的特定文件即可,至于find命令具体使用,可以google“linux find”。

3、  如何启动tomcat,查找进程、杀进程

项目有新版本,需要将tomcat服务停掉,这时我就需要查找Linux下面是否有tomcat进程?可以使用ps –ef|grep tomcat 来查看是否有tomcat进程,如果有的话请记住进程号,可使用kill [-9,可选强行杀] 进程号,杀掉进程,不过tomcat的话,最好先使用shutdown将其服务停掉,shutdown失败的话,再强行将其杀掉,运行startup.sh或者catalina.sh –run命令重新启动tomcat即可。

4、  如何查找端口

有时tomcat启动的时候,会报8080端口被占用的情况,在windows下更是常见,这时我们就要追查该端口到底有没有被占用,被哪个程序占用?

可以使用命令 netstat –an列举所有端口号,也可以使用netstat -pan|grep 8080查看8080端口号的使用情况。

假如,确实有另一进程在使用8080端口,则可使用下述命令杀掉该进程。

kill -9 $(netstat -tlnp|grep 8080|awk '{print $7}'|awk -F '/' '{print $1}') 其中8080为端口号

5、  如何查看CPU、内存使用情况

应用部署到Linux服务器之后,有时我们会跟踪性能情况,如cpu使用情况、内存耗用情况等,使用top命令可以查看cpu、内存使用情况。

Top命令查看的信息是动态信息,而且其默认的排序可能不是你想要的排序,此时,可以用SHIFT+N对进程号进行排序,或者用SHIFT+M对内存占用率进行排序等。

6、 一些常用的基本命令: 
uname   -a         查看内核版本               
ls   -al         显示所有文件的属性 
pwd                   显示当前路径                 
cd   -         返回上一次目录           cd   ~         返回主目录 
date   s             设置时间、日期                     
cal             显示日历           cal   2006 
bc                     计算器具                               
man     &   info           帮助手册 
locale           显示当前字体           locale   -a         所有可用字体           /etc/sysconfig/i18n设置文件 
LANG=en         使用英文字体                         
sync               将数据同步写入硬盘                 
shutdonw   -h   now   &   half   &   poweroff     关机 
reboot           重启                                       
startx     &     init   5       进入图形介面 
/work     &   ?work         向上、下查找文档内容 
chgrp             改变档案群组     chgrp   testing   install.log         
chown           改变所属人       chown   root:root   install.log 
chmod             改变属性           chmod   777   install.log           read=4     write=2     execute=1 
cp       复制       cp   filename 
rm       删除文件     rm   -rf   filename       强制删除文件 
rmdir       删除文件夹 
mv     移动         mv   123.txt   222.txt     重命名 
mkdir           创建文件夹 
touch           创建文件     更新当前时间 
cat               由第一行开始显示           cat   |more     分页 
nl                 在内容前加行号 
more     &     less       一面一面翻动 
head   -n   filename       显示第N行内容 
tail   -n   filename     显示后N行内容 
od                 显示非纯文档 
df   -h   显示分区空间 
du     显示目录或文件的大小 
fdisk       分区设置         fdisk   -l   /dev/hda     显示硬盘分区状态 
mkfs         建立各种文件系统     mkfs   -t   ext3     /dev/ram15       
fsck         检查和修复LINUX档案 
ln             硬链接       ln   -s     软件链接 
whereis       查找命令 
locate         查找 
find             查找       find   /   -name   "***.*** " 
which           查看工具 
whoami         显示当前用户 
gcc   -v         查看GCC版本 
chattr   +i   filename     禁止删除       chattr   -i   filename     取消禁止 
lsattr         显示隐藏档属性 
updatedb     更新资料库 
mke2fs         格式化       mkfs   -t   ext3   
dd   if=/etc/passwd   of=/tmp/passwd.bak         备份 
mount           列出系统所有的分区 
mount   -t   iso9660   /dev/cdrom   /mnt/cdrom       挂载光盘 
mount   -t   vfat   /dev/fd0   /mnt/floppy               挂载软盘 
mount   -t   vfat   -o   iocharset=utf8,umask=000   /dev/hda2   /mnt/hda2       挂载fat32分区 
mount   -t   ntfs   -o   nls=utf8,umask=000   /dev/hda3   /mnt/hda3                   挂载ntfs分区 
Linux-NTFS   Project:   http://linux-ntfs.sourceforge.net/ 
umount   /mnt/hda3     缷载 
ifconfig       显示或设置网络设备 
service   network   restart       重启网卡     
ifdown   eth0     关闭网卡 
ifup   eth0         开启网卡 
clear         清屏 
history         历史记录               !55     执行第55个指令 
stty       设置终端         stty   -a 
fdisk   /mbr       删除GRUB 
at           僅進行一次的工作排程 
crontab       循環執行的例行性命令         [e]编辑,[l]显示,[r]删除任务 
&               后台运行程序         tar   -zxvf   123.tar.gz   &   ---------> 后台运行 
jobs         观看后台暂停的程序       jobs   -l 
fg             将后台程序调到前台       fg   n   ------> n是数字,可以指定进行那个程序 
bg             让工作在后台运行 
kill         结束进程         kill   -9   PID           [9]强制结束,[15]正常结束,[l]列出可用的kill信号 
ps   aux     查看后台程序       
top           查看后台程序       top   -d   2         每两秒更新一次                 top   -d   2   -p10604       观看某个PID 
top   -b   -n   2   >   /tmp/top.txt   -----> 將   top   的資訊進行   2   次,然後將結果輸出到   /tmp/top.txt         
pstree       以树状图显示程序         [A]以   ASCII   來連接,   [u]列出PID,   [p]列出帐号 
killall       要刪除某個服務         killall   -9   httpd 
free             显示内存状态           free   -m     --------> 以M为单位显示 
uptime         显示目前系统开机时间 
netstat       显示网络状态         netstat   -tulnp------> 找出目前系統上已在監聽的網路連線及其   PID 
dmesg           显示开机信息         demsg   |   more 
nice             设置优先权             nice   -n   -5   vi   &   -----> 用   root   給一個   nice   植為   -5   ,用於執行   vi   
renice         调整已存在优先权 
runlevel     显示目前的runlevel 
depmod         分析可载入模块的相依性 
lsmod           显示已载入系统的模块 
modinfo       显示kernel模块的信息 
insmod         载入模块 
modprobe       自动处理可载入模块 
rmmod           删除模块 
chkconfig       检查,设置系统的各种服务           chkconfig   --list   -----> 列出各项服务状态 
ntsysv           设置系统的各种服务 
cpio             备份文件 


【目录】

一、shell命令
1、内建命令
2、外部命令
3、实用程序
4、用户程序
5、shell脚本

二、命令帮助文档
1、命令自身的帮助功能
2、man手册
3、在线帮助文档
 
三、分类介绍
(一)文件、目录操作命令
(二)查看文件内容命令 
(三)基本系统命令
(四)监视系统状态命令
(五)磁盘操作命令
(六)用户和组相关命令
(七)备份压缩命令
(八)网络相关命令
(九)其他命令
 
【参考资料】
 
 
一、shell命令
作为用户和Linux内核之间的接口程序,shell的一个很重要的功能就是对用户输入的命令进行解释。这些命令可以分为以下几类:
 
1、内建命令
处于效率的考虑,将一些常用的命令解释程序构造在shell内部。
用enable命令可以查看到shell的内建命令。
例如,GNU bash 3.1.17的内建命令如下:
 .  :  [  alias  bg  bind  break  builtin  caller  cd  command  compgen  complete  continue  declare  dirs  disown  echo    eval  exec  exit  export  false fc  fg  getopts  hash  help  history  jobs  kill  let  local  logout  popd  printf  pushd  pwd  read  readonly  return  set  shift  shopt  source  suspend  test  times  trap  true  type  typeset  ulimit  umask  unalias  unset  wait 
 
2、外部命令
存放在/bin, /sbin目录下的命令。
 
3、实用程序
存放在/usr/bin, /usr/sbin, /usr/share, /usr/local/bin等目录下的实用工具和程序。
 
4、用户程序
用户程序经过编译生成可执行文件后, 也可作为shell命令运行。
 
5、shell脚本
由shell脚本编写的批处理文件。
 
二、命令帮助文档
我们可以通过下述三种方法获得帮助:
1、命令自身的帮助功能
大多数命令都可以通过--help参数获取自身提供的帮助。

2、man手册
可以通过man命令来查看任何命令的联机帮助信息。它将命令名作为参数, 该命令的语法格式为: man 【命令名】。

3、在线帮助文档
还可以通过一些专业网站或者搜索引擎获得帮助。例如,Linux命令大全
http://wiki.chinaunix.net/index.php/Linux%E5%91%BD%E4%BB%A4%E5%A4%A7%E5%85%A8

三、分类介绍
(一)文件、目录操作命令
1、ls命令
功能:显示文件和目录的信息
ls 以默认方式显示当前目录文件列表
ls -a 显示所有文件包括隐藏文件
ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M 2G)
ls -lt 显示文件,按照修改时间排序
 
2、cd命令
功能:改名目录
cd dir 切换到当前目录下的dir目录
cd / 切换到根目录
cd .. 切换到到上一级目录
cd ../.. 切换到上二级目录
cd ~ 切换到用户目录,比如是root用户,则切换到/root下
 
3、cp命令
功能:copy文件
cp source target 将文件source复制为target
cp /root /source. 将/root下的文件source复制到当前目录
cp –av soure_dir target_dir 将整个目录复制,两目录完全一样
 
4、rm命令
功能:删除文件或目录
rm file 删除某一个文件
rm -f file 删除时候不进行提示。可以于r参数配合使用
rm -rf dir 删除当前目录下叫dir的整个目录
 
5、mv命令
功能:文件移动,或者改名,在uinx下面没有改名的命令,如果想改名,可以使用该命令
mv source target 将文件source更名为target

6、diff
功能:比较文件内容
diff dir1 dir2 比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出
diff file1 file2 比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的
comm file1 file2 比较文件,显示两个文件不相同的内容

7、ln命令
功能:建立链接
ln source_path target_path 硬连接
ln -s source_path target_path 软连接
 
(二)查看文件内容命令
1、cat命令
显示文件的内容,和DOS的type相同
cat file 
 
2、more命令
功能:分页显示命令
more file 
more命令也可以通过管道符(|)与其他的命令一起使用,例如:
ps ux|more
ls|more
 
3、tail 命令
功能:显示文件的最后几行
tail -n 100 aaa.txt 显示文件aaa.txt文件的最后100行
 
4、vi命令
vi file 编辑文件file
vi 原基本使用及命令:
输入命令的方式为先按[ESC]键,然后输入:w(写入文件),:w!(不询问方式写入文件),:wq保存并退出,:q退出,q!不保存退出
 
(三)基本系统命令
1、man命令
功能:查看某个命令的帮助
例如:
man ls 显示ls命令的帮助内容

2、w命令
功能:显示登录用户的详细信息
例如:
Sarge:~# w
 22:06:51 up 43 min,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
zhoulj   pts/0    10.140.0.109     21:24    0.00s  0.85s  0.09s sshd: zhoulj [priv]

3、who命令
功能:显示登录用户
例如:
Sarge:~# who
zhoulj   pts/0        Mar 13 21:24 (10.140.0.109)

4、last命令
功能:查看最近那些用户登录系统
例如:
Sarge:~# last
zhoulj   pts/0        10.140.0.109     Mon Mar 13 21:24   still logged in   
reboot   system boot  2.6.8-2-386      Mon Mar 13 21:23          (00:43)    
zhoulj   pts/0        10.140.0.105     Sun Mar 12 22:51 - down   (00:00)    
zhoulj   pts/0        10.140.0.105     Sun Mar 12 22:51 - 22:51  (00:00)    
root     tty1                          Sun Mar 12 22:50 - down   (00:01)    
root     tty1                          Sun Mar 12 22:46 - 22:48  (00:02)    
root     tty1                          Sun Mar 12 22:43 - 22:46  (00:02)    
reboot   system boot  2.6.8-2-386      Mon Mar 13 06:34          (-7:-41)   
wtmp begins Mon Mar 13 06:34:11 2006

5、date命令
功能:系统日期设定
date 显示当前日期时间
date -s 20:30:30 设置系统时间为20:30:30
date -s 2002-3-5 设置系统时期为2003-3-5
date -s "060520 06:00:00" 设置系统时期为2006年5月20日6点整。

6、clock命令
功能:时钟设置
clock –r 对系统Bios中读取时间参数
clock –w 将系统时间(如由date设置的时间)写入Bios

7、uname命令
功能:查看系统版本
uname -R 显示操作系统内核的version
例如:
Sarge:~# uname -a
Linux Sarge 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux

8、关闭和重新启动系统命令
reboot   重新启动计算机
shutdown -r now  重新启动计算机,停止服务后重新启动计算机
shutdown -h now  关闭计算机,停止服务后再关闭系统
halt   关闭计算机
一般用shutdown -r now,在重启系统是,关闭相关服务,shutdown -h now也是如此。

9、su命令
功能:切换用户
su -  切换到root用户
su - zhoulj 切换到zhoulj用户,
注意:- ,他很关键,使用-,将使用用户的环境变量

(四)监视系统状态命令
1、top命令
功能:查看系统cpu、内存等使用情况

2、free命令
功能:查看内存和swap分区使用情况
例如:
Sarge:~# free -tm
                total       used       free     shared    buffers     cached
Mem:           187         42        145          0          6         16
-/+ buffers/cache:         19        167
Swap:          243          0        243
Total:         430         42        388

3、uptime
功能:现在的时间 ,系统开机运转到现在经过的时间,连线的使用者数量,最近一分钟,五分钟和十五分钟的系统负载
例如:
Sarge:~# uptime
21:54:46 up 31 min,  1 user,  load average: 0.00, 0.00, 0.00
4、vmstat命令
功能:监视虚拟内存使用情况
例如:
# vmstat
procs                      memory      swap          io     system         cpu
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 1  0      0  63704   8100  32272    0    0     8     3  103    17  0  1 98  1

5、ps命令
功能:显示进程信息
ps ux 显示当前用户的进程
ps uxwww 显示当前用户的进程的详细信息
ps aux 显示所有用户的进程
ps ef 显示系统所有进程信息
6、kill命令
功能:干掉某个进程,进程号可以通过ps命令得到
kill -9 1001 将进程编号为1001的程序干掉
kill all -9 apache 将所有名字为apapche的程序杀死,kill不是万能的,对僵死的程序则无效。

(五)磁盘操作命令
1、df命令
功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
参数 功能
-a 列出全部目录
-Ta 列出全部目录,并且显示文件类型
-B 显示块信息
-i 以i节点列出全部目录
-h 按照日常习惯显示(如:1K、100M、20G)
-x [filesystype] 不显示[filesystype]
例如:
# df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda1     ext3    265M   64M  187M  26% /
tmpfs        tmpfs     94M     0   94M   0% /dev/shm
/dev/sda6     ext3    714M  8.1M  667M   2% /home
/dev/sda8     ext3    956M  215M  691M  24% /usr
/dev/sda7     ext3    714M   57M  619M   9% /var

2、du命令
功能:检测一个目录和(递归地)所有它的子目录中的文件占用的磁盘空间。
参数  功能
-s [dirName] 显示目录占用总空间
-sk [dirName] 显示目录占用总空间,以k为单位
-sb [dirName] 显示目录占用总空间,以b为单位
-sm [dirName] 显示目录占用总空间,以m为单位
-sc [dirName] 显示目录占用总空间,加上目录统计
-sh [dirName] 只统计目录大小
例如:
# du -sh /etc
1.3M     /etc

3、mount命令
功能:使用mount命令就可在Linux中挂载各种文件系统。
格式:mount -t <文件系统> 设备名 挂载点
(1)mount /dev/sda1  /mnt/filetest
mount -t vfat /dev/hda  /mnt/fatfile
mount -t ntfs /dev/hda  /mnt/ntfsfile
mount -t iso9660 /dev/cdrom  /mnt/cdrom
mount -o <选项> 设备名 挂载点
(2)使用usb设备
modprobe usb-storage
mkdir /mnt/usb
mount -t auto /dev/sdx1 /mnt/usb
umount /mnt/usb

4、mkswap命令
功能:使用mkswap命令可以创建swap空间,如:
debian:~# mkswap -c /dev/hda4
debian:~# swapon /dev/hda4      #启用新创建的swap空间,停用可使用swapoff命令

5、fdisk命令
功能:对磁盘进行分区
fdisk /dev/xxx 格式化xxx设备(xxx是指磁盘驱动器的名字,例如hdb,sdc)
fdisk -l 显示磁盘的分区表

6、mkfs命令
功能:格式化文件系统,可以指定文件系统的类型,如ext2、ext3、fat、ntfs等
格式1:mkfs.ext3 options /dev/xxx
格式2:mkfs -t ext2 options /dev/xxx
参数   功能
-b <1024|2048|4096> 块大小
-i   节点大写
-m   预留管理空间大小
例如:
debian:~#mkfs.ext3 /dev/sdb1

7、e2fsck命令
功能:磁盘检测
e2fsck /dev/hda1 检查/dev/hda1是否有文件系统错误,提示修复方式
e2fsck -p /dev/hda1 检查/dev/hda1是否有错误,如果有则自动修复
e2fsck -y /dev/hda1 检查错误,所有提问均于yes方式执行
e2fsck -c /dev/hda1 检查磁盘是否有坏区

8、tune2fs命令
功能:调整ext2/ext3文件的参数
参数  功能
-l 查看文件系统信息
-c 设置强制自检的挂载次数
-i 设置强制自检的间隔时间,单位天
-m 保留块的百分比
-j  将ext2文件系统转换成ext3格式
# tune2fs -l /dev/sda1

9、dd命令
功能:功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。
跟DOS下的diskcopy命令的作用类似。
dd if=/dev/fd0 of=floppy.img 将软盘的内容复制成一个镜像
dd if=floppy.img of=/dev/fd0 将一个镜像的内容复制到软盘,做驱动盘的时候经常用。
 
(六)用户和组相关命令
1、groupadd命令
功能:添加组
groupadd test1  添加test1组
groupadd -g 1111 test2  添加test2组,组id为1111

2、useradd命令
功能:添加用户
useradd user1  添加用户user1,home为/home/user1,组为user1
useradd -g test1 -m -d /home/test1 test1 添加用户test1,home为/home/test1,组为test1
user list 显示已登陆的用户列表

3、passwd命令
功能:更改用户密码
passwd user1 修改用户user1的密码
passwd -d root 将root用户的密码删除

4、userdel命令
功能:删除用户
userdel user1 删除user1用户

5、chown命令
功能:改变文件或目录的所有者
chown user1 /dir 将/dir目录设置为user1所有
chown -R user1.user1 /dir 将/dir目录下所有文件和目录,设置为user1所有,组为user1。-R递归到下面的每个文件和目录

6、chgrp命令
功能:改变文件或目录的所有组
chgrp user1 /dir 将/dir目录设置为user1所有

7、chmod命令
功能:改变用户的权限
chmod a+x file 将file文件设置为可执行,脚本类文件一定要这样设置一个,否则得用bash file才能执行
chmod 666 file 将文件file设置为可读写
chmod 750 file 将文件file设置为,所有者为完全权限,同组可以读和执行,其他无权限

8、id命令
功能:显示用户的信息,包括uid、gid等
# id zhoulj
uid=500(zhoulj) gid=500(zhoulj) groups=500(zhoulj)

9、finger命令
功能:显示用的信息
注意:debian下没有该命令。
# finger zhoulj
Login: zhoulj                           Name: 
Directory: /home/zhoulj                 Shell: /bin/bash
On since Sun May 21 07:59 (CST) on pts/0 from 192.168.1.4
No mail.
No Plan.

(七)备份压缩命令
1、gzip格式命令
功能:压缩文件,gz格式的
注意:生成的文件会把源文件覆盖
gzip -v 压缩文件,并且显示进度
 -d 解压缩
gnuzip  -f 解压缩
例如:
# gzip a.sh
#ll
-rwxr-xr-x    1 root     root           71 12月 18 21:08 a.sh.gz
# gzip -d a.sh.gz
#ll
-rwxr-xr-x    1 root     root           48 12月 18 21:08 a.sh
 
2、zip格式命令
功能:压缩和解压缩zip命令
zip   
unzip   
例如:
# zip a.sh.zip a.sh
  adding: a.sh (stored 0%)
# ll
-rw-r--r--    1 root     root          188  5月 21 10:37 a.sh.zip
# unzip a.sh.zip 
Archive:  a.sh.zip
replace a.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: a1.sh
 extracting: a1.sh                   
# ll
-rwxr-xr-x    1 root     root           48 12月 18 21:08 a1.sh

3、bzip2格式命令
功能:bzip2格式压缩命令,
注意:生成的文件会把源文件覆盖
bzip2  
bunzip2
例如:
# bzip2 a.sh
# ll
-rwxr-xr-x    1 root     root           85 12月 18 21:08 a.sh.bz2
# bunzip2 a.sh.bz2 
# ll
-rwxr-xr-x    1 root     root           48 12月 18 21:08 a.sh

4、tar命令
功能:归档、压缩等,比较重要,会经常使用。
-cvf  压缩文件或目录
-xvf     解压缩文件或目录
-zcvf  压缩文件或,格式tar.gz
-zxvf  解压缩文件或,格式tar.gz
-zcvf    压缩文件或,格式tgz
-zxvf    解压缩文件或,格式tgz
举例:
# tar cvf abc.tar *.sh
# tar xvf abc.tar
# tar czvf abc.tar.gz *.sh 
# ll
-rw-r--r--    1 root     root        20480  5月 21 10:50 abc.tar
-rw-r--r--    1 root     root         1223  5月 21 10:53 abc.tar.gz
# tar xzvf abc.tar.gz 
 
(八)网络相关命令
1、ifconfig命令
功能:显示修改网卡的信息
ifconfig  显示网络信息
ifconfig eth0 显示eth0网络信息
修改网络信息:
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 设置网卡1的地址192.168.1.1,掩码为255.255.255.0
ifconfig eth0:1 192.168.1.2    捆绑网卡1的第二个地址为192.168.1.2
ifconfig eth0:x 192.168.1.n    捆绑网卡1的第n个地址为192.168.1.n
例如:
# ifconfig eth0:1 192.168.1.11
# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:06:9C:24  
          inet addr:192.168.1.5  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4220 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3586 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:342493 (334.4 Kb)  TX bytes:469020 (458.0 Kb)
          Interrupt:9 Base address:0x1400 
eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:06:9C:24  
          inet addr:192.168.1.11  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:9 Base address:0x1400

2、route命令
功能:显示当前路由设置情况
route 显示当前路由设置情况,比较慢一般不用。
route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254  添加静态路由
route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254  添加静态路由
route add default gw 192.168.1.1 metric1    设置192.168.1.1为默认的路由
route del default       将默认的路由删除
举例:
# route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 
# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
10.0.0.0        192.168.1.254   255.255.0.0     UG        0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
0.0.0.0         192.168.1.254   0.0.0.0         UG        0 0          0 eth0
# route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254   
# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
0.0.0.0         192.168.1.254   0.0.0.0         UG        0 0          0 eth0

3、netstat命令
功能:显示网络状态
netstat -an  查看网络端口信息
netstat -nr 查看路由表信息,比route快多了,

4、启动网络的命令
redhat族的命令:
/etc/init.d/network
debian命令:
/etc/init.d/networking
例如:
/etc/init.d/network stop 停止网络
/etc/init.d/network start 启动网络

5、手工修改网络配置
(1)debian系统
配置文件位置为:/etc/network/interfaces 
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0 eth1
iface eth0 inet static
        address 10.4.5.6
        netmask 255.255.255.0
        network 10.4.5.0
        broadcast 10.4.5.255
        
iface eth1 inet static
        address 219.25.5.60
        netmask 255.255.255.192
        network 219.25.5.0
        broadcast 219.25.5.63
        gateway 219.25.5.30
修改后保存配置后,运行
/etc/init.d/networking restart
网络配置就改变了
(2)redhat系统
配置文件位置为:/etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.5
NETMASK=255.255.255.0
NETWORK=192.168.1.0
GATEWAY=192.168.1.254
ONBOOT=yes
TYPE=Ethernet
修改后保存配置后,运行
/etc/init.d/network restart
或者
service network restart
网络配置就改变了。
默认DNS的文件的位置为:/etc/resolv.conf  
#cat /etc/resolv.conf 
search test.com.cn
nameserver 192.168.1.11

6、网络排错
(1)ping命令
功能:不说了,不知道就用干这行了。
ping www.163.com
(2)traceroute命令
功能:路由跟踪
traceroute www.163.com
traceroute 207.68.173.7
(3)nslookup命令
功能:域名解析排错
例如:
$ nslookup 
Note:  nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead.  Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
> www.dlut.edu.cn       
Server:         192.168.1.11
Address:        192.168.1.11#53
Non-authoritative answer:
Name:   www.dlut.edu.cn
Address: 202.118.66.66
> server 202.118.66.6
Default server: 202.118.66.6
Address: 202.118.66.6#53
> www.baidu.com
Server:         202.118.66.6
Address:        202.118.66.6#53
Non-authoritative answer: 
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 202.108.22.5

(九)其他命令
1、ssh命令
功能:远程登陆到其他UNIX主机
ssh -l user1 192.168.1.2 使用用户名user1登陆到192.168.1.2
ssh [email protected]   使用用户名user1登陆到192.168.1.2
 
2、scp命令
功能:安全copy
例如:
scp abc.tar.gz [email protected]:~ 将本地的abc.tar.gz 复制到 192.168.1.5的user1用户的根(/home/user1)下。
 
3、telnet命令
功能:登陆到远程主机
例如:
telnet 192.168.1.5
 
4、touch命令
功能:修改文件的时间戳,当文件不存在时可以创建文件
例如touch aaa.txt  创建一个空文件,文件名为aaa.txt



你可能感兴趣的:(linux,shell)