Linux - quota的举例说明

2023-11-10

实作 Quota 流程-1:文件系统支持

[root@www ~]# df -h /home
Filesystem     Size  Used Avail Use% Mounted on
/dev/hda3      4.8G  740M  3.8G  17% /home  <==鸟哥主机的 /home 确实是独立的!

[root@www ~]# mount | grep home
/dev/hda3 on /home type ext3 (rw)

        从上面的数据来看,这部主机的 /home 确实是独立的 filesystem,因此可以直接限制 /dev/hda3 。 如果你的系统的 /home 并非独立的文件系统,那么可能就得要针对根目录 (/) 来规范了!不过,不太建议在根目录配置 Quota。 此外,由於 VFAT 文件系统并不支持 Linux Quota 功能,所以我们得要使用 mount 查询一下 /home 的文件系统为何? 看起来是 Linux 传统的 ext2/ext3 ,这种文件系统肯定有支持 Quota 啦!没问题!

        如果只是想要在这次启动中实验 Quota ,那么可以使用如下的方式来手动加入 quota 的支持:


[root@www ~]# mount -o remount,usrquota,grpquota /home
[root@www ~]# mount | grep home
/dev/hda3 on /home type ext3 (rw,usrquota,grpquota)
# 重点就在於 usrquota, grpquota !注意写法!
        事实上,当你重新挂载时,系统会同步升级 /etc/mtab 这个文件, 所以你必须要确定 /etc/mtab 已经加入 usrquota, grpquota 的支持到你所想要配置的文件系统中。 另外也要特别强调,使用者与群组的 quota 文件系统支持参数分别是:usrquota, grpquota !千万不要写错了!这一点非常多初接触 Quota 的朋友常常搞错。

        不过手动挂载的数据在下次重新挂载就会消失,因此最好写入配置档中啊!

[root@www ~]# vi /etc/fstab
LABEL=/home   /home  ext3   defaults,usrquota,grpquota  1 2
# 其他项目鸟哥并没有列出来!重点在於第四栏位!於 default 后面加上两个参数!

[root@www ~]# umount /home
[root@www ~]# mount -a
[root@www ~]# mount | grep home
/dev/hda3 on /home type ext3 (rw,usrquota,grpquota)
        还是要再次的强调,修改完 /etc/fstab 后,务必要测试一下!若有发生错误得要赶紧处理! 因为这个文件如果修改错误,是会造成无法启动完全的情况啊!切记切记!最好使用 vim 来修改啦! 因为会有语法的检验,就不会让你写错字了!


实作 Quota 流程-2:创建 quota 记录档

        其实 Quota 是透过分析整个文件系统中,每个使用者(群组)拥有的文件总数与总容量, 再将这些数据记录在该文件系统的最顶层目录,然后在该记录档中再使用每个帐号(或群组)的限制值去规范磁碟使用量的。 所以啦,建置这个 Quota 记录档就显的非常的重要。扫瞄有支持 Quota 参数 (usrquota, grpquota) 的文件系统, 就使用 quotacheck 这个命令!这个命令的语法如下:

quotacheck :扫瞄文件系统并创建 Quota 的记录档

[root@www ~]# quotacheck [-avugfM] [/mount_point]
选项与参数:
-a  :扫瞄所有在 /etc/mtab 内,含有 quota 支持的 filesystem,加上此参数后, 
      /mount_point 可不必写,因为扫瞄所有的 filesystem 了嘛!
-u  :针对使用者扫瞄文件与目录的使用情况,会创建 aquota.user
-g  :针对群组扫瞄文件与目录的使用情况,会创建 aquota.group
-v  :显示扫瞄过程的资讯;
-f  :强制扫瞄文件系统,并写入新的 quota 配置档 (危险)
-M  :强制以读写的方式扫瞄文件系统,只有在特殊情况下才会使用。
        quotacheck 的选项你只要记得『 -avug 』一起下达即可!那个 -f 与 -M 是在文件系统可能已经启动 quota 了, 但是你还想要重新扫瞄文件系统时,系统会要求你加入那两个选项啦 (担心有其他人已经使用 quota 中)!平时没必要不要加上那两个项目。

