1、文件的创建与删除

(1)练习使用-p或者--parents在桌面上同时创建多级目录,例如xx/yy/zz。

mkdir - p  xx/yy/zz或者mkdir --parents xx/yy/zz

[tom@iZbp12r8eimkkdor4011j3Z ~]$ mkdir -p xx/yy/zz
[tom@iZbp12r8eimkkdor4011j3Z ~]$ ls
xx
#注意,如果想一条命令创建多级的目录,需要加上-p的选项

(2)依次删除zz、yy、xx目录

rmdir xx/yy/zz
#删除zz文件
rmdir xx/yy#删除yy文件
rmdir  xx
#删除xx

(3)重新创建xx/yy/zz,同时删除这几级目录

#方法一
rmdir -p xx/yy/zz
#方法二
rm -r xx

2、文件的基本操作

前提:在用户主目录下创建名为dir1的目录,并且用touch命令在主目录下创建名为myfile的文件(用cat>文件名,输入文本后,以Ctrl+d结束输入)

[tom@iZbp12r8eimkkdor4011j3Z ~]$ touch myfile
#'>'输出重定向,将输入的内容输出到文件中
[tom@iZbp12r8eimkkdor4011j3Z ~]$ cat>myfile
this is the value of myfile
[tom@iZbp12r8eimkkdor4011j3Z ~]$ mkdir dir1
[tom@iZbp12r8eimkkdor4011j3Z ~]$ ls
dir1  myfile

(1)用cp命令复制主目录下的myfile文件到dir1目录下

[tom@iZbp12r8eimkkdor4011j3Z ~]$ cp myfile dir1
[tom@iZbp12r8eimkkdor4011j3Z ~]$ ls
dir1  memos  myfile
[tom@iZbp12r8eimkkdor4011j3Z ~]$ cd dir1
[tom@iZbp12r8eimkkdor4011j3Z dir1]$ ls
myfile

(2)将dir1目录下的myfile文件改名为myfile.old

[tom@iZbp12r8eimkkdor4011j3Z ~]$ cd dir1
[tom@iZbp12r8eimkkdor4011j3Z dir1]$ mv myfile myfile.old
[tom@iZbp12r8eimkkdor4011j3Z dir1]$ ls
myfile.old

(3)将主目录下的文件myfile移动到dir1目录下

[tom@iZbp12r8eimkkdor4011j3Z ~]$ cd
[tom@iZbp12r8eimkkdor4011j3Z ~]$ ls
dir1  memos  myfile
[tom@iZbp12r8eimkkdor4011j3Z ~]$ mv myfile dir1
[tom@iZbp12r8eimkkdor4011j3Z ~]$ ls
dir1  memos
#文件被移动,所以不存在于主目录下了

(4)将dir1目录中的文件复制到主目录下的xx目录中(xx不存在),之后查看xx的内容

[tom@iZbp12r8eimkkdor4011j3Z ~]$ cp -r dir1 xx
#原本不存在xx目录则会自动创建
[tom@iZbp12r8eimkkdor4011j3Z ~]$ ls
dir1  memos  xx
[tom@iZbp12r8eimkkdor4011j3Z ~]$ cd xx
[tom@iZbp12r8eimkkdor4011j3Z xx]$ ls
myfile  myfile.old

(5)在主目录下创建yy目录,将dir1目录递归复制到yy目录中,之后查看yy的内容

[tom@iZbp12r8eimkkdor4011j3Z ~]$ ls
dir1  xx
[tom@iZbp12r8eimkkdor4011j3Z ~]$ mkdir yy
[tom@iZbp12r8eimkkdor4011j3Z ~]$ cp -r dir1 yy
[tom@iZbp12r8eimkkdor4011j3Z ~]$ ls yy
dir1
#最终会连同dir1都复制到yy的目录底下

(6)改变工作目录为dir1,列出所有扩展文件名为old的文件

cd dir1
ls *.old

(7)用wc命令显示myfile文件中的行数、字数和字符数

[tom@iZbp12r8eimkkdor4011j3Z ~]$ cd dir1
[tom@iZbp12r8eimkkdor4011j3Z dir1]$ wc myfile1  6 28 myfile
#行数 、字数、字符数

3、在用户主目录下创建名为memos的目录,在memos目录下创建文件file1, file2, file3, file12, 12file,fileab,afile,bfile,abfile,每个文件适当输入一定内容。

[tom@iZbp12r8eimkkdor4011j3Z ~]$ mkdir memos
[tom@iZbp12r8eimkkdor4011j3Z ~]$ cd memos
[tom@iZbp12r8eimkkdor4011j3Z memos]$ touch file1 file2 file3 file12 12file fileab afilebbfile afile abfile
[tom@iZbp12r8eimkkdor4011j3Z memos]$ ls
12file  abfile  afile  afileb  bfile  file1  file12  file2  file3  fileab

