10个估计你至尽没有用过的Linux命令

本文介绍十个在日常使用中不常见但极为实用的Linux终端命令,包括pgrep、pstree、bc等,这些命令能显著提高工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇文章讲解了10个有用的但是大家估计很少用的终端命令,具体原文如下,希望大家有时间也可以试一下:
1、pgrep, instead of:
# ps -ef | egrep '^root ' | awk '{print $2}'
1
2
3
4
5
20
21
38
39
...
你可以如下实现:
# pgrep -u root
1
2
3
4
5
20
21
38
39
...
2、pstree, 以树状形式显示进程列表. 该命令在处理WebSphere或者是其他繁杂的任务程序时非常有效。例如:
# pstree
init-+-acpid
|-atd
|-crond
|-cups-config-dae
|-cupsd
|-dbus-daemon-1
|-dhclient
|-events/0-+-aio/0
| |-kacpid
| |-kauditd
| |-kblockd/0
| |-khelper
| |-kmirrord
| `-2*[pdflush]
|-gpm
|-hald
|-khubd
|-2*[kjournald]
|-klogd
|-kseriod
|-ksoftirqd/0
|-kswapd0
|-login---bash
|-5*[mingetty]
|-portmap
|-rpc.idmapd
|-rpc.statd
|-2*[sendmail]
|-smartd
|-sshd---sshd---bash---pstree
|-syslogd
|-udevd
|-vsftpd
|-xfs
`-xinetd
3、bc是一个比较精确的计算命令,它的功能比较强大,尤其是以shell脚本处理平方根的操作非常有效,例如:
# ./sqrt
Usage: sqrt number
# ./sqrt 64
8
# ./sqrt 132112
363
# ./sqrt 1321121321
36347
Here is the script:
# cat sqrt
#!/bin/bash
if [ $# -ne 1 ]
then
echo 'Usage: sqrt number'
exit 1
else
echo -e "sqrt($1)/nquit/n" | bc -q -i
fi
4、split是将庞大的文件分裂成小的块的命令,下面主要是将250MB的文件通过前面带有LF_标记来2MB大小的块。具体如下:
# ls -lh largefile
-rw-r--r-- 1 root root 251M Feb 19 10:27 largefile
# split -b 2m largefile LF_
# ls -lh LF_* | head -n 5
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_aa
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_ab
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_ac
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_ad
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_ae
# ls -lh LF_* | wc -l
126
5、nl命令主要是用于表示行号,在编辑文本代码的时候非常有用。例如:
# head wireless.h
/*
* This file define a set of standard wireless extensions
*
* Version : 20 17.2.06
*
* Authors : Jean Tourrilhes - HPL
* Copyright (c) 1997-2006 Jean Tourrilhes, All Rights Reserved.
*/#ifndef _LINUX_WIRELESS_H
# nl wireless.h | head
1 /*
2 * This file define a set of standard wireless extensions
3 *
4 * Version : 20 17.2.06
5 *
6 * Authors : Jean Tourrilhes - HPL
7 * Copyright (c) 1997-2006 Jean Tourrilhes, All Rights Reserved.
8 */9 #ifndef _LINUX_WIRELESS_H
6、mkfifo命令应该是10个里面最酷的一个,但是你应该知道如何创建一个管道,该命令可以实现两个命令通过创建好的管道进行通信。例如:
先创建一个管道

然后从管道中读取:

7、ldd命令主要是确定java连向到哪个Linux线程库,例如:
# ldd /usr/java/jre1.5.0_11/bin/java
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00bd4000)
libdl.so.2 => /lib/libdl.so.2 (0x00b87000)
libc.so.6 => /lib/tls/libc.so.6 (0x00a5a000)
/lib/ld-linux.so.2 (0x00a3c000)
8、col命令主要是将帮助信息(主要是通过man命令获取的帮助信息)存储为文本文件,例如:
# PAGER=cat
# man less | col -b > less.txt
9、xmlwf命令主要是确定XML文档是否配置好,例如:
# curl -s 'http://bashcurescancer.com' > bcc.html
# xmlwf bcc.html
# perl -i -pe 's@