# 针对整个系统含有 usrquota, grpquota 参数的文件系统进行 quotacheck 扫瞄
[root@www ~]# quotacheck -avug
quotacheck: Scanning /dev/hda3 [/home] quotacheck: Cannot stat old user quota
file: No such file or directory <==有找到文件系统,但尚未制作记录档!
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
done  <==上面三个错误只是说明记录档尚未创建而已,可以忽略不理!
quotacheck: Checked 130 directories and 107 files <==实际搜寻结果
quotacheck: Old file not found.
quotacheck: Old file not found.
# 若运行这个命令却出现如下的错误信息,表示你没有任何文件系统有启动 quota 支持!
# quotacheck: Can't find filesystem to check or filesystem not mounted with 
# quota option.

[root@www ~]# ll -d /home/a*
-rw------- 1 root root 8192 Mar  6 11:58 /home/aquota.group
-rw------- 1 root root 9216 Mar  6 11:58 /home/aquota.user
# 在鸟哥的案例中,/home 独立的文件系统,因此搜寻结果会将两个记录档放在 
# /home 底下。这两个文件就是 Quota 最重要的资讯了!
        这个命令只要进行到这里就够了,不要反覆的进行!因为等一下我们会启动 quota 功能,若启动后你还要进行 quotacheck , 系统会担心破坏原有的记录档,所以会产生一些错误信息警告你。如果你确定没有任何人在使用 quota 时, 可以强制重新进行 quotacheck 的动作。强制运行的情况可以使用如下的选项功能:

# 如果因为特殊需求需要强制扫瞄已挂载的文件系统时
[root@www ~]# quotacheck -avug -mf
quotacheck: Scanning /dev/hda3 [/home] done
quotacheck: Checked 130 directories and 109 files
# 数据要简洁很多!因为有记录档存在嘛!所以警告信息不会出现!
        这样记录档就创建起来了!你不用手动去编辑那两个文件~因为那两个文件是 quota 自己的数据档,并不是纯文字档啦! 且该文件会一直变动,这是因为当你对 /home 这个文件系统进行操作时,你操作的结果会影响磁碟吧! 所以当然会同步记载到那两个文件中啦!所以要创建 aquota.user, aquota.group,记得使用的是 quotacheck 命令! 不是手动编辑的喔!

实作 Quota 流程-3:Quota 启动、 关闭与限制值配置

        制作好 Quota 配置档之后,接下来就是要启动 quota 了!启动的方式很简单!使用 quotaon ,至於关闭就用 quotaoff 即可

quotaon :启动 quota 的服务

[root@www ~]# quotaon [-avug]
[root@www ~]# quotaon [-vug] [/mount_point]
选项与参数:
-u  :针对使用者启动 quota (aquota.user)
-g  :针对群组启动 quota (aquota.group)
-v  :显示启动过程的相关信息;
-a  :根据 /etc/mtab 内的 filesystem 配置启动有关的 quota ,若不加 -a 的话,
      则后面就需要加上特定的那个 filesystem 喔!

# 由於我们要启动 user/group 的 quota ,所以使用底下的语法即可
[root@www ~]# quotaon -auvg
/dev/hda3 [/home]: group quotas turned on
/dev/hda3 [/home]: user quotas turned on

# 特殊用法,假如你的启动 /var 的 quota 支持,那么仅启动 user quota 时
[root@www ~]# quotaon -uv /var
        这个『 quotaon -auvg 』的命令几乎只在第一次启动 quota 时才需要进行!因为下次等你重新启动系统时, 系统的 /etc/rc.d/rc.sysinit 这个初始化脚本就会自动的下达这个命令了!

quotaoff :关闭 quota 的服务

