你永远不懂我伤悲,就像白天不懂夜的黑
分类: LINUX
2013-03-24 21:26:05
不少初学者都觉得Linux操作系统难用,现特将Linux中的基本操作与DOS操作系统中相似的操作对照比较如下,以让大家尽快入门
[一、初步知识]
1、[系统安装]
Linux的安装时,使用Tab、箭头、空格、回车等键做出选择。Linux一般须安装在单独的分区下,为避免Windows系统中的注册表、快捷方式路径出错,最好安装在硬盘的最后一个分区。即将最后的一个分区删除后,用分区软件(建议用Pqmagic)分为Linux Native(根分区)和Linux Swap(数据交换区),如果您的硬盘大于8G,您的Linux root分区应安装在前8G之内(linux 根分区终止扇区 <1023 柱面)。Native分区一般要大于240MB,具体大小视安装的Linux组件决定,建议不要大于2G。Swap分区必须有60MB以上。安装前要搜集好您的硬件信息如:CPU、内存、显示器、显卡、鼠标、键盘等。Linux的版本有很多,而且不断更新,根据提示安装一般都可顺利完成。
2、[登陆进入]
默认安装,启动后在出现的Lilo boot:之后输入Linux(或回车),Linux便开始启动,当出现登陆提示符Login:时,输入用户名,然后出现口令提示符password:输入口令。可进入相应的用户环境。如输入:root,及其密码,可进入超级用户环境#,输入其他用户名及口令,可进入该用户环境$(当然由于版本的不同还可能是%等)。
3、[关闭系统]
在超级用户提示符#下输入halt(立即关机)或shutdown [time](延迟time分后关机,给各用户每隔一段时间发出还有多长时间将关机的警告)后,计算机将进行一系列的关机工作,最后出现System halt时,表示可以关闭电源了。非超级用户则需用exit命令退出操作环境,再用超级用户:root登陆,才能执行关闭操作。
4、[注意事项]
与DOS不完全相同的地方:
命令行字母 不区分大小写 区分大小写在Linux中,超级用户的系统提示符是#,一般普通用户的系统提示符是$,普通用户的系统提示符也同DOS一样可以更改。通配符中*、?与 DOS中的含义相同,[]是仅包括括号内的符号,连续的符号可用“-”连接首尾的符号代替,如[12345678]可以用[1-8]代替, [abcdefijk]可用 [a-fi-k ]表示。
路径分隔符 /
提示符 > #、$
通配符 *、? *、?、[]
5、[文件类型]
与DOS、Windows不同,在Linux系统中,目录和设备都被视为文件,共有四种文件类型,它们是:⑴普通文件,即我们通常所说的文件,在长列目录方式时行首前用一符号“-”表示。⑵目录文件,即我们通常所说的目录,在长列目录方式时行用首前用一字母“d”表示。⑶ 字符设备文件,如显示器、打印机、终端等,在长列目录方式时行首前用一字母 “c”表示。⑷块设备文件,如硬盘、软盘、光盘在长列目录方式时行首前用一字母“b”表示。在Linux中用长格式列目录命令ls -l时,例如:
-rwxrw-r-- 5 user group 1089 Nov 18 1998 filename
存取权限 用户 组名 字节数 最后修改时间 文件名
DOS下的文件名是8.3格式的,Windows95以后开始支持长文件名,Linux支持长文件名。在DOS下扩展名是com、exe或bat的文件为可执行文件,但在Linux中文件类型只能通过文件属性得知,用命令ls –F可区分目录和文件,后有“/”符号的为目录,后有“*”符号的为可执行文件,用ls –aF可列出所有的文件和目录,包括隐藏的文件和目录,文件名以点号“.”开头的为隐藏文件。
6、[读取权限]
在Linux中,文件的主人称所有者,其他使用者分别称为同组者、其他人,为保证各用户文件的安全,Linux继承了 UNIX的作法,通过设定存取权限,限制某些用户对文件的随意存取。共有三个级别的存取权:读权r、写权w、执行权x。在存取权中共有九个字符的位置其顺序是:所有者、同组人、其他人。在上例中分别表示:主人对文件拥有读写权和执行权,同组人对文件拥有读写权、其他人对文件只拥有读权。
7、[使用帮助]
在Linux中,您只要在命令行中打上man command(您要看帮助的命令),就可以得到该命令的在线帮助。man有一套它自己的命令,通常由单个键组成,按空格键和F键将翻到下一页,按B键翻到上一页,按Q键退出man,回到命令行。
[二、文件管理和目录操作]
1、[文件管理]
功能 DOS Linux 备注
显示文件内容 type、more cat、more type、cat是全部显示,more是分页显示
拷贝文件 copy cp
移动文件及改名 move mv
删除文件 del、erase rm
打印文件 print lpr
2、[目录操作]
功能 DOS Linux 备注
列目录及文件 dir/选项 ls –选项 在Linux中cd/是直接返回登录时的目录而不是根目录
显示当前目录 cd pwd
变更工作目录 cd目录 cd/目录
建立目录 md、mkdir mkdir
删除目录 rd、rmdir rmdir
目录更名 move mv
拷贝目录 xcopy copy
据说很多DOS命令都是借鉴UNIX的,而Linux又是从UNIX发展起来,故DOS和Linux命令的格式很相似,只是Linux的命令的功能更加强大,各选项、参数有较大区别,具体运用时可使用帮助命令。
[三、外存储器的使用]
在Linux中一般不能直接访问软盘、其他硬盘逻辑分区、光盘等,在Linux中它们都被视为文件,在使用前必须使用装载命令mount将它们装载到系统的/mnt目录中,使用结束后还须卸载。命令格式如下:
mount –t 文件系统类型 设备名装载目录
常用的文件类型有:
msdos dos分区文件
vfat 支持长文件名的dos分区
ext2 Linux的文件系统
swap Linux swap分区或swap文件
iso9660 安装CD-ROM的文件系统
hpfs OS/2分区文件系统
设备名是指要装载的设备的名称,如软盘、硬盘、光盘等,软盘一般为/dev/fd0 fd1,硬盘一般为/dev/hda hdb ,硬盘逻辑分区一般为期hda1 hda2…等等,光盘一般为/dev/hdc。在装载前一般要在/dev/mnt目录下建立一个空的目录(名字自拟),如软盘可为floppy,硬盘分区可为其盘符如c、d等等,光盘可为cd-rom,个体使用例子:
装载一个mddos格式的软盘:mount –t msdos /dev/fd0 /mnt/floppy
装载一个Linux格式的软盘:mount –t ext2 /dev/fd0 /mnt/floppy
装载Windows98格式的硬盘分区(C盘):mount –t vfat /dev/hda1 /mnt/c
装载一个光盘:mount –t iso9660 /dev/hdc /mnt/cd-rom
装载完成后便可对该目录进行操作,在使用新的软盘及光盘前必须退出该目录,使用卸载命令umount卸载,才可以使用新的软盘及光盘,否则系统会不承认的,光盘在卸载前是不能用光驱面板前的弹出键退出的。
一般root用户才能执行lsof命令,普通用户可以看见/usr/sbin/lsof命令,但是普通用户执行会显示“permission denied”
我总结一下lsof指令的用法:
lsof abc.txt 显示开启文件abc.txt的进程
lsof -i :22 知道22端口现在运行什么程序
lsof -c abc 显示abc进程现在打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /usr/local/ 显示目录下被进程开启的文件
lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
lsof -d 4 显示使用fd为4的进程
lsof -i 用以显示符合条件的进程情况
语法: lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 --> IPv4 or IPv6
protocol --> TCP or UDP
hostname --> Internet host name
hostaddr --> IPv4位置
service --> /etc/service中的 service name (可以不只一个)
port --> 端口号 (可以不只一个)
例子: TCP:25 - TCP and port 25
@1.2.3.4 - Internet IPv4 host address 1.2.3.4
- TCP protocol hosthaha.ks.edu.tw service name:ftp
lsof -n 不将IP转换为hostname,缺省是不加上-n参数
例子: lsof -i -n
lsof -p 12 看进程号为12的进程打开了哪些文件
lsof +|-r [t] 控制lsof不断重复执行,缺省是15s刷新
-r,lsof会永远不断的执行,直到收到中断信号
+r,lsof会一直执行,直到没有档案被显示
例子:不断查看目前ftp连接的情况:lsof -i -r
lsof -s 列出打开文件的大小,如果没有大小,则留下空白
lsof -u username 以UID,列出打开的文件
[root@tcx160 FILES]# lsof -i tcp:22
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 3261 root 3u IPv6 7301 TCP *:ssh (LISTEN)
sshd 19692 root 3u IPv6 348642 TCP 9.186.96.160:ssh->9.186.96.117:32914 (ESTABLISHE