<think>首先,用户的问题是:“我想查看Linux系统中文件大小的方法 请问Linux 查看文件大小的命令”。这是一个关于Linux命令的查询。 根据系统级指令,我需要: - 所有行内数学表达式使用$...$格式。 - 独立公式使用$$...$$格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 用户没有提供具体的引用内容,但指令中提到:“上述引用仅供参考,并不是用户真正的需求,请尽可能多的参考用户上一次的问题和你的回答。” 然而,在这个对话中,这是第一个用户消息,所以没有“上一次的问题”。引用部分提到了两个引用: - 引用[1]: 关于查看文件大小和排序的命令。 - 引用[2]: 关于查看文件夹大小的命令,如du和ncdu。 我需要基于这些引用来构建回答,但确保回答真实可靠。引用[1]和[2]提供了Linux命令,如du, find, ncdu等。 我的回答结构应该清晰,帮助用户逐步解决问题。既然用户询问“查看文件大小的命令”,我应该列出常见的命令并解释它们。 关键命令: - `ls -l`:查看文件大小(以字节为单位)。 - `ls -lh`:以人类可读格式显示文件大小(KB, MB, GB)。 - `du`:估计文件空间使用。 - `du -sh`:显示目录的总大小。 - `find`:结合其他命令查找大文件。 - `ncdu`:交互式查看目录大小。 从引用中: - 引用[1]:提到`du -h`、`find / -type f -size +1G -print0 | xargs -0 du -h | sort -nr`。 - 引用[2]:提到`du -h`和`ncdu foldername`。 我应该自然地引用这些。 回答结构: 1. 介绍常见命令。 2. 逐步解释每个命令的用法。 3. 添加引用标识。 4. 最后生成相关问题。 使用中文回答。 生成相关问题:在回答结束时,添加“相关问题”部分。 确保没有数学表达式,因为这是一个Linux命令主题,所以可能不需要LaTeX。但指令说“所有行内数学表达式”,如果不需要,就不使用。这里可能没有数学内容。 现在,构建回答: - 开头:直接回答问题。 - 主体:列出和解释命令。 - 结尾:添加引用和生成问题。 引用标识:在解释命令时,如果基于引用,添加[^1]或[^2]。 例如: - 使用`ls -l`可以查看文件大小[^1]。 - 使用`du -h`可以查看目录大小[^2]。 相关问题:如“如何查看隐藏文件的大小?”、“如何排序文件大小?”等。 完整回答:</think>### Linux 查看文件大小的命令详解 在 Linux 系统中,查看文件大小有多种常用命令,这些命令可以帮助你快速获取文件或目录的详细信息。下面我将逐步介绍最常用的命令及其用法,确保你能够根据需求灵活选择。所有命令都基于标准 Linux 工具,操作简单可靠。 #### 1. **查看单个文件的大小** - **`ls -l` 命令**:这是最基础的方法,可以显示文件的详细属性,包括大小(以字节为单位)。例如: ```bash ls -l filename.txt ``` 输出示例:`-rw-r--r-- 1 user group 1024 Jun 10 10:00 filename.txt`(其中 `1024` 是文件大小)。 - **`ls -lh` 命令**:以人类可读的格式(如 KB、MB、GB)显示文件大小,更直观: ```bash ls -lh filename.txt ``` 输出示例:`-rw-r--r-- 1 user group 1.0K Jun 10 10:00 filename.txt`。这种方法适合日常使用[^1]。 #### 2. **查看目录的总大小** - **`du -h` 命令**:用于估计目录的空间使用情况。`-h` 选项以人类可读格式输出: ```bash du -h foldername ``` 这会列出目录下每个子项的大小。例如,`du -h /home/user` 显示 `/home/user` 目录的大小。 - **`du -sh` 命令**:快速获取目录的总大小(不列出子项): ```bash du -sh foldername ``` 输出示例:`2.5G foldername`,表示目录总大小为 2.5 GB。这在管理磁盘空间时非常高效[^1][^2]。 #### 3. **查找并排序大文件** 如果你需要找出系统中超过特定大小的文件并排序,可以结合 `find` 和 `sort` 命令: - **查找大于 1GB 的文件并排序**: ```bash find / -type f -size +1G -print0 | xargs -0 du -h | sort -nr ``` 解释: - `find / -type f -size +1G`:从根目录查找所有大于 1GB 的文件。 - `-print0` 和 `xargs -0`:安全处理文件名中的空格。 - `du -h`:显示文件大小。 - `sort -nr`:按大小降序排序。 输出示例:`5.0G /var/log/largefile.log`。这对于清理磁盘非常有用[^1]。 #### 4. **交互式查看目录大小** - **`ncdu` 命令**:这是一个强大的工具,提供交互式界面来浏览目录使用情况。首先安装它: ```bash sudo apt-get install ncdu # Debian/Ubuntu 系统 sudo yum install ncdu # CentOS/RHEL 系统 ``` 然后运行: ```bash ncdu foldername ``` 在界面中,你可以用键盘导航(如方向键浏览、`d` 键删除文件),实时查看每个文件/目录的大小占比。适用于深入分析磁盘使用[^2]。 ### 注意事项 - **权限问题**:如果文件或目录权限不足,使用 `sudo` 提升权限(如 `sudo du -sh /root`)。 - **单位转换**:所有命令的 `-h` 选项自动转换单位(如 1024 字节显示为 1K),避免手动计算。 - **性能优化**:对于大型系统,`ncdu` 或 `find` 命令比递归 `du` 更高效,减少系统负载。 ### 相关问题 1. 如何查看隐藏文件的大小? 2. 如何只显示当前目录下文件的大小而不包括子目录? 3. Linux 中如何监控磁盘使用趋势? [^1]: 引用自用户提供的参考,包括 `du -h` 和 `find` 命令的用法。 [^2]: 引用自用户提供的参考,介绍了 `ncdu` 命令的安装和使用
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值