[root@www ~]# quotaoff [-a]
[root@www ~]# quotaoff [-ug] [/mount_point]
选项与参数:
-a  :全部的 filesystem 的 quota 都关闭 (根据 /etc/mtab)
-u  :仅针对后面接的那个 /mount_point 关闭 user quota
-g  :仅针对后面接的那个 /mount_point 关闭 group quota

edquota :编辑帐号/群组的限值与宽限时间

        edquota 是 edit quota 的缩写,所以就是用来编辑使用者或者是群组限额的命令罗。

[root@www ~]# edquota [-u username] [-g groupname]
[root@www ~]# edquota -t  <==修改宽限时间
[root@www ~]# edquota -p 范本帐号 -u 新帐号
选项与参数:
-u  :后面接帐号名称。可以进入 quota 的编辑画面 (vi) 去配置 username 的限制值;
-g  :后面接群组名称。可以进入 quota 的编辑画面 (vi) 去配置 groupname 的限制值;
-t  :可以修改宽限时间。
-p  :复制范本。那个 范本帐号 为已经存在并且已配置好 quota 的使用者,
      意义为『将 范本帐号 这个人的 quota 限制值复制给 新帐号 』!
范例一:配置 dmtsai 这个使用者的 quota 限制值
[root@www ~]# edquota -u myquota1
Disk quotas for user myquota1 (uid 710):
  Filesystem    blocks  soft   hard  inodes  soft  hard
  /dev/hda3         80     0      0      10     0     0
        上头第一行在说明针对哪个帐号 (myquota1) 进行 quota 的限额配置,第二行则是标头行,里面共分为七个栏位, 七个栏位分别的意义为:

    1、文件系统 (filesystem):说明该限制值是针对哪个文件系统 (或 partition);
    2、磁碟容量 (blocks):这个数值是 quota 自己算出来的,单位为 Kbytes,请不要更动他;
    3、soft:磁碟容量 (block) 的 soft 限制值,单位亦为 KB
    4、hard:block 的 hard 限制值,单位 KB;
    5、文件数量 (inodes):这是 quota 自己算出来的,单位为个数,请不要更动他;
    6、soft:inode 的 soft 限制值;
    7、hard:inode 的 hard 限制值;
        当 soft/hard 为 0 时,表示没有限制的意思。好,依据我们的范例说明,我们需要配置的是 blocks 的 soft/hard ,至於 inode 则不要去更动他!因此上述的画面我们将他改成如下的模样:

Disk quotas for user myquota1 (uid 710):
  Filesystem    blocks    soft    hard  inodes  soft  hard
  /dev/hda3         80  250000  300000      10     0     0
# 鸟哥使用 1000 去近似 1024 的倍数!比较好算啦!然后就可以储存后离开罗!
# 将 myquota1 的限制值复制给其他四个帐号
[root@www ~]# edquota -p myquota1 -u myquota2
[root@www ~]# edquota -p myquota1 -u myquota3
[root@www ~]# edquota -p myquota1 -u myquota4
[root@www ~]# edquota -p myquota1 -u myquota5
[root@www ~]# edquota -g myquotagrp
Disk quotas for group myquotagrp (gid 713):
  Filesystem    blocks    soft     hard  inodes  soft  hard
  /dev/hda3        400  900000  1000000      50     0     0
# 记得,单位为 KB 喔!
# 宽限时间原本为 7 天,将他改成 14 天吧!
[root@www ~]# edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem         Block grace period     Inode grace period
  /dev/hda3                14days                  7days
# 原本是 7days ,我们将他给改为 14days 喔!

实作 Quota 流程-4:Quota 限制值的报表

quota :单一用户的 quota 报表

[root@www ~]# quota [-uvs] [username]
[root@www ~]# quota [-gvs] [groupname]
选项与参数:
-u  :后面可以接 username ,表示显示出该使用者的 quota 限制值。若不接 username 
      ,表示显示出运行者的 quota 限制值。
-g  :后面可接 groupname ,表示显示出该群组的 quota 限制值。
-v  :显示每个用户在 filesystem 的 quota 值;
-s  :使用 1024 为倍数来指定单位,会显示如 M 之类的单位!

