tr命令,wc命令,stat命令,cut命令,diff命令,touch命令,dd命令,file命令

2024-04-12 07:58
文章标签 命令 wc file touch diff tr cut dd stat

本文主要是介绍tr命令,wc命令,stat命令,cut命令,diff命令,touch命令,dd命令,file命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

tr命令

tr 命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。
在很多时候,我们想要快速地替换文本中的一些词汇,又或者把整个文本内容都进行替
换,如果进行手工替换,难免工作量太大,尤其是需要处理大批量的内容时,进行手工替换更
是不现实。这时,就可以先使用 cat 命令读取待处理的文本,然后通过管道符(详见第 3 章)
把这些文本内容传递给 tr 命令进行替换操作即可。例如,把某个文本内容中的英文全部替换
为大写:

[root@localhost ~]# cat anaconda-ks.cfg  | tr [a-z] [A-Z]
#VERSION=DEVEL
# SYSTEM AUTHORIZATION INFORMATION
AUTH --ENABLESHADOW --PASSALGO=SHA512
# USE CDROM INSTALLATION MEDIA
CDROM
# USE GRAPHICAL INSTALL
GRAPHICAL
# RUN THE SETUP AGENT ON FIRST BOOT
FIRSTBOOT --ENABLE
IGNOREDISK --ONLY-USE=VDA
# KEYBOARD LAYOUTS
KEYBOARD --VCKEYMAP=CN --XLAYOUTS='CN'
# SYSTEM LANGUAGE
LANG ZH_CN.UTF-8# NETWORK INFORMATION
NETWORK  --BOOTPROTO=STATIC --DEVICE=ETH0 --GATEWAY=192.168.1.1 --IP=192.168.1.6 --NAMESERVER=192.168.1.1 --NETMASK=255.255.255.0 --IPV6=AUTO --ACTIVATE
NETWORK  --HOSTNAME=LOCALHOST.LOCALDOMAIN# ROOT PASSWORD
ROOTPW --ISCRYPTED $6$.W1Y5LCJA2PGKDQI$WJWUSXHSRSW.JUJIBSGZQC0TQHTCW3YMTMFYMIGZRIQY5A1BXCE2K2ACWCBMLV.U1IEJROF747TB92IO9DXLZ/
# SYSTEM TIMEZONE
TIMEZONE ASIA/SHANGHAI --ISUTC
USER --NAME=JINGPAN --PASSWORD=$6$KUDWINSUFYZ1.ULB$RG3WSHGF5SUZHGGZPSTNDGIX4ZKVGUGFLVZUJW7L7N8KFHCOUYK3QUKMDIFA1YHKBAPNUZP7XMNIPNF5OR9IS. --ISCRYPTED --GECOS="JINGPAN"
# SYSTEM BOOTLOADER CONFIGURATION
BOOTLOADER --APPEND=" CRASHKERNEL=AUTO" --LOCATION=MBR --BOOT-DRIVE=VDA
AUTOPART --TYPE=LVM
# PARTITION CLEARING INFORMATION
CLEARPART --NONE --INITLABEL%PACKAGES
@^MINIMAL
@CORE
@DEVELOPMENT
KEXEC-TOOLS%END%ADDON COM_REDHAT_KDUMP --ENABLE --RESERVE-MB='AUTO'%END

wc命令

wc 命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。

-l       只显示行数

-w    只显示单词数

-c   只显示字节数

在 Linux 系统中,passwd 是用于保存系统账户信息的文件,要统计当前系统中有多少个
用户,可以使用下面的命令来进行查询,是不是很神奇:

[root@localhost ~]# wc -l /etc/passwd
40 /etc/passwd

stat命令

stat 命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。
stat 命令可以用于查看文件的存储信息和时间等信息,命令 stat anaconda-ks.cfg 会显示出
文件的三种时间状态(已加粗):Access、Modify、Change。

[root@localhost ~]# stat anaconda-ks.cfg File: "anaconda-ks.cfg"Size: 1441            Blocks: 8          IO Block: 4096   普通文件
Device: 801h/2049d      Inode: 262153      Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-08-04 10:27:17.372963432 +0800
Modify: 2017-11-06 11:50:09.013998957 +0800
Change: 2017-11-06 11:50:30.084998941 +0800

cut 命令

cut 命令用于按“列”提取文本字符,格式为“cut [参数] 文本”。
在 Linux 系统中,如何准确地提取出最想要的数据,这也是我们应该重点学习的内容。一般
而言,按基于“行”的方式来提取数据是比较简单的,只需要设置好要搜索的关键词即可。但是
如果按列搜索,不仅要使用-f 参数来设置需要看的列数,还需要使用-d 参数来设置间隔符号。
passwd 在保存用户数据信息时,用户信息的每一项值之间是采用冒号来间隔的,接下来我们使用
下述命令尝试提取出 passwd 文件中的用户名信息,即提取以冒号(:)为间隔符号的第一列内容:

[root@localhost ~]# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost ~]# cut -d: -f1 /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
uucp
operator
games
gopher
ftp
nobody
dbus
usbmuxd
rpc
rtkit
avahi-autoipd
vcsa
abrt
rpcuser
nfsnobody
haldaemon
ntp
apache
saslauth
postfix
gdm
pulse
sshd
tcpdump
jingpan
radvd
qemu
nignx
nginx
test
rich

diff命令

diff 命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。
在使用 diff 命令时,不仅可以使用--brief 参数来确认两个文件是否不同,还可以使用-c 参
数来详细比较出多个文件的差异之处,这绝对是判断文件是否被篡改的有力神器。例如,先
使用 cat 命令分别查看 diff_A.txt 和 diff_B.txt 文件的内容,然后进行比较:

