- 论坛徽章:
- 0
|
挖地三尺,掘坑扒穴....希望对各位有用!
Linux实用代码(1)--文件系统操作
1. 创建目录
mkdir
NO1. 在当前路径创建一级目录
[root@rehat root]# mkdir test
NO2. 在当前路径创建多级目录
[root@rehat root]# mkdir -p mytest/test1/test1_1
NO3. 在创建目录的同时给新建的目录赋权限
[root@rehat root]# mkdir -m 777 testmod
这样任何人对此目录都有任何权限
2. 复制文件与文件夹
cp
NO1. 复制指定目录的文件到当前目录,并重命名
[root@rehat root]# cp ~/.bashrc bashrc_bak
NO2. 强制复制指定目录的文件到当前目录,而不管当前目录是否含有该文件
[root@rehat root]# cp -f ~/.bashrc bashrc
NO2. 复制指定目录到当前目录
[root@rehat root]# cp -r /root/test .
[root@rehat root]# cp -r /root/test/ .
两者效果一样,在复制目录时,会将源路径的最后一级目录全部复制过去,包括它本身。
NO3. 复制指定目录的文件到指定目录
[root@rehat root]# cp ~/.bashrc /bak/.bashrc
NO4. 在复制时将源文件的全部属性也复制过来。若不指定参数,则目标文件与源文件属性可能不一致。
[root@rehat root]# cp -a ~/.bashrc /bak/.bashrc
NO5. 若两个文件夹要保证同步,一个文件的改了,另一个文件也跟着改,但是要保证两个文件的文件都是最新的。
[root@rehat root]# cp -u /src/.bashrc /bak_src/bashrc
3. 建立链接文件,包括硬链接与软链接
ln
NO1. 建立类似于 Windows 的快捷方式
[root@rehat root]# ln -s test.txt test.txt_slnk
NO2. 当想备份一个文件,但空间又不够,则可以为该文件建立一个硬连接。这样,就算原文件删除了,只要该
链接文件没被删除,则在存储空间里还是没有被删除。
[root@rehat root]# ln -l test.txt test.txt_hlnk
4. 删除文件
rm
NO1. 删除当前目录的文件
[root@rehat root]# rm test.txt
NO2. 强制删除当前目录的文件,不弹出提示
[root@rehat root]# rm -f test.txt
NO3. 强制删除整个目录,包括目录与文件全部删除,需要管理员权限
[root@rehat root]# rm -r -f test
5. 删除文件夹
rmdir
NO1. 删除一个空目录
[root@rehat root]# rmdir emptydir
NO2. 删除多级空目录
[root@rehat root]# rmdir -p emptydir/d1/d11
6. 挂载文件系统与卸载文件系统
mount / umount
NO1. 挂载光驱
[root@rehat root]# mount -t iso9660 /dev/cdrom /mnt/cdrom
NO2. 挂载光驱,支持中文
[root@rehat root]# mount -t iso9660 -o codepage=936,iocharset=cp936 /dev/cdrom /mnt/cdrom
NO3. 挂载 Windows 分区,FAT文件系统
[root@rehat root]# mount -t vfat /dev/hda3 /mnt/cdrom
NO4. 挂载 Windows 分区,NTFS文件系统
[root@rehat root]# mount -t ntfs -o iocharset=cp936 /dev/hda7 /mnt/had7
No5. 挂载 ISO 文件
[root@rehat root]# mount -o loop /abc.iso /mnt/cdrom
NO6. 挂载 软驱
[root@rehat root]# mount /dev/fd0 /mnt/floppy
NO7. 挂载闪盘
[root@rehat root]# mount /dev/sda1 /mnt/cdrom
NO8. 挂载 Windows 操作系统共享的文件夹
[root@rehat root]# mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom
NO9. 显示挂载的文件系统
[root@rehat root]# mount
[root@rehat root]# cat /etc/fstab 显示系统启动自动加载的文件系统
[root@rehat root]# cat /etc/mtab 显示当前加载的文件系统
7. 检查磁盘空间
df
NO1. 显示所有存储系统空间使用情况,同时显示存储系统的文件系统类型s
[root@rehat root]# df -aT
NO2. 显示指定文件系统的空间使用情况
[root@rehat root]# df -t ext3
NO3. 人性化显示各存储空间大小
[root@rehat root]# df -ah
NO4. 有时候挂载了网络文件系统,若只想看本机的文件系统用如下命令
[root@rehat root]# df -ahlT
NO5. 查看某个文件系统的磁盘使用情况
[root@rehat root]# df -h /dev/cdrom
8. 检查目录空间大小
du
NO1. 查看当前文件夹大小
[root@rehat root]# du -sh
NO2. 查看当前文件及文件中包含的子文件夹大小
[root@rehat root]# du -ch
NO3. 查看文件的大小
[root@rehat root]# du -h test1.txt
NO4. 同时查看多个文件的大小
[root@rehat root]# du -h test1.txt test2.txt
9. 磁盘碎片整理
linux 下基本上不用碎片整理,它每隔一段时间会自动整理
10. 创建/改变文件系统
NO1. 创建文件系统类型
[root@rehat root]# umount /dev/sdb1
[root@rehat root]# mkfs -t ext3 /dev/db1
[root@rehat root]# mount /dev/sdb1 /practice
11. 改变文件或文件夹权限
chmod
NO1. 将自己的笔记设为只有自己才能看
[root@rehat root]# chmod go-rwx test.txt
或者
[root@rehat root]# chmod 700 test.txt
NO2. 同时修改多个文件的权限
[root@rehat root]# chmod 700 test1.txt test2.txt
NO3. 修改一个目录的权限,包括其子目录及文件
[root@rehat root]# chmod 700 -R test
12. 改变文件或文件夹拥有者
chown 该命令只有 root 才能使用
NO1. 更改某个文件的拥有者
[root@rehat root]# chown jim:usergroup test.txt
NO2. 更改某个目录的拥有者,并包含子目录
[root@rehat root]# chown jim:usergroup -R test
13. 查看文本文件内容
cat
NO1. 查看文件内容,并在每行前面加上行号
[root@rehat root]# cat -n test.txt
NO2. 查看文件内容,在不是空行的前面加上行号
[root@rehat root]# cat -b test.txt
NO3. 合并两个文件的内容
[root@rehat root]# cat test1.txt test2.txt > test_new.txt
NO4. 全并两具文件的内容,并追回到一个文件
[root@rehat root]# cat test1.txt test2.txt >> test_total.txt
NO5. 清空某个文件的内容
[root@rehat root]# cat /dev/null > test.txt
NO6. 创建一个新的文件
[root@rehat root]# cat > new.txt 按 CTRL + C 结束录入
14. 编辑文件文件
vi
NO1. 新建档案文件
[root@rehat root]# vi newfile.txt
NO2. 修改档案文件
[root@rehat root]# vi test.txt test.txt 已存在
NO3. vi 的两种工作模式:命令模式,编辑模式
NO4. 进入 vi 后为命令模式,按 Insrt 键进入编辑模式
按 ESC 进入命令模式,在命令模式不能编辑,只能输入命令
NO5. 命令模式常用命令
:w 保存当前文档
:q 直接退出 vi
:wq 先保存后退出
15. 路径操作
cd pwd
NO1. 显示当前路径
[root@rehat root]# pwd
NO2. 返回用户主目录
[root@rehat root]# cd
NO3. 改变到其它路径
[root@rehat root]# cd /etc
NO4. 返回到上一级目录
[root@rehat root]# cd ..
NO5. 返回到根目录
[root@rehat root]# cd /
16. 查询文件或文件夹
find
NO1. 查找当前用户主目录下的所有文件
[root@rehat root]# find ~
NO2. 让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;
[root@rehat root]# find . -perm 644 -exec ls -l {} \;
NO3. 为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;
[root@rehat root]# find / size 0 -type f -exec ls -l {} \;
NO4. 查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们;
[root@rehat root]# find /var/logs -mtime +7 -type f -ok rm -i {} \;
NO5. 为/找系统中所有属于root组的文件;
[root@rehat root]# find / -group root -exec ls -l {} \;
NO6. find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件
[root@rehat root]# find . -name "admin.log[0-9][0-9][0-9]" -atime -7 -ok rm { } \;
NO7. 为了查找当前文件系统中的所有目录并排序
[root@rehat root]# find . -type d | sort
NO8. 为了查找系统中所有的rmt磁带设备
[root@rehat root]# find /dev/rmt
17. 显示文件/文件夹清单
ls / dir
NO1. 显示所有文件,包括以.开头的隐含文件
[root@rehat root]# ls -a
NO2. 显示文件的详细信息
[root@rehat root]# ls -l
NO3. 显示当前目录及所有子目录信息
[root@rehat root]# ls -Rl
NO4. 以时间排序显示目录,这在找最新文件有用
[root@rehat root]# ls -tl
NO5. 以文件大小排序
[root@rehat root]# ls -Sl
NO6. 显示文件大小,并按大小排序
[root@rehat root]# ls -s -l -S
18. 移动或更改文件/文件夹名称
mv 与 cp命令用法相似
NO1. 若移动目标文件已存在,要在移动之前,先备份原来的目录文件
[root@rehat root]# mv -b test.txt test2/
这样在 test2 下将有两个文件 test.txt 及 text.txt~
其中 test.txt~ 是备份文件,test.txt是新的文件
NO2. 若移动目标文件已存在,但不想弹出是否覆盖的提示,直接覆盖
[root@rehat root]# mv -f test.txt test2/
NO3. 当源与目标都拥有同一个文件,若源文件比目标新则移动,否则不移动
[root@rehat root]# mv -u test.txt test2/
NO4. 更改文件名称
[root@rehat root]# mv test.txt test2.txt
NO5. 更改目录名称
[root@rehat root]# mv /test2 /test2_2
UNIX系统下的shell命令集:
UNIX系统常用命令
UNIX系统常用命令格式:
command [flags] [argument1] [argument2] ...
其中flags以-开始,多个flags可用一个-连起来,如ls -l -a 与ls -la相同。
根据命令的不同,参数分为可选的或必须的;所有的命令从标准输入接受输入,输出
结果显示在标准输出,而错误信息则显示在标准错误输出设备。可使用重定向功能对
这些设备进行重定向。
命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回一个
非零值(在shell中可用变量$?查看). 在shell script中可用此返回值作为控制逻辑
的一部分。
注:不同的UNIX版本的flags可能有所不同。
1、与用户相关的命令
1.1 login
(在LINUX Redhat下此命令功能与Solaris/BSD不同,执行login会退出当前任务).
login:
Password:
相关文件:
在下面的这些文件中设定shell运行时必要的路径,终端类型,其他变量或特殊程序.
$HOME/.profile (Bourne shell, sh, bash)
$HOME/.cshrc (csh, tcsh)
$HOME/.tcshrc (tcsh)
/etc/passwd文件中列出每个用户的shell
/etc/csh.cshrc
/etc/csh.login
/etc/profile (Bourne shell, bash)
/etc/login (Bourne shell, bash)
csh: /etc/csh.cshrc和$HOME/.cshrc每次执行都会读取,
而/etc/csh.login和$HOME/.login只有注册shell才执行
修改相应文件后使用 source .cshrc使能相关修改,如果修改了path则
还需使用rehash刷新可执行文件hash表。
tcsh: $HOME/.tcshrc, 没有些文件读取.cshrc
sh: /etc/profile和$HOME/.profile注册shell
bash: /etc/profile和$HOME/.bash_profile注册shell读取
.bashrc交互式非注册shell才读取。
在sh/bash下手工执行相关文件:
. /etc/profile
相关文件执行顺序
sh: /etc/profile -> $HOME/.profile
csh/tcsh: /etc/csh.cshrc -> /etc/csh.login -> $HOME/.cshrc
-> $HOME/.login
变量的设置:
sh/bash: TERM=vt100; export TERM
OR: export TERM=vt100 (bash)
csh: setenv TERM vt100
常用变量:
(1)Backspace $HOME/.profile $HOME/.cshrc
stty erase ^H
(2)umask 新建文件或目录的保护属性
(3)TERM
(4)切忌PATH中加入 .
1.2. rlogin
与telnet类似,连接到远程主机.
rlogin remotehost [ -l loginname ]
Or:
rsh [-l loginname] remotehost [command ]
相关文件:
远程主机的 /etc/hosts.equiv 和 $HOME/.rhosts
相关网络配置文件:
/etc/inetd.conf文件中的r系统服务.Redhat下为shell, login, exec, 对应
的网络守护进程(daemon)为in.rshd, in.rlogind, in.rexecd.
建议: 从安全角度出发,关闭r系列服务.
1.3. telnet
telnet remotehost [port]
相关文件:
/etc/inetd.conf文件中的telnet服务.
/etc/issue.net
TIPS: strings /usr/sbin/in.telnetd |egrep issue
1.4. passwd 更改口令
1.5 exit 退出当前shell
2. 命令或文件的查找
相关shell变量:
csh/tcsh: $path
.cshrc set path=(/usr/bin /usr/local/bin $path)
sh/bash: $PATH
.profile .bash_profile
PATH=/usr/local/bin:$PATH; export PATH
2.1 which
Syntax: which command
which为bash/tcsh内带命令
[hbwork@toshiba]$ which which
which: shell built-in command.
2.2 where(tcsh)
Syntax: where command
2.3 locate (LINUX)
Syntax: locate filename
相关命令: updatedb更改locate文件名数据库
3. 查看命令的用法
man
相关文件:
/etc/man.config
4. 管理员常用命令
4.1 install
用于安装一个新的命令或daemon等. 一般情况下可以不用,但很多软件在其安装
shell script中使用install将目标文件复制到相应的目录并设置正确的属性等.
NAME
install - copy files and set their attributes
SYNOPSIS
install [options] [-s] [--strip] source dest
install [options] [-s] [--strip] source... directory
install [options] [-d,--directory] directory...
Options:
[-c] [-g group] [-m mode] [-o owner] [--group=group]
[--mode=mode] [--owner=owner] [--help] [--version]
4.2 shutdown
不同的unix参数不尽相同,在linux下常用如下方式关机:
shutdown -h now
shutdown -r now (等同于reboot)
4.3 halt
poweroff
关机,在多用户方式下(Runlevel 3)不建议使用,
4.4 ulimit
korn shell和bourne shell中可用此命令,在csh系列中相应的命令为limit.
用于限制每个进程可使用的系统资源,通常分两种限制:
. Hard limits 系统所定义的资源,只有root能更改
. 软限制 对新建进程所使用的限制,可增加到系统的Hard Limit.
Flags:
-a 列出软限制
-Ha 列出Hard Limit
-c size 设置coredump size的块大小
-t size cputime
-f size file size
4.5 umask 系统管理员用于设置用户默认的umask值.
5.与进程相关的命令
进程基本概念: 进程与命令的执行相关,但并不是一一对应; 一条命令可能对应若干
个进程(如shell script, pipe等).但最简单的命令与umask只有一个进程.
进程分类:
.交互式进程:可以前台或后台执行,前后台可切换
.批处理进程:不通过终端提交,一般将它们放在任务队列中顺序执行. 如通过
at 和 crontab提交的任务.
.deamon:永不终止的进程,等待响应来自其他进程的服务请求.如sendmail,
named(DNS), POP3及apache等.
进程的相关属性:
PID
Real UID
Effective UID (SUID)
Real GID
Effective GID (SGID)
Priority(Nice Number)执行的优先级
5.1 ps
Process Status, 列出当前运行的进程状态,根据选项不同,可列出所有的或部分进程
. 无选项时只列出从当前终端上启动的进程(SYSV)或当前用户($USER)的进程(BSD),
不同的UNIX版本之间有差别. linux使用BSD版本的ps
. BSD版本ps命令使用方法:
ps
ps aux 列出系统中所有的进程的详细情况
ps aux |egrep inetd
输出信息内容:
PID
Terminal 如无相应终端则为-
cpu time
UserID or Username
进程启动时间或日期
进程状态(Stat: S(leep) R(unnable) D(uninterrupt sleep) Z(ombie)
W 进程没有驻留页面, N: 进程的nice值为负值
5.2 kill
kill [-signal] PID
kill -l 列出可用信号量
常用信息量:
-HUP (1) 重启进程
ps ax |egrep inetd
kill -HUP pid_of_inetd
-KILL (9) 强制中止
PID取值含义:
>0 指特定进程(实际进程)
=0 同组用户的所有process(PGID)
=-1 Effective UID = 执行命令用户之uid
5.3 nice
用于改变一个或多个进程的优先级; 但只有root或提高进程的优先级, 普通用户只能
降低进程的优先级.
nice用负数表示提高优先级,而正数表明降低优先级,通常此值范围是-20~20.
如未指定提高优先级,nice会降低或不改变进程的优先级. 当然如果没有权限的话
进程的优先级不会有任何改变.
一般情况下我们用nice来降低后台进程的优先级(默认优先级为10).
nice find . -name "*.c" -print &
nice 16 find . -name "*.c" -print &
5.4 wait
wait PID
等待作业结束,参数为pid,在shell script中有时用到.
5.5 nohup
nohup command &
5.6 sleep
sleep seconds
进程前后台切换: Ctrl-Z, fg, bg
6. 通讯
6.1 ftp
6.2 mailx
6.3 minicom (串口终端,MODEM)
7. 文件比较
cmp
comm
diff (用于比较文本文件)
diff3 (比较3个文件)
sdiff
8. 文件操作
touch 创建文件,修改文件日期等
chmod
chwon
chgrp
rm 慎用 rm -rf
mv 移动文件或改名
cp cp -r 复制目录
cat
rcp 远程复制
ln 默认情况下为硬连接,每个文件具有相同的inode
ln -s sourcefile targetfile
9. 目录操作
mkdir [-p] [-m mode] directory
rmdir [-p] directory
10. 文件信息命令
ls
find
最基本的功能是查找一个文件名或目录,常用格式如下:
find . -print (类似于 ls -lR)
find可使用如下属性进行查找:
-name 查找文件名,含通配符*?的文件名用引号括起来
-perm 00x000 八进制文件属性
-atime n n天之前访问过的文件
-mtime n n天之间修改过的文件
-ctime n 文件的状态在n前之间修改过
-exec command 如命令的返回代码为零(找到相应的文件)则真,command必须以
\; 结果,此外在命令的执行中 {} 为查找到的文件路径名
-ok command 与exec相类似,但在执行每个命令之间要求用户确认
-print 打印当前路径名
-newer filename 如文件的最后修改日期较filename新则为真
-type c c=[b,c,d,l,p,f]文件类型
-user username 如文件的属主为username则为真
-nouser 文件属主在/etc/passwd文件中不存在
-group grouname 文件组
逻辑运算符: -a -o !
示列:
find $HOME \( -name a.out -o -name "*.o" \) -atime +7 -exec rm {} \;
find . -atime 0 -print
find / .name .profile -print
find . -perm 777 -a -mtime 7 -exec chmod 755 {} \;
file
more
less
tail (tail -f filename)
head
wc
read 用于shell编程
col
pg (SYSV)
11. 编辑器
vi
ed
joe
12. 文件内容查找
grep
egrep
正规表达式: . * ^ $ + ? []
strings
13. 任务调度
at
atq 列出队列中的任务
crontab
14. 存储,归纳及压缩
compress .Z
uncompress .Z
cpio
dd dd if=inputfile of=outputfile
dd if=boot.img of=/dev/fd0H1440
pack .z 30%-50%文本文件
pcat pact file.z
gzip .gz
gunzip
tar tar -[txc]vf targetfile [sourcefile]
tar -cvf target.tar sourcefilelist
tar -tvf target.tar [filename]
tar -xvf target.tar [filename]
GNU TAR:
tar -zcvf target.tar.gz sourcefilelist
tar -zxvf target.tar.gz [filelist]
tar -ztvf target.tar.gz [filelist]
zcat .Z
uuencode
uudecode
15. 其他命令
date
env
unix2dos (linux没有)
dos2unix
uname
uptime
free
time
top
16. 文本处理
cut
fmt 每行格式转化为72列,用于邮件格式化
fold 折行处理,一行到多行,一般为80列
join
paste
sort
tr
tr '\"' ''
#!/bin/sh
for i in *
do
mv $i `echo $i |tr /[a-z]/[A-Z]/`
done
uniq 报告/删除文件中相同的复制行
sed 流编辑器
sed 's/96/tt/' student.txt
awk
awk '{print $1" "$2}' sourcefile
awk -f class.awk student.txt > linux-student.txt
文件class.awk内容如下:
#
#class.awk
#
BEGIN {printf "%-12s%s\n","班级","学号 姓名";
printf "-------------------------------------------\n\n"}
/[1-9]+\B*$/ {class=$0}
/^9[5-8]+/ {printf "%-12s%s\n", class,$0 | "sort"}
#Enf of class.awk
awk -f traffic.awk traffic.txt
文件traffic.awk内容如下:
#
#traffic.awk
#
{ if ( $2 10000 && $2 50000 && $2 100000) t_100 += $2;
total += $2 }
END {printf "t_0 = %dKB %5.2f\%\n",t_0,t0*100/total;
printf "t_10 = %dKB %5.2f\%\n",t_10,t10*100/total;
printf "t_50 = %dKB %5.2f\% \n",t_50,t_50*100/total;
printf "t_100 = %dKB %5.2f\%\n",t_100,t_100*100/total;
printf "Total = %dKB\n", total}
#End of traffic.awk
17. 网络配置命令及故障排除命令
17.1 ifconfig
Interface Config , 网卡配置命令, 相关文件:/proc/net/dev
详细使用说明: man ifconfig
示例:
#ifconfig
lo Link encap:Local Loopback
网卡标识 封装类型: 本地回环
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
IP地址:127.0.0.1 广播地址:127.255.255.255 子网掩码:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
已启动 接受广播 本地回环 正在运行 最大传输单元: 3584 路由距离向量:1
RX packets:718 errors:0 dropped:0 overruns:0 frame:0
已接受数据包:718
TX packets:718 errors:0 dropped:0 overruns:0 carrier:0
已发送数据包:718
collisions:0
碰撞:0
eth0 Link encap:Ethernet HWaddr 00:80:C8:4C:6A:D0
网卡标识 封装类型: Ethernet 硬件(MAC)地址: 00:80:C8:4C:6A:D0
inet addr:202.118.66.81 Bcast:202.118.66.255 Mask:255.255.255.0
IP地址:202.118.66.81 广播地址:202.118.66.255 子网掩码:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
已启动 接受广播 正在运行 多点广播 最大传输单元: 1500 路由距离向量:1
RX packets:13900 errors:0 dropped:0 overruns:0 frame:0
已接受数据包:13900
TX packets:5859 errors:0 dropped:0 overruns:0 carrier:0
已发送数据包:5859
collisions:0
碰撞:0
Interrupt:10 Base address:0xe400
中断(IRQ):10 端口地址: 0xe400
#ifconfig eth0 显示eth0的相关信息
#ifconfig -a 显示所有网络设备的配置信息
#ifconfig eth0 down Down掉eth0
#ifconfig eth0 202.118.66.81 broadcast 202.118.66.255 [up]
#ifconfig eth0 202.118.66.81 broadcast 202.118.66.255 netmask 255.255.255.0
#ifconfig eth0 up
17.2 route
路由表维护命令, 相关文件: /proc/net/route
$ /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
localnet * 255.255.255.0 U 0 0 49 eth0
192.168.1.0 * 255.255.255.0 U 0 0 655 eth1
192.168.2.0 * 255.255.255.0 U 0 0 498 eth2
192.168.3.0 * 255.255.255.0 U 0 0 825 eth3
127.0.0.0 * 255.0.0.0 U 0 0 13 lo
default olive.dlut.edu. 0.0.0.0 UG 1 0 4834 eth0
#route add default gw 202.118.66.1
#route add default gw 202.118.66.1 eth0
#/sbin/route add -net 202.118.68.0 netmask 255.255.252.0 gw 202.118.66.16
#/sbin/rouet del default 202.118.66.1
#/sbin/route del -net 202.118.68.0 netmask 255.255.252.0 gw 202.118.66.16
17.3 netstat
显示主机当前路由表, 相关文件: /proc/net/route
netstat -rn
/home/hbwork[102]netstat -rn
Routing Table:
Destination Gateway Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
202.118.70.27 202.118.66.16 UGHD 0 1
202.118.69.254 202.118.66.16 UGHD 0 1
202.118.68.243 202.118.66.16 UGHD 0 1
202.118.70.21 202.118.66.16 UGHD 0 0
202.118.71.10 202.118.66.16 UGHD 0 1
202.118.71.204 202.118.66.16 UGHD 0 1
202.118.68.160 202.118.66.16 UGHD 0 1
202.199.128.52 202.118.66.254 UGHD 0 2
202.118.68.66 202.118.66.16 UGHD 0 1
202.118.69.69 202.118.66.16 UGHD 0 1
202.118.69.228 202.118.66.16 UGHD 0 1
202.118.71.68 202.118.66.16 UGHD 0 1
202.118.70.37 202.118.66.16 UGHD 0 1
202.118.66.0 202.118.66.18 U 3 12259 hme0
224.0.0.0 202.118.66.18 U 3 0 hme0
default 202.118.66.1 UG 0 70354
127.0.0.1 127.0.0.1 UH 0 41316 lo0
Destionation: 目标网络或主机
Gateway: 下一个路由,认为距离目标较近的路由的IP地址,在数据传送时将发往
这一IP地址.
Flags:
U Router is up, 目标可达
H Specific router,到特定主机的路由
G 此路由为其他路由进行间接访问到的,如果没有G标志则表明相应的
路由器或主机是直接连接在相应的路由器上的.
D 此路由是ICMP协议的路径重定向信息所建立的.
M 由ICMP之重定向信息所修改
REFS: 在此路由上现在正在使用的链接数,这些连接可能是由连续时间较长的ftp或
telnet任务, 每个使用tcp的服务或应用在执行时此列值均加1.
Use: 自TCP/IP启动以来通过此路由器的数据包量.
Interface: 网卡逻辑名,UNIX不同取名不同.
17.4 nslookup
Name Server Lookup, DNS服务器诊断工具
使用示列:
[hbwork@helius hbwork]$ nslookup
www.dlut.edu.cn
Server: cedrus.dlut.edu.cn
Address: 202.118.66.6
Name: peony.dlut.edu.cn
Address: 202.118.66.18
Aliases:
www.dlut.edu.cn
[hbwork@helius hbwork]$ nslookup
Default Server: cedrus.dlut.edu.cn
Address: 202.118.66.6
>
www.dlut.edu.cn
Server: cedrus.dlut.edu.cn
Address: 202.118.66.6
Name: peony.dlut.edu.cn
Address: 202.118.66.18
Aliases:
www.dlut.edu.cn
> set q=ns #查询相应域的DNS服务器
> dlut.edu.cn #输入要查询的域名
Server: cedrus.dlut.edu.cn #默认域名服务器为cedrus.dlut.edu.cn
Address: 202.118.66.6 #参考/etc/resolv.conf文件
dlut.edu.cn nameserver = gingko.dlut.edu.cn
dlut.edu.cn nameserver = olive.dlut.edu.cn
dlut.edu.cn nameserver = cedrus.dlut.edu.cn
gingko.dlut.edu.cn internet address = 202.118.66.8
olive.dlut.edu.cn internet address = 202.118.68.1
olive.dlut.edu.cn internet address = 202.118.69.1
olive.dlut.edu.cn internet address = 202.118.70.1
olive.dlut.edu.cn internet address = 202.118.71.1
olive.dlut.edu.cn internet address = 202.118.66.16
cedrus.dlut.edu.cn internet address = 202.118.66.6
> dl.lnpta.net.cn #查询dl.lnpta.net.cn的域名服务器
Server: cedrus.dlut.edu.cn
Address: 202.118.66.6
Non-authoritative answer:
dl.lnpta.net.cn nameserver = ns.lnpta.net.cn
Authoritative answers can be found from:
ns.lnpta.net.cn internet address = 202.96.64.68
> server ns.lnpta.net.cn
Default Server: ns.lnpta.net.cn
Address: 202.96.64.68
server: ns.lnpta.net.cn
Address: 202.96.64.68
Non-authoritative answer:
www.dlut.edu.cn
canonical name = peony.dlut.edu.cn
> dlut.edu.cn #查询域dlut.edu.cn的MX记录
Server: ns.lnpta.net.cn
Address: 202.96.64.68
Non-authoritative answer:
dlut.edu.cn preference = 1, mail exchanger = gingko.dlut.edu.cn
Authoritative answers can be found from:
dlut.edu.cn nameserver = gingko.dlut.edu.cn
dlut.edu.cn nameserver = CEDRUS.dlut.edu.cn
dlut.edu.cn nameserver = olive.dlut.edu.cn
gingko.dlut.edu.cn internet address = 202.118.66.8
CEDRUS.dlut.edu.cn internet address = 202.118.66.6
olive.dlut.edu.cn internet address = 202.118.71.1
olive.dlut.edu.cn internet address = 202.118.66.16
olive.dlut.edu.cn internet address = 202.118.68.1
olive.dlut.edu.cn internet address = 202.118.69.1
olive.dlut.edu.cn internet address = 202.118.70.1
> exit
17.5 ping
TCP/IP ICMP(Internet Control Message Protocol)诊断工具
ping [hostname|IpAddress]
Error Message: host unreachable
network unreachable
[hbwork@helius hbwork]$ ping 202.118.66.1
PING 202.118.66.1 (202.118.66.1): 56 data bytes
64 bytes from 202.118.66.1: icmp_seq=0 ttl=255 time=23.1 ms
64 bytes from 202.118.66.1: icmp_seq=1 ttl=255 time=2.1 ms
64 bytes from 202.118.66.1: icmp_seq=2 ttl=255 time=1.9 ms
--- 202.118.66.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 1.9/9.0/23.1 ms
17.6 hostname
显示或设置主机名
17.7 domainname
显示或设置主机域名
17.8 traceroute
Windows 95: tracert
traceroute hostname
traceroute destionation_ip_address
17.9 arp
显示或设置相应主机/ip地址的mac地址
相关文件: /proc/net/arp
cat /proc/net/arp
$arp hostname
$arp -a
$arp ip_address
显示或设置主机名需要root权限
#arp -s hostname eth_address [temp] [pub]
#arp -d hostname
#arp -d ip_address
#arp -f mac_ip_map_file 常用文件名为/etc/ether
locate
名称:locate
使用权限:所有使用者
使用方式: locate [-q] [-d ] [--database=]
locate [-r ] [--regexp=]
locate [-qv] [-o ] [--output=]
locate [-e ] [-f ]
locate [-Vh] [--version] [--help]
说明:
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。
在一般的 distribution 之中,数据库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用 locate your_file_name 的型式就可以了。
参数:
-u,-U 建立数据库,-u 会由根目录开始,-U 则可以指定开始的位置。
-e 将 排除在寻找的范围之外。
-l 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。
-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在数据库中。
-q 安静模式,不会显示任何错误讯息。
-n 至多显示 个输出。
-r 使用正规运算式 做寻找的条件。
-o 指定数据库存的名称。
-d 指定数据库的路径
-h 显示辅助讯息
-v 显示更多的讯息
-V 显示程序的版本讯息 范例:
locate chdrv : 寻找所有叫 chdrv 的档案
locate -n 100 a.out : 寻找所有叫 a.out 的档案,但最多只显示 100 个
locate -u : 建立数据库
locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)
locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”*”或”?”等)来指定范本样式,如指定范本为kcpa*ner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括子目录在内的所有档案。
locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。
不过第一次在执行update後再使用locate寻找档案常会失败,此时就要执行slocate ˉu该命令(也可执行updatedb指令,其效果相同)来更新slocate数据库,该命令会在/usr/sbin下产生slocate执行档,再由locate到此数据库寻找所要找的资料。
Emacs资源导引
2004年 12月23日
百科全书类:
Manpage of Emacs:http://www.linuxforum.net/books/emacs.html
Emacs 中文化指南:http://zhdotemacs.sourceforge.net/emacs/
Emacs WiKi百科:http://zh.wikipedia.org/wiki/EMACS
Emacs User's Guide:http://www.cbi.pku.edu.cn/chinese/documents/csdoc/emacs/
(其实Emacs自带的教程就是很好的起步指南
论坛:
LinuxForum的Emacs\Vim论坛:http://www.linuxforum.net/forum/postlist.php?Cat=&Board=vim
水木清华的Emacs论坛:http://www.smth.org/bbsdoc.php?board=Emacs
个人主页:
王垠的个人主页:http://learn.tsinghua.edu.cn/homepage/2001315450/emacs.html
八卦:
Emacs是什么的简称?(又是一个黑客幽默
E. M. A. C. S.
Emacs Makes A Computer Slow
Escape Meta Alt Control Shift
Emacs Makers Are Crazy Sickos
Emacs Makes All Computing Simple
Emacs Makefiles Annihilate C-Shells
Emacs Manuals Always Cause Senility
Emacs May Allow Customized Screwups
Emacs Manuals Are Cryptic and Surreal
Eventually Munches All Computer Storage
Eight Megabytes And Constantly Swapping
Elsewhere Maybe All Commands are Simple
Excellent Manuals Are Clearly Suppressed
Emacs May Alienate Clients and Supporters
Except by Middle Aged Computer Scientists
Extended Macros Are Considered Superfluous
Every Mode Accelerates Creation of Software
Each Manual's Audience is Completely Stupefied
Exceptionally Mediocre Algorithm for Computer Scientists
Easily Maintained with the Assistance of Chemical Solutions
Eradication of Memory Accomplished with Complete Simplicity
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/38902/showart_312249.html |
|