首页 Linux初级入门教程

Linux初级入门教程

举报
开通vip

Linux初级入门教程LINUX初级教程 本文来自qq群52240781整理 第一课:UNIX&LINUX简史 UNIX历史 a) 1965年,由AT&T,MIT和GE联合开发出Multics。1969年,是由美国贝尔实验室计算科学研究中心的二位年轻的计算技术专家Ken Thompson 和Dennis Ritchie根据Multics在PDP7上汇编开发出UNINX。 b) 1971-72年期间Dennis Ritchie发明C,用C重写了UNIX c) 1972年UNIX中首次实现了...

Linux初级入门教程
LINUX初级教程 本文来自qq群52240781整理 第一课:UNIX&LINUX简史 UNIX历史 a) 1965年,由AT&T,MIT和GE联合开发出Multics。1969年,是由美国贝尔实验室计算科学研究中心的二位年轻的计算技术专家Ken Thompson 和Dennis Ritchie根据Multics在PDP7上汇编开发出UNINX。 b) 1971-72年期间Dennis Ritchie发明C,用C重写了UNIX c) 1972年UNIX中首次实现了极为重要的“管道”(pipe)机制,这是进和间进行通信的重要手段,它们的实现,使UNIX中许多小的功能片断能方便地连接组装以完成复杂的功能,逐步形成了软件工具和工具间相互集成的概念。 d) 1974年美国电话电报公司(AT&T)开始发行UNIX的非商业 许可 商标使用许可商标使用许可商标使用许可商标使用许可商标使用许可 证,随后的年代里开始出现各种版本的UNIX系统,其中最为著名的有 加州大学伯克莱分校的BSD版UNIX,支持:页式管理的虚存系统·TCP/IP通信协议·进程通信机制Sockets,高速文件系统·vi全屏幕编辑程 序·C-shell等 e) 1977年,AT&T公司开始向计算机软硬件厂商提供UNIX系统的商用OEM许可证,从而迈出了UNIX商品化的重要一步。从70年代末 开始在市场上出现了不同的UNIX商品化版本,比较有影响的版本包括:SUN公司的SUNOS,Microsoft和SCO公司的 XENIX,Interactive公司的UNIX386/ix,DEC公司的ULTRIX。后来陆续出现比较著名的UNIX系统包括:IBM的 AIX,HP的HP-UX,SCO的UNIX和ODT,以及SUN的Solaris等产品。 f) 1983年建立了GNU 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 来推进免费软件模型,并为此开发了首个免费的操作系统、应用程序以及开发工具。1987年,开发者Andrew Tanenbaum发布了Minix操作系统,在发布时带有完整的源代码。1989年芬兰赫尔辛基大学的一名学生Linux Torvards为了超越Minux操作系统,发布了一种新的Unix操作系统变种Linux操作系统。三年后,Linux正式接受GPL。1993年,FreeBSD 1.0发布。95年9月UNIX阵营发生了另一次重要变动,即HP,SCO,和Novell三家宣布结成新的联盟,共同推动发展UNIX技术,这是UNIX与 NT竞争企业服务器平台主流地位决战前夜的一次力量的重新集结和部署。通过这此变动,SCO成为UNIX主流技术的拥有者,而且使HP和SCO二家公司成 为开发企业服务器主流UNIX平台和下一代UNIX技术的领头者。 UNIX特点 可靠性高 实践表明,UNIX是达到主机(mainframe)可靠性要求的少数操作系统之一,许多UNIX主机和服务器在国外大中型企业中每天24小时,每年 365天不间断地运行。这是NetWare、WindowsNT和OS2等操作系统所不能比拟的。不久前HP公司宣布关闭了最后一台主机系统,整个企业的 所有信息处理工作全部由UNIX机器来承担。 伸缩性强 极度强的伸缩性 UNIX系统是世界上唯一能笔记本电脑,PC,直到巨型机上运行的操作系统,最近已宣布用于NC的UNIX系统。没有其他操作系统能做到这一点。此外,由 于采用SMP、MPP、和Cluster等技术,使得商品化UNIX系统支持CPU数达到了32个,这就使得用一种平台的UNIX扩充能力有了进一步的提 高。 开放性好 这是UNIX系统最重要的本质特征,也是UNIX强大生命力之所在。开放系统的概念已被计算机工业界普遍接受,而且成为发展的主要趋势。所有的计算机厂商 都声称自己的产品是开放系统,而且开放的概念也在不断地发展和完善,它是一个覆盖面很宽的谱,几乎所有的系统都可在其中找到自己的位置。但程序上是有明显 差别的,我们认为开放系统最本质的特征应该是其所用技术的规格 说明 关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书 是可以公开得到并免费使用的,而且是不受一家具体厂商所垄断和控制的。UNIX是最能充 分体现这一本质特征的开放系统,正是这种较为彻底的开放性,使UNIX的发展充满动力和生机。 网络功能强 这是UNIX系统的又一重要特色,特别是作为Internet网络技术基础的TCP/IP协议就是在UNIX上开发出来的,而且成为UNIX系统的 一个不可分割的成分。UNIX几乎所有系统都包括对TCP/IP的支持。因此,在Internet网络服务器中,UNIX服务器占80%以上,占绝对优 势。此外,UNIX支持所有最通用的网络通讯协议,其中包括NES、DCE、IPX/SPX,SLIP,PPP等,使得UNIX系统能方便地与主机、各种 广域网和域网相连。 强大的数据库支持功能 由于UNIX系统对各种数据库,特别是关系型数据库管理系统提供了强大的支持能力,因此主要的数据库厂家,包括Oracle,Informix,Sybase,Progress等都将UNIX作为优选的运行平台,而且创造出极高的性能价格比。 UNIX基本原则 一切都是文件 Unix 系统有强大的文件创建和操作功能.Unix的安全模型是基于文件的权限的,并且对所有对象的处理都沿用对文件的操作,保持了操作的一致性.也就是说你可以安全的对你的硬件设备做与文档同样的操作,例如数据写入和消息的发送! 配置数据以文本形式保存 编写文本是Unix中常见的配置系统和服务的方法,把配置保存在文本中方便了系统管理员在多台服务器之间移动配置文件,方便了系统管理员对配置参数的修改,方便了系统管理员对配置的备份恢复. 由短小的单目的程序构成 Unix 提供了许多很好用的短小精悍的程序,它们多被设计用来完成单一的任务.当有新的问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 要处理时,明智的做法是设计一个简单的程序而非在以有的程序上再做扩充! 避免不必要的用户交互 在Unix中交互式的程序只是少数,大多数的命令从命令行接收操作符和参数然后把运行结果显示到屏幕上,如果运行出错则产生错误输出。交互式的程序交互的接收预先设定的指令,并产生相应的操作,如vi 等文本编辑器(当然,也有非交互式的文本编辑器)。 可使用多个程序合作完成复杂任务 Unix基本的设计理念是可以把一个程序的输出作为另一个程序的输入。这可以给用户更多的弹性,结合多个小程序来完成一个复杂的任务! 第二课:GNU项目介绍和Linux起源 GNU Project开始于1984年,由自由软件基金(FSF for Free Software Foundation)支持,目的是为了建立免费的UNIX系统。到1990年,建立了一套包括gcc,emac等在内的近乎完备的系统。 著名的黑客Richard Stallman1983年启动GNU计划时提出了copyleft的想法。简而言之,他的目标是“开发一个完全免费的与UNIX兼容的操作系统”。作为 目标的一部分,他创造了 GNU通用公共许可证(GPL),一个法定的版权声明,但附带(或,在技术上去除了某些限制),在条款中,允许对某项成果以及由它派生的其余成果的重用, 修改和复制对所有人都是免费的。 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的copyright确认作者的所有权和标志,同时禁止将类似作者的名字之类的标志使用在被歪曲的版本中; 同时也防止他人对该成果故意的歪曲以及毁坏。同时也有对成果复制与修改的限制。 Copyleft带有标准的copyright声明,确认作者的所有权和标志。但它 放弃 了标准copyright中暗含的一些其它权利:它声明,你不但可以自由分发该成果,你也可以自由地修改它。但你不能声明你做了原始的工作,或声明是由他 人做的。最终,所有派生的工作必须遵循这些条款。 除了GPL授权还有其他一些开源的授权方式,例如像Netscape 或 BSD。 L i n u x操作系统可以说是U N I X操作系统的一个克隆体,它最初是在1 9 9 1年1 0月5日由它的作者 L i n u s T o r v a l d s 于芬兰赫尔辛基大学发布的。首次公布于c o m p . o s . m i n i x 新闻组上;同年11月,该系统0 . 1 0版被发行;一个月后,也就是1 2月,0 . 11版被发行。L i n u s允许免费地自由运用该系统源代码,并且鼓励其他人进一步对其进行开发。人们也的确开始这样做。今天,在L i n u s带领下,通过I n t e r n e t,一个世界范围内的开发组正在对L i n u x进行坚持不懈的开发。 第三课:Linux图形环境和用户环境 什么是X X Window System 是UNIX系统上强大的网络透明的图形化作业环境,你可以叫它“X”或“X Window”。 X服务器程序提供了建立和运行G U I的引擎;窗口管理器程序提供了管理窗口本身(比如标题栏和滚动栏)的环境,桌面环境提供了一系列的工具程序和应用程序。这些工具和程序中的许多都可以让 用户控制其环境的设置值(屏幕保护器、字体、图标、窗口尺寸等等方面),还可以让用户管理他们的机器(比如:基于G U I的挂装、Z i p档案文件以及网络管理工具等等)。这些工具越多、桌面环境越复杂,需要的内存也就越多,因此一定要把这一点记在心上。 最常用的X桌面环境 X图形界面中最经常被提起的两个桌面环境是G n o m e和K D E。 GNOME(The GNU Network Object Model Environment)的目标是在完全免费的基础之上提供一套完整的,友好的桌面系统。GNOME所做的工作与KDE有些类似的地方,它不仅做一套 window管理器,而且通过CORBA技术使计算机之间,平台之间具有良好的互操作性。GNOME 是Red Hat Linux 默认的图形环境。 KDE是一个全新的桌面系统,其中包括window管理器,文件管理器,面板,控制中心和其他一些Unix工作站应用程序。这些元素之间配合默契,让人觉 得就像是一个完整的操作系统。KDE一度因为QT库的不开放问题而被质疑,但2000年时QT库已经开始遵循GPL协议了! Kernel 系统内核用于在计算机启动时载入基本内存、 管理基本输入输出、管理进程初始化和进程的调度。 Shell 系统的命令解释器,用于操作系统与用户的通信,相当于Dos中的command.com。Red Hat Linux 默认的shell 是Bash ! Shell与系统及子进程的层次关系: + - - - - - - - - - - - - - - - - - - - - + | 用户进程 | | + - - - - - - - - - - - - - - - - - - -+ | | | shell | | | | + - - - - - - - - - - - -- - -+ | | | | | Kernel | | | | | | + - - - - - - - - - -+ | | | | | | | Hardware | | | | | | | + - - - - - - - - - -+ | | | | | + - - - - - - - - - - - + | | | + - - - - - - - - - - - - - - - - - - + | + - - - - - - - - - - - - - - - -- -- - - -+ Terminal Emulator 用户交互的窗口界面 终端模拟器是用户shell运行的平台,在终端模拟器上用户可以交互的操作系统及运行程序并得到提示和反馈,就像在文本编辑器中一样。 X Window 以C/S模式提供的图形界面接口 在X中操作,你会重新找回Windows的感觉。当然不只是这样Red Hat Linux中图形界面的易用性已经有了显著的提高,并且通过像GTK+和QT这样的开放的开发工具包,你好可以创立自己的图形应用程序。 Window Manager 提供图形功能 Window manager是个可以帮你移动窗口和改变它们大小的程序。它通常也支持把一个窗口缩成一个图标或任务条。通常有某种程序执行机构。用户可以使用 window manager来做他想做的——任何X应用程序应该可以在任何窗口管理器上工作。但是你一次只能能运行一个Window Manager。也就是说,你可以切换于任何多个window manager,但是同一时刻你只能运行一个。屏幕上的所有程序都可以被正在运行的window manager管理。 Desktop Environment 桌面环境 GNOME和KDE不是窗口管理器(它们是桌面环境)。KDE是和一个叫KWM的窗口管理器一起的。GNOME则没和任何窗口管理器做在一起,你可以使用 任何你想用的窗口管理器,虽然有一些是特地为GNOME写的(Enlightenment就是一个)。但是它们都需要X来运行 。 本地登录 本地登录分为字符方式(运行级别3即runlevel 3)登录与图形方式(运行级别5即runlevel 5)登录。上图中演示的是字符方式登录,当用户选择图形方式登录时,系统将运行xdm、gdm或kdm实现图形登录。 在字符方式登录时,用户的password不回显!你会看到如下显示: Red Hat Linux release 9.0 (Shrike) Kernel 2.4.20-8 on an i686 login:root (用户名) password: (不回显的密码) [root @stationxx root]# (系统提示符) 第四课:用户和指令 提示符与home目录 一个可用来登录的账号即是linux系统的固有账号 ,他可以拥有自己的文件、目录,并且对自己的文件或目录有相应的权限 特殊 root 被称为超级用户,对系统有至高无上的控制权,不受任何限制。 提示符的最后一个字符:超级用户使用#,一般用户使用$ 如: [root @stationxx root] # 超级用户 [me @stationxx keinz]$ 一般用户 提示符和home目录是可以更改的 每一个用户的home目录可以用 ~ 来代表 一般来说,一般用户的home目录集中在/home目录下,root的home目录为/root useradd和adduser两个命令都可以使用。 在useradd创建用户之后,虽然用户已存在但不能使用,需使用password激活这个账号。password可以用来更改密码。当更改的新密码是坏密码时,root会被警告,但仍可更改密码。一般用户则会被通知新密码被拒绝。 好密码准则: 至少6位但不多于255位 包含至少一个非字母字符 不是在字典中可以找到的词 构成不是太简单,或与原密码一样 不使用用户名作密码 密码不是一个敏感字符串 用一定意义且方便记忆 在linux中运行程序格式: $ 指令名 [选项] 参数 每一项之间都应用空格格开,例如 : [me@stationXX me] $ ls –l /etc /X11 ( ls 为指令名、 –l 为选项 、/etc/X11为参数。) 选项和参数并不是必须的。 许多选项前需要 “ --”开头,例如 ls --help 。 第五讲:Linux基础命令一 man -k keyword 在whatis 数据库中查找关键字; man -f keyword 同上,但keyword 为一个整字(whole word) man -a keyword 通常man 会显示第一个找到的keyword的man page,但是若需要找到全部的man page,使用-a 选项。 使用man来查询帮助时,有可能需要帮助主体前给出一个数字(例如 man 1 ls ),如果没有这个数字系统默认从1开始查找第一个匹配的项。 1 用户指令 5 文件格式 2 系统调用 6 游戏 3 库调用 7 混合 4 特殊文件 8 管理员用指令 例如: [me @stationxx me] $ man 1 passwd (得到命令passwd的帮助 ) [me @stationxx me] $ man 5 passwd (得到文件passwd的帮助 ) ls ls是list的缩写,可以用来查看一个目录内有什么文件,或某一个文件是否存在。我们可以用ls -l 来察看文件的详细信息。ls相当于dos中的dir。 cp cp是copy的缩写,可以用来将一个文件复制为另一个文件。所以cp的格式应该是cp[源文件][目标文件]。cp相当于dos中的copy。 mv mv是move的缩写,可以用来将一个文件移动到另一个位置。同时,移动的过程中可以改变文件的名字,当目标文件名与源文件名不一致时,mv就起到了rename的作用。mv相当于dos中的move和rename。 rm rm是remove的缩写,可以用来删除一个文件。rm相当于dos中的delete。 touch touch可以用来创建一个空文件,但当touch的文件已存在时,touch会将当前的系统时钟赋予该文件。 cd cd [绝对路径/相对路径]可以用来改变用户的当前路径。cd .. (在cd和..之间有一个空格)可以回到上一层目录。直接键入cd可以回到该用户的home目录。cd相当于dos中的cd。 绝对路径和相对路径 以 / 开头的是绝对路径,在系统中是唯一的。没有 / 即相对路径,其实际位置要根据当前的路径来决定。 pwd pwd是Print name of current/Working Directory的缩写,可以用来显示用户当前所在的绝对路径。 mkdir mkdir是make directory的缩写,可以用来创立新的目录。相当于dos中的md。 rmdir rmdir是remove directory的缩写,可以用来删除一个空的目录。当目录有内容存在的时候,我们通常用rm –rf 来删除。 第六讲:基础命令二 cat cat是concatenate的缩写,所以它的作用其实是连接文件。但默认情况下它会将连接文件的结果送到标准输出。所以我们常用来显示文件内容。类似于dos中的type。 more 当一个文件的内容超过一屏后,我们可以用more这个指令来逐屏察看文件内容。 less less在more的基础上,更可以逐行察看,前后翻页。 date 显示系统的当前时间。也可以用来更改系统的当前时间。 cal 显示系统时间所在月的月历。也可以用cal 2 2002这样的格式来要求显示2002年二月的月历。 df df 命令显示磁盘用量,加-h 选项可以以KB、MB、GB等单位输出,加-H 也以KB、MB、GB输出,但是是以1000B为1KB,而非1024B。 [me@stationXX me] $ df -h Filesystem Size Used Avail Use% Mounted on /dev/hda5 12G 1.6G 10G 14% / /dev/hda1 36M 2.5M 31M 8% /boot [me@stationXX me] $df -H Filesystem Size Used Avail Use% Mounted on /dev/hda5 13G 1.7G 10G 14% / /dev/hda1 37M 2.6M 31M 8% /boot du du命令计算目录下文件占用磁盘的大小,以KB为单位,也加-h 选项。例如du -sh (–s 用来察看文件夹实际情况)。 head head 显示文件开头部分内容,默认显示十行参数 --lines或者 –n 指明显示行数 tail tail显示文件结尾部分内容,命令用法同head,参数 -f 显示文件的纪实更新,用于监视日志文件 第七讲:设备文件及常用命令 设备文件 Linux继承了Unix的风格把所有的硬件设备都当作文件来处理,只不过它们是特殊的文件,并存放在/dev目录下。设备分为块设备(block)和字 符设备(character)两种。在用ls -l命令显示时,设备文件的类型会在属性的第一位以"b"或者"c"分别表示。块设备是可随机读写的设备,例如硬盘;字符设备必须是顺序读写的,比如串 口。 虚拟控制台 系统中有12个系统虚拟控制台,默认开启六个(F1-F6)。 因为前六个控制台用于本地登录。所以第一个图形界面一般对应Alt+F7,第二个是Alt+F8,依次类推。 如果当前在图形界面下,系统快捷键Alt+Fn已经被占用,我们需要用Ctrl+Alt+Fn来切换入其他虚拟控制台。 应注意从图形界面中切换入其他虚拟控制台,可能造成原图形界面关闭。 登录用的虚拟控制台是可以根据需要增添或删减的(配置文件为/etc/inittab)。 用户身份切换 任一用户都拥有自己的环境变量,单用su的切换是不完整,用su - 完整的切换成另一个用户。 root 切换成普通用户不需要密码。普通用户切换为其他用户需要对方用户的密码。 当需要退出当前用户时,用Ctrl+D、exit或logout退回上一个用户,当前为最后一个用户时退回登录窗口。 离开系统 重启 reboot shutdown -r now init 6 关机 halt shutdown -h now poweroff init 0 第八讲:文件及权限 用ls –l 以长模式显示文件的信息,例: [root@server1 root]# ls -l /var/lib/dhcp/ total 8 -rw-r--r-- 1 root root 864 Feb 14 15:09 dhcpd.leases -rw-r--r-- 1 root root 864 Feb 14 15:05 dhcpd.leases~ •用file检查文件类型 [root@server1 root]# file /etc/fstab /etc/fstab : ASCII text file命令从系统配置文件/usr/share/magic中读取相应的文件规范。 文件类型 Linux沿用了Unix风格,在系统中所有东西都被当成文件,并且都可以适用文件的操作。 对于不同类型的文件,通常ls会用不同的颜色来标识,这些标识颜色的定义在文件/etc/DIR_COLORS中。 文件分类 一般文件   这是一类常见的文件,也是常使用的一类文件,其特点是不包含有文件系统的结构信息。通常所接触到的文件,包括图形文件、数据文件、文档文件、声音文件等都属于这种文件。这种类型的文件按其内部结构又可细分为文本文件和二进制文件。 目录文件   目录文件是用于存放文件名及其相关信息的文件,是内核组织文件系统的基本节点。目录文件可以包含下一级目录文件或普通。对于习惯于使用Windows 的用户来说,这可能有些难于理解,目录怎么会是文件呢?的确,在Linux中,目录文件是一种文件。但Linux的目录文件和其它操作系统中的“目录”的 概念不同,它是Linux文件中的一种。当然,在实际使用中可以不仔细区分这两种说法。实际上,在很多Linux的书籍和资料中就是将目录文件简称为目录 的。不过,我们必需清楚此“目录”非彼“目录”。 链接文件   链接文件是一种特殊的文件,实际上是指向一个真实存在的文件的链接。这有点类似于Windows下的快捷方式。根据链接文件的不同,它又可以细分为硬链接文件和符号链接文件。 设备文件   设备文件是Linux中最特殊的文件。正是由于它的存在,使得Linux系统可以十分方便地访问外部设备。Linux系统为外部设备提供一种标准接 口,将外部设备视为一种特殊的文件。用户可以像访问普通文件一样访问外部设备,使Linux系统可以很方便地适应不断发展的外部设备。通常Linux系统 将设备文件放在/dev目录下,设备文件使用设备的主设备号和次设备号来指定某外部设备。根据访问数据方式的不同,设备文件又可以细分为块设备和字符设备 文件。 管道文件   管道文件是一种很特殊的文件,主要用于不同进程间的信息传递。当两个进程间需要进行数据或信息传递时,可以通过管道文件。一个进程将需传递的数据或信息写入管道的一端,另一进程则从管道的另一端取得所需的数据或信息。通常管道是建立在调整缓存中。 •在linux中,所有东西都被当成文件。 •文件权限前的第一个字母用来标识文件类型: -:一般文件 d:目录文件 b:块设备文件 c:字符设备文件 l:链接文件 p:人工管道 文件权限 Linux系统是一个典型的多用户系统,不同的用户处于不同的地位。为了保护系统的安全性,Linux系统对不同用户访问同一文件的权限做了不同的规定。   对于一个Linux系统中的文件来说,它的权限可以分为三种:读的权限( r )、写的权限( w )和执行的权限( x )。不同的用户具有不同的读、写和执行的权限。   对于一个文件来说,它都有一个特定的所有者,也就是对文件具有所有权的用户。同时,由于在Linux系统中,用户是按组分类的,一个用户属于一个或多 个组。文件所有者以外的用户又可以分为文件所有者的同组用户和其它用户。因此,Linux系统按文件所有者、文件所属组的成员和其它用户三类规定不同的文 件访问权限。 权限的概念 Linux文件系统安全模型是通过给系统中的文件赋予两个属性来起作用的,这两个赋予每个文件的属性称为所有者(ownership)和访问权限(access rights)。Linux下的每一个文件必须严格地属于一个用户和一个组。 每个文件的目录条目都是以下面类似的一些符号开始: - r w - r - - r - - 这些符号用来描述文件的访问权限类别,也就是常说的文件权限。这些访问权限指导Linux根据文件的用户和组所有权来处理所有访问文件的用户请求。总共有10种权限属性,因此一个权限列表总是10个字符的长度。它的格式遵循下列规则:   第1个字符表示一种特殊的文件类型。其中字符可为d(表示该文件是一个目录)、b(表示该文件是一个系统设备,使用块输入/输出与外界交互,通常为一 个磁盘)、c(表示该文件是一个系统设备,使用连续的字符输入/输出与外界交互,如串口和声音设备),“-”表示该文件是一个普通文件,没有特殊属性。   第 2~4个字符用来确定文件的用户(user)权限,第5~7个字符用来确定文件的组(group)权限,第8~10个字符用来确定文件的其它用户 (other user,既不是文件所有者,也不是组成员的用户)的权限。其中,2、5、8个字符是用来控制文件的读权限的,该位字符为r表示允许用户、组成员或其它人 可从该文件中读取数据。短线“-”则表示不允许该成员读取数据。与此类似,3、6、9位的字符控制文件的写权限,该位若为w表示允许写,若为“ - ”表示不允许写。4、7、10位的字符用来控制文件的制造权限,该位若为x表示允许执行,若为“ - ”表示不允许执行。 •字符方式的基本语法是:chmod [ugoa] +或者-或者= [rwx] [文件...] 例如: [me@stationXX me] $ chmod o-r .bash_profile ( 赋予其他用户对文件.bash_profile可读的权限) [me@stationXX me] $ chmod u=rw .bash_profile ( 赋予文件拥有者对文件.bash_profile的权限是可读写) •赋予权限的另一种方法是chmod nnn [文件...] n 是 0—7 数字 ,其中第1、2、3个n分别表示用户、组成员和所有其它用户。各个位置上的n要么是一个0,或者是一个由赋予权限的相关值相加得到的单个阿拉伯数字之和。这些数字的意义如下所示: 值 表示的意义 4 表示文件或者目录的读权限 2   表示文件或者目录的写权限 1   表示文件或者目录的执行权限 一般而言,作为系统管理员,更喜欢使用数字方式,因为这种方式的速度明显快得多。 第九讲:文件二 硬链接文件完全等同于原文件,原文件名和连接文件名都指向相同的物理地址。不可以跨文件系统,也不可以建立目录的硬链接。文件在磁盘中只有一个拷贝,节省硬盘空间; 由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除。如下所示: [me@stationXX me] $ ln file1 file2 ( 建立file1的硬链接file2 ) [me@stationXX me] $ ls –il ( 显示file1和file2的属性) 4029 -rw-r--r– 2 root root 0 Jul 25 16:13 file1 4029 -rw-r--r– 2 root root 0 Jul 25 16:13 file2 inode号 权限 硬链接数 文件的拥有者 文件的拥有组 文件大小 最后修改时间 文件名 •软链接文件相当于为原文件建立了一个快捷方式,可以跨文件系统,也可以为目录建立。软链接和硬链接不同,软链接有自己的inode,是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径名。类似windows下的快捷方式。 可以删除原有的文件而保存连接文件,没有防止误删除功能。 •在ext2和ext3文件系统中,文件以inod+block的方式存在。 •一但用rm指令删除文件中的inode记录。文件无法被找回。 •stat指令可以用来检查文件的block与inode状况。 改变文件的拥有者 [me@stationXX me] $ ls file1 -rw-r--r– 2 root root 0 Jul 25 16:13 file1 [me@stationXX me] $ chown username file1 [me@stationXX me] $ ls file1 -rw-r--r– 2 username root 0 Jul 25 16:13 file1 改变文件的拥有者 [me@stationXX me] $ ls file1 -rw-r--r– 2 root root 0 Jul 25 16:13 file1 [me@stationXX me] $ chgrp username file1 [me@stationXX me] $ ls file1 -rw-r--r– 2 root username 0 Jul 25 16:13 file1 文件名 无论是ext2或ext3文件系统,文件名最多包含255个字符。文件名是字母大小写敏感的,也就是说FILE、file、File、FilE等是不同的 文件名。同时Linux还可以使用特殊字符,但尽量避免使用“ / , > , < , ? , * , ” , ‘ “等特殊字符,不是他们不可用而是使用他们会产生操作时的麻烦。当然你也可以使用一段话作为文件名,例如 : [me@stationXX me] $ ls -l “file name with spaces.txt” 隐藏文件 在Windows系统中隐藏是文件的一种属性,在Linux中没有这样的属性,隐藏是系统对文件的一种显示的判断。当系统需要显示文件名时,一般情况首先看文件的第一个字符是否为“ . ” ,如果是的就不显示他,所以在Linux中隐藏文件是以点开头的文件,同时因为目录也是文件,所以隐藏目录也是以点开头的。 用ls –a可以显示隐藏文件。例如: [me@stationXX me] $ ls –a /home/me .bashrc .bash_history .bash_logout .bash_profile 第十讲:强制位与冒险位 强制位 suid 意味着如果某个用户对属于自己的程序设置了这种权限,那么其他用户在执行这程序时也会具有其文件拥有者相应权限。于是,如果超级用户( root )的某一程序设置了这样的权限,那么其他普通用户在执行它的期间也同样具有超级用户的权限。同样的原则也适用于sguid,执 行相应程序的用户将具有该文件所属用户组的权限。 为什么要使用suid/guid 为什么要使用这种类型的脚本?这里有一个很好的例子。你管理着几个大型的数据库系统,而对它们进行备份需要有系统管理权限。你写了几个脚本,并设置了它们 的suid,这样你指定的一些用户只要执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份登录,以免不小心破坏了数据库服务器。通过执行这些 脚本,他们可以完成数据库备份及其他管理任务,而且在这些脚本运行结束之后,他们就又回复到他们作为普通用户的权限。另一个例子是/bin/passwd ,要读写/etc/passwd文件需要超级用户权限,但一般用户也需要随时可以改变自己的密码,所以/bin/passwd就设置了suid,当用户该 自己密码的时侯就拥有了超级用户权限。 •默认情况下,用户建立的文件属于用户当前所在的组。 •目录上设置了setgid,表示在此目录中,任何人建立的文件,都会属于目录所属的组。 默认情况下,如果一个目录上有w和x权限,则任何人可以在此目录中建立与删除文件。 一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、目录的拥有者与系统管理员可以删除文件。 在可执行文件上,用户可以添加set uid和set gid。 默认情况下,用户执行一个指令,会以该用户的身份来运行进程。 指令文件上的强制位,可以让用户执行的指令,以指令文件的拥有者或所属组的身份运行进程。 设置s u i d / g u i d 命令 结果 含义 chmod 4755 -rwsr-xr-x suid、文件属主具有读、写和执行的权限,所有其他用户具有读和执行的权限 chmod 6711 -rws--s--x suid、sgid、文件属主具有读、写和执行的权限,所有其他用户具有执行的权限 chmod 4511 -rwS--x—x suid、文件属主具有读、写的权限,所有其他用户具有执行的权限 上面的表中有具有这样权限的文件:rwS --x -- x,其中S为大写。它表示相应的执行权限位并未被设置,这是一种没有什么用处的suid设置可以忽略它的存在。 注意,chmod命令不进行必要的完整性检查,可以给某一个没用的文件赋予任何权限,但 chmod 命令并不会对所设置的权限组合做什么检查。因此,不要看到一个文件具有执行权限,就认为它一定是一个程序或脚本。 umask 当你最初登录到系统中时, umask 命令确定了你创建文件的缺省模式。这一命令实际上和chmod命令正好相反。你的系统在安装时为你设置一个合理的umask值,以确保你创建的文件具有所 希望的缺省权限,防止其他非同组用户对你的文件具有写权限。在已经登录之后,可以按照个人的偏好使用umask命令来改变文件创建的缺省权限。相应的改变 直到退出该shell或使用另外的umask命令之前一直有效。一般来说,umask命令是在 /etc/profile 文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。如果希望永久性地设置自己的 umask值,那么就把它放在自己 $HOME 目录下的 .profile 或 .bash_profile 文件中。这些我们将在“用户”一章中作具体介绍。 在shell下直接输入umask,显示的是当前umask值。umask 022,则表示把umask值改为022,只在此次登录中生效。 计算 umask 值 umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的 umask 值中的数字。对于文件来说,这一数字的最大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。 目录则允许设置执行权限,这样针对目录来说, umask 中各个数字最大可以到7。 对普通用户而言,其umask值为002,即其建立起来的普通文件默认权限为664,目录权限为775。超级用户的umask值为022,即建立普通文件默认权限为644,目录权限为755。 第十一讲:UMASK与根目录 umask 当你最初登录到系统中时, umask 命令确定了你创建文件的缺省模式。这一命令实际上和chmod命令正好相反。你的系统在安装时为你设置一个合理的umask值,以确保你创建的文件具有所 希望的缺省权限,防止其他非同组用户对你的文件具有写权限。在已经登录之后,可以按照个人的偏好使用umask命令来改变文件创建的缺省权限。相应的改变 直到退出该shell或使用另外的umask命令之前一直有效。一般来说,umask命令是在 /etc/profile 文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。如果希望永久性地设置自己的 umask值,那么就把它放在自己 $HOME 目录下的 .profile 或 .bash_profile 文件中。这些我们将在“用户”一章中作具体介绍。 在shell下直接输入umask,显示的是当前umask值。umask 022,则表示把umask值改为022,只在此次登录中生效。 计算 umask 值 umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的 umask 值中的数字。对于文件来说,这一数字的最大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。 目录则允许设置执行权限,这样针对目录来说, umask 中各个数字最大可以到7。 对普通用户而言,其umask值为002,即其建立起来的普通文件默认权限为664,目录权限为775。超级用户的umask值为022,即建立普通文件默认权限为644,目录权限为755。 根目录下的目录结构: •/bin:存储常用用户指令。 •/boot:存储核心、模块映像等启动用文件 •/dev:存储设备文件 •/etc:存储系统、服务的配置目录与文件 •/home:存放个人主目录 •/lib:存放库文件,诸如核心模块、驱动 •/lost+found:存储fsck用的孤儿文件 •/mnt:系统加载文件系统时用的常用挂载点 •/opt:第三方工具使用的安装目录 •/proc:虚拟文件系统,包含系统讯息等资料 •/root:root用户的主目录 •/sbin:存储系统管理用指令 •/tmp:临时文件的暂存点 •/usr:存放与用户直接相关的文件与目录 •/var:存储在系统运行中可能会更改的数据 第十二讲:过滤器、输入输出一 过滤器 Linux中的应用工具分为三种: 交互工具 过滤器 编辑器 能够接受数据,过滤再输出的工具,称为过滤器 对过滤器和进程,存在着输入源与输出对象 标准输入输出 当一个shell命令行启动时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误 输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准 错误文件中。 直接使用标准输入/输出文件存在以下问题: 输入数据从终端输入时,用户费了半天劲输入的数据只能用一次。下次再想用这些数据时就得重新输入。而且在终端上输入时,若输入有误修改起来不是很方便。输出到终端屏幕上的信息只能看不能动。我们无法对此输出作更多处理,如将输出作为另一命令的输入进行进一步的处理等。 重定向 重定向即把命令(或可执行程序)的标准输入(或输出)发送到指定的文件(或命令)。也就是说,输入可以不来自键盘,而来自一个指定的文件(或是某一命令产生的屏幕输出);输出可以不来出现在屏幕,而添加到一个指定的文件。 输输入重定向 输入重定向大多使用在文件流的引入中,由于大多数命令都以参数的形式在命令行上指定输入文件的文件名,所以输入重定向并不经常使用。尽管如此,当要使用一个不接受文件名作为输入参数的命令,而需要的输入内容又存在一个文件里时,就能用输入重定向解决问题。 命令的使用格式 command < file 命令command的输入原从file文件得到。 从当前文档输入 我们可以使用入下的方式实现一个简单的文本输入器: [me@stationXX me] $ cat>file <This is test! >! [me@stationXX me] $less file This is test!  第十三讲:过滤器、输入输出二 输出重定向 输出重定向比输入重定向更常用,很多情况下都可以使用这种功能。例如,如果某个命令的输出很多,在屏幕上不能完全显示,那么将输出重定向到一个文件中,然 后再用文本编辑器打开这个文件,就可以查看输出信息;如果想保存一个命令的输出,也可以使用这种方法。还有,输出重定向可以用于把一个命令的输出当作另一 个命令的输入 。 覆盖与追加 为避免输出重定向中指定文件只能存放当前命令的输出重定向的内容,shell提供了输出重定向的一种追加手段。输出追加重定向与输出重定向的功能非常相 似,区别仅在于输出追加重定向的功能是把命令(或可执行程序)的输出结果追加到指定文件的最后,而该文件原有内容不被破坏。 错误输出重定向 系统错误与标准输出使用的I/O管道不同,虽然他们都默认显示到屏幕上,但系统错误使用stderr通道而标准输出使用stdout通道。 我们在这里提到了一个设备文件/dev/null,它是我们常说的黑洞设备,无论你发送何种大小的文件它都忽略并删除。 当我们需要回显错误输出时可以采取如下方式: [me@stationXX me] $ find / -name passwd 2 >>results >&1 其中&1就是指标准输出! 管道 将一个程序或命令的输出作为另一个程序或命令的输入,有两种方法,一种是通过一个临时文件将两个命令或程序结合在一起,另一种是Linux所提供的管道功能。这种方法比前一种方法更好。 管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推。显示在屏幕上的是管道行中最后一个命令的输出(如果命令行中未使用输出重定向)。 管道前过滤器的输出与管道后过滤器的输入数据类型需匹配,如果有不匹配的数据,后过滤器就会把不匹配的数据丢弃。例如: [me@stationXX me] $ls -l (屏幕回显是有颜色的) [me@stationXX me] $ls -l | less (屏幕回显是没有颜色的) 重定向、管道的常用范例 •ls –l | more –分屏显示当前目录下的文件 •cat < filea > fileb –拷贝filea到fileb •cat file.* > file –将数个小文件合并成一个文件 第十四讲:可执行文件的搜索 which which用于显示查找可执行文件的完全路径,例如: [me@stationXX me] $which ls alias ls = ‘ls --color=tty ‘ /bin/ls which 首先查找系统中别名记录(alias),然后查找系统路径($PATH)。一般我们不把当前目录” . “加入系统路径,所以当前路径中的文件命令不在显示中。 whereis whereis用于显示查找文件的路径、该文件的帮助文件路径、该文件的相关原程序的路径,例如: [me@stationXX me] $whereis chdir mkdir : /bin/mkdir /usr/share/man/man1/mkdir.1.gz /usr/share/man/man2/mkdir.2.gz [me@stationXX me] $whereis fstab fstab: /etc/fstab /etc/fstab.REVOKE /usr/include/fstab.sh /usr/share/man/man5/fstab.5.gz /usr/share/man/man5/fstab.5.gz slocate 首先locate是slocate的一个符号链接,我们可以这样查看: [me@stationXX me] $ls -l /usr/bin/locate lrwxrwxrwx root slocate 7 Jul 22 23:03 /usr/bin/locate -> slocate slocate的数据库由守护进程(crond )在每天早上4:02自动更新,也就是说如果你现在对系统文件作的修改不会在slocate反映出来。当然我们可以使用updatedb指令来手动更新数据库,不过这是需要花费时间的工作。 find find 是我们最常用的文件查找工具,相比slocat 而言它有纪实性的优点,语法如下: find [路径] [参数] [表达式] 例如: [me@stationXX me] $ find /usr/share/doc -name filename 命令 路径 参数 表达式 find的
本文档为【Linux初级入门教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_024834
暂无简介~
格式:doc
大小:62KB
软件:Word
页数:20
分类:工学
上传时间:2012-10-03
浏览量:161