Cat  

语法格式

cat [-AbeEnstTuv] [--help] [--version] fileName

参数说明:

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

实例:

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3

清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt

cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:

cat /dev/fd0 > OUTFILE

相反的,如果想把 image file 写到软盘,输入:

cat IMG_FILE > /dev/fd0
 

chgrp命令 – 更改文件用户组

常用参数:

-c 效果类似”-v”参数,但仅回报更改的部分
-f 不显示错误信息
-h 对符号连接的文件作修改,而不更动其他任何相关文件
-R 递归处理,将指定目录下的所有文件及子目录一并处理
-v 显示指令执行过程
--reference 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同
 

chmod命令 – 改变文件或目录权限

常用参数:

-c 若该文件权限确实已经更改,才显示其更改动作
-f 若该文件权限无法被更改也不显示错误讯息
-v 显示权限变更的详细资料
-R 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

chown命令 – 改变文件或目录用户和用户组

-R 对目前目录下的所有文件与子目录进行相同的拥有者变更

将当前目录下所有文件的拥有者都改为 linuxcool,用户组改为 linuxcoolgroup:

[root@linuxcool ~]# chown -R linuxcool:linuxcoolgroup * 

diff命令 – 比较文件的差异

常用参数:

-a diff预设只会逐行比较文本文件
-b 不检查空格字符的不同

file命令 – 识别文件类型

-i 显示MIME类别

cut命令 – 连接文件并打印到标准输出设备上

常用参数:

-b 以字节为单位进行分割 ,仅显示行中指定直接范围的内容
-c 以字符为单位进行分割 , 仅显示行中指定范围的字符
-f 显示指定字段的内容 , 与-d一起使用

使用 -f 选项提取指定字段(这里的 f 参数可以简单记忆为 --fields的缩写):

[root@linuxcool ~]# cut -f 2 student.txt 
Name
tom
jack
alex
 

less命令 – 分页显示工具

常用参数:

-b 置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 在单行显示较长的内容,而不换行显示
-x 将TAB字符显示为指定个数的空格字符

命令内部操作:

  • b 向后翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行
 

mdir命令 – 显示MS-DOS目录

-/ 显示目录下所有子目录与文件
-a  显示隐藏文件
-f  不显示磁盘所剩余的可用空间
-w  仅显示目录或文件名称,并以横排方式呈现,以便一次能显示较多的目录或文件
-X  仅显示目录下所有子目录与文件的完整路径,不显示其他信息

more命令 – 显示文本文件内容

-num 指定每屏显示的行数
-l more在通常情况下把 ^L 当作特殊字符, 遇到这个字符就会暂停,-l选项可以阻止这种特性
-f  计算实际的行数,而非自动换行的行数
-p 先清除屏幕再显示文本文件的剩余内容
-c 与-p相似,不滚屏,先显示内容再清除旧内容
-s 多个空行压缩成一行显示
-u 禁止下划线
+/pattern 在每个文档显示前搜寻该字(pattern),然后从该字串之后开始显示
+num  从第 num 行开始显示

rm命令 – 移除文件或目录

-f 忽略不存在的文件,不会出现警告信息
-i 删除前会询问用户是否操作
-r/R 递归删除
-v 显示指令的详细执行过程

 

touch命令 – 创建文件

-a 改变档案的读取时间记录
-m 改变档案的修改时间记录
-r 使用参考档的时间记录,与 --file 的效果一样
-c 不创建新文件
-d 设定时间与日期,可以使用各种不同的格式
-t 设定档案的时间记录,格式与 date 命令相同
--no-create 不创建新文件
--help 显示帮助信息
--version 列出版本讯息

which命令 – 查找文件

-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
-p 与-n参数相同,但此处的<文件名长度>包括了文件的路径
-w  指定输出时栏位的宽度
-V 显示版本信息

cp命令 – 复制文件或目录

-f 若目标文件已存在,则会直接覆盖原文件
-i 若目标文件已存在,则会询问是否覆盖
-p 保留源文件或目录的所有属性
-r 递归复制文件和目录
-d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l 对源文件建立硬连接,而非复制文件
-s 对源文件建立符号连接,而非复制文件
-b 覆盖已存在的文件目标前将目标文件备份
-v 详细显示cp命令执行的操作过程
-a 等价于“dpr”选项

whereis命令 – 显示命令及相关文件的路径

-b 查找二进制程序或命令
-B 从指定目录下 查找二进制程序或命令
-m 查找man手册文件
-M 从指定目录下 查找man手册文件
-s 只查找源代码文件
-S 从指定目录下 查找源代码文件

awk命令 – 文本和数据进行处理的编程语言

-F 指定输入时用到的字段分隔符
-v 自定义变量
-f 从脚本中读取awk命令
-m 对val值设置内在限制

read – 读取单行数据

-a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符
-- d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志
-- p 后面跟提示信息,即在输入前打印提示信息
-- e 在输入的时候可以使用命令补全功能
-- n 后跟一个数字,定义输入文本的长度
-- r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了
-- s 安静模式,在输入字符时不再屏幕上显示
-- t 后面跟秒数,定义输入字符的等待时间
-- u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的

read – 读取单行数据

 
/真正好用的Linux命令在线查询手册/

 
:播放正确发音

Linux read命令用于从标准输入读取数值。read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。

语法格式:read [参数]

常用参数:

-a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符
-- d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志
-- p 后面跟提示信息,即在输入前打印提示信息
-- e 在输入的时候可以使用命令补全功能
-- n 后跟一个数字,定义输入文本的长度
-- r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了
-- s 安静模式,在输入字符时不再屏幕上显示
-- t 后面跟秒数,定义输入字符的等待时间
-- u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的