(1)列出memos目录中文件名以file开头的文件

ls file*

(2)查看memos目录中所有文件的i节点号

[tom@iZbp12r8eimkkdor4011j3Z memos]$ ls -i
83393 12file  83430 afile   83429 bfile  83392 file12  83361 file3
83431 abfile  83404 afileb  83337 file1  83338 file2   83396 fileab

(3)显示文件内容

1) 显示file1文件的内容

cat file1

2) 同时显示文件file1,file2,file3的内容

cat file1 file2 file3

3) 显示文件fileab的内容,要求带行号

cat -n fileab

(4)删除文件

1) 删除memos目录中的一个文件

rm file1

2) 同时删除memos目录中的两个文件

rm file2 file3

3) 删除时使用-i选项,体会-i选项的用法

[tom@iZbp12r8eimkkdor4011j3Z memos]$ rm -i afile
rm: remove regular empty file 'afile'? y
#输入y代表确认删除n代表取消删除

4、将/etc/yum.conf复制为admin用户桌面上的文件yumfile,为yumfile创建硬链接文件和符号链接文件,然后查看链接文件的索引节点号和文件内容。接下来修改源文件、硬链接文件、符号链接文件,查看其他两个文件内容的变化。然后删除源文件,观察硬链接文件和符号链接文件的变化。

[tom@iZbp12r8eimkkdor4011j3Z ~]$ cp /etc/yum.conf yumfile
[tom@iZbp12r8eimkkdor4011j3Z ~]$ ln yumfile ylinkfile  #创建硬链接
[tom@iZbp12r8eimkkdor4011j3Z ~]$ ln -s yumfile softlinkfile #创建软链接(符号链接)[tom@iZbp12r8eimkkdor4011j3Z ~]$ ll
total 8
lrwxrwxrwx. 1 tom tom   7 Dec 24 23:24 softlinkfile -> yumfile     #软链接文件有箭头指引
drwxrwxr-x. 2 tom tom  38 Dec 24 23:01 xx
-rw-r--r--. 2 tom tom 149 Dec 24 23:23 ylinkfile                   #硬链接与源文件的i结点数都是149
-rw-r--r--. 2 tom tom 149 Dec 24 23:23 yumfile
drwxrwxr-x. 3 tom tom  18 Dec 24 23:05 yy
  • 硬链接文件的大小和源文件的大小一样,但是软链接文件的大小通常是源文件名的字节数
  • 不论硬链接文件还是软链接文件,内容都和源文件yumfile一样
  • 修改硬连接文件或者符号链接文件,另两个文件同样变化
  • 删除源文件,硬链接文件依然存在,不受影响,但是软链接文件变成死链接,文件打不开

5.tail head的用法

#示例:如果想要打印11-20行的内容
1.先取文件的前20行,再取出来其中的后10行就是11-20行的内容了
head -n 20 hello.txt | tail -n 10
如果同时想要列出来行号进行验证:
cat -n hello.txt | head -n 20 | tail -n 10

6.文件查找

(1)在/etc中查找名为passwd的文件

find /etc -name passwd

(2)在主目录及其子目录中查找名为myfile的文件

[tom@iZbp12r8eimkkdor4011j3Z ~]$ find ~ -name myfile
/home/tom/xx/myfile
/home/tom/yy/dir1/myfile

(3)在主目录中查找名字中包含“D”的所有文件和目录

[tom@iZbp12r8eimkkdor4011j3Z ~]$ find ~ -name "*D*"
/home/tom/Dwrgegi
/home/tom/egnuiD

(4)查找主目录中的所有目录文件

[tom@iZbp12r8eimkkdor4011j3Z ~]$ find ~ -type d
/home/tom
/home/tom/xx
/home/tom/yy
/home/tom/yy/dir1

(5)从/home开始查找属于admin的所有文件

find /home -user admin

7.文件内容查找

(1) 从 /etc/passwd 文件中查找mail用户的信息

[tom@iZbp12r8eimkkdor4011j3Z ~]$ grep mail /etc/passwd
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

(2) 从 /etc/passwd 文件中查找 shells 为 /bin/bash的所有账户

[tom@iZbp12r8eimkkdor4011j3Z ~]$ grep "bin/bash" /etc/passwd
root:x:0:0:root:/root:/bin/bash
tom:x:1002:1002::/home/tom:/bin/bash
git:x:1003:1003::/home/git:/bin/bash

(3) 从 /etc/passwd 文件中查找 UID or GID (第三或第四列) 为 5 的所有账户

[tom@iZbp12r8eimkkdor4011j3Z ~]$ grep :5: /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync

(4) 从 /etc/passwd 文件中查找 UID和GID都在 70-79 之间的所有账户

[tom@iZbp12r8eimkkdor4011j3Z ~]$ grep :7[0-9]:7[0-9]: /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin

