oracle运维只磁盘

官网地址:管理磁盘使用(任务列表) - Oracle Solaris 管理:常见任务

欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.

管理磁盘使用(任务列表)

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| | 任务 | 说明 | 参考 | |-----------------|-----------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------| | 显示有关文件和磁盘空间的信息。 | 使用 df 命令显示有关磁盘空间使用情况的信息。 | 如何显示有关文件和磁盘空间的信息 | | 显示文件的大小。 | 使用带有 -lh 选项的 ls 命令显示有关文件大小的信息。 | 如何显示文件大小 | | 查找大文件。 | 使用 ls -s 命令可按大小对文件进行降序排序。 | 如何查找大文件 | | 查找超过指定大小限制的文件。 | 使用带有 -size 选项的 find 命令和指定大小限制值来查找并显示超过指定大小的文件的名称。 | 如何查找超过指定大小限制的文件 | | 显示目录、子目录和文件的大小。 | 使用 du 命令显示一个或多个目录、子目录和文件的大小。 | 如何显示目录、子目录和文件的大小 | | 列出最新的文件。 | 使用 ls -t 命令首先显示最新创建或更改的文件。 | 如何列出最新文件 | | 查找并删除旧文件或非活动文件。 | 使用带有 -atime 和 -mtime 选项的 find 命令查找在指定天数内未访问的文件。可以使用 rm `cat filename' 命令来删除这些文件。 | 如何查找并删除旧文件或非活动文件 | | 清除临时目录。 | 查找临时目录,然后使用 rm -r * 命令删除整个目录。 | 如何清除临时目录 | | 查找并删除核心文件。 | 使用 find . -name core -exec rm {} \; 命令查找并删除核心文件。 | 如何查找并删除 core 文件 | | 删除故障转储文件。 | 使用 rm * 命令删除位于 /var/crash 目录中的故障转储文件。 | 如何删除故障转储文件 | |

显示有关文件和磁盘空间的信息

此表概括说明了可用于显示有关文件大小和磁盘空间信息的命令。

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| | 命令 | 说明 | 手册页 | |------------|------------------------|-------------------------------------------------------------------------------------------------| | df | 报告空闲磁盘块和文件的数量 | df(1M) | | du | 概述分配给每个子目录的磁盘空间 | du(1) | | find -size | 根据 -size 选项指定的大小递归搜索目录 | find(1) | | ls -lh | 以 1024 的幂次方形式列出文件大小 | ls(1) | |

如何显示有关文件和磁盘空间的信息

  • 使用 df 命令可显示有关磁盘空间使用情况的信息。

    复制代码
    $ df [directory]  [-h] [-t]

    df

    没有任何选项时,该命令将列出所有已挂载文件系统及其设备名称、使用的 512 字节块的数量以及文件数量。

    directory

    指定要检查其文件系统的目录。

    -h

    以 1024 的幂次方形式显示磁盘空间。

    -t

    显示总块数以及用于所有已挂载文件系统的块数。

示例 13-1 显示有关文件大小和磁盘空间的信息

在以下示例中,所列的所有文件系统都是本地挂载的,但 /usr/dist 除外。

复制代码
$ df
/                  (rpool/ROOT/solaris):100709074 blocks 100709074 files
/devices           (/devices          ):       0 blocks        0 files
/dev               (/dev              ):       0 blocks        0 files
/system/contract   (ctfs              ):       0 blocks 2147483601 files
/proc              (proc              ):       0 blocks    29946 files
/etc/mnttab        (mnttab            ):       0 blocks        0 files
/system/volatile   (swap              ):42191440 blocks  2276112 files
/system/object     (objfs             ):       0 blocks 2147483441 files
/etc/dfs/sharetab  (sharefs           ):       0 blocks 2147483646 files
/dev/fd            (fd                ):       0 blocks        0 files
/tmp               (swap              ):42191440 blocks  2276112 files
/export            (rpool/export      ):100709074 blocks 100709074 files
/export/home       (rpool/export/home ):100709074 blocks 100709074 files
/export/home/admin (rpool/export/home/admin):100709074 blocks 100709074 files
/rpool             (rpool             ):100709074 blocks 100709074 files
/home/joey    (home.domain:/export/home1/03/joey):960033722 blocks 67158851 files

示例 13-2 以 1024 字节为单位显示文件大小信息

在以下示例中,针对每个指定的文件系统都显示了一个对应的信息行,其中以 1024 字节为单位显示文件系统信息。

复制代码
$ df -h
Filesystem             Size   Used  Available Capacity  Mounted on
rpool/ROOT/solaris      67G   2.7G        48G     6%    /
/devices                 0K     0K         0K     0%    /devices
/dev                     0K     0K         0K     0%    /dev
ctfs                     0K     0K         0K     0%    /system/contract
proc                     0K     0K         0K     0%    /proc
mnttab                   0K     0K         0K     0%    /etc/mnttab
swap                    20G   704K        20G     1%    /system/volatile
objfs                    0K     0K         0K     0%    /system/object
sharefs                  0K     0K         0K     0%    /etc/dfs/sharetab
fd                       0K     0K         0K     0%    /dev/fd
swap                    20G     0K        20G     0%    /tmp
rpool/export            67G    32K        48G     1%    /export
rpool/export/home       67G    32K        48G     1%    /export/home
rpool/export/home/admin
                        67G    33K        48G     1%    /export/home/admin
rpool                   67G    74K        48G     1%    /rpool
home.domain:/export/home1/03/joey
                       539G    81G       452G    16%    /home/joey

示例 13-3 显示文件系统分配的总块数和总文件数

以下示例显示所有已挂载文件系统、设备名称、使用的 512 字节块总数以及文件数量的列表。每个两行项的第二行都显示为文件系统分配的总块数和总文件数。

复制代码
$ df -t
/                  (rpool/ROOT/solaris): 100709077 blocks 100709077 files
                                  total: 140378112 blocks 100838460 files
/devices           (/devices          ):        0 blocks        0 files
                                  total:        0 blocks      456 files
/dev               (/dev              ):        0 blocks        0 files
                                  total:        0 blocks      681 files
/system/contract   (ctfs              ):        0 blocks 2147483601 files
                                  total:        0 blocks       46 files
/proc              (proc              ):        0 blocks    29946 files
                                  total:        0 blocks    30002 files
/etc/mnttab        (mnttab            ):        0 blocks        0 files
                                  total:        0 blocks        1 files
/system/volatile   (swap              ): 42190928 blocks  2276112 files
                                  total: 42192336 blocks  2276330 files
/system/object     (objfs             ):        0 blocks 2147483441 files
                                  total:        0 blocks      206 files
/etc/dfs/sharetab  (sharefs           ):        0 blocks 2147483646 files
                                  total:        0 blocks        1 files
/dev/fd            (fd                ):        0 blocks        0 files
                                  total:        0 blocks       31 files
/tmp               (swap              ): 42190928 blocks  2276112 files
                                  total: 42190928 blocks  2276330 files
/export            (rpool/export      ): 100709077 blocks 100709077 files
                                  total: 140378112 blocks 100709085 files
/export/home       (rpool/export/home ): 100709077 blocks 100709077 files
                                  total: 140378112 blocks 100709085 files
/export/home/admin (rpool/export/home/admin): 100709077 blocks 100709077 files
                                  total: 140378112 blocks 100709086 files
/rpool             (rpool             ): 100709077 blocks 100709077 files
                                  total: 140378112 blocks 100709090 files
/home/joey    (home.domain:/export/home1/03/joey): 960033724 blocks 67158850 files
                                  total: 1129776786 blocks 67966080 files

检查文件大小

使用 ls 命令可以检查文件的大小并对文件排序。使用 find 命令可以查找超过大小限制的文件。有关更多信息,请参见ls(1)find(1)手册页。


**注 -**如果 /var 目录中的空间不足,请不要将 /var 目录符号链接到文件系统中具有更多磁盘空间的目录。这种做法即使作为一种临时措施,也可能导致某些守护进程和实用程序出现问题。


如何显示文件大小

  1. 转到要检查的文件所在的目录。

  2. 显示文件的大小。

    复制代码
    $ ls [-lh] [-s]

    -l

    以长格式显示文件和目录的列表,以字节为单位显示大小。(请参见以下示例。)

    -h

    文件或目录大小大于 1024 字节时,请以 KB、MB、GB 或 TB 来表示文件大小和目录大小。该选项还可以修改 -o、-n、-@ 和 -g 选项显示的输出,以使用新格式显示文件或目录大小。有关更多信息,请参见ls(1)手册页。

    -s

    显示文件和目录(大小以块为单位)的列表。

示例 13-4 显示文件大小

以下示例表明,lastlog 和 messages 文件比 /var/adm 目录中的其他文件大。

复制代码
$ cd /var/adm
$ ls -lh
total 682
drwxrwxr-x   9 root     sys           15 Jan  4 03:10 .
drwxr-xr-x  41 root     sys           42 Jan  3 19:03 ..
drwxrwxr-x   5 adm      adm            5 Jan  3 17:26 acct
-rw-------   1 uucp     bin            0 Jan  3 17:34 aculog
drwxr-xr-x   2 adm      adm            2 Jan  3 17:26 exacct
-r--r--r--   1 root     root        3.2M Jan  4 06:47 lastlog
drwxr-xr-x   2 adm      adm            2 Jan  3 17:26 log
-rw-r--r--   1 root     root           0 Jan  4 03:10 messages
-rw-r--r--   1 root     root         55K Jan  3 19:10 messages.0
drwxr-xr-x   2 root     sys            2 Jan  3 17:26 pool
drwxrwxr-x   2 adm      sys            2 Jan  3 17:26 sa
drwxr-xr-x   2 root     sys            2 Jan  3 17:26 sm.bin
drwxr-xr-x   2 root     sys            2 Jan  3 17:26 streams
lrwxrwxrwx   1 root     root          27 Jan  3 17:36 utmpx -> \
 ../../system/volatile/utmpx
-rw-r--r--   1 adm      adm          10K Jan  4 06:47 wtmpx

以下示例显示 lpsched.1 文件使用了两个块。

复制代码
$ cd /var/lp/logs
$ ls -s
total 2            0 lpsched       2 lpsched.1

如何查找大文件

  1. 转到要搜索的目录。
  2. 以块为单位按从大到小的顺序显示文件大小。
    • 如果文件的字符或列不同,请使用以下命令按块大小从大到小的顺序对文件列表进行排序。

      复制代码
      $ ls -l | sort +4rn | more

      请注意,此命令按照第四个字段中的字符(从左侧开始)对列表中的文件进行排序。

    • 如果文件的字符或列相同,请使用以下命令按块大小从大到小的顺序对文件列表进行排序。

      复制代码
      $ ls -s | sort -nr | more

      请注意,此命令从最左侧的字符开始对列表中的文件进行排序。

示例 13-5 查找大文件(按第五个字段的字符进行排序)

复制代码
$ cd /var/adm
$ ls -l | sort +4rn | more
-r--r--r--   1 root     root     3353420 Jan  7 06:45 lastlog
-rw-r--r--   1 root     root     3221924 Jan  7 12:15 messages
-rw-r--r--   1 root     root       56045 Jan  3 19:10 messages.0
-rw-r--r--   1 adm      adm        12648 Jan  7 06:45 wtmpx
drwxr-xr-x  41 root     sys           42 Jan  3 19:03 ..
lrwxrwxrwx   1 root     root          27 Jan  3 17:36 utmpx -> ../../system/volatile/utmpx
drwxrwxr-x   9 root     sys           15 Jan  4 03:10 .
drwxrwxr-x   5 adm      adm            5 Jan  3 17:26 acct
drwxr-xr-x   2 adm      adm            2 Jan  3 17:26 exacct
drwxr-xr-x   2 adm      adm            2 Jan  3 17:26 log
drwxr-xr-x   2 root     sys            2 Jan  3 17:26 pool
drwxr-xr-x   2 root     sys            2 Jan  3 17:26 sm.bin
drwxr-xr-x   2 root     sys            2 Jan  3 17:26 streams
drwxrwxr-x   2 adm      sys            2 Jan  3 17:26 sa
-rw-------   1 uucp     bin            0 Jan  3 17:34 aculog

示例 13-6 查找大文件(按最左侧的字符进行排序)

在以下示例中,lastlog 和 messages 文件是 /var/adm 目录中最大的文件。

复制代码
$ cd /var/adm
$ ls -s | sort -nr | more
 6409 -rw-r--r--   1 root     root     3221924 Jan  7 12:15 messages
 517 -r--r--r--   1 root     root     3353420 Jan  7 06:45 lastlog
 111 -rw-r--r--   1 root     root       56045 Jan  3 19:10 messages.0
  26 -rw-r--r--   1 adm      adm        12648 Jan  7 06:45 wtmpx
   5 drwxr-xr-x  41 root     sys           42 Jan  3 19:03 ..
   3 drwxrwxr-x   9 root     sys           15 Jan  4 03:10 .
   3 drwxrwxr-x   5 adm      adm            5 Jan  3 17:26 acct
   3 drwxrwxr-x   2 adm      sys            2 Jan  3 17:26 sa
   3 drwxr-xr-x   2 root     sys            2 Jan  3 17:26 streams
   3 drwxr-xr-x   2 root     sys            2 Jan  3 17:26 sm.bin
   3 drwxr-xr-x   2 root     sys            2 Jan  3 17:26 pool
   3 drwxr-xr-x   2 adm      adm            2 Jan  3 17:26 log
   3 drwxr-xr-x   2 adm      adm            2 Jan  3 17:26 exacct
   1 lrwxrwxrwx   1 root     root          27 Jan  3 17:36 utmpx -> ../../system/volatile/utmpx
   1 -rw-------   1 uucp     bin            0 Jan  3 17:34 aculog
total 7094

如何查找超过指定大小限制的文件

  • 要查找并显示超过指定大小的文件的名称,请使用 find 命令。

    复制代码
    $ find directory -size +nnn 

    directory

    标识要搜索的目录。

    -size +nnn

    512 字节块的数量。将列出超过此大小的文件。

示例 13-7 查找超过指定大小限制的文件

以下示例显示如何在当前工作目录中查找大于 400 块的文件。-print 选项显示 find 命令的输出。

复制代码
$ find . -size +400 -print
./Howto/howto.doc
./Howto/howto.doc.backup
./Howto/howtotest.doc
./Routine/routineBackupconcepts.doc
./Routine/routineIntro.doc
./Routine/routineTroublefsck.doc
./.record
./Mail/pagination
./Config/configPrintadmin.doc
./Config/configPrintsetup.doc
./Config/configMailappx.doc
./Config/configMailconcepts.doc
./snapshot.rs

检查目录大小

可以使用 du 命令及选项显示目录的大小。有关这些命令的更多信息,请参见 du(1) 手册页。

如何显示目录、子目录和文件的大小

  • 使用 du 命令显示一个或多个目录、子目录和文件的大小。以 512 字节块为单位显示大小。

    复制代码
    $ du [-as] [directory ...]

    du

    显示您指定的每个目录的大小,包括目录下的每个子目录。

    -a

    显示每个文件和子目录的大小,以及指定目录中包含的总块数。

    -s

    显示指定目录中包含的总块数。

    -h

    以 1024 字节块为单位显示每个目录的大小。

    -H

    以 1000 字节块为单位显示每个目录的大小。

    directory ...

    标识要检查的一个或多个目录。命令行语法中的多个目录以空格分隔。

示例 13-8 显示目录、子目录和文件的大小

以下示例显示两个目录的大小。

复制代码
$ du -s /var/adm /var/spool/cups
7098    /var/adm
0       /var/spool/cups

以下示例显示两个目录的大小,其中包括每个目录下的所有子目录和文件的大小。还显示每个目录中包含的总块数。

复制代码
$ du /var/adm /var/spool/cups
3       /var/adm/streams
3       /var/adm/sa
3       /var/adm/acct/fiscal
3       /var/adm/acct/nite
3       /var/adm/acct/sum
12      /var/adm/acct
3       /var/adm/exacct
3       /var/adm/sm.bin
3       /var/adm/log
3       /var/adm/pool
7098    /var/adm

以下示例以 1024 字节块为单位显示目录大小。

复制代码
$ du -h /usr/share/audio
 796K   /usr/share/audio/samples/au
 797K   /usr/share/audio/samples
 798K   /usr/share/audio

查找并删除旧文件或非活动文件

清理负载较大的文件系统的工作部分包括查找并删除最近未使用的文件。使用 ls 或 find 命令可以查找未使用的文件。有关更多信息,请参见 ls(1)find(1) 手册页。

节省磁盘空间的其他方法包括清空临时目录(例如 /var/tmp 或 /var/spool 中的目录)以及删除 core 文件和故障转储文件。有关故障转储文件的更多信息,请参阅Chapter 17, 管理系统故障转储信息(任务)

如何列出最新文件

  • 使用 ls -t 命令列出文件,首先会显示最近创建或更改的文件。

    复制代码
    $ ls -t [directory]

    -t

    先按最近的时间戳对文件进行排序。

    directory

    标识要搜索的目录。

示例 13-9 列出最新文件

以下示例显示如何使用 ls -tl 命令在 /var/adm 目录中查找最近创建或更改的文件。sulog 文件是最近创建或编辑的文件。

复制代码
$ ls -tl /var/adm
-rw-r--r--   1 root     root     3227516 Jan  7 12:22 messages
-rw-r--r--   1 adm      adm        12648 Jan  7 06:45 wtmpx
-r--r--r--   1 root     root     3353420 Jan  7 06:45 lastlog
drwxrwxr-x   9 root     sys           15 Jan  4 03:10 .
-rw-r--r--   1 root     root       56045 Jan  3 19:10 messages.0
drwxr-xr-x  41 root     sys           42 Jan  3 19:03 ..
lrwxrwxrwx   1 root     root          27 Jan  3 17:36 utmpx -> ../../system/volatile/utmpx
-rw-------   1 uucp     bin            0 Jan  3 17:34 aculog
drwxr-xr-x   2 root     sys            2 Jan  3 17:26 streams
drwxr-xr-x   2 root     sys            2 Jan  3 17:26 sm.bin
drwxrwxr-x   2 adm      sys            2 Jan  3 17:26 sa
drwxr-xr-x   2 root     sys            2 Jan  3 17:26 pool
drwxr-xr-x   2 adm      adm            2 Jan  3 17:26 log
drwxr-xr-x   2 adm      adm            2 Jan  3 17:26 exacct
drwxrwxr-x   5 adm      adm            5 Jan  3 17:26 acct

如何查找并删除旧文件或非活动文件

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 查找在指定的天数内未访问的文件并在一个文件中列出这些文件。

    复制代码
    # find directory -type f[-atime +nnn] [-mtime +nnn] -print > filename &

    directory

    标识要搜索的目录。还会搜索此目录下面的子目录。

    -atime +nnn

    查找在您指定的天数内 (nnn) 未访问的文件。

    -mtime +nnn

    查找在您指定的天数内 (nnn) 未修改的文件。

    filename

    标识包含非活动文件列表的文件。

  3. 删除在前面的步骤中列出的非活动文件。

    复制代码
    # rm `cat filename`

    其中 filename 标识在前面的步骤中创建的文件。此文件包含非活动文件的列表。

示例 13-10 查找并删除旧文件或非活动文件

以下示例显示 /var/adm 目录及子目录中在过去 60 天内未访问的文件。/var/tmp/deadfiles 文件包含非活动文件的列表。rm 命令删除这些非活动文件。

复制代码
# find /var/adm -type f -atime +60 -print > /var/tmp/deadfiles &
# more /var/tmp/deadfiles
/var/adm/aculog
/var/adm/spellhist
/var/adm/wtmpx
/var/adm/sa/sa13
/var/adm/sa/sa27
/var/adm/sa/sa11
/var/adm/sa/sa23
/var/adm/sulog
/var/adm/vold.log
/var/adm/messages.1
/var/adm/messages.2
/var/adm/messages.3
# rm `cat /var/tmp/deadfiles`
#

如何清除临时目录

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 转到要清除的目录。

    复制代码
    # cd directory

    |-----------------------------------------------------------------------------------------------------|----------------------------------------------------|
    | | **注意 -**完成步骤 3 之前,请确保您处于正确的目录中。步骤 3 将删除当前目录中的所有文件。 |


  3. 删除当前目录中的文件和子目录。

    复制代码
    # rm -r *
  4. 转到包含不必要、临时或过时子目录和文件的其他目录。

  5. 重复步骤 3,删除这些子目录和文件。

示例 13-11 清除临时目录

以下示例显示如何清除 mywork 目录以及如何验证是否已删除所有文件和子目录。

复制代码
# cd mywork
# ls
filea.000
fileb.000
filec.001
# rm -r *
# ls
#

如何查找并删除 core 文件

  1. 成为管理员。

  2. 转到要搜索 core 文件的目录。

  3. 查找并删除此目录及其子目录中的所有 core 文件。

    复制代码
    # find . -name core -exec rm {} \;

示例 13-12 查找并删除 core 文件

以下示例显示如何使用 find 命令查找并删除 jones 用户帐户的 core 文件。

复制代码
# cd /home/jones
# find . -name core -exec rm {} \;

如何删除故障转储文件

故障转储文件可能会很大。如果允许系统存储这些文件,除非必要,否则不要使其保留太长时间。

  1. 成为管理员。

  2. 转到存储故障转储文件的目录。

    复制代码
    # cd /var/crash/

    |-----------------------------------------------------------------------------------------------------|----------------------------------------------------|
    | | **注意 -**完成步骤 3 之前,请确保您处于正确的目录中。步骤 3 将删除当前目录中的所有文件。 |


  3. 删除故障转储文件。

    复制代码
    # rm *
  4. 验证是否已删除故障转储文件。

    复制代码
    # ls

示例 13-13 删除故障转储文件

以下示例显示如何从系统 venus 中删除故障转储文件,以及如何验证故障转储文件是否已删除。

复制代码
# cd /var/crash
# rm *
# ls
相关推荐
STONE_KKK几秒前
Django快速入门篇
数据库·django·sqlite
白-胖-子2 分钟前
【技术原理】ELK技术栈的历史沿革与技术演进
大数据·运维·elk·互联网
看到千里之外的云4 分钟前
Oracle 11g post PSU Oct18 设置ssl连接(使用wallets)
数据库·oracle·ssl
看到千里之外的云11 分钟前
Oracle 11.2.0.4 pre PSU Oct18 设置SSL连接
oracle
绝迹的星14 分钟前
MySQL与Redis一致性问题分析
数据库·redis·mysql
hkfkn36 分钟前
Sql刷题日志(day9)
数据库·sql
Musennn39 分钟前
SQL次日留存率计算精讲:自连接与多字段去重的深度应用
服务器·数据库·sql
悟能不能悟1 小时前
Spring Boot多数据源配置的陷阱与终极解决方案
java·数据库·spring boot
是萝卜干呀1 小时前
Backend - Oracle SQL
数据库·sql·oracle·crud
2401_841003981 小时前
postgresql初体验
数据库·postgresql