接下来使用 diff --brief 命令显示比较后的结果,判断文件是否相同:

[root@localhost ~]# diff --brief diff_A.txt diff_B.txt 
Files diff_A.txt and diff_B.txt differ

 最后使用带有-c 参数的 diff 命令来描述文件内容具体的不同:

[root@localhost ~]# cat diff_B.txt
Welcome tooo linuxshell.comRed Hat certified
Free Linux LeSSonS
/......
Professional guidance
Linux Course
[root@localhost ~]# diff -c diff_A.txt diff_B.txt 
*** diff_A.txt  2018-08-04 10:53:55.793962098 +0800
--- diff_B.txt  2018-08-04 10:58:14.587961708 +0800
***************
*** 1,5 ****
! Welcome to linuxshell.comRed Hat certified
! Free Linux LessonsProfessional guidanceLinux Course
--- 1,7 ----
! Welcome tooo linuxshell.com
! Red Hat certified
! Free Linux LeSSonS
! /......Professional guidanceLinux Course

touch命令

touch 命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。
在创建空白的文本文件方面,这个 touch 命令相当简捷,简捷到没有必要铺开去讲。
比如,touch linuxprobe 命令可以创建出一个名为 linuxprobe 的空白文本文件。对 touch 命
令来讲,有难度的操作主要是体现在设置文件内容的修改时间(mtime)、文件权限或属性
的更改时间(ctime)与文件的读取时间(atime)上面。
-a 仅修改“读取时间”(atime)
-m 仅修改“修改时间”(mtime)
-d 同时修改 atime 与 mtime
接下来,我们先使用 ls 命令查看一个文件的修改时间,然后修改这个文件,最后再通过 touch
命令把修改后的文件时间设置成修改之前的时间(很多黑客就是这样做的呢):

[root@localhost ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1441 11月  6 2017 anaconda-ks.cfg
[root@localhost ~]# echo "Visit the linuxshell.com to learn linux skills" >> anaconda-ks.cfg 
[root@localhost ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1488 8月   4 11:10 anaconda-ks.cfg
[root@localhost ~]# touch -d "2017-11-06 15:00" anaconda-ks.cfg 
[root@localhost ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1488 11月  6 2017 anaconda-ks.cfg

dd命令

dd 命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。
dd 命令是一个比较重要而且比较有特色的一个命令,它能够让用户按照指定大小和个数
的数据块来复制文件的内容。当然如果愿意的话,还可以在复制过程中转换其中的数据。Linux
系统中有一个名为/dev/zero 的设备文件,每次在课堂上解释它时都充满哲学理论的色彩。因
为这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据,因此可以使用它作为 dd
命令的输入文件,来生成一个指定大小的文件。dd 命令的参数及其作用如下。
            if            输入的文件名称
            of           输出的文件名称
            bs         设置每个“块”的大小
            count     设置要复制“块”的个数
例如我们可以用 dd 命令从/dev/zero 设备文件中取出一个大小为 560MB 的数据块,然后
保存成名为 560_file 的文件。在理解了这个命令后,以后就能随意创建任意大小的文件了:

[root@localhost e]# dd if=/dev/zero of=560_file count=1 bs=560M
记录了1+0 的读入
记录了1+0 的写出
587202560字节(587 MB)已复制,88.8811 秒,6.6 MB/秒


dd 命令的功能也绝不仅限于复制文件这么简单。如果您想把光驱设备中的光盘制作成 iso 格
式的镜像文件,在 Windows 系统中需要借助于第三方软件才能做到,但在 Linux 系统中可以直接
使用 dd 命令来压制出光盘镜像文件,将它变成一个可立即使用的 iso 镜像:

[root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
7311360+0 records in
7311360+0 records out
3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s

考虑到有些读者会纠结 bs 块大小与 count 块个数的关系,下面举一个吃货的例子进行
解释。假设小明的饭量(即需求)是一个固定的值,用来盛饭的勺子的大小即 bs 块大小,
而用勺子盛饭的次数即 count 块个数。小明要想吃饱(满足需求),则需要在勺子大小(bs 块
大小)与用勺子盛饭的次数(count 块个数)之间进行平衡。勺子越大,用勺子盛饭的次数就越少。由上可见,bs 与 count 都是用来指定容量的大小,只要能满足需求,可随意组合搭配方
式。

file命令

file 命令用于查看文件的类型,格式为“file 文件名”。
在 Linux 系统中,由于文本、目录、设备等所有这些一切都统称为文件,而我们又不能
单凭后缀就知道具体的文件类型,这时就需要使用 file 命令来查看文件类型了。

[root@localhost ~]# file anaconda-ks.cfg 
anaconda-ks.cfg: ASCII text
[root@localhost ~]# file /dev/sda
/dev/sda: block special

 

这篇关于tr命令,wc命令,stat命令,cut命令,diff命令,touch命令,dd命令,file命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/896547

相关文章

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Linux grep 命令的使用指南

《Linuxgrep命令的使用指南》本文给大家介绍Linuxgrep命令的使用指南,包括基础搜索语法、实践指南,感兴趣的朋友跟随小编一起看看吧... 目录linux grep 命令全面使用指南一、基础搜索语法1. 基本文本搜索2. 多文件搜索二、常用选项详解1. 输出控制选项2. 上下文控制选项三、正则表达

DNS查询的利器! linux的dig命令基本用法详解

《DNS查询的利器!linux的dig命令基本用法详解》dig命令可以查询各种类型DNS记录信息,下面我们将通过实际示例和dig命令常用参数来详细说明如何使用dig实用程序... dig(Domain Information Groper)是一款功能强大的 linux 命令行实用程序,通过查询名称服务器并输

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