Linux中ls、grep、wc、sort、>、|的使用

本篇主要是简单介绍Linux中ls、grep、wc、sort、>、|的使用、展示代码。

ls列出命令

ls是用于列出目录内容的命令。它是 "list" 的缩写,常用于查看当前目录下的文件和子目录。

基本用法

ls 选项 目录或文件

如果不指定目录或文件,ls 会列出当前工作目录的内容。
如果指定目录或文件,ls 会列出指定路径的内容。

常用选项

1. **`-l`**:以长格式(详细信息)列出文件和目录

   ls -l
文件权限 硬链接数 文件所有者 文件所属组 文件大小(字节) 最后修改时间 文件或目录名
1 2 3 4 5 6 7

2. -a:显示所有文件,包括隐藏文件(以.开头的文件)

ls -a

3. -h:与 -l 一起使用,以人类可读的格式显示文件大小(如 KB、MB)

ls -lh

4. -R:递归列出子目录的内容

ls -R

5. -t:按修改时间排序,最新的文件在前

ls -lt

6. -r:反转排序顺序(通常与 `-t` 或 `-l` 一起使用)

ls -lr

7. -s:按文件大小排序,最大的文件在前

ls -ls

8. --color:启用颜色输出(通常默认启用),用不同颜色区分文件类型

ls --color

9. -d:仅列出目录本身,而不是目录的内容。*/用于列出当前目录下的所有子目录,而不会递归显示子目录的内容

ls -d */

10. -i:显示文件的 inode 号

ls -i

grep命令


grep是一个用来搜索文本的工具。它可以在文件或输入内容中查找指定的关键词,并显示包含该关键词的行。

基本用法

grep "关键词" 文件名

在文件中搜索包含 `关键词` 的行。

如果不指定文件名,grep 会从标准输入(比如管道)读取数据。

常用选项
1. -i:忽略大小写。

grep -i "hello" file.txt

2. -v:反向搜索,显示不包含关键词的行。

grep -v "hello" file.txt

3. -n:显示匹配行的行号。

grep -n "hello" file.txt

4. -r:递归搜索目录下的所有文件。

grep -r "hello" /path/to/dir

5. -c:统计匹配的行数。

grep -c "hello" file.txt

6. --color:高亮显示匹配的关键词。

grep --color "hello" file.txt

wc统计命令

wc命令用于统计文件中的单词数、字符数等。以下是 wc 命令的完整选项。
1. -l:统计行数(lines)

wc -l 文件名

2. -w:统计单词数(words)

wc -w 文件名

3. -c:统计字节数(bytes)

wc -c 文件名

4. -m:统计字符数(characters)与 `-c` 不同,`-m` 对多字节字符(如 UTF-8 编码的字符)更准确。

wc -m 文件名

5. -L:统计文件中最长行的长度(以字符为单位)

wc -L 文件名

6. 无选项:如果直接运行 `wc` 而不加任何选项,默认会输出行数-l、单词数-w和字节数-c

wc 文件名

7、结合管道使用:wc 可以与其他命令结合使用,通过管道 | 统计输出内容

例如:

统计当前目录下的文件数量:

ls | wc -l

统计某个命令输出的行数:

grep "pattern" file.txt | wc -l

sort排序命令

`sort` 是用于对文本文件或输入内容进行排序的命令。它可以按行对文本进行排序,并支持多种排序选项,如按字母顺序、数字顺序、逆序等。

基本用法

sort [选项] [文件]

如果不指定文件,`sort` 会从标准输入读取数据。
如果指定文件,`sort` 会读取文件内容并排序。

常用选项
1. -r:逆序排序(从大到小或从 Z 到 A)

sort -r file.txt

2. -n:按数值大小排序(而不是按字母顺序)

sort -n file.txt

3. -k:按指定字段排序(适用于多列数据)

sort -k 2 file.txt

 -k 2 表示按第二列排序

4. -t:指定字段分隔符(默认是空格)    -t ',' 表示使用逗号作为分隔符

sort -t ',' -k 2 file.txt

5. -u:去重,仅输出唯一的行

sort -u file.txt

6. -f:忽略大小写(不区分大小写排序)

sort -f file.txt

7. -o:将排序结果输出到文件(而不是标准输出)

sort file.txt -o sorted_file.txt

8. -b:忽略行首的空格

sort -b file.txt

9. **`-h`**:按人类可读的数值排序(如 1K、2M、3G)

sort -h file.txt

>输出重定向符号

> 是一个 **输出重定向符号,用于将命令的输出结果写入文件,而不是显示在终端上。如果文件不存在,它会创建文件;如果文件已存在,它会覆盖文件内容。

基本用法

命令 > 文件名

将命令的输出结果写入指定文件。
如果文件已存在,文件内容会被覆盖。

注意事项
1. 覆盖文件内容:
   >会覆盖文件内容。如果不想覆盖,而是追加内容,可以使用 >>

2. 创建新文件:
   如果文件不存在,> 会自动创建文件。

3. 清空文件:
   如果只想清空文件内容,可以使用:

> 文件名

>:将输出重定向到文件(覆盖文件内容)。
>>:将输出追加到文件(不覆盖文件内容)。
2>:将错误信息重定向到文件。
2>&1:将错误信息和标准输出合并。

|管道符号

| 是一个 管道符号,用于将一个命令的输出作为另一个命令的输入。通过管道,可以将多个命令串联起来,实现更复杂的操作。

基本用法

命令1 | 命令2

命令1 的输出会作为 命令2 的输入。
管道符号 | 是竖线(通常位于键盘的反斜杠 \ 上方)。

结合多个管道
可以将多个管道串联起来,实现更复杂的操作。例如:列出当前目录下所有文件和文件夹的详细信息,并通过管道将输出传递给grep命令,查找.txt后缀的文件信息,再将结果传递给wc -l命令统计

ls -l | grep -i "\.txt$" | wc -l

注意事项
1. 管道的输入和输出:

管道只能传递标准输出(stdout),不能传递标准错误(stderr)。

如果需要传递标准错误,可以使用 `2>&1` 将标准错误重定向到标准输出:

命令 2>&1 | 命令2

2. 管道的性能:

管道是内存中的操作,速度非常快,适合处理大量数据。

3. 管道的限制:
管道只能传递文本数据,不能传递二进制数据或文件。

你可能感兴趣的:(Linux,Ubuntu,linux,ubuntu)