# 直接使用 quota 去显示出 myquota1 与 myquota2 的限额
[root@www ~]# quota -uvs myquota1 myquota2
Disk quotas for user myquota1 (uid 710):
   Filesystem  blocks  quota  limit   grace   files   quota   limit   grace
    /dev/hda3      80   245M   293M              10       0       0
Disk quotas for user myquota2 (uid 711):
   Filesystem  blocks  quota  limit   grace   files   quota   limit   grace
    /dev/hda3      80   245M   293M              10       0       0
# 这个命令显示出来的数据跟 edquota 几乎是一模一样的!只是多了个 grace 项目。
# 你会发现 grace 底下没有任何数据,这是因为我们的使用量 (80) 尚未超过 soft

# 显示出 myquotagrp 的群组限额
[root@www ~]# quota -gvs myquotagrp
Disk quotas for group myquotagrp (gid 713):
   Filesystem  blocks  quota  limit   grace   files   quota   limit   grace
    /dev/hda3     400   879M   977M              50       0       0

repquota :针对文件系统的限额做报表

[root@www ~]# repquota -a [-vugs]
选项与参数:
-a  :直接到 /etc/mtab 搜寻具有 quota 标志的 filesystem ,并报告 quota 的结果;
-v  :输出的数据将含有 filesystem 相关的细部资讯;
-u  :显示出使用者的 quota 限值 (这是默认值);
-g  :显示出个别群组的 quota 限值。
-s  :使用 M, G 为单位显示结果

# 查询本案例中所有使用者的 quota 限制情况:
[root@www ~]# repquota -auvs
*** Report for user quotas on device /dev/hda3    <==针对 /dev/hda3
Block grace time: 14days; Inode grace time: 7days <==block 宽限时间为 14 天
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --    651M       0       0              5     0     0
myquota1  --      80    245M    293M             10     0     0
myquota2  --      80    245M    293M             10     0     0
myquota3  --      80    245M    293M             10     0     0
myquota4  --      80    245M    293M             10     0     0
myquota5  --      80    245M    293M             10     0     0

Statistics:  <==这是所谓的系统相关资讯,用 -v 才会显示
Total blocks: 9
Data blocks: 2
Entries: 22
Used average: 11.000000

实作 Quota 流程-5:测试与管理

# 测试一:利用 myquota1 的身份,建置一个 270MB 的大文件,并观察 quota 结果!
[myquota1@www ~]$ dd if=/dev/zero of=bigfile bs=1M count=270
hda3: warning, user block quota exceeded.
270+0 records in
270+0 records out
283115520 bytes (283 MB) copied, 3.20282 seconds, 88.4 MB/s
# 注意看,我是使用 myquota1 的帐号去进行 dd 命令的喔!不要恶搞啊!
# 然后你可以发现出现一个 warning 的信息喔!接下来看看报表。

[root@www ~]# repquota -auv 
*** Report for user quotas on device /dev/hda3
Block grace time: 14days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
myquota1  +-  276840  250000  300000 13days      11     0     0
# 这个命令则是利用 root 去查阅的!
# 你可以发现 myquota1 的 grace 出现!并且开始倒数了!

