Linux基础之文本操作

1 文件流

Linux shell中有三种输入\输出流:标准输入流,标准输出流,标准错误流。每种流都有一个文件描述符、一个常用的缩写名称、一个常用的默认设备(这个有点意思)。
键盘输入(默认设备),其实就是将输入发送到标准输出流,其缩写为stdin,标识为0。
终端显示(默认设备),其实就是标准输出流,其缩写为stdout,标识为1。
终端上显示错误信息(默认设备),其实就是标准错误流,其缩写stderr,标识为2。
[ 其中上面三个标识,可以用于当一个命令执行完后,利用最后的输出信号,进行判断($?)命令\脚本 执行是否成功,如果$? 为2 则代表执行失败。]

2 最常使用的逻辑运算符

场景1:当前2个命令,如果要前面一个执行完再执行后面一个;

&& 符号链接,如果使用此符号链接,则只有当前面一个执行成功才会执行后面一个。

场景2:当前2个命令,如果前面一个执行失败,则执行后面一个;(失败则退出)

|| 当前面一个执行失败,则执行后面一个(clear.sh || return ),执行失败则退出。

3 将流使用stdin,stdout

场景:需要将命令、脚本执行的过程、结果同时输出到文本和窗口。

一般使用后台、或者 >> 会将结果、过程都输出到指定文件。此时使用tee命令即可。

tee会把输出拆分为两个流,一个流传送到stdout,一个传送到stdin

#!/bin/bash
ls -la | tee test.txt
# 此时窗口会输出,并且文件里面也会有输入

4 文件查看

大多数情况都是可以按文件后缀看到文件类型,但是在Linux中文件后缀(扩展名)并不是使用文件正常工作中所必须的部分,它们的存在仅仅是处于习惯,是其他操作系统带来的残留影响。

一般使用ls -lF ,但是只能显示文件、文件夹、可执行等大概信息,实际的类型还是无法知晓。file 命令可以查看文件的类型,文件属性.

file file_name ;
file * # 查看当前文件夹所有文件的类型
#活着.1080p.HD中字:                                            directory
[www.66ys.org]守法公民BD中英字幕1024x576无水印版.rmvb:         RealMedia file
0C844F52E8350E67FD41BC45AFCBC16EA7B88830.torrent:              BitTorrent file
43B9C14A60C2DDA9BB55B9FC8A7A0779B18B69CE.torrent:              BitTorrent file
800:                                                           directory
B0444518E3B2FB1933C769F44D4986031BCC0659.torrent:              BitTorrent file
B4263935317AD1103550783132B57456CC3A854B.torrent:              BitTorrent file
D50319A98262D564E2E3B2E05866D72933868219.torrent:              BitTorrent file
Everything-1.4.1.988.x86-Setup.exe:                            PE32 executable (GUI) Intel 80386, for MS Windows
hat.1080p.BD中英双字[最新电影www.6vhao.tv].mp4:                ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]
teleport-assist-windows-3.0.1.6.exe:                           PE32 executable (GUI) Intel 80386, for MS Windows, Nullsoft Installer self-extracting archive
阿特米斯的奇幻历险.1080p.HD中英双字[66影视www.66Ys.Co].mp4:    ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]
艾娃.1080p.HD中英双字:                                         directory
爱与怪物.1080p.BD中英双字:                                     directory
悲惨世界.1080p.HD中字[66影视www.66Ys.Co].mp4:                  ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]
超人:明日之子.1080p.HD中字:                                   directory
templates:                                               directory
test.py:                                                 Python script, UTF-8 Unicode text executable, with CRLF line terminators
tornado-resources:                                       directory
tornado-resources-master.zip:                            Zip archive data, at least v1.0 to extract
untitled:                                                directory
uwsgi.ini:                                               UTF-8 Unicode text
测试.py:                                                 Python script, UTF-8 Unicode text executable, with CRLF line terminators
试验.py:                                                 Python script, UTF-8 Unicode text executable, with CRLF line terminators

5 文件拼接

 需求将两个文件合成一个文件

cat file1 file2 > file3 

此时是将stdout 输入到stdin ,此时如果使用cat file1 file2 >file2 则会报错,文件不可以同时进行输入,输出操作。

6 显示文件时输出行号,

 cat -n

7 逐步查看文件文本。

使用cat能方便看文件,但是如果日志文件太大,那就完全没用了。

more、less、pg、most等都是可以的,但是less是1985年发布的改进版more。less确实比
more好用

less 使用最多的翻页快捷键

pageDe、e或者空格  前进一页
PageUp 、b      后退一页
e、j、return、下箭头 前进一行
y、k、上箭头     后退一行
G p             前进到文件结尾
1G              回到文件开头
Q          退出less命令

使用less 后,然后在界面中使用 = (等号)可以查看到文件信息,当前页数等。

less -N file 可以在查看时显示行数,

less还有个使用较少的方式,一边查看,然后编辑当前页面。使用less后,然后使用v,则会进行编辑当前页面,然后退出后会继续查看。当然我们使用最多的还是vim,所以这个命令有点鸡肋。

8 tail、head命令

tail 查看文件末尾行数,默认是10 行,

tail -100f  直接看到最后100行,并且会持续进行输出到窗口显示,此命令也可以同时查看多个文件。

head 查看文件前10行,

head -n 5 查看文件前5行 ,后面可以接多个文件,多文件进行查看。

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值