【RHCSA】从命令行管理文件

目录

创建链接文件

创建目录文件

创建普通文件

删除文件

修改文件

数据流和重定向

数据流

重定向操作符

vi/vim编辑器

命令模式功能与按键

编辑模式功能与按键

末行模式功能与按键


文件命名规则:

        Ⅰ、不能用/来当文件名,/是用来做根的,也是用来做路径分隔符

        Ⅱ、文件名不能超过255个字符

        Ⅲ、区分大小写file File FILE

        Ⅳ、目录也是文件,在同一路径下,两个不同类型文件不能同名

创建链接文件

        创建目录文件:mkdir [-p] [/路径]/目录名

        [root@localhost ~]# mkdir /test

        就已经在根目录下创建test目录了了

        [root@localhost ~]# cd /

        [root@localhost /]# ll

        drwxr-xr-x.   2 root root    6 10月  4 15:27 test

        创建普通文件:touch

        [root@localhost /]# cd test

        [root@localhost test]# ll

        总用量 0

        [root@localhost test]# touch qiu

        [root@localhost test]# ll

        总用量 0

        -rw-r--r--. 1 root root 0 10月  4 15:30 qiu

        创建链接文件:ln

        创建硬链接:ln 原文件名 硬链接文件名

        [root@localhost test]# ln qiu qiu.hard

        [root@localhost test]# ll

        总用量 0

        -rw-r--r--. 2 root root 0 10月  4 15:30 qiu

        -rw-r--r--. 2 root root 0 10月  4 15:30 qiu.hard

        【硬链接次数变2了】

        创建软链接:ln -s 原文件名 软链接文件名

        [root@localhost test]# ln -s qiu qiu.soft

        [root@localhost test]# ll

        总用量 0

        -rw-r--r--. 2 root root 0 10月  4 15:30 qiu

        -rw-r--r--. 2 root root 0 10月  4 15:30 qiu.hard

        lrwxrwxrwx. 1 root root 3 10月  4 15:36 qiu.soft -> qiu

【秋之探索】:ls出来的那个(total 0)总用量 0是啥子意思?答:列出的所有文件使用的总的块(block)数。

【再来一点】每一块多大我搜了下好像是可以设置的

        创建好以后可以顺便看一下他们的关系

        [root@localhost test]# ll -i

        总用量 0

        19188998 -rw-r--r--. 2 root root 0 10月  4 15:30 qiu

        19188998 -rw-r--r--. 2 root root 0 10月  4 15:30 qiu.hard

        19189000 lrwxrwxrwx. 1 root root 3 10月  4 15:36 qiu.soft -> qiu

第一列那个数字就是之前那个硬链接软链接关系;数字代表inode索引节点编号,相当于人的身份证、家庭住址,全国唯一。系统读取文件时首先通过文件名找到inode号码,然后才能读取到文件内容。

创建目录文件

        创建目录文件:

mkdir 与 mkdir -p 的区别

        [root@localhost test]# mkdir -p /test/test2/test1

        [root@localhost test]# tree /test【树的形式列出文件】

        /test

                ├── qiu

                ├── qiu.hard

                ├── qiu.soft -> qiu

                        └── test2

                        └── test1

        2 directories, 3 files

一次性创建多个目录文件在一个目录下

        例如在test2下再同时创建test3与test4

        ×错误示范1:

                mkdir /test/test2/"test3,test4"

                这个搞出来只是创建了个名字长的文件夹,并不是两个

        ×错误示范2:

                mkdir /test/test2{test3,test4}

                这个错在test2后没跟/,最后的结果是在test下创建了test2test3和test2test4这俩目录

正确示范✔:

                mkdir /test/test2/{test3,test4}

                或者去test2目录下直接 mkdir test3 test4

创建普通文件

        创建普通文件:touch

                [root@localhost /]# cd test

                [root@localhost test]# ll

                总用量 0

                [root@localhost test]# touch qiu

                [root@localhost test]# ll

                总用量 0

                -rw-r--r--. 1 root root 0 10月  4 15:30 qiu

创建多个普通文件:

                touch {1..10  }【注意是两个点嗷,要是中间是逗号,就只有文件1和文件10了】

                touch a{1..10} 创建a1,a2……

删除文件

删除①:

        [root@localhost test]# rm aaa

        rm:是否删除普通空文件 'aaa'?y

删除②:

        [root@localhost test]# rm -f bbb【这个直接不问就开删,工作置换器】

删除③:

        [root@localhost test]# rm aaa

        rm: 无法删除'aaa': 是一个目录【删除目录需要递归,-r (recursive)】

        [root@localhost test]# rm -r aaa

        [root@localhost test]# rm -rf aaa

修改文件

        echo 内容> 文件

        touch a

        查看文件详情:stat a

        这个是中文版

        英文版三个时间是:

  •                 atime:即access time,查看了一下文件内容(cat),文件的atime时间会更新。
  •                 mtime:即modify time,文件内容被改变了,mtime会更新
  •                 ctime:即change time,元数据(文件的属性,例如大小文件名等)被改变,ctime会更新

数据流和重定向

