1、Linux系统目录与基本命令,主讲:,回顾,Linux起源及发展 自由软件(Free Software) Linux系统结构 安装Linux系统 Linux运行级别 Linux与xp双系统安装,主要内容,了解Linux系统的目录结构 掌握Linux系统的基本命令 常用命令ls、clear、date、mkdir、rm、cp、mv、pwd、cd、cat、more、tail、head、du等 帮助命令 man、info、help 搜索命令 whereis、which、find,Linux系统的目录结构,在Linux系统的根目录主要目录有:,Linux系统的目录结构,/ Linux文件系统的入口,也是
2、处于最高一级的目录;,Linux系统的目录结构,/bin: 这个目录是系统中最重要的可执行文件的存放位置,这些可执行文件大都是Linux系统中最常用的命令。一般用户和超级用户都会经常使用其中的命令,如:ls、mkdir、mount等。,Linux系统的目录结构,/boot: Linux的内核及引导系统程序所需要的文件目录,包括一些链接文件以及镜像文件。比如 vmlinuz、initrd.img 文件都位于这个目录中。在一般情况下,GRUB系统引导管理器也位于这个目录;,Linux系统的目录结构,/dev: 设备文件存储目录。这个目录中的所有文件都是特殊的文件,Linux系统把所有的外设都看成是
3、文件。就是说,用户对代表该外设的文件进行操作实际上就是对该外设进行操作。,Linux系统的目录结构,/etc: 这是系统内部存放配置文件的主要位置,一般与系统关系十分密切的配置文件都放在该目录下。也就是说,对系统的配置主要就是对该目录中的文件进行修改。一些服务器的配置文件也在这里,比如用户帐号及密码配置文件。,Linux系统的目录结构,/home: 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。,Linux系统的目录结构,/lib: 这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这
4、些共享库。 /lost+found: 在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。 有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移动文件到原来的位置上。,Linux系统的目录结构,/misc: 备用目录。 /mnt: 这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。主要看/etc/fstab中怎么定义了;比如光驱可以挂载
5、到/mnt/cdrom 。 /opt: 用于安装一些给所有用户使用的文件或程序,/proc: 这个目录中的文件其实不是存放在磁盘上的,该目录的文件系统叫做proc文件系统,是系统内核的映像。也就是说,该目录里的文件存放在系统内存中。可以通过查看这些文件来了解系统的运行情况,同时也可以通过修改这些文件改变某些内核运行参数。 比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器: echo 1 /proc/sys/net/ipv4/icmp_echo_ ignore_all。,Linux系统的目录结构,/root: 超级权限用户root的缺省主目录,对一般用户来说,是没有该目
6、录的写权限的。一般用户自己的文件都拷贝到自己的主目录下,以免打乱原来的系统层次结构。 /sbin: 与/bin一样,主要是存放可执行文件,只不过这里的可执行文件主要是给超级用户管理系统时使用的,普通用户几乎没有权限执行其中的程序。,Linux系统的目录结构,/tftpboot: TFTP(普通文件传输协议)服务器缺省文件主目录。 /tmp: 临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。 /usr: 这个目录是Linux系统中占用磁盘空间最大的目录,有许多应用程序安装在这里。 /var: 存放一些系统记录文件,HTTP和
7、FTP服务器,Shell简介,Linux shell指的是一种程序,有了它,用户就能通过键盘输入指令来操作计算了。 Shell会执行用户输入的命令,并且在显示器上显示执行结果。这种交互的全过程都是基于文本的。 这种面向命令行的用户界面被称为CLI(Command Line interface)。在图形化用户界面(GUI)出现之前,人们一直是通过命令行界面来操作计算机的。,Shell基本使用,shell命令格式:命令名 【选项】 【参数1】 【参数2】. 第一个位置必需是命令 第二个位置可以是选项也可以是参数。 命令、选项和参数之间必需用tab或者space(空格)将其隔开。 如:ls l /e
8、tc ls是命令 -l是选项 /etc是命令的参数,小技巧:自动补齐-TAB键,基本命令,登录:login 退出:logout 关机:halt或shutdown h now或init 0 重启:reboot或shutdown r now或init 6,基本命令,cd 目录名称切换目录(指已存在的目录名称,这个命令没有选项。) cd / 切换到根目录 根目录下的bin目录 cd /bin 根目录下usr目录下的bin目录 cd /bin 结果一样吗? 输入 cd /bin和 cd bin一样吗? cd 返回上一级目录 大小写有影响吗?,练习: 1.如何从 /usr/X11R6/lib/X11 切
9、换到 /usr/share/doc ? 2.只输入一个 cd 命令,后面不接目录名称就按回车,会怎么样?,基本命令,ls:列示文件。ls -选项 文件名描述 -a或-all 下所有文件和目录。 -l 使用详细格式列表。 -d 只列出目录 -h或-human-readable 用“K”,“M”,“G”来显示文件和目录的大小。 -i或-inode 显示文件和目录的inode编号。 -color (请注意前面要加两个减号)“彩色”显示目录:蓝色; 可执行文件:绿色; 一般文件:白色; 链接文件:浅蓝色; 图形文件:紫红色; 压缩文件:红色;,练习: 1.使用ls命令进行操作。 2.Linux还有一个
10、vdir命令,也请试试看,它相当于ls加上什么选项?,clear 清除屏幕 date -选项 日期或时间格式显示或设置日期时间 显示年月日 date “+Date:%y.%m.%d“ 只显示时间 date “+Time:%H.%M.%S“ 一起显示 date “+Date:%Y.%m.%d Time:%H.%M.%S“ 设置时间 date 031617302010就会设置为2010年3月16日17时30分。注意:需要用超级用户登录才能设定,否则无效,将小写改成大写会得到什么?,练习: 1.当我们显示7时40分的时候,7和40之间能改用冒号(:)吗? 2.把你的系统设置为公元2000年1月1日0
11、 时00分,看看电脑会怎么样?,基本命令,mkdir -选项 目录名称创建新目录(全新而并不存在的目录名称) -p /com/newer/linux 若均不存在,可以一次建立 -m或-mode 建立目录时同时设置目录的权限。,练习: 1.不加-p选项,创建一个 /china/hunan/changsha 的三层子目录 2.加-p选项,创建一个/fruit/apple/red的三层子目录,基本命令,rmdir -选项 目录名称删除目录(已存在的目录名称) 删除已经清空的目录,如有文件则无法删除(保险) -p 若此目录的上层目录也为空,则一并把它的上层目录删除。,练习: 1.先建一个 /dog 子
12、目录,切进这个 /dog 目录,再在其下建一个 cat 子目录,再切进 cat 子目录,再在其下建一个 kitty 子目录。然后在其下用 vi编辑工具随便创建一个含有三五个字母的纯文字文件。然后,如何用 rmdir 命令,把 /dog 目录删除?(不用 -p 选项) 2.同上题,如果用 -p 选项的话,又用什么样的步骤删除呢?,基本命令,cp -选项 文件名称 目的地复制文件 -R 递归处理,将指定目录下的所有文件与子目录一并处理。 -f 强行复制文件或目录,不论目标文件或目录是否已存在。 -i 覆盖既有文件之前先询问用户。 -l 源文件建立硬连接,而非复制文件。 -p 保留源文件或目录的属性
13、(包括权限)。 -u除非目的地的同名文件比较旧,它才覆盖过去。 -v 复制之中出现进度报告。复制许多文件时较有用。,练习: 1.使用cp命令进行相关操作,基本命令,mv -选项 文件名称 目的地移动或更名现有的文件或目录 -i 如果目的地有相同文件名的文件存在的话,会先询问用户,而不会立刻覆盖该目的地的同名文件。 -b 若需覆盖文件,则覆盖前先行备份。 -f 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录。 -I 覆盖前先行询问用户。 -u 除非目的地的同名文件比较旧,它才覆盖过去。 -v 搬移之中出现进度报告。(大批量),目的地,基本命令,rm -选项 文件或目录名称删除
14、文件或目录(整个目录,包括目录下的子目录和文件) -i 删除之前先询问用户是否确定。 -v 删除之中出现进度报告。(大批量)。 -f 强制删除文件或目录。 -I 删除既有文件或目录之前先询问用户。,基本命令,du -选项 文件名称检查目录所用的空间 -s 仅显示总计。 -h 以K,M,G为单位,提高信息的可读性。 -h/H H除以1000计算, h除以1024计算 K 一律以K为单位进行显示 M 一律以M为单位进行显示最常用的选项:-hs,练习: 1.请练习查看您的几个重要目录/bin, /etc, /root, /usr,各占多少大小?,基本命令,cat 文件名称链接文件,另兼显示文件内容
15、显示文件cat main.c 重新输出导向符号举例:cat a1.txt a2.txt a3.txt -n 对所有输出的行数编号 -b 或 -number-nonblank 和 -n 相似,只不过对于空白行不编号 -s 或 -squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行,练习: 1.如果我们下达 cat a1.txt a2.txt a1.txt 命令的话会如何? 2. cat显示在屏幕上的资料很长,一屏看不完,且一直往上卷,如何处理?,基本命令,more分页显示一个文件或任何输出结果 假如想查看dev目录下的文件,则可以:ls /dev | more按空格继续
16、 翻页 -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容 -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料 -s 当遇到有连续两行以上的空白行,就代换为一行的空白行,head从文件开头开始显示 -n 指定的行数 head 文件名 显示该文件 前十行内容; head -n 20 文件名 显示该文件前二十行内容;tail从文件结尾开始显示 -n 指定的行数 tail 文件名 显示该文件 后十行内容; tail -n 20 文件名 显示该文件后二十行内容; tail -f 文件名
17、 显示该文件后十行内容并在文件内容增加后,自动显示新增的文件内容。,基本命令,基本命令,基本命令,pwd:显示工作目录 绝对路径: 绝对路径总是以“/”开始,是命令程序相对于根目录的路径,所以一个命令的绝对路径是不变的。 相对路径: 相对路径是指文件相对于用户当前目录的路径,在Linux中可以使用”.” ”来表示。 例如: ls /root ls ./root ls /root ls /root : home目录,基本命令,man查看程序名、函数的帮助信息 这样就能查看程序或命令的帮助手册.man在查看的时候还可以加一些区段,这些区段可以提供一些另外的帮助。 区段1 用户指令 区段6 游戏 区
18、段2 系统 区段7 杂项 区段3 程序库 区段8 系统指令 区段4 设备 区段9 内核指令 区段5 文件系统 区段n Tcl和Tk指令 示例: man 1 ls 其他: info -help,基本命令,which 选项 命令名称在PATH变量中搜索某个系统命令的位置或者别名 搜索位置:which cp 别名: which ll 执行: ll etc? -n: 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名 -p: 与-n参数相同,但此处的包括了文件的路径,which a.txt?,whereis 选项 目录或文件名称在特定目录中查找符合条件的文件(源代码、二进制、帮助文件) -
19、b 只查找二进制文件。 -B 只在设置的目录下查找二进制文件。 -f 不显示文件名前的路径名称。 -m 只查找说明文件。 -M 只在设置的目录下查找说明文件。 -s 只查找源代码文件。 -S 只在设置的目录下查找源代码文件。 -u 查找不包含指定类型的文件。,whereis cp?,基本命令,find 路径 选项 表达式查找文件(最常见和最强大) 路径:路径可以是相对路径和绝对路径 选项:-name -type perm -prune -group -user 表达式: -ls ! expr 假如expr为假则为真 ,基本命令,-name 查找某个指定的文件 例如: find . -name
20、*.txt -ls -type 查找指定类型的文件 类型文件中有: l 连接 d 目录 b 块设备 p 管道(pipe) f 常规文件 例如:find -type d dir -prune 忽略某个目录 例如:find /usr -name “/usr/sbin“ -prune -o -print -user 查找属于指定用户的文件 -group 查找属于指定用户组的文件 例如:find / -group admin user baozong,重定向与管道,输出重定向: 例如: ls a ls a ls.txt ls a ls.txt ls a 1 ls.txt ls a 2ls.txt ls a &ls.txt,输入重定向: 例如: cat cat ls.txt,重定向与管道,管道:前面命令的输出作为后面命令的输入。,