(5) 显示/etc/nfs.conf文件中所有的非注注释行(注释行以#开头)

grep  -v  ^#  /etc/nfs.conf

(6) 显示/etc/yum.conf文件中以gpg开头的行

[tom@iZbp12r8eimkkdor4011j3Z ~]$ grep ^gpg /etc/yum.conf
gpgcheck=1

Linux基本文件操作练习(附答案分析)相关推荐

  1. linux拷贝文件函数,linux下文件操作的各个函数

    作者:HoytEmail:hoytluo@21cn.com 前言: 我们在这一节将要讨论linux下文件操作的各个函数. 文件的创建和读写 文件的各个属性 目录文件的操作 管道文件 --------- ...

  2. 计算机二级ppt操作题内容,计算机二级考试ms office考试题库ppt 操作题附答案

    计算机二级考试ms office考试题库ppt 操作题附答案 请在[答题]菜单下选择[进入考生文件夹]命令,并按照题目要求完成下面的操作.注意:以下的文件必须保存在考生文件夹下文慧是新东方学校的人力资 ...

  3. linux修改目录block信息,linux下文件操作inode,block的变化

    在"浅谈linux性能调优之三:分区格式化之前的考虑" http://my.oschina.net/sharelinux/blog/143522    一文中我说了inode与bl ...

  4. Linux的文件操作

    1. 文件操作系统的调用 Linux的文件操作系统调用(在Windows编程领域,操作系统提供的接口称为 API)涉及创建(create).打开(open).读写(read/write)和关闭(clo ...

  5. Linux内核文件操作

    Linux内核文件操作 前言 一.文件操作结构体 二.VFS之file_operations对象 1.文件打开filp_open 2.文件关闭filp_close 3.文件读取vfs_read 4.文 ...

  6. 服务器LINUX查看文件操作

    LINUX查看文件操作 步骤命令如下: grep # 显示 key 所在行及前后5行grep -5 'key' filegrep -C 5 'key' file # 显示 key 所在行及前5行gre ...

  7. Linux C: 文件操作相关的系统调用

    一.常见的文件操作相关的系统调用 普通权限的系统调用 函数 说明 int access(char *pathname,int mode) 检查对某个文件的权限 int chdir(const char ...

  8. linux c 文件操作

    目录 一.简述 二.系统I/O 2.1 open()函数 2.2 close()函数 2.3 read()函数 2.4 write()函数 2.5 lseek()函数 2.6 mmap()函数 三.标 ...

  9. linux c文件操作,Linux C 文件的输入/输出操作

    10.1 文件I/O操作概述 在Linux系统中,文件I/O操作可以分为两类,一类是基于文件描述符的I/O操作,另一类是基于数据流的I/O操作. 10.1.1 文件描述符简介 在文件操作一章中,也经常 ...

  10. 【Linux】文件操作系统调用

    一. 文件描述符 在Linux下使用文件描述符来表示设备文件和普通文件.文件描述符是一个整型的数据,所有对文件的操作都通过文件描述符实现.文件描述符的范围是0~OPEN_MAX,系统中有3个已经分配的 ...

最新文章

  1. unity, 什么时候用静态类,什么时候用单例
  2. 数据结构源码笔记(C语言):分块法查找
  3. JavaScript实现prim普里姆算法(附完整源码)
  4. Android TV开发焦点动作控制小技巧
  5. select 统计数量_SQL应用实战 | 销售数据统计指标
  6. oracle定义变量
  7. c语言switch工资怎么弄,超级新手,用switch写了个计算器程序,求指导
  8. 计算机应用程序无响应,必看!电脑运行卡或软件卡死无响应,怎么办?
  9. 如何分配资源和管理资源
  10. 行亦谦ACM自闭之旅第七周
  11. Win10资源管理器CPU持续占用20%解决方法
  12. Linkdwg2节点包
  13. 2个红外传感器循迹原理_8个蓝牙小车的设计方案
  14. 病毒分析师,你了解多少?
  15. 仿牛客网项目第二章:开发社区登录模块(详细步骤和思路)
  16. AcWing 学习日记——笨拙的手指
  17. 什么是OID(全局对象标识符)
  18. Android特效专辑(一)——水波纹过渡特效(首页)
  19. 2021年安全员-C证(山东省-2021版)最新解析及安全员-C证(山东省-2021版)考试APP
  20. 13个高含金量编程竞赛,99%的家长都为孩子收藏了

热门文章

  1. layui使用模板渲染数据
  2. When you want to give up, remember why you started.
  3. 无损数据压缩 Lossless Compression
  4. 测试点设计及编写思路
  5. OBB包围盒及其碰撞检测算法(一)
  6. 微信图片过期怎么办?如何查看微信过期图片?3步即可
  7. 找回知之阅读笔记的方法
  8. myeclipse Snippets的配置
  9. 计算机考研300分什么水平,工科考研300分什么概念
  10. VMWare安装使用、Linux命令、Docker安装和Linux项目部署