文件目录管理与显示
5文件与目录管理
项目5 文件与目录管理任务描述:任务一:启动计算机,利用root用户登录到系统,查看提示符;用pwd目录查看目前所在的目录;用ls目录列出当前目录下的文件和目录;列出此目录下包括隐藏文件在内的所有文件和目录并且长格式显示;长格形式列出当前目录下的所有文件,注意比较每个文件的长度和创建时间的不同;进入/home目录下,创建测试目录test;利用ls目录列出文件和目录,确认test目录创建成功;回到上一层工作目录,删除test目录;cd /后,进入root的主目录(分别用绝对路径和相对路径进入)。
任务二:查看/etc/passwd文件类型;利用touch命令,在/home目录创建一个新的空文件newfile;使用man cat 命令查看cat命令使用帮助;只看/etc/passwd的前5行内容;只看/etc/passwd的后5行内容;分别用cat、more、less、head、tail查看/etc/passwd文件,看看有什么区别?任务三:查看/root及其子目录下以install开头的文件;查找显示/etc/passwd文件中包含root的行;查找/home目录下的所有名为profile的文件;查找httpd.conf。
任务四:利用cp命令复制系统文件/etc/profile到/home目录下;在/home中复制文件profile 到一个新文件profile.bak,作为备份;将/boot目录中的所有文件及其子目录复制到/root中。
任务目标:●掌握文件操作相关命令●掌握目录操作相关命令任务重点:●文件和目录操作命令任务难点:●文件和目录操作命令知识准备:5.1.1 文件及目录概述1.文件系统的含义文件系统是一种存放在格式化的存储介质上的能够被操作系统管理的文件集合Linux 文件均为无结构的字符流形式。
文件名是文件的标识,它由字母、数字、下划线和圆点组成的字符串来构成。
Linux要求文件名的长度限制在255个字符以内.为了便于管理和识别,用户可以把扩展名作为文件名的一部分。
实验1 常用操作命令
实验1 常用操作命令1、实验目的通过实验掌握Linux的目录操作,文件操作,文本文件显示等常用管理命令。
掌握管道与重定向操作。
2、实验内容(1)Linux的目录操作(2)文件操作(3)文本文件显示(4)管道与重定向3、实验步骤(一)文件与目录操作命令(1)用root账号登录到终端,使用pwd命令查看当前目录.(2)使用cd命令将当前目录切换到/目录下。
(3)使用ls命令查看Linux的目录结构,了解各个目录存放与系统相关的文件。
(4)使用cat、more、head .tail等命令显示介/etc/inittab文件内容。
(5)使用grep命令在/etc/inittab文件中查询“initdefault',字符串。
(6)使用find命令查找/目录下所有以main开头的文件,并显示这些文件的内容。
(7)用cp命令将/etc目录下的inittab文件和拷贝到/root目录下。
(8)使用sort或uniq命令对root目录下的inittab文件排序后输出其结果。
(9)统计inittab文件的字节数、行数、字数。
(10)用mkdir命令在/root目录下创建一个test目录。
(11)用cp命令将/etc目录及其下所有内容复制到test目录下。
(12)使用cd和ls查看/root/test/etc下的内容。
(13)将test目录改名为test2.(14)删除test2目录。
(二)目录操作命令(1)使用建立子目录命令(mkdir)在用户目录下创建如图所示的目录结构。
(2)删除子目录命令(rmdir)思考题1、利用sed命令在/etc/passwd中分别查找满足以下条件的行:(1) o字符重复任意次(2) o字符重复一次以上(3) o字符重复两次以上2、利用sed命令将input文件中的\OU字符串修改为(ou)3、利用sed命令打印input文件中除第3^'8行之外的所有行,在以下三种不同选项组合下运行该命令:(1)不带任何选项:(2)只带一n选项;(3)同时带一n和一p选项并分析以上三种不同选项组合的区别。
Linux 实验报告二文件和目录管理
Linux操作系统报告单专业:计算机科学与技术学号:姓名:名称:文件和目录管理任课教师:班级:完成日期:成绩:一、实验名称及目的:实验名称:文件和目录管理实验目的:1、了解linux系统的文件和目录结构2、熟悉linux系统的文件和目录管理的方式和命令3、能够熟练的使用文件和目录管理命令二、实验内容及要求:1.查看操作系统的根目录下,有哪些目录2.文件操作(1)查看文件(可以是二进制的)内容 cat执行格式:cat filename 或more filename 或cat filename|more 例: cat file1 以连续显示方式,查看文件 file1 的内容 more file1或 cat file1|more 以分页方式查看文件的内容(2)删除文件rm执行格式: rm filename 例: rm file? rm f* (3)复制文件 cp执行格式:cp [r] source dest ination 例:cp file1 file2将 file1 复制成 file2cp file1 dir1 将file1复制到目录 dir1 cp /tmp/file1 将file1复制到当前目录cp /tmp/file1 file2 将file1复制到当前目录名为 file2 cp –r dir1 dir2 (recursive copy)复制整个目录(4)移动或更改文件、目录名称 mv执行格式: mv source destination 例:mv file1 file2 将文件 file1,更名为 file2mv file1 dir1 将文件 file1,移到目录 dir1 下 mv dir1 dir2(5)比较文件(可以是二进制的)或目录的内容 diff执行格式:diff [r] name1 name2 (name1、name2 同为目录)文件或例: diff file1 file2 比较 file1 与 file2 的不同处diff –r dir1 dir2 dir1 与 dir2 的不同处(6)文件中字符串的查找 grep专业:计算机科学与技术学号:姓名:执行格式:grep string file1例:grep abc file1 查找并列出串 abc 所在的整行文字 3、系统询问与权限口令(1)查看系统中的使用者执行格式: who (2)查看 username执行格式: who am I 查看自己的 username (3)改变自己的 username 的帐号与口令 su执行格式: su username例: su username 输入账号 Password 输入密码(4)文件属性的设置 chmod执行格式:chmod [R] mode name 其中:[-R]为递归处理,将指定目录下所有文件及子目录一并处理 mode 为 3-8 位数字,是文件/目录读、写、执行允许权的缩写(r:read,数字代号为"4", w:write,数字代号为"2", x:execute,数字代号为"1")mode: rwx rwx rwx user group other 缩写:(u)(g)(o)例:chmod 755 dir1 将将目录 dir1 设定成任何人皆有读取及执行的权利,但只有拥有者可作写修改。
Linux常用命令(3)--文件管理(查看文件大小权限信息、修改文件所属用户和操作权限、压。。。
Linux常⽤命令(3)--⽂件管理(查看⽂件⼤⼩权限信息、修改⽂件所属⽤户和操作权限、压。
⼀、查看⽂件⼤⼩、⽂件夹⼦⽬录1、查看⽂件系统磁盘⼤⼩、挂载点df :可以查看⼀级⽂件夹⼤⼩(默认单位为:k)、使⽤⽐例、档案系统及其挂⼊点(但对⽂件却⽆能为⼒)。
df -T :显⽰分区的⽂件系统(不带单位,默认为k;结果中包含分区⽂件类型Type)df -h :显⽰⽂件系统的可⽤空间及使⽤情形(采⽤⽤户易读的⽅式)概念解析:挂载点 Linux是树型⽬录结构,Linux只有⼀个根⽬录'/',其余各个⽬录都是基于这个根⽬录发散,就是树形结构。
Linux分区是将某个分区挂到⼀个对应的⽬录上。
例如/home对应⼀块分区,home⽬录就是这块分区的挂载点;/boot对应 虽然硬盘分区表中最多能存储四个分区,但我们实际使⽤时⼀般只分为两个分区,⼀个是主分区(Primary Partion)⼀个是扩展分区(extended partition)两种,主分区可以马上被使⽤但不能再分区,扩展分区必须再进⾏分区后才能使⽤,也就是说它必须还要进⾏⼆次分区。
那么由扩充分区再分下去的是什么呢?它就是逻辑分区(LogicalPartion),况且逻辑分区没有数量上限制。
Linux⽆论有⼏个分区,分给哪⼀⽬录使⽤,它归根结底就只有⼀个根⽬录,⼀个独⽴且唯⼀的⽂件结构。
每个分区都是⽤来组成整个⽂件系统的⼀部分,因为它采⽤了⼀种叫“挂载点”的处理⽅法,它的整个⽂件系统中包含了⼀整套的⽂件和⽬录,且将⼀个分区和⼀个⽬录联系起来。
这时要载⼊的⼀个分区将使它的存储空间在⼀个⽬录下获得。
Linux的分区是不同于其它操作系统的分区,它的分区格式常⽤的有Ext3和Swap两种,Ext3⽤于存放系统⽂件,Swap则作为交换分区(相当于windows中的虚拟内存⽂件)。
推荐阅读:概念解析:tmpfs tmpfs是⼀种虚拟内存⽂件系统,⽽不是块设备。
suse 操作系统常用命令
suse 操作系统常用命令SUSE操作系统常用命令SUSE操作系统是一种基于Linux的操作系统,常用于服务器和企业级应用程序。
了解并掌握SUSE操作系统的常用命令对于管理员和开发人员来说非常重要。
本文将介绍一些SUSE操作系统常用命令,帮助读者更好地管理和操作SUSE系统。
一、文件和目录管理命令1. ls命令:用于列出目录中的文件和子目录。
例如,ls -l命令可以显示文件的详细信息,ls -a命令可以显示所有文件包括隐藏文件。
2. cd命令:用于切换当前工作目录。
例如,cd /var/log可以切换到/var/log目录。
3. pwd命令:用于显示当前工作目录的路径。
4. touch命令:用于创建一个空文件。
例如,touch example.txt 可以创建一个名为example.txt的空文件。
5. cp命令:用于复制文件或目录。
例如,cp file1 file2可以将file1复制到file2。
6. mv命令:用于移动文件或目录,也可以用于重命名文件。
例如,mv file1 file2可以将file1移动到file2,mv file1 newname可以将file1重命名为newname。
7. rm命令:用于删除文件或目录。
例如,rm file1可以删除file1文件,rm -r dir1可以删除dir1目录及其所有内容。
8. mkdir命令:用于创建目录。
例如,mkdir newdir可以创建一个名为newdir的目录。
二、系统管理命令1. top命令:用于实时监视系统的运行状态,包括CPU、内存和进程等信息。
2. ps命令:用于显示当前运行的进程。
例如,ps aux可以显示所有进程的详细信息。
3. kill命令:用于终止正在运行的进程。
例如,kill PID可以终止指定PID的进程。
4. reboot命令:用于重启系统。
例如,reboot命令将立即重启系统。
5. shutdown命令:用于关闭系统。
4-2-1文件目录管理
很常用的选项-l以长格式来显示详细信息 很常用的选项 以长格式来显示详细信息
总计表示目录所占用磁盘的总块数,信息分为 列 总计表示目录所占用磁盘的总块数,信息分为7列 列表示文件类型与权限, 第1列表示文件类型与权限,共10个字符. 列表示文件类型与权限 个字符
个字符表示文件类型, 普通文件, 第1个字符表示文件类型,"-"普通文件,"d"目录文 个字符表示文件类型 普通文件 目录文 块设备文件如硬盘等, 件"b"块设备文件如硬盘等,"c"字符设备文件如键盘 块设备文件如硬盘等 字符设备文件如键盘 管道文件, 链接文件. 等"p"管道文件,"l" 链接文件. 管道文件 2-10个字符每 个一组,2-4表示文件所有者对该文件所 个字符每3个一组 个字符每 个一组, 表示文件所有者对该文件所 拥有的权限, 表示文件所有者所在组对该文件所拥 拥有的权限,5-7表示文件所有者所在组对该文件所拥 有的权限, 表示其他用户对该文件所拥有的权限. 有的权限,8-10表示其他用户对该文件所拥有的权限. 表示其他用户对该文件所拥有的权限 每组表示权限的3个字符一次代表读 表示), 个字符一次代表读(r表示 表示) 每组表示权限的 个字符一次代表读 表示 ,写(w表示 执行(x) 表示 读(r) 写(w) 执行 和执行(x表示 权限.当没有相应权限时, 表示)权限 和执行 表示 权限.当没有相应权限时,该权限对应的 运行程序或shell程序 文件 读文件内容 写和修改文件 运行程序或 程序 位置用短线"-"标示. 位置用短线" 标示. 标示 目录 列出目录内容 建立和删除文件 进入和退出目录
4 SHELL
计算机浏览查找管理文件的操作方法
计算机浏览查找管理文件的操作方法
在计算机上浏览、查找和管理文件的方法有多种,以下提供两种方法:
方法一:
1. 打开桌面上的“计算机”程序窗口。
2. 在左侧选择你希望查找的磁盘。
比如你大概记得文件是保存在E盘,那么就选择E盘。
如果你不知道保存在哪里了,就选择“计算机”,这样程序就会在整个磁盘中去查找,但更费时间。
3. 如果用户记得要查找文件的文件名,可以在搜索框中输入文件名;如果只记得部分文件名,也可以在搜索框中输入。
4. 当用户在搜索框中输入文件名时,系统会立即搜索包括该文字的文件,并在下方实时展示出来。
5. 当显示用户所需的文件时,可以右键单击该文件,然后从弹出的右键单击菜单中选择“打开文件位置”命令。
6. 此时将打开一个窗口,显示文件和文件所在的文件夹。
通过这种方式,您可以找到存储在计算机中的文件。
方法二:
1. 按WIN键,或从任务栏左下角开始按钮附近选择搜索栏。
2. 开始键入你要查找的文件、应用程序或其他项目的名称,但现在不要按Enter键。
3. 结果立即显示。
注意顶部的类别;这是你可以根据文档、电子邮件、文件夹、音乐、照片等内容过滤结果的地方。
“更多”菜单是你可以找到其中大部分内容的地方。
4. 选择要打开的项目。
你可以通过触摸、鼠标或使用上下箭头键高亮显示并按Enter键来执行此操作。
以上是两种常用的浏览、查找和管理文件的方法,希望对你有所帮助。
如果仍有疑问,建议查阅相关计算机书籍或咨询专业人士。
实验Linux文件和目录操作
实验Linux文件和目录操作实验Linux文件和目录操作(1)一、实验内容练习Linux文件和目录操作命令。
二、实验目的掌握文件与目录管理命令掌握文件内容查阅命令三、实验题目1. 文件与目录管理(1) 查看CentOS根目录下有哪些内容?(2)进入/tmp目录,以自己的学号建一个目录,并进入该目录。
(3)显示目前所在的目录。
(4)在当前目录下,建立权限为741的目录test1,查看是否创建成功。
(5)在目录test1下建立目录test2/teat3/test4。
(6)进入test2,删除目录test3/test4。
(7)将root用户家目录下的.bashrc复制到/tmp下,并更名为bashrc (8)重复步骤6,要求在覆盖前询问是否覆盖。
(9)复制目录/etc/下的内容到/tmp下。
(10)在当前目录下建立文件aaa。
(11)查看该文件的权限、大小及时间(12)强制删除该文件。
(13) 将/tmp下的bashrc移到/tmp/test1/test2中。
(14) 将/test1目录及其下面包含的所有文件删除。
2. 文件内容查阅、权限与文件查找(1) 使用cat命令加行号显示文件/etc/issue的内容。
(2) 反向显示/etc/issue中的内容。
(3) 用nl列出/etc/issue中的内容。
(4) 使用more命令查看文件/etc/man.config(5) 使用less命令前后翻看文件/etc/man.config中的内容(6) 使用head命令查看文件/etc/man.config前20行(7) 使用less 命令查看文件/etc/man.config后5行(8) 查看文件/etc/man.config前20行中后5行的内容(9) 将/usr/bin/passwd 中的内容使用ASCII方式输出(10) 进入/tmp目录,将/root/.bashrc复制成bashrc,复制完全的属性,检查其日期(11) 修改文件bashrc的时间为当前时间四、实验指导1. 文件与目录管理(1)查看CentOS根目录下有哪些内容?ls /(2)进入/tmp目录,以自己的学号建一个目录,并进入该目录。
Linux系统文件和目录管理
选项参数: -num:在匹配行找到后,将显示匹配行和匹配行前后num行的内容。 -A num:在匹配行找到后,将显示匹配行和匹配行后num行的内容。 -B num:在匹配行找到后,将显示匹配行和匹配行前num行的内容。 -n:在找到匹配的输出行前面加上该行在输入文件中的行数。 -s:对于不存在或者不可读的文件不输出错误信息。 文件列表:所要查询的文件和文件列表。 例:在tty.txt文件中查找每一个提到“Linux*b”的地方。
$ grep Linux\*b tty.txt
1.4 操作文件和目录
1. cp命令 功能:cp(copy)命令可以将文件或目录复制到其他目录中,就如
同DOS下的copy命令一样,功能非常强大。在使用cp命令时,需要 指定源文件名与目标文件名或目标目录即可。 格式:cp[选项]源文件 目标文件 选项参数: -f:在复制过程中删除已经存在的目标文件。 -i:在复制过程中删除已经存在的目标文件时给出提示信息。 -r:递归复制所有目录,将所有的非目录内容当作文件一样复制。 -u:源文件比目标文件新或目标文件不存在则复制。 -R:递归复制整个目录。
例1:输出当前目录下名称中有“lib”文件或目录的详细信息。
# ls –l *lib* 显示结果为 drwxr-xr-x 130 root root 69632 3月 10 14:07
lib drwxr-xr-x 13 root root 4096 3月 4 20:28
libexec 这个结果提供了许多细节信息。 1)第一列为文件模式。文件模式中第一位代表文件类型,其余九位
$ cat /etc/redhat-release
1.3 搜索文件内容
搜索文件内容可以使用grep命令 功能:grep命令用于在文件中查找指定的字串。 格式:grep[选项]文件列表 说明:grep除了可以查找固定的字符串,还可以使用较为复杂的匹
第三周:文件及文件夹的管理
三,资源管理器
1, 启动资源管理器
① 单击菜单"开始" "程序" "资源管理 器". ② 右键单击"开始"菜单,选择"资源管理器". ③ 直接通过"开始"菜单的"运行"对话框,输 入"explorer.exe". ④ 在"我的电脑"或其他任何一个文件夹图标上 单击右键,从弹出的快捷菜单中选择"资源管 理器".
⑶扩展名的作用
又如:Word的文档文件——DOC 又如:Word的文档文件 文件 DOC Excel的工作簿文件 文件——XLS Excel的工作簿文件 XLS FoxPro的命令文件 文件——PRG FoxPro的命令文件 PRG
二,文件和文件夹
⑷文件属性
只能查看不能改变内容和删除 ①只读——只能查看不能改变内容和删除内容 只读 只能查看不能改变内容和删除内容 隐藏——显示目录表时被隐藏(默认)并自动 显示目录表时被隐藏 ②隐藏 显示目录表时被隐藏(默认) 具有只读的特性. 只读的特性 资源管理器"中的"工具" 具有只读的特性.(与"资源管理器"中的"工具"
6,设置文件夹选项
选择"工具/文件夹选项"菜单命令后, 选择"工具/文件夹选项"菜单命令后,将 弹出"文件夹选项"对话框. 弹出"文件夹选项"对话框.
四 ,文件和文件夹操作
1,文件和文件夹的选定 文件和文件夹的 ⑴选定
①单个文件:单击之. 单个文件:单击之. 多个文件: ②多个文件: 连续:单击最上面(或最下面)的文件, a. 连续:单击最上面(或最下面)的文件, Shift, 按住Shift 再单击最下面(最上面) 按住Shift,再单击最下面(最上面)的 文件. 文件. 不连续:按住Ctrl 再一一单击之. Ctrl, b. 不连续:按住Ctrl,再一一单击之. 全部文件:单击"编辑"菜单项,选择" ③全部文件:单击"编辑"菜单项,选择"全部选 定".
电脑浏览查找管理文件的操作方法
电脑浏览查找管理文件的操作方法全文共四篇示例,供读者参考第一篇示例:在日常工作中,我们经常需要使用电脑浏览、查找和管理文件,这是我们工作中非常重要的一部分。
正确的操作方法不仅可以提高工作效率,还可以避免一些不必要的错误。
下面我们来详细介绍一下电脑浏览、查找和管理文件的操作方法。
我们需要了解电脑中的一些基本概念。
电脑中的文件是以文件夹的形式组织的,我们可以将文件夹理解为一个存放文件的容器。
文件夹可以嵌套,即在一个文件夹中还可以包含其他文件夹,形成一个文件夹层级结构。
这种结构使得我们可以更加方便地组织和管理文件。
在电脑中打开文件夹是非常简单的,只需要双击文件夹图标即可。
我们也可以在文件夹中创建新的文件夹,只需要右键点击鼠标,在弹出的菜单中选择“新建文件夹”选项即可。
这样我们就可以创建一个新的文件夹来存放文件。
在浏览文件时,我们可能会遇到大量的文件,此时如何进行高效的文件查找就显得非常重要。
电脑中提供了搜索功能,我们可以通过搜索功能来查找指定的文件。
在文件夹中点击搜索框,然后输入关键字,即可搜索出包含该关键字的文件。
我们还可以设置搜索条件,比如搜索指定文件类型、搜索指定日期范围等。
除了搜索功能,我们还可以通过文件夹的排序和筛选功能来进行文件查找。
在文件夹中点击右键,选择“排序方式”或“筛选条件”,即可对文件进行排序和筛选。
这样我们就可以更加方便地找到需要的文件。
管理文件也是我们在工作中必须要做的一项工作。
在电脑中对文件进行管理可以提高我们的工作效率。
我们可以通过文件夹的重命名功能来为文件/文件夹命名,使得文件/文件夹的名称更加清晰明了。
我们还可以对文件进行复制、粘贴、剪切等操作,将文件从一个文件夹移动到另一个文件夹,或者复制文件到其他位置。
在进行文件管理时,我们还需要注意文件的备份。
文件备份是非常重要的,可以避免文件丢失或损坏的情况发生。
我们可以将重要的文件复制到U盘、移动硬盘或云存储中进行备份。
这样即使电脑损坏,我们也能够找回备份的文件。
Linux系列教程(四)——Linux常用命令之文件和目录处理命令
Linux系列教程(四)——Linux常⽤命令之⽂件和⽬录处理命令 这个系列教程的前⾯我们讲解了如何安装Linux系统,以及学习Linux系统的⼀些⽅法。
那么从这篇博客开始,我们就正式进⼊Linux命令的学习。
学习命令,⾸先要跟⼤家纠正的⼀点就是,我们不需要记住每⼀条命令的详细语法格式,学完之后我们只需要知道某个命令能⼲什么。
这样我们在实际应⽤中,遇到需要实现某个功能,我们脑海只要能想起来适⽤于某个命令就⾏,⾄于详细格式我们可以通过查资料。
当我们使⽤的多了,会不知不觉的记住这些命令,这才是正确的学习⽅法。
Linux命令有很多,如果初学者就想全部记住这些命令的详细格式,会对我们产⽣很⼤的学习挫败性,还没记完这些命令,或许你已经丧失了学习Linux的热情了。
所以接下来的⼏篇博客,我会详细讲解Linux常⽤命令的语法格式以及⽤法,⼤家记住⼤概的⽤法就⾏了,到时候不会可以回过头来查询。
本篇博客我们学习Linux最常⽤的⽂件处理命令。
1、Linux命令的普遍语法格式 命令格式:命令【-选项】【参数】 例⼦: ls -la /etc 说明:①、个别命令使⽤不遵循此格式,【】这种符号表⽰可以省略 ②、当有多个选项时,可以写在⼀起 ③、简化选项(⼀般⽤⼀个-)与完整选项(⼀般⽤两个--) ⽐如 ls -a 等于 ls --all 上⾯的便是Linux系统中的⼀般命令格式,基本上所有命令都是遵循这种语法格式(个别命令除外)。
2、⽬录处理命令 ⼀、显⽰⽬录⽂件命令:ls ①、命令名称:ls ②、英⽂原意:list ③、命令所在路径:/bin/ls ④、执⾏权限:所有⽤户 ⑤、功能描述:显⽰⽬录⽂件 ⑥、语法: ls 选项【-ald】【⽂件或⽬录】 -a 显⽰所有⽂件,包括隐藏⽂件 -l 详细信息显⽰ -d 仅显⽰⽬录名,⽽不显⽰⽬录下的内容列表 -h ⼈性化显⽰(hommization) -i 查看任意⼀个⽂件的i节点(类似于⾝份证唯⼀信息) -t ⽤⽂件和⽬录的更改时间排序;可以⽤第⼀个显⽰的⽂件判断最近修改的⽂件 注意:. 开头的⽂件除⾮是⽬录,否则就是隐藏⽂件 上⾯我们分别列出了ls的各种命令组合显⽰效果。
Linux实验4-Linux文件系统-目录和文件管理
实验报告课程名称: Linux操作系统实验名称:实验4、Linux文件系统-目录和文件管理学生姓名:班级学号学院(系):指导教师:实验时间:年月日实验成绩:实验四、Linux文件系统-目录和文件管理一、实验要求(1)掌握目录和文件管理的操作命令;(2)掌握文件权限的修改方法。
(3)掌握文件链接的方法。
二、实验内容和实验步骤【操作要求1】查看Linux系统常见的目录。
【操作步骤】输入命令:ls,查看Linux系统常见的目录,截图如下:【操作要求2】显示当前目录下文件类型。
【操作步骤】输入命令:ls –l|more,截图如下:说明:●“-”:表示普通文件●“d”:表示目录文件●“c”:表示字符设备文件●“b”:表示块设备文件●“l”:表示符号链接文件【操作要求3】查看当前目录下所有文件类型【操作步骤】输入命令:file *,截图如下:【操作要求4】先创建两个新目录dir1和dir2,然后将dir2目录移到dir1目录中,最后删除dir2目录。
【操作步骤】(1)以普通用户user登陆字符界面,输入命令:pwd,当前目录为用户的主目录:/home/user。
(2)输入命令:ls –l,查看当前目录中的所有文件。
(3)创建两个目录,输入命令:mkdir dir{1,2}。
(4)输入命令:ls –l,确认两个目录创建成功。
以上4个步骤截图如下:(5)输入命令:mv dir2 dir1,将dir2目录移动到dir1目录。
(6)输入命令:cd dir1,切换dir1目录,再输入:ls命令,查看到dir2目录。
截图如下:(7)删除dir2目录,输入命令:rm –rf dir2。
【操作要求5】查找profile文件。
【操作步骤】(1)切换用户为超级用户,输入命令:su -,并输入密码。
(2)输入命令:find /etc -name profile, 截图如下:(3) 使用exit命令,退出超级用户身份。
【操作要求6】将/etc/profile文件中所有包含“HOSTNAME”的行存入f4文件,并修改f4文件的权限,让所有用户都可以读写。
Linux命令rm文件和目录管理详解
Linux命令rm文件和目录管理详解rm 命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。
对于链接文件,只是删除整个链接文件,而原有文件保持不变。
接下来是小编为大家收集的Linux 命令 rm文件和目录管理详解,欢迎大家阅读:Linux 命令 rm文件和目录管理详解命令名称rm命令全称Remove基本语法rm [选项]… 文件…功能描述删除文件或目录命令选项注意:如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
如果想保证该文件的内容无法还原,请考虑使用 shred。
使用范例1.不带任何选项,运行 rm这是 rm 命令最基础的使用,将文件直接删除。
[wang@localhost test]$ ll总用量 0-rw-rw-r--. 1 wang wang 0 10月 20 10:11 test.txt[wang@localhost test]$ rm test.txt[wang@localhost test]$ ll总用量 0[wang@localhost test]$2.同时删除多个文件要同时删除多个文件,只需要将多个文件用空格隔开。
[wang@localhost test]$ ll总用量 0-rw-rw-r--. 1 wang wang 0 10月 20 10:15 test1.txt-rw-rw-r--. 1 wang wang 0 10月 20 10:15 test2.txt[wang@localhost test]$ rm test1.txt test2.txt[wang@localhost test]$ ll总用量 0[wang@localhost test]$3.强行删除使用-f 选项会强制进行删除操作。
如果目标文件不能打开,可以用 -f 尝试。
[wang@localhost test]$ ll总用量 0-rw-rw-r--. 1 wang wang 0 10月 20 10:37 test.txt[wang@localhost test]$ rm -f test.txt[wang@localhost test]$ ll总用量 0[wang@localhost test]$4.显示详细的进行步骤默认情况下,当删除成功时,仅会再次看到命令提示符。
如何设置win8系统文件显示完整路径
如何设置win8系统文件显示完整路径
如何设置win8系统文件显示完整路径
使用Windows8系统的用户都会遇到文件路径不能完全显示情况,在此系统的文件资源管理器窗口中的文件路径,其显示方式只能显示当前窗口的文件夹的名称,因此很多的用户便希望能完整地显示该文件的.路径。
那么该如何操作呢?下面一起来看看!
Win8显示完整的文件路径的步骤如下:
1. Win+E打开资源管理器(或者直接双击桌面图标“计算机”),打开窗口。
随便打开一个路径,我们可以看到效果图:
2. 点击菜单栏---查看---选项;
3. 打开选项---查看,找到“在标题栏中显示完整路径”,并在前面打勾;
4. 关闭文档重新打开来观察。
只需要以上简单的四个步骤,便能让Win8系统的文件路径都能完整地显示。
使用Win8系统的用户如果还在为文件路径不能完全显示的问题而在烦恼,就试试以上的步骤进行解决吧。
文件目录管理与显示
3 文件目录管理与显示1、题目的内容和要求给出目录和文件信息,要求编程实现将其排列成一棵有一定缩进的树。
(1)设计文件和目录信息树的存储结构。
(2)从文件或键盘输入目录和文件信息,输入格式采用绝对路径法,即:\A\A\AA1\A\AA1\aa1.doc…创建时要检查同一路径下不能有同名的目录或文件名。
(3)设计文件和目录信息树的输出格式(以凹入表的形式显示)。
(4)查找指定目录和文件。
(5)添加新目录或新文件。
(6)删除指定目录或文件,子目录能够被删除的前提是其为空,既不包含任何子目录和文件;根目录不能删除。
(7)扩充目录或文件信息,如创建时间、读写权限、文件长度或子目录包含的子目录和文件数等。
(8)对同一层次下的子目录或文件按创建时间有序输出。
选做内容:(1)如何实现相对路径表示法。
(2)通配符的使用。
如用“?”代表任意一个字符,用“*”表示任意多个多个任意字符。
2、设计2.1设计思想(1)数据结构设计:本体由于要对文件目录的处理,在一个文件中可以存放多个文件,所以用树,并且用孩子兄弟表示法,表示该树。
(2)算法设计:当在该目录下添加,查找,删除子目录时,相当于在该目录下对其孩子结点的处理,根据树建立和结点的孩子兄弟结点的处理来实现。
2.2设计表示调用函数TreeInitiate(SibTree *t)调用函数insertRoot( )调用函数insertChild( )2.3 详细设计编写树的建立和孩子结点的添加、删除、搜索等函数是比较简单的,关键在函数中怎么去判断是给其插入孩子结点还是兄弟结点,在删除时还要判断该目录是否有子目录或者子文件……这些都要在写程序时考虑进去,我认为这个题的难点还是在输出上,因为要按照题目要求,以凹入法输出,在输出函数中就要想到用递归法来处理该问题。
3、调试在写的过程中,没写一个函数都进行一次调试操作,以验证函数的正确性,在写完后,曾遇到过这样的情况:给一个结点的兄弟插入孩子结点时,出现了错误插入,变成了给该结点插入孩子结点,经过一步步的调试发现少一个判断过程,来判断这个结点是不是要插入的目的结点,通过修改问题被解决。
目录和显示文件内容命令
1. ls 显示目录的内容命令格式与常用命令选项(表4-1)如下:# ls [选项] [文件目录列表]表4-1 ls 选项文件目录列表为ls要处理的文件列表,可以使用通配符.如果没有给出,那么将默认为当前目录.例如,如果想取得当前目录所有文件的详细信息,可以用命令:[root@localhost root] # ls –al由图中可以看到所示的文件详细信息,大致有7列,各列对应的意义为:文件类型和权限、连接或目录记数、所有者、组、文件大小(按字节)、文件的最近修改时间以及文件名等信息.Linux支持多种文件类型,每一类都用一个字符来表示,即表4-2所示的每行第一个字符.表4-2 常见的文件类型紧跟着文件类型的字符表示文件的权限,权限有三串,各串分别代表文件所有者(称为user),组中其他人(称group)和系统中其他人(称other)的权限.每串由三个字符组成,依次代表对文件的读、写和执行权限.系统用”r”代表读权限、”w”代表写权限、”x”代表执行权限.当用户没有相应的权限时,该权限对应的位置用短线”-“表示.特别注意的是,用户对文件拥有的权限,不仅依赖对文件的权限,还依赖于对文件所属目录的权限.例如,虽然一个文件的权限为”rwxrwxrwx”,但其他用户也只有在对该文件所属目录拥有读、写和执行权限时,才能够对该文件进行读、写和执行.普通用户一般会将文件的权限设置成”rw-r—r—“,这种权限的设置允许其他用户读文件,但不能写和执行.而目录的权限一般都设置成”rwxr-xr-x”,这种权限的设置允许其他用户查看目录,但不能在其中建立或删除文件.lsdir列出当前目录的内容。
dir命令是ls命令的一个别名,所以这两个命令在文件罗列时使用的颜色代码是绝对一致的:深蓝色=目录浅灰色=一般文件绿色=可执行文件紫色=图形文件红色=压缩文件浅蓝色=链接文件黄色=设备文件棕色=FIFO文件(先进先出,命令管道)2 . cd改变当前目录命令格式和常用命令选项如下:# cd [目录项]执行cd命令会将当前的工作目录改变成指定的目录.如果没给出目录名,就改变到主目录.返回一个空串.它的用法跟DOS 下的cd命令基本一致.此外cd命令还有以下几个快捷用法: cd .. 可以进入上一层目录cd - 退到上一个进入的目录cd ~ 可进入用户的home目录3. pwd 显示当前目录命令的格式和常用选项如下: #pwd执行pwd命令形式为:[root@localhost root] # pwd/root执行命令,将会显示出当前的目录为”/root”.4.mkdir 新建目录命令格式和常用选项:mkdir [-p] dirName说明:建立名称为 dirName 之子目录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 文件目录管理与显示1、题目的内容和要求给出目录和文件信息,要求编程实现将其排列成一棵有一定缩进的树。
(1)设计文件和目录信息树的存储结构。
(2)从文件或键盘输入目录和文件信息,输入格式采用绝对路径法,即:\A\A\AA1\A\AA1\aa1.doc…创建时要检查同一路径下不能有同名的目录或文件名。
(3)设计文件和目录信息树的输出格式(以凹入表的形式显示)。
(4)查找指定目录和文件。
(5)添加新目录或新文件。
(6)删除指定目录或文件,子目录能够被删除的前提是其为空,既不包含任何子目录和文件;根目录不能删除。
(7)扩充目录或文件信息,如创建时间、读写权限、文件长度或子目录包含的子目录和文件数等。
(8)对同一层次下的子目录或文件按创建时间有序输出。
选做内容:(1)如何实现相对路径表示法。
(2)通配符的使用。
如用“?”代表任意一个字符,用“*”表示任意多个多个任意字符。
2、设计2.1设计思想(1)数据结构设计:本体由于要对文件目录的处理,在一个文件中可以存放多个文件,所以用树,并且用孩子兄弟表示法,表示该树。
(2)算法设计:当在该目录下添加,查找,删除子目录时,相当于在该目录下对其孩子结点的处理,根据树建立和结点的孩子兄弟结点的处理来实现。
2.2设计表示调用函数TreeInitiate(SibTree *t)调用函数insertRoot( )调用函数insertChild( )2.3 详细设计编写树的建立和孩子结点的添加、删除、搜索等函数是比较简单的,关键在函数中怎么去判断是给其插入孩子结点还是兄弟结点,在删除时还要判断该目录是否有子目录或者子文件……这些都要在写程序时考虑进去,我认为这个题的难点还是在输出上,因为要按照题目要求,以凹入法输出,在输出函数中就要想到用递归法来处理该问题。
3、调试在写的过程中,没写一个函数都进行一次调试操作,以验证函数的正确性,在写完后,曾遇到过这样的情况:给一个结点的兄弟插入孩子结点时,出现了错误插入,变成了给该结点插入孩子结点,经过一步步的调试发现少一个判断过程,来判断这个结点是不是要插入的目的结点,通过修改问题被解决。
4、用户手册此程序在VC 下运行,在运行时要按照每一步的提示的规格去进行操作5、测试数据和结果截图(1)初始时运行如图(2)进行添加操作,以输入0结束(3)进行查找操作继续添加文件 调用add () 删除文件 调用Delete () 查找文件 调用check( ) 输出文件目录 调用out ()(4)进行删除操作如果有子目录则不能删除或子文件没有子目录或子文件时(5)进行输出操作(6)退出时输入5即可退出6、源程序清单(1)测试源文件test.cpp#include <stdio.h>#include <malloc.h>#include <string>#include <iostream>#include <sstream>using namespace std;#include "Sibtree.h"void add(SibTree *t1){printf("输入目录文件信息以输入0结束:\n"); SibTreeNode *r, *r1,*r2;char ifm[1000]={'\0'},name1[50],name2[50]; char *str;int i,j,n;while(1){cin>>ifm;str=ifm;if(*str=='0')break;r=t1->root;if (r==NULL){for (i=0,str+=1;*str!='\\'&&*str!='\0';str++,i++){name1[i]=*str;}name1[i]='\0';if(*str=='\0')insertRoot(t1,name1);elseprintf("%s的路径不存在,不能添加\n",name1);}else{for (i=0,str+=1;*str!='\\'&&*str!='\0';str++,i++){name1[i]=*str;}name1[i]='\0';if(search(t1,name1)==0&&*str=='\0'){insertnextSibing(t1,r,name1);}if(search(t1,name1)==0&&*str!='\0')printf("%s的路径不存在,不能添加\n",name1);r1=LevelOrderTraverse(t1->root,name1);while(r1!=NULL){if(*str=='\0')break;for (i=0,str+=1;*str!='\\'&&*str!='\0';str++,i++){name2[i]=*str;}name2[i]='\0';if(*str=='\0'){if(insertChild(t1,r1,name2)){break;}}else{n=children(r1);for(j=1;j<=n;j++){if(strcmp(child(r1,j)->data,name2)==0)break;}if(j<=n)r2=child(r1,j);else r2=NULL;if(r2==NULL)printf("%s的路径不存在,不能添加\n",name2);}n=children(r1);for(j=1;j<=n;j++){if(strcmp(child(r1,j)->data,name2)==0)break;}if(j<=n)r1=child(r1,j);else r1=NULL;}}}}void check(SibTree *t){SibTreeNode *r;printf("输入要查找的文件名:");char name[50];cin>>name;r=LevelOrderTraverse(t->root,name);if(r==NULL)printf("没有此文件\n");else{printf("此文件找到,创建时间为:");printf("%d/%d/%d %d:%d:%d",r->year,r->month,r->day,r->hour,r->minute,r->second);printf("\t子目录个数为:");printf("%d\n",children(r));}}void Delete(SibTree *t){SibTreeNode *r,*p,*kid;printf("输入要删除的文件名:");char name[50];cin>>name;r=LevelOrderTraverse(t->root,name);if(r==NULL)printf("没有此文件!\n");else{if(r->firstChild!=NULL)printf("有子文件不能删除!\n");else{p=r->parent;kid=p->firstChild;if(strcmp(kid->data,r->data)==0)p->firstChild=kid->nextSibling;else{while(strcmp(kid->nextSibling->data,r->data))kid=kid->nextSibling;kid->nextSibling=kid->nextSibling->nextSibling;}printf("已删除!\n");}}}void out(SibTree *t){printf("输出文件目录的信息:\n");printf("root:\n");printf("%s",toString(t).c_str());}void main( ){SibTree t1;int k;TreeInitiate(&t1);while(1){printf("\n");printf("\t 文件管理\t\n");printf("\t********************************************************\t\n");printf("\t *************对照号码输入你要进行的操作*************\n");printf("\t 1 ——>添加\n");printf("\t 2 ——>查找\n");printf("\t 3 ——>删除\n");printf("\t 4 ——>输出\n");printf("\t 5 ——>退出\n");printf("输入你想进行的操作号码:");scanf("%d",&k);if(k==5)break;switch (k){case 1: add(&t1);break;case 2: check(&t1);break;case 3: Delete(&t1);break;case 4: out(&t1);break;default:printf("输入号码错误!\n");}}}(2)包含的头文件Sibtree.h#include <windows.h> SYSTEMTIME sys;typedef struct SibTreeNode{char data[50];int valid;int year;int month;int day;int hour;int minute;int second;int sonmulu;int sonfile;struct SibTreeNode * parent;struct SibTreeNode *firstChild;struct SibTreeNode *nextSibling;}SibTreeNode;typedef struct{SibTreeNode *root;int size;}SibTree;typedef SibTreeNode *QueueDataType; #include "SeqCQueue.h"int IsTreeEmpty(SibTree *t){return t->size == 0;}int isValidNode(SibTreeNode *p){if(p)return p->valid;else return 0;}//创建一个空树void TreeInitiate(SibTree *t){t->root = NULL;t->size = 0;}//创建结点SibTreeNode * newSibTreeNode(char x[50]){GetLocalTime(&sys);SibTreeNode *p=(SibTreeNode *)malloc(sizeof(SibTreeNode));strcpy(p->data,x);p->valid = true;p->year = sys.wYear;p->month = sys.wMonth;p->day = sys.wDay;p->hour = sys.wHour;p->minute = sys.wMinute;p->second = sys.wSecond;p->sonmulu=5; //扩充的信息,限制子目录的个数p->sonfile=1; //限制子文件的个数p->parent = NULL;p->firstChild = NULL;p->nextSibling = NULL;return p;}//创建包含一个结点的树void onenodeSibTree(SibTree *t,char x[50]){t->root = newSibTreeNode(x);strcpy(t->root->data,x);t->size = 1;}//输出当前结点的父亲节点SibTreeNode *root(SibTreeNode *p){if (p == NULL){p= (SibTreeNode*)malloc(sizeof(SibTreeNode));return p;}else{return p;}}//插入根节点void insertRoot(SibTree *t,char x[50]){SibTreeNode * newRoot = newSibTreeNode(x);newRoot->firstChild = t->root;if (t->root != NULL){t->root->parent = newRoot;}t->root = newRoot;t->size++;}// 输出树的大小int size(SibTree *t){return t->size;}// 构造一个不合法的结点SibTreeNode * invalidSibTreeNode (){SibTreeNode *p=(SibTreeNode *)malloc(sizeof(SibTreeNode));p->valid = false;return p;}//当前结点的孩子的个数int children(SibTreeNode *p)int count = 0;SibTreeNode *countNode;if (isValidNode(p)){countNode= p->firstChild;while (countNode != NULL){count++;countNode = countNode->nextSibling;}return count;}else{return 0;}}//返回当前结点的cth孩子结点SibTreeNode *child(SibTreeNode *p,int c){if (isValidNode(p)){if (c < 1){return invalidSibTreeNode ();}SibTreeNode *kid = p->firstChild;while ((kid != NULL) && (c > 1)){kid = kid->nextSibling;c--;}if (kid == NULL){return invalidSibTreeNode();}else{return kid;}}elsethrow "the node is not a valid node!";}//返回当前结点的兄弟结点SibTreeNode *nextSibling(SibTreeNode *p){if (isValidNode(p)){if (p->nextSibling == NULL){return invalidSibTreeNode();}else{return p->nextSibling;}}else{throw "the node is not a valid node!";return invalidSibTreeNode();}}//插入孩子结点int insertChild(SibTree *t,SibTreeNode *p, char x[50]) {SibTreeNode *n;int i,flog=0;for(i=0;x[i]!='\0';i++){if(x[i]=='.'){flog=1;break;}}if(isValidNode(p)){n=p->firstChild;if(n==NULL){p->firstChild=newSibTreeNode(x);p->firstChild->parent=p;}elsewhile(n!=NULL){if(strcmp(n->data,x)==0){printf("输入的文件有重名,请更改名字!");break;}if(n->nextSibling==NULL)break;n=n->nextSibling;}if(strcmp(n->data,x)!=0){if(flog==1&&children(n->parent)<n->parent->sonfile){n->nextSibling=newSibTreeNode(x);n->nextSibling->parent=p;}elseif(flog==1)printf("文件数超出,不能继续存储\n");elseif(flog==0&&children(n->parent)<n->parent->sonmulu){n->nextSibling=newSibTreeNode(x);n->nextSibling->parent=p;}else if(flog==0)printf("子目录超出,不能继续存储\n");}}t->size++;return 1;}else return 0;}//为当前结点插入兄弟结点int insertnextSibing(SibTree *t,SibTreeNode *p, char x[50]){SibTreeNode *n;if(isValidNode(p)){n=p->nextSibling;if(n==NULL)p->nextSibling=newSibTreeNode(x);else{while(n->nextSibling!=NULL)n=n->nextSibling;n->nextSibling=newSibTreeNode(x);n->nextSibling->parent=p->parent;}t->size++;return 1;}else return 0;//层序遍历SibTreeNode *LevelOrderTraverse (SibTreeNode *t, char a[50]) {SeqCQueue Q;SibTreeNode *x;if(t==NULL)return NULL;QueueInitiate(&Q);QueueAppend(&Q,t);x=t->nextSibling;while(x!=NULL){QueueAppend(&Q,x);x=x->nextSibling;}while(QueueNotEmpty(Q)){QueueDelete(&Q,&x);if(strcmp(x->data,a)==0)break;x=x->firstChild;while(x!=NULL){QueueAppend(&Q,x);x=x->nextSibling;}}return x;}//查找是否存在int search(SibTree *t,char x[50]){if(LevelOrderTraverse(t->root,x)==NULL)return 0;else return 1;}string preorderString(SibTreeNode *currentNode, int depth){string s=" ";stringstream out;if (currentNode == NULL){return "";}for (int i = 0; i < depth; i++){s = s + " ";}out << currentNode->data;s+=out.str();s+="\n";s+=preorderString(currentNode->firstChild, depth + 1) ;s+=preorderString(currentNode->nextSibling, depth);return s;}string toString(SibTree *t){return preorderString(t->root, 0);}(3)包含头文件SeqCQueue.htypedef struct{QueueDataType queue [50];int front;int rear;int count; /* 队列的当前表长*/} SeqCQueue;//初始化void QueueInitiate(SeqCQueue *Q){Q->front=0;Q->rear=0;Q->count=0;}//判断队列非空int QueueNotEmpty(SeqCQueue Q){if(Q.count!=0) return 1;else return 0;}//入队列int QueueAppend(SeqCQueue *Q,QueueDataType x)if(Q->count>0 && Q->rear==Q->front){printf("队列已满无法插入!\n");return 0;}else{Q->queue[Q->rear]=x;Q->rear=(Q->rear+1)%50;Q->count++;return 1;}}//出队列int QueueDelete(SeqCQueue *Q,QueueDataType *x) {if(Q->count==0){printf("队列已空无数据元素出队列!\n");return 0;}else{*x=Q->queue[Q->front];Q->front=(Q->front+1)%50;Q->count--;return 1;}}//取对头数据元素int QueueGet(SeqCQueue *Q,QueueDataType *x) {if(Q->count==0){printf("队列已空无数据元素出队列!\n");return 0;}else{*x=Q->queue[Q->front];return 1;}}。