Linux使用基础王双寅2009.10涉及内容1Linux概述2文件系统及操作3文件编辑4系统管理1Linux概述GNU1983年9月27日,GNU’sNotUnix,目标是创建一个完全自由的操作系统。GPL(GNUGeneralPublicLicense)“反版权”的概念。1991年Linux内核发布的时候,GNU几乎完成了除系统内核外的各种必备软件的开发。Linux起源1991年,芬兰大学学生LinusTorvalds在Minix启发下开发基于Intel硬件的类UNIX操作系统,在comp.os.minix上发布,命名Linux0.01。1994年,Linux1.0发布,源代码超过17万,许多系统管理员开始尝试使用Linux,并对其修改升级。UNIX&Linux历史源流Linux特性遵循UNIX族的国际标准POSIX开放性多用户多任务强大的网络功能良好的用户界面良好的移植性Linux应用服务器系统,廉价、灵活及Unix背景,LAMP(Linux,Apache,MySQL,Perl/PHP/Python)平台嵌入式系统,如机顶盒、移动电话、便携设备,网络防火墙、路由器超级计算机,08年的TOP500中439组使用Linux新近,SonyPS2、PS3,OLPCXO-1,AsusEeePc7大最有影响力的GNU/Linux发行版Debian可能最有影响力的发行版,特点软件包管理系统,新版推出太慢Fedora&RHEL时间最久最成功Gentoo理念接近FreeBSD,强调安全和最优化,创始人加入MS后发展陷入混乱Mandriva最初基于RedHat,强调桌面易用性7大最有影响力的GNU/Linux发行版Slackware最大特色命令行安装工具,不流行但给人留下深刻印象SUSE/OpenSUSE由于与MS达成了受争议的专利交易,发行版的未来无法确定Ubuntu当前最流行的发行版,基于Debian,强调友好的界面Linux发行版演化图RedHatLinux历史最初称为RedHatLinux,包含桌面版和服务器版,1.0发布于1994年11月3日RedHat9后,桌面版与民间Fedora计划合并,成为FedoraCore发行版,服务器版命名为RedHatEnterpriseLinux(RHEL)现最新版本为RHEL5.4Linux命令行控制台console,终端terminalLinux中命令行处于核心地位占用系统资源少、稳定、非常安全Linux中区分大小写Linux命令行解释器shell即软件实现的一种语言转换工具运行方式边翻译边执行协调各命令,实现人机交互bash标准shell,简洁快速,默认提示符$tcsh加入别名、命令列历程等新特性,%pdkshbash的扩展,包括可编程历程、合作处理等特殊功能,%命令行的启动桌面管理器和窗口管理器XWindowgdm(Gnom)|kde(KDE)|startxCtrl+Alt+Fn(n=1~6)进入字符界面,对应虚拟控制台(tty)nCtrl+Alt+F7通常运行XWindow图形界面,一般右键有打开终端选项远程登录LinuxLinux环境使用ssh命令ssh(secureshell)ssh[user@]hostname第一次登陆会请求创建一对密钥进行安全验证,输入yes,随后输入对应user密码即可登陆命令提示符root为#,其他为$远程登录LinuxWindows环境多使用putty配合Exceed可实现图形界面帮助命令helpman通常放在/usr/share/maninfo输入m后再输入待查看命令命令行基本使用上下方向键遍历最近输入的命令Ctrl+K从光标当前位置删除字符至行尾Ctrl+U从光标当前位置删除字符至行首Ctrl+A跳转至命令行首Ctrl+E跳转至命令行尾输入文件路径时tab键匹配2文件系统及操作Linux常见文件系统支持多种文件系统cat/proc/filesystemext2(Extended-2)标准文件系统,高性能,支持256字节长文件名ext3标准文件系统,在ext2中增加日志功能,高速数据处理和解压能力稍弱ext4下一代内核标准文件系统,大量改进reiserFS基于平衡树结构,稳定,搜索快速vFat处理长文件名,与windows兼容swapFS交换分区Linux分层文件系统/根,linux文件系统的起点,所在为根分区,/bin、/sbin、/lib、/dev、/etc必须放于/下/boot存放系统启动必须文件,为boot分区/var存放系统中经常变化的文件/home普通用户的宿主目录/root超级管理员的宿主目录/bin存放系统基本的用户命令/sbin存放系统基本的管理命令/usr用于存放大量应用程序/etc系统和各种程序的配置文件/dev存放所有设备文件/lib共享系统库文件和核心模块/proc核心和进程信息虚拟文件系统Linux文件系统结构图Linux文件系统特点文件系统只有一个根目录,分区需先挂载到Linux文件系统的根下才能被访问访问按用户权限管理无文件名和扩展名的明确区分Linux用户管理AccountUserAccountsSuperuserUID=0NormalUserSystemUserUID=1~499RealUserUID=500~GroupAccountsSuperuserGroupGID=0SystemGroupGID=1~499User-DefinedGroupGID=500~目录和普通文件.目录的第一项,表示其本身..目录的第二项,表示其父目录文件名由除/和空字符(ASCII“\0”)外任意ASCII字符组成,长度不超过255个字符,但建议不要使用”_”和”.”外的字符“.”开头的文件是隐含文件,ls–a方可看见路径绝对路径形如/usr/local/bin~,路径名中的代字符,表示当前用户的宿主目录~user,表示对应user的宿主目录lsls-als–l(ll)cdcd..cd~pwd显示当前工作目录目录和文件操作基本命令lsattr[-a][-d][-l][-R][-v][-V]显示linux中ext2文件系统的属性chattr[-RV][+/-/=…]files改变linux中ext2文件系统的属性mattrib,mdir模拟MS-DOStree[-a][-C][-D][-s][-t]以树状结构显示系统的目录结构目录和文件的建立和删除mkdir-m建立目录并设置目录权限-p自动建立所建立目录上层未建立目录-vmkdir–m777A_DIRmkdir–pparent_dir/child_dir/目录和文件的建立和删除rmdir[-p][-v]mktemp建立临时文件gpg实现文件的签字、检查、加密和解密tmpwatch删除过期不必要的临时文件目录和文件的建立和删除rm-d直接把要删除目录的硬链接数目删减为0-f强制删除目录和文件-r递归-v文件的复制cpcp[option]sourcedirectory-b覆盖前备份-f强制复制文件或目录-i覆盖前询问(默认开启)-p保留source属性-R递归-s符号链接-u(--update)文件的复制cpcpA_DIR/1.txttmp/cp–RA_DIRB_DIRcpA_DIR/1.txtB_DIR/2.txt文件的远程复制scpscp[option]\[[user@]host1:]file1[[user@]host2:]file2-B批处理模式-C压缩模式传输-p保持副本修改时间和访问权限-v-r-P指定端口号文件的远程复制scpscp-vtmp/2.txt\root@211.69.128.145:temp/scp-r‘root@211.69.128.145:temp/*.txt’\tmp/文件的移动mvmv[option]sourcedirectory-b覆盖前备份-f强制移动,覆盖时不询问-i覆盖前询问(默认开启)-u(--update)重命名文件使用mv文件的移动mvmvA_DIRB_DIRmv1.txtB_DIRmv1.txt2.txtmv–b–S_bak1.txt2.txt终端中登录ftp终端中输入ftp211.69.128.146后输入用户名和密码即完成登录get下载文件put上传文件访问权限相关命令chgrpchownchgrp[option]groupfile-f不显示错误信息-R-vchown[option]ownerfile-f-R-v访问权限相关命令chgrpchownsudochgrp-vjerry1.txtchgrp-v–reference=1.txt_bak1.txtsudochgrp-Rjerrytmp/sudochown–v.tom1.txtsudochowntom.jerry1.txt访问权限相关命令chmodchmod[option]modefile-fu当前用户g当前用户群组o其他用户a所有用户或群组r=4读w=2写x=1执行-Rchmod7771.txtchmod–R777tmp/文件的链接ln链接表示指向文件的指针,该指针将文件名和磁盘中某个位置建立关联。硬链接通过索引节点进行的链接符号链接本质是个文本文件,包含另一个文件的位置信息文件的链接ln-b删除或覆盖目的文件前先备份-f强制建立文件或目录的链接-i覆盖前先询问-s对来源文件建立符号链接-vln默认建立硬链接文件的链接lnlntestfiletestfile_lnln–stestfiletestfile_linkln–itestfiletestfile_lnln-b-S_baktestfiletestfile_lnln-sA_DIRA_DIR_ln文件操作相关命令aspell检查文件错误file识别文件类型od输出文件的内容stat显示文件或文件系统状态比较文件差异cmp[-l|-s]file1file2-c显示差异处十进制码及对应字符-inum从指定数的下一个位置开始比较diffdiffstatpatch用diff产生的差异文件进行修补文件切割csplit[option]filepattern{num}-s(--silent)-z删除长度为0字节的文件-b,--suffix-format=format设置输出文件名格式(默认%02d)-f,--prefix=prefix设置输出文件名首字符串(默认xx)文件切割split[option][input[prefix]]-a,--suffix-length=N使用长度为N的后缀默认为2-b指定切成的文件的字节数-C切割时保留每行的完整性-lnum指定多少行切割为一个文件文件查找find-aminnum查找以分钟为单位内存取过的文件或目录-atimenum-cminnum查找以分钟为单位内更改过的文件-ctimenum-follow排除符号链接-group-permnum查找符合指定权限数值的文件或目录-sizenum查找符合大小的文件-type只查找指定文件类型的文件文件查找findfind–atime-1find–name*.txtfind–grouprootfind–perm777文件的压缩bzip2bzip2压缩为bz2文件-d强制执行解压缩-f输出文件强制覆盖同名文件-k压缩或解压缩后保留原文件-t测试.bz2文件的完整性-v现实执行的详细信息-z强制执行压缩-1~-9压缩等级,-1最快文件的压缩bzip2bzip2a1.txt压缩bzip2-t