数据流

  • 标准输入(standard input,简称stdin):默认情况下,标准输入是从键盘获取的输入
  • 标准输出(standard output,简称stdout):默认情况下,命令执行所回传正确的信息会输出到屏幕上。
  • 标准错误输出(standard error output,简称stderr):默认情况下,标准错误输出可理解为命令执行失败后所回传的错误信息会输出到屏幕上。

stdin

0

stdout

1

stderr

2

重定向操作符

  • 输出重定向操作符:>、>>

        例如 echo 123>a (如果没有a文件会创建a)、date >>a

                >:覆盖     >>:追加

  • 输入重定向操作符:<、<<

输出重定向案例

        错误输出重定向:

                ls /home/ /aaaaaaaa >list.txt

                ls:无法访问/aaaaaaa:没有那个文件或目录

                ls /home/  /aaaaaaa >list.txt 2>error.txt【这里正确的和错误的分放了】

        正确的和错误的都放到一个文件里:

                ls /home/ /aaaaaaa >list.txt 2 >list.txt

                或者ls /home/ /aaaaaaa &>list.txt

输入重定向案例

        标准输入重定向:<或者0< 、0<<或<<

        案例1:从文件读取数据作为cat命令的输入

                [root@localhost ~]# cat <a

        案例2:

                <<不表示追加,而是表示输入结束的意思,即作为一个结束符

                [root@localhost ~]# cat > text << end

                > abc

                > qqq

                > end

                [root@localhost ~]# cat text

                abc

                qqq【输入的时候内容没有结束符】

将标准输出重定向到文件

        ehco命令用于在终端设备上输出字符串或变量提取后的值,语法格式为

        echo [字符串] [$变量]

        [root@localhost ~]# csa=1

        [root@localhost ~]# echo $csa

        1

 tee命令读取数据输出到文件

        ①管道符|:用于两个命令或者多个命令相连接,将管道符左边命令的输出作为管道符右边命令的输入

        ②tee文件:读取标准输入的数据,并将其内容输出到文件的同时输出到屏幕(即想把输出保存到文件中,又想在屏幕上看到内容)

        tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时输出到文件。

        语法: tee [-ai] [--help] [--version] [文件……]

参数:

  • -a或--append,附加在现有文件的后面,而非覆盖它
  • -i或--ignore-interrupts 忽略中断信号
  • --help 在线帮助

Q1 、如何在linux上使用这个命令?

        [command命令] | tee [file]

        [root@localhost ~]# date | tee text【如果没有text文件会自己创一个】

        2022年 10月 05日 星期三 16:55:15 CST

        [root@localhost ~]# cat text

        2022年 10月 05日 星期三 16:55:15 CST

vi/vim编辑器

        vim三种模式

                命令模式,末行模式,编辑模式

        vim是vi的进阶版,有对代码的着色功能,对代码纠错

        使用vi/vim编辑文件

                #在每次运行vim编辑器时,默认进命令模式

                [root@localhost ~]#vim 文件

aiso是键盘这四个键随便按一个就行

        前面那个数字,要在末行模式下敲:set nu

命令模式功能与按键

功能

按键

光标按单个字符移动

↑,↓,←,→

光标按照单词向后跳转

w

光标按照单词向前跳转

b

光标跳转至行首

^(ctrl 6 英语键盘)

光标跳转至行尾

$(ctrl 4 英语键盘)

文档首行第一个字符

gg

文档最后一行第一个字符

G

跳转到指定行

行号gg 或者 行号G

删除光标所在行

dd

删除除从光标处开始的n行

ndd

删除光标前至行首字符

d^

删除光标及之后的所有字符

d$

复制光标所在行

yy

复制从光标处开始的n行

nyy

将缓冲区的内容粘贴到光标所在行的下一行

p小写

将缓冲区的内容粘贴到光标所在行的上一行

P大写

撒销操作

u

编辑模式功能与按键

功能

按键

在光标所在行行首第一个非空字符前插入

i

在光标后插入

I

在光标所在行末尾插入

a

在光标所在行上一行插入

O大写

在光标所在行下一行插入

o小写

删除光标所在字符并进入插入模式

s小写

删除当前行并进入插入模式

S大写

末行模式功能与按键

功能

按键

从上而下在文件中直找字符串"word"(可按n键定位到下一个匹配的被查找字符串)

/word

将当前行中查找到的第一个字符"old"替换为"new"

:s /old/new

将当前行中直找到的所有字符"old"替换为"new"

:s /old/new/g

在行号"n1,n2"范围内替换所有的字符串"old"为new"

:n1,n2s/old/new/g

将整个文件内的字符串"old"替换为"new"

:%s/old/new/g

退出编辑器,未对文件做出编辑操作才可退出

:q

不保存文档内容,强制退出编辑器

:q!

保存文件

:w

将文件另存为/dir/file

:w/dir/file

保存文件内容并退出编辑器

:wq或者ZZ

强制保存并退出

:wq!

其他操作

在当前文件中读入其他文件内容

:r/dir/file

直找含有"word"的行并删除

:g/word/d

显示行号

:set nu

关闭行号显示

:set nonu

到除n1-n2行内容

:n1,n2 d

复制n1-n2行到第n行后面

:n1,n2 co n

文件操作

        文件的复制:cp a ./dir【将a文件改名dir复制到当前目录下】

        文件的移动:mv a ./dir

        【注意在同一目录下不能有相同名字文件】

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值