# 测试二:再创建另外一个大文件,让总容量超过 300M !
[myquota1@www ~]$ dd if=/dev/zero of=bigfile2 bs=1M count=300
hda3: write failed, user block limit reached.
dd: writing `bigfile2': Disk quota exceeded <==看!错误信息不一样了!
23+0 records in  <==没办法写入了!所以只记录 23 笔
22+0 records out
23683072 bytes (24 MB) copied, 0.260081 seconds, 91.1 MB/s

[myquota1@www ~]$ du -sk
300000  .  <==果然是到极限了!
        此时 myquota1 可以开始处理他的文件系统了!如果不处理的话,最后宽限时间会归零,然后出现如下的画面:

[root@www ~]# repquota -au
*** Report for user quotas on device /dev/hda3
Block grace time: 00:01; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
myquota1  +-  300000  250000  300000   none      11     0     0
# 倒数整个归零,所以 grace 的部分就会变成 none 啦!不继续倒数

warnquota :对超过限额者发出警告信

        warnquota字面上的意义就是 quota 的警告 (warn) 嘛!那么这东西有什么用呢?他可以依据 /etc/warnquota.conf 的配置,然后找出目前系统上面 quota 用量超过 soft (就是有 grace time 出现的那些家伙) 的帐号,透过 email 的功能将警告信件发送到使用者的电子邮件信箱。 warnquota 并不会自动运行,所以我们需要手动去运行他。单纯运行『 warnquota 』之后,他会发送两封信出去, 一封给 myquota1 一封给 root !

[root@www ~]# warnquota
# 完全不会出现任何信息!没有信息就是『好信息』! ^_^

[root@www ~]# mail
 N329 root@www.vbird.tsai   Fri Mar  6 16:10  27/1007  "NOTE: ....
& 329   <==因为新信件在第 329 封之故
From root@www.vbird.tsai  Fri Mar  6 16:10:18 2009
Date: Fri, 6 Mar 2009 16:10:17 +0800
From: root <root@www.vbird.tsai>
Reply-To: root@myhost.com
Subject: NOTE: You are exceeding your allocated disk space limits
To: myquota1@www.vbird.tsai
Cc: root@www.vbird.tsai   <==注意这三行,分别是标题、收件者与副本 (CC)。

Your disk usage has exceeded the agreed limits on this server <==问题说明
Please delete any unnecessary files on following filesystems:

/dev/hda3  <==底下这几行为发生磁碟『爆表』的资讯啦!
                        Block limits               File limits
Filesystem           used    soft    hard  grace    used  soft  hard  grace
/dev/hda3      +-  300000  250000  300000 13days      12     0     0

root@localhost  <==这个是警告信息发送者的『签名数据』啦!

& exit  <==离开 mail 程序!
[root@www ~]# warnquota
# 完全不会出现任何信息!没有信息就是『好信息』! ^_^

[root@www ~]# mail
 N329 root@www.vbird.tsai   Fri Mar  6 16:10  27/1007  "NOTE: ....
& 329   <==因为新信件在第 329 封之故
From root@www.vbird.tsai  Fri Mar  6 16:10:18 2009
Date: Fri, 6 Mar 2009 16:10:17 +0800
From: root <root@www.vbird.tsai>
Reply-To: root@myhost.com
Subject: NOTE: You are exceeding your allocated disk space limits
To: myquota1@www.vbird.tsai
Cc: root@www.vbird.tsai   <==注意这三行,分别是标题、收件者与副本 (CC)。

Your disk usage has exceeded the agreed limits on this server <==问题说明
Please delete any unnecessary files on following filesystems:

/dev/hda3  <==底下这几行为发生磁碟『爆表』的资讯啦!
                        Block limits               File limits
Filesystem           used    soft    hard  grace    used  soft  hard  grace
/dev/hda3      +-  300000  250000  300000 13days      12     0     0

root@localhost  <==这个是警告信息发送者的『签名数据』啦!

& exit  <==离开 mail 程序!
        如果你重复运行 warnquota ,那么 myquota1 就会收到类似如下的信件内容:

Subject: 注意:你在本系统上拥有的文件容量已经超过最大容许限额
To: myquota1@www.vbird.tsai
Cc: root@www.vbird.tsai

你的磁碟容量已经超过本机的容许限额,
  请在如下的文件系统中,删除不必要的文件:

/dev/hda3

Filesystem           used    soft    hard  grace    used  soft  hard  grace
/dev/hda3      +-  300000  250000  300000   none      11     0     0

你的系统管理员 (root@localhost)
        不过这个方法并不适用在 /var/spool/mail 也爆表的 quota 控管中,因为如果使用者在这个 filesystem 的容量已经爆表,那么新的信件当然就收不下来啦!此时就只能等待使用者自己发现并跑来这里删除数据, 或者是请求 root 帮忙处理罗!知道了这玩意儿这么好用,那么我们怎么让系统自动的运行 warnquota 呢? 你可以这样做:

[root@www ~]# vi /etc/cron.daily/warnquota
/usr/sbin/warnquota
# 你没有看错!只要这一行,且将运行档以绝对路径的方式写入即可!

[root@www ~]# chmod 755 /etc/cron.daily/warnquota

setquota :直接於命令中配置 quota 限额

        如果你想要使用 script 的方法来创建大量的帐号,并且所有的帐号都在创建时就给予 quota ,那该如何是好? 其实有两个方法可以考虑:
  
    1、先创建一个原始 quota 帐号,再以『 edquota -p old -u new 』写入 script 中;
    2、直接以 setquota 创建用户的 quota 配置值。

        不同於 edquota 是呼叫 vi 来进行配置,setquota 直接由命令输入所必须要的各项限制值。 他的语法有点像这样:

[root@www ~]# setquota [-u|-g] 名称 block(soft) block(hard) \
>  inode(soft) inode(hard) 文件系统

# 观察原始的 myquota5 限值,并给予 soft/hard 分别为 100000/200000
[root@www ~]# quota -uv myquota5
Disk quotas for user myquota5 (uid 714): 
   Filesystem blocks  quota  limit  grace files  quota  limit  grace
    /dev/hda3     80 250000 300000           10      0      0

[root@www ~]# setquota -u myquota5 100000 200000 0 0 /home

[root@www ~]# quota -uv myquota5
Disk quotas for user myquota5 (uid 714): 
   Filesystem blocks  quota  limit  grace files  quota  limit  grace
    /dev/hda3     80 100000 200000           10      0      0
# 看吧!真的有改变过来!这就是 quota 的简单脚本配置语法!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux - quota的举例说明 的相关文章

  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • ALSA:snd_pcm_writei 调用时缓冲区不足

    当运行我最近从灰烬中带回来的旧程序时 我遇到了缓冲区不足的情况 该程序将原始声音文件完全加载到内存中 2100 字节长 525 帧 并准备 ALSA 进行输出 44 1khz 2 通道 有符号 16 位 if err snd pcm set
  • 在 C 中使用单个消息队列是否可以实现双向通信

    我希望服务器向客户端发送一些消息 并让客户端确认它 我被分配了这个任务 我可以在 C linux 中使用单个消息队列来完成它还是我需要创建两个 谢谢 是的 可以使用 sysV 消息队列来做到这一点 从您之前的问题来看 您正在使用该队列 您可
  • Google BQ:运行参数化查询,其中参数变量是 BQ 表目标

    我正在尝试从 Linux 命令行为 BQ 表目标运行 SQL 此 SQL 脚本将用于多个日期 客户端和 BQ 表目标 因此这需要在我的 BQ API 命令行调用中使用参数 标志 parameter 现在 我已经点击此链接来了解参数化查询 h
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 在centos中安装sqlite3 dev和其他包

    我正在尝试使用 cpanel 在 centos 机器上安装 sqlite dev 和其他库 以便能够编译应用程序 我对 debian 比 centos 更熟悉 我知道我需要的库是 libsqlite3 dev libkrb5 dev lib
  • tcpdump 是否受 iptables 过滤影响?

    如果我的开发机器有iptables规则到FORWARD一些数据包 这些数据包是否被 tcpdump 捕获 我有这个问题 因为我知道存在其他链称为INPUT如果数据包路由到 它会过滤发往应用程序的数据包FORWARD链 它会到达吗tcpdum
  • 就分页分段内存而言的程序寿命

    我对 x86 Linux 机器中的分段和分页过程有一个令人困惑的概念 如果有人能澄清从开始到结束所涉及的所有步骤 我们将很高兴 x86 使用分页分段内存技术进行内存管理 任何人都可以解释一下从可执行的 elf 格式文件从硬盘加载到主内存到它
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • 使用包管理器时如何管理 Perl 模块?

    A 最近的问题 https stackoverflow com questions 397817 unable to find perl modules in intrepid ibex ubuntu这让我开始思考 在我尝试过的大多数 Li
  • 如何在 *nix 中登录时运行脚本?

    我知道我曾经知道如何做到这一点 但是 如何在 unix 中登录时运行脚本 bash 可以 From 维基百科 Bash http en wikipedia org wiki Bash 28Unix shell 29 当 Bash 启动时 它
  • Linux/POSIX:为什么 fork() 不分叉*所有*线程

    众所周知 POSIX下创建新进程的默认方式是使用fork 在 Linux 下 这在内部映射到clone 我想知道的是 众所周知 当一个人打电话时fork 子进程是用单个线程创建的 调用的线程fork cf https linux die n
  • 使用os.execlp时,为什么`python`需要`python`作为argv[0]

    代码是这样的 os execlp python python child py other args this works os execlp python child py other args this doesn t work 我读过
  • 为什么同一个curl命令在windows和linux下输出不同的东西?

    为什么同样的curl o file https www link com 命令输出不同的东西 例如 如果我运行命令curl o source txt https www youtube com playlist list PLIx6Fwnp
  • x86-64 AMD 上 CALL 指令的操作数生成

    以下是示例程序 objdump 的输出 080483b4
  • ansible unarchive 模块如何查找 tar 二进制文件?

    我正在尝试执行一个 ansible 剧本 该剧本的任务是利用unarchive模块 因为我是在 OSX 上执行此操作 所以我需要使用它gnu tar 而不是bsd tar通常与 OSX 一起提供 因为BSD tar 不受官方支持 https

随机推荐

  • 渗透测试之指纹识别(CMS、CDN、WAF)

    目录 什么是指纹识别 1 cms指纹识别 2 cdn指纹识别 3 WAF指纹识别 什么是指纹识别 通过关键特征 识别出目标的CMS系统 服务器 开发语言 操作系统 CDN WAF的类别 版本等等 其中主要识别以下的信息 1 CMS信息 比如
  • C3PO数据库连接池

    一 数据库连接池原理 连接池基本的思想是在系统初始化的时候 将数据库连接作为对象存储在内存中 当用户需要访问数据库时 并非建立一个新的连接 而是从连接池中取出一个已建立的空闲连接对象 使用完毕后 用户也并非将连接关闭 而是将连接放回连接池中
  • Adversarial Visual Robustness by Causal Intervention

    Motivation 机器能够利用人看不见的pattern对目标进行分类 当测试时pattern不变 那么这些pattern是有益的 被称为predictive features 而当他们在攻击中被篡改时 他们就是混淆因子 本文希望通过因果
  • 【C++】《C++标准程序库》小结第九章-算法

    1 普通算法在
  • 软件测试从月薪8k到年薪30W+,一个女测工的辛苦历程

    我花了6年的时间 由月薪8k的手工测试成长到年薪30w 的测试开发 回顾我从手工测试到测试开发的成长路径 基本上是伴随着 3次能力飞跃 实现的 第一次 能力飞跃 从不满足现状开始 第一家入职的时候是一家小公司 工资给了8K多点 刚开始入行的
  • shopify店铺 怎么样 shopify建站 我的使用经验

    公司从19年底开始使用shopify建站 进行品牌宣传和商城交易的相关业务 我个人作为开发也从开发shopify的工作中学习到了很多东西 这个框架非常灵活 官方也提供了很多接口 优点 主题编辑器 可以实时预览编辑 开发灵活 可扩展性强 插件
  • SoapUI经常遇到的问题记录--持续刷新

    1 怎么SoapUI的Request URL不支持大写怎么办 问题 在SoapUI的Request URL中 每次输入的URL中含有的大写字母会自动转换为小写字母 导致请求不了对应的地址该怎么办 解决方法 具体的解决办法是在HTTP Tes
  • java代码中设置mysql时区_关于Java中的mysql时区问题详解

    前言 话说工作十多年 mysql 还真没用几年 起初是外企银行 无法直接接触到 DB 后来一直从事架构方面 也多是解决问题为主 这次搭建海外机房 围绕时区大家做了一番讨论 不说最终的结果是什么 期间有同事认为 DB 返回的是 UTC 时间
  • 对图像中语义信息、高层和底层特征的理解

    前言 在计算机视觉中 大家经常会提起图像的语义信息以及图像的高层特征和底层特征 那么到底什么是图像的语义呢 图像的高层特征和底层特征又包含哪些信息的呢 今天我们就来说一说 1 图像的语义信息 图像的语义分为视觉层 对象层和概念层 视觉层即通
  • springboot属性类自动加载配置文件中的值

    springboot属性类自动加载配置文件中的值 如Person类加载在yml中配置的name age等属性值 可以通过如下步骤获取 类上添加 ConfigurationProperties注解 prefix为yml中配置的属性名称 要想属
  • redhat linux 系统修复,Red Hat 6企业版系统故障修复方法

    rm boot rf dd if dev zero of dev sda bs 446 count 1 rm f etc inittab rm f etc rc d rc sysinit rm f etc rc d rc loacl mv
  • Java中多线程打印abc

    public class PrintABC private int state private int count private static final int MAX COUNT 50 public synchronized void
  • 无处不在的Attention

    概述 之前的博客中 笔者都曾提到attention机制 这种考虑全局 关注重点的机制在深度学习中很常见 尤其是self attention将自然语言处理带到一个新高度 attention增加了深度学习的可解释性 并且应用广泛 在自然语言处理
  • Linux 查看端口占用情况

    Linux 查看端口占用情况可以使用 lsof ss和 netstat 命令 一 lsof lsof命令详解 lsof list open files 是一个列出当前系统打开文件的工具 lsof 查看端口占用语法格式 lsof i 端口号
  • 37黑马QT笔记之QFileInfo提供文件相关信息

    37黑马QT笔记之QFileInfo提供文件相关信息 1 QFileInfo 这个类提供了许多函数给我们查找文件的信息 例如文件名 文件大小等等 对我们进行某些处理相当有用 例如你要对某个目录操作 需要判断它是否为目录 当你需要传输文件内容
  • 华为OD机试 - 最大数字

    题目描述 给定一个由纯数字组成以字符串表示的数值 现要求字符串中的每个数字最多只能出现2次 超过的需要进行删除 删除某个重复的数字后 其它数字相对位置保持不变 如 34533 数字3重复超过2次 需要删除其中一个3 删除第一个3后获得最大数
  • Mac下输入法总是默认中文,怎么设置成英文的?

    最近一同事在DreamWeaver里 写CSS样式的时候 默认总是中文 切到别的窗口 再切回来 就变成中文了 总要按一下切换键 时间长了特别烦人 在网上找了一些方法 最后找到一个有效的 总结一下就是 先把系统语言设置成英文 然后重启 再重新
  • java web从入门到资深进阶路线图

    要头发伤钱 要钱伤头发 如果说你已经下定了决心 为了钱不惜一切代价 请往后看 从我讲课以来 有很多朋友问过我 java web应该如何学 的确 java后端技术知识体系非常庞大 很多初学者往往一头雾水 不知道怎么学 学些什么东西 先学什么
  • uniapp安装npm依赖,导入,使用

    1 本文以uniapp安装并使用动画组件animate为案例书写 其余组件可使用相同方法套用 2 第一步现在先打开命令行 检查npm是否已经正确安装 输入npm v 返回版本号则证明npm安装正常 如有问题 自行百度npm安装 3 npm环
  • Linux - quota的举例说明

    实作 Quota 流程 1 文件系统支持 root www df h home Filesystem Size Used Avail Use Mounted on dev hda3 4 8G 740M 3 8G 17 home lt 鸟哥主