参考实例

简单读取:

#!/bin/bash
echo "输入网站名: "
read file
echo "你输入的网站名是 $file"
exit 0

wc命令 – 统计文件的字节数、字数、行数

-w 统计字数,或--words:只显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
-c 统计字节数,或--bytes或--chars:只显示Bytes数
-l 统计行数,或--lines:只显示列数
-m 统计字符数
-L 打印最长行的长度
--help 显示帮助信息
--version 显示版本信息

vi命令 – 文本编辑器

cd命令 – 切换目录

-P 如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录
-L 如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录
-- 仅使用”-“选项时,当前目录将被切换到环境变量”OLDPWD”对应值的目录
~ 切换至当前用户目录
.. 切换至当前目录位置的上一级目录

 

2020.02.28 Linux 命令的更多相关文章

  1. [z]Java开发必会的Linux命令

    1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. find . -name "*.xml" 递归查找所有的xm ...

  2. Java开发常用Linux命令

    1.查找文件 find / -name filename.txt根据名称查找/目录下的filename.txt文件. find . -name "*.xml"递归查找所有的xml文 ...

  3. Java 开发必会的 Linux 命令

    作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服务器上都是Linux系统.所以,要和服 ...

  4. Linux - 常用 Linux 命令的基本使用

    常用 Linux 命令的基本使用 目标 理解学习 Linux 终端命令的原因 常用 Linux 命令体验 01. 学习 Linux 终端命令的原因 Linux 刚面世时并没有图形界面,所有的操作全靠命 ...

  5. Java开发人员必会的基本Linux命令(转)

    原文链接:http://www.cnblogs.com/zhuawang/p/5212809.html http://explainshell.com/ 本文并不会对所有命令进行详细讲解,只给出常见用 ...

  6. 06_常用 Linux 命令的基本使用

    常用 Linux 命令的基本使用 目标 理解学习 Linux 终端命令的原因 常用 Linux 命令体验 01. 学习 Linux 终端命令的原因 Linux 刚面世时并没有图形界面,所有的操作全靠命 ...

  7. java程序猿常用Linux命令

    1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. find . -name "*.xml" 递归查找所有的xm ...

  8. Linux命令学习笔记目录

    Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...

  9. 01_常用 Linux 命令的基本使用

    01. 学习 Linux 终端命令的原因 Linux 刚面世时并没有图形界面,所有的操作全靠命令完成,如 磁盘操作.文件存取.目录操作.进程管理.文件权限 设定等 在职场中,大量的 服务器维护工作 都 ...

随机推荐

  1. 生成树计数 UVA 10766

    //本题题意:首先每个点之间都可达,然后m列举出不可达的,求出最多的生成树方案: //k这个变量是没用的. //公式:ans矩阵=度矩阵-建边矩阵: //度矩阵是当i==j时的,建边矩阵于平时定义可达 ...

  2. 素问 - 信贷和GDP

    摘自<小韭的学习圈> Q:近期看到2019年金融统计数据,全年人民币贷款增加16.81万亿元,同比多增6439亿元.这里有个问题我储备好久了,没有高人指点俺.请问2019年全年GDP近10 ...

  3. Educational Codeforces Round 81 (Rated for Div. 2)E(线段树)

    预处理把左集划分为大小为1~i-1时,把全部元素都移动到右集的代价,记作sum[i]. 然后枚举终态时左集的大小,更新把元素i 留在/移动到 左集的代价. 树状数组/线段树处理区间修改/区间查询 #d ...

  4. Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类

    最近在开发中,需要用到一些系统信息,这里我把这些方法写成一个工具类方便以后复用,该工具类有以下6个功能: 1.获取手机制造厂商 2.获取手机型号 3.获取手机系统当前使用的语言 4.获取Android ...

  5. UVA 11384 Help is needed for Dexter(递归)

    题目链接:https://vjudge.net/problem/UVA-11384 这道题要分析得透: 如果我们手模的话,会发现:如果先将大于$\frac{n}{2}$的数都减去$\frac{n}{2 ...

  6. jmeter实现SMTP邮件协议压测

    实现目的 通过jmeter的SMTP取样器,调用SMTP协议,批量进行邮件的发送,已达到压测的目的. 脚本实现 User Defined Variables定义用户变量 编辑SMTP Sampler取 ...

  7. SpringBoot 开发的那些小趣事儿

    经过这次在公司实习中获取到的经历,我发现确实有时候书本上的知识发挥的作用微乎其微,好像是被问题打了太极拳一样,你明明想去攻克这个地方,他却给你报了其他地方的错误. 平常的一些小项目根本就不能匹配到企业 ...

  8. Vue - 实现双击显示编辑框;自动聚焦点击的显示框;点击编辑框外的地方,隐藏编辑框

    实现这三个功能的踩坑记录. 1. 需求 在Vue中,有一个input, 双击时编辑文本,点击该input节点外的其他地方,则取消编辑. 那么这里有三个要实现的地方 第一是双击显示编辑框. 第二是自动聚 ...

  9. 2020 安恒2月月赛 misc

    题目链接:https://pan.baidu.com/s/19l54Nukt6evOr4UgbHMXIQ 提取码:1qbs 0x01 lemonEssence 咦?在kali打开是出错,改宽后图片变了 ...

  10. 3、示例(在java中使用JSON)

    教程链接(json-smple1.1.1.jar文件) 链接:http://pan.baidu.com/s/1qXPbYHm 密码:v0f0 如何使用java编程语言编码和解码JSON 首先准备环境以 ...