<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=160.2.68.26</id>
	<title>wiki143 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=160.2.68.26"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Special:Contributions/160.2.68.26"/>
	<updated>2026-05-04T10:29:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Rm_(Unix)&amp;diff=1137152</id>
		<title>Rm (Unix)</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Rm_(Unix)&amp;diff=1137152"/>
		<updated>2025-05-24T00:55:02Z</updated>

		<summary type="html">&lt;p&gt;160.2.68.26: corrected grammar (changed &amp;quot;production of film Toy Story 2&amp;quot; to &amp;quot;production of *the* film Toy Story 2&amp;quot;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Short description|Shell command for deleting files}}&lt;br /&gt;
{{lowercase title}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name                   = rm&lt;br /&gt;
| logo                   = &lt;br /&gt;
| screenshot             = Rm --help Command - Unix.png&lt;br /&gt;
| screenshot size        = &lt;br /&gt;
| caption                = The {{code|rm}} command&lt;br /&gt;
| author                 = [[Ken Thompson]], [[Dennis Ritchie]]&amp;lt;br /&amp;gt;([[AT&amp;amp;T Bell Laboratories]])&lt;br /&gt;
| developer              = Various [[open-source software|open-source]] and [[commercial software|commercial]] developers&lt;br /&gt;
| released               = {{Start date and age|1971|11|3}}&lt;br /&gt;
| latest release version = &lt;br /&gt;
| latest release date    = &lt;br /&gt;
| programming language   = [[C (programming language)|C]]&lt;br /&gt;
| operating system       = [[Unix]], [[Unix-like]], [[V (operating system)|V]], [[Plan 9 from Bell Labs|Plan 9]], [[Inferno (operating system)|Inferno]], [[KolibriOS]], [[IBM i]]&lt;br /&gt;
| platform               = [[Cross-platform]]&lt;br /&gt;
| genre                  = [[Command (computing)|Command]]&lt;br /&gt;
| license                = [[coreutils]]: [[GPLv3+]]&amp;lt;br /&amp;gt;Plan 9: [[MIT License]]&lt;br /&gt;
| website                = &lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt;&#039;&#039;&#039;, short for &#039;&#039;&#039;r&#039;&#039;&#039;e&#039;&#039;&#039;m&#039;&#039;&#039;ove, is a [[shell (computing)|shell]] [[command (computing)|command]] for removing files (which includes [[Unix file type|special files]] such as [[directory (computing)|directories]]) from the [[file system]]. The command may not actually delete a file (release its storage for reuse) since it only unlinks it {{endash}} removes a [[hard link]] to a file via the &amp;lt;code&amp;gt;[[unlink (Unix)|unlink()]]&amp;lt;/code&amp;gt; [[system call]]. If a file has multiple links and less than all are removed, then the file remains in the file system; accessible via its other links. When a file&#039;s only link is removed, then the file is deleted {{endash}} releasing its storage space for other use.&lt;br /&gt;
&lt;br /&gt;
Generally, a deleted file&#039;s former storage space still contains the file&#039;s data until it is overwritten with another file&#039;s content. The data is not accessible via normal file operations but can be recovered via specialized tools. Since this is considered a [[software security|security]] risk in some contexts, a hardened version of {{code|cp}} may wipe the file&#039;s storage area when the file is deleted. Commands such as [[Shred (Unix)|shred]] and [[srm (Unix)|srm]] specifically provide data wiping.&lt;br /&gt;
&lt;br /&gt;
Since &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; does not provide a fallback to recover a file such as a [[recycle bin (computing)|recycle bin]], its use involves the risk of accidentally losing information.&amp;lt;ref&amp;gt;{{Cite web|url=http://www.faqs.org/faqs/unix-faq/faq/part3/section-6.html|title=Unix - Frequently Asked Questions (3/7) [Frequent posting]Section - How do I &amp;quot;undelete&amp;quot; a file?|website=www.faqs.org}}&amp;lt;/ref&amp;gt; Users tend to wrap calls to &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; in safety mechanisms to limit accidental deletion. There are [[undelete]] utilities that attempts to reconstruct the index and can bring the file back if its storage was not reused.&lt;br /&gt;
&lt;br /&gt;
Originally, developed for [[Unix]], today it is also available on [[Unix-like]] and non Unix-like systems, [[KolibriOS]],&amp;lt;ref&amp;gt;{{Cite web|url=http://wiki.kolibrios.org/wiki/Shell|title=Shell - KolibriOS wiki|website=wiki.kolibrios.org}}&amp;lt;/ref&amp;gt; [[IBM i]],&amp;lt;ref&amp;gt;{{cite web |title=IBM System i Version 7.2 Programming Qshell |language=en |author=IBM |website=[[IBM]] |author-link=IBM |url=https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/rzahz/rzahzpdf.pdf?view=kc |access-date=2020-09-05 }}&amp;lt;/ref&amp;gt; [[Unified Extensible Firmware Interface|EFI shell]].&amp;lt;ref name=&amp;quot;EFI-Shells-and-Scripting&amp;quot;&amp;gt;{{cite web&lt;br /&gt;
 | url = http://software.intel.com/en-us/articles/efi-shells-and-scripting/&lt;br /&gt;
 | title = EFI Shells and Scripting&lt;br /&gt;
 | publisher = [[Intel]]&lt;br /&gt;
 | access-date = 2013-09-25&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; and [[Windows]] (via [[UnxUtils]]).&amp;lt;ref&amp;gt;{{Cite web|url=http://unxutils.sourceforge.net/|title=Native Win32 ports of some GNU utilities|website=unxutils.sourceforge.net}}&amp;lt;/ref&amp;gt; The &amp;lt;code&amp;gt;[[Del (command)|del]]&amp;lt;/code&amp;gt; command provides a similar capability in [[MS-DOS]], [[OS/2]], and [[Command Prompt]]. &lt;br /&gt;
&lt;br /&gt;
Like {{code|rm}}, the &amp;lt;code&amp;gt;[[unlink (Unix)|unlink]]&amp;lt;/code&amp;gt; command also removes (unlinks) files, but only one file at a time.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
On some old versions of Unix, the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command would remove directories if they were empty.&amp;lt;ref&amp;gt;{{Cite web|url=http://man.cat-v.org/unix_8th/1/rm|title=rm page from Section 1 of the unix 8th manual|website=man.cat-v.org}}&amp;lt;/ref&amp;gt; This behaviour can still be obtained in some versions of &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; flag, e.g., the [[Berkeley Software Distribution|BSDs]] (such as [[FreeBSD]],&amp;lt;ref&amp;gt;{{citation |url=http://modman.unixdev.net/?manpath=FreeBSD-5.4-RELEASE&amp;amp;page=rm&amp;amp;sektion=1&amp;amp;apropos= |title=RM(1) |work=FreeBSD-5.4-RELEASE |access-date=February 5, 2015 }}&amp;lt;/ref&amp;gt; [[NetBSD]],&amp;lt;ref&amp;gt;{{citation |url=http://modman.unixdev.net/?manpath=NetBSD-2.0&amp;amp;page=rm&amp;amp;sektion=1&amp;amp;apropos= |title=RM(1) |work=NetBSD-2.0 |access-date=February 5, 2015 }}&amp;lt;/ref&amp;gt; [[OpenBSD]]&amp;lt;ref&amp;gt;{{citation |url=http://modman.unixdev.net/?manpath=OpenBSD-3.6&amp;amp;page=rm&amp;amp;sektion=1&amp;amp;apropos= |title=RM(1) |work=OpenBSD-3.6 |access-date=February 5, 2015 }}&amp;lt;/ref&amp;gt; and [[macOS]]) derived from 4.4BSD-Lite2.&lt;br /&gt;
&lt;br /&gt;
The version in [[GNU Core Utilities]] was written by Paul Rubin, David MacKenzie, [[Richard Stallman]], and Jim Meyering.&amp;lt;ref&amp;gt;{{Cite web|url=https://linux.die.net/man/1/rm|title=rm(1): remove files/directories - Linux man page|website=linux.die.net}}&amp;lt;/ref&amp;gt; This version provides a &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; option to help with compatibility.&amp;lt;ref&amp;gt;{{cite web |url=http://git.savannah.gnu.org/cgit/coreutils.git/commit/src/rm.c?id=fdc2da7165d93c8065365999341173ad2a818833 |title=rm: new option --dir (-d) to remove empty directories |date=January 22, 2012 |author=Krzysztof Goj |website=coreutils.git }}&amp;lt;/ref&amp;gt; The same functionality is provided by the standard &amp;lt;code&amp;gt;[[rmdir]]&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
&lt;br /&gt;
Options commonly provided by a command implementation:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;, &#039;&#039;&#039;r&#039;&#039;&#039;ecursive; remove directories and their content recursively&lt;br /&gt;
*&amp;lt;code&amp;gt;-i&amp;lt;/code&amp;gt;, &#039;&#039;&#039;i&#039;&#039;&#039;nteractive; ask user to confirm deleting each file&lt;br /&gt;
*&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;, &#039;&#039;&#039;f&#039;&#039;&#039;orce; ignore non-existent files and override any confirmation prompts (effectively canceling &amp;lt;code&amp;gt;-i&amp;lt;/code&amp;gt;), does &#039;&#039;not&#039;&#039; allow removing files from a write-protected directory&lt;br /&gt;
*&amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;, &#039;&#039;&#039;v&#039;&#039;&#039;erbose; log status&lt;br /&gt;
*&amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;, &#039;&#039;&#039;d&#039;&#039;&#039;irectory; remove any empty directories&lt;br /&gt;
*&amp;lt;code&amp;gt;--one-file-system&amp;lt;/code&amp;gt;, only remove files on the same file system as the argument; ignore mounted file systems&lt;br /&gt;
&lt;br /&gt;
== Use ==&lt;br /&gt;
&lt;br /&gt;
By default, &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; removes specified files, but does not remove a directory.&amp;lt;ref&amp;gt;{{Cite web|url=https://man7.org/linux/man-pages/man1/rm.1.html|title=rm(1) - Linux manual page|website=man7.org}}&amp;lt;/ref&amp;gt; For example, the following removes the file named &#039;&#039;&#039;[[Foobar|foo]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ rm foo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But that command fails if &#039;&#039;&#039;foo&#039;&#039;&#039; is a directory. To delete directory &#039;&#039;&#039;foo&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ rm -r foo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command is often used with [[xargs]] to supply a list of files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ xargs rm &amp;lt; filelist&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove all [[Portable Network Graphics|PNG images]] in all directories below the current one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ find . -name &#039;*.png&#039; -exec rm {} +&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Safety ==&lt;br /&gt;
&lt;br /&gt;
=== Permissions ===&lt;br /&gt;
On most file systems, removing a file requires write and execute permissions on the containing directory. Some may be confused that permissions on the file to be removed are irrelevant. However, the GNU implementation confirms removing a write-protected file unless the -f option is used.&amp;lt;ref&amp;gt;{{Cite news|url=https://www.theinquirer.net/inquirer/news/2454743/man-destroys-his-entire-company-with-a-five-character-bash-command|archive-url=https://web.archive.org/web/20160416214235/http://www.theinquirer.net/inquirer/news/2454743/man-destroys-his-entire-company-with-a-five-character-bash-command|url-status=unfit|archive-date=April 16, 2016|title=Linux rm command help and examples|date=24 January 2018|work=ComputerHope|access-date=24 January 2019}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove a directory (using &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;), its contents must be removed, recursively. This requires the user to have read, write and execute permissions to the directory (if it&#039;s not empty) and any non-empty subdirectories recursively. Read permission is needed to list the contents of the directory. This sometimes leads to an odd situation where a non-empty directory cannot be removed because the user doesn&#039;t have write permission to it and so cannot remove its contents, but if the same directory were empty, the user would be able to remove it.&amp;lt;ref&amp;gt;{{Cite news|url=https://www.macworld.com/article/2082021/master-the-command-line-deleting-files-and-folders.html|title=Master the command line: Deleting files and folders|last=McElhearn|first=Kirk|date=2 January 2014|work=Macworld|access-date=24 January 2019}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If a file resides in a directory with the [[sticky bit]] set, then removing the file requires the user to own the file.&lt;br /&gt;
&lt;br /&gt;
=== Preventing accidental deletion ===&lt;br /&gt;
Commands like &amp;lt;code&amp;gt;rm -rf *&amp;lt;/code&amp;gt; are relatively risky since they can delete many files in an unrecoverable way. Such commands are sometimes referenced in anecdotes about disastrous mistakes,&amp;lt;ref name=&amp;quot;Linux/UNIX: Delete a file&amp;quot;&amp;gt;{{cite web|last=Gite|first=Vivek|title=Linux/UNIX: Delete a file|url=http://www.cyberciti.biz/faq/howto-linux-unix-delete-remove-file/|publisher=Nixcraft|access-date=24 November 2011}}&amp;lt;/ref&amp;gt; such as during the production of the film &#039;&#039;[[Toy Story 2]]&#039;&#039;.&amp;lt;ref name=&amp;quot;Panzarino&amp;quot;&amp;gt;{{cite web |last1=Panzarino |first1=Matthew |title=How Toy Story 2 Got Deleted Twice, Once on Accident, Again on purpose |url=https://thenextweb.com/news/how-pixars-toy-story-2-was-deleted-twice-once-by-technology-and-again-for-its-own-good |website=TNW {{!}} Media |access-date=27 September 2022 |language=en |date=21 May 2012}}&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To minimize the risk of accidental file deletions, a common technique is to hide the default {{code|rm}} command behind an alias or a function that includes the interactive option. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias rm=&amp;quot;rm -i&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rm () { /bin/rm -i &amp;quot;$@&amp;quot; ; }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, by default, {{code|rm}} requires the user to confirm removing each file by pressing {{key|Y}} or {{key|N}} plus {{key|Return}}. To bypass confirmation, a user can include the &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; option (as the option specified later on the expanded command line &amp;quot;&amp;lt;code&amp;gt;rm -i -f&amp;lt;/code&amp;gt;&amp;quot; takes precedence). &lt;br /&gt;
&lt;br /&gt;
Unfortunately this can lead to other accidental removals since it trains users to be careless about the wildcards they hand to &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt;, as well as encouraging a tendency to mindlessly press {{key|Y}} and {{key|Return}} to confirm.{{Citation needed|date=July 2012}} Users have even been seen going as far as using &amp;lt;code&amp;gt;yes | rm &#039;&#039;files&#039;&#039;&amp;lt;/code&amp;gt;, which automatically confirms the deletion of each file. {{Citation needed|date=July 2012}}&lt;br /&gt;
&lt;br /&gt;
A compromise that allows users to confirm just once, encourages proper wildcarding, and makes verification of the list  easier can be achieved with something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
if [ -n &amp;quot;$PS1&amp;quot; ] ; then&lt;br /&gt;
  rm () &lt;br /&gt;
  { &lt;br /&gt;
      ls -FCsd &amp;quot;$@&amp;quot;&lt;br /&gt;
      echo &#039;remove[ny]? &#039; | tr -d &#039;\012&#039; ; read&lt;br /&gt;
      if [ &amp;quot;_$REPLY&amp;quot; = &amp;quot;_y&amp;quot; ]; then&lt;br /&gt;
          /bin/rm -rf &amp;quot;$@&amp;quot;&lt;br /&gt;
      else&lt;br /&gt;
          echo &#039;(cancelled)&#039;&lt;br /&gt;
      fi&lt;br /&gt;
  }&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arguably, this function should not be made into a [[shell script]], which would run a risk of it being found ahead of the system &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; in the search path, nor should it be allowed in non-interactive shells where it could break batch jobs. Enclosing the definition in the &amp;lt;code&amp;gt;if [ -n &amp;quot;$PS1&amp;quot; ] ; then ....  ; fi&amp;lt;/code&amp;gt; construct protects against the latter.&lt;br /&gt;
&lt;br /&gt;
Other commands are designed to prevent accidental deletion; including {{code|safe-rm}}&amp;lt;ref&amp;gt;{{Cite web|url=https://launchpad.net/safe-rm/+index|title=Safe-rm in Launchpad|website=Launchpad}}&amp;lt;/ref&amp;gt; and {{code|trash}}.&amp;lt;ref&amp;gt;{{Cite web|url=https://github.com/andreafrancia/trash-cli|title=andreafrancia/trash-cli|date=September 12, 2020|via=GitHub}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Protection of the filesystem root ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;rm -rf /&amp;lt;/code&amp;gt; command, if run by a [[superuser]], causes every file of the file system to be deleted. For safety, [[Sun Microsystems]] introduced special protection for this command in [[Solaris (operating system)|Solaris]] 10 (first released in 2005). The implementation reports that removing {{code|/}} is not allowed.&amp;lt;ref&amp;gt;{{Cite web|url=https://blogs.oracle.com/jbeck/date/20041001%23rm_rf_protection|archive-url=https://web.archive.org/web/20161103124127/https://blogs.oracle.com/jbeck/date/20041001|archive-date=2016-11-03|url-status=dead|title=Meddling in the Affairs of Wizards}}&amp;lt;/ref&amp;gt; Shortly thereafter, the same functionality was introduced into the [[FreeBSD]] implementation.&amp;lt;ref&amp;gt;{{Cite web|url=https://github.com/freebsd/freebsd/commit/d6b7bd90c2776d9ccd8bb7f33a899bd213aebf85|title=The previous commit added code to rm(1) to warn about and remove any · freebsd/freebsd@d6b7bd9|website=GitHub}}&amp;lt;/ref&amp;gt; The [[GNU]] version refuses to execute &amp;lt;code&amp;gt;rm -rf /&amp;lt;/code&amp;gt; unless the &amp;lt;code&amp;gt;--preserve-root&amp;lt;/code&amp;gt; option is included,&amp;lt;ref&amp;gt;{{Cite web|url=https://www.gnu.org/software/coreutils/manual/html_node/rm-invocation.html|title=rm invocation (GNU Coreutils)|website=www.gnu.org}}&amp;lt;/ref&amp;gt; which has been the default since version 6.4 of [[GNU Core Utilities]]. In newer systems, this [[Fail-safe|failsafe]] is always active, even without the option. To run the command, user must bypass the failsafe by adding the option &amp;lt;code&amp;gt;--no-preserve-root&amp;lt;/code&amp;gt;, even if they are the superuser.&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
{{Off topic|date=January 2025}}&lt;br /&gt;
The GNU Core Utilities implementation has limits on command line arguments. Arguments are nominally limited to 32 times the kernel&#039;s allocated page size. Systems with 4KB page size would thus have a argument size limit of 128KB.&amp;lt;ref&amp;gt;{{Cite web |title=How to get around the Linux &amp;quot;Too Many Arguments&amp;quot; limit |url=https://stackoverflow.com/questions/33051108/how-to-get-around-the-linux-too-many-arguments-limit |website=[[Stack Overflow|Stackoverflow]] |quote=With the coupling of ARG_MAX to ulim -s / 4 came the introduction of MAX_ARG_STRLEN as max. length of an argument [...] MAX_ARG_STRLEN is defined as 32 times the page size in linux/include/uapi/linux/binfmts.h [...] The default page size is 4 KB so you cannot pass arguments longer than 128 KB [...]}}&amp;lt;/ref&amp;gt; For command-line arguments before kernel 2.6.23, the limits were defined at kernel compile time and can be modified by changing the variable &amp;lt;code&amp;gt;MAX_ARG_PAGES&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;include/linux/binfmts.h&amp;lt;/code&amp;gt; file.&amp;lt;ref&amp;gt;{{Cite web |title=Linux_2_6_23 - Linux Kernel Newbies |url=https://kernelnewbies.org/Linux_2_6_23#Variable_argument_length |website=kernelnewbies.org}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |title=kernel/git/torvalds/linux.git - Linux kernel source tree |url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b6a2fea39318e43fee84fa7b0b90d68bed92d2ba |website=git.kernel.org}}&amp;lt;/ref&amp;gt; Newer kernels{{Which|date=January 2025}} limit the maximum argument length to 25% of the maximum stack limit (ulimit -s). Exceeding the limit results in an error.&amp;lt;ref&amp;gt;{{Cite web|url=https://www.linuxjournal.com/article/6060|title=&amp;quot;Argument list too long&amp;quot;: Beyond Arguments and Limitations &amp;amp;#124; Linux Journal|website=www.linuxjournal.com}}&amp;lt;/ref&amp;gt;{{Clarify|reason=Incoherent paragraph.|date=January 2025}}&amp;lt;!-- Citation needed; not known if this is generally true for all linux kernels. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* {{Annotated link|deltree}}&lt;br /&gt;
* {{Annotated link|dsw (command)}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
*{{Cite book|author-last=McElhearn|author-first=Kirk|title=The Mac OS X Command Line: Unix Under the Hood|date=2006|publisher=[[John Wiley &amp;amp; Sons]]|isbn=978-0470113851}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
{{wikibooks|Guide to Unix|Commands/File System Utilities#rm|rm}}&lt;br /&gt;
*{{man|cu|rm|SUS|remove directory entries}}&lt;br /&gt;
*{{man|1|rm|Plan 9}}&lt;br /&gt;
*{{man|1|rm|Inferno}}&lt;br /&gt;
&lt;br /&gt;
{{Unix commands}}&lt;br /&gt;
{{Plan 9 commands}}&lt;br /&gt;
{{Core Utilities commands}}&lt;br /&gt;
&lt;br /&gt;
[[Category:File deletion]]&lt;br /&gt;
[[Category:Standard Unix programs]]&lt;br /&gt;
[[Category:Unix SUS2008 utilities]]&lt;br /&gt;
[[Category:Plan 9 commands]]&lt;br /&gt;
[[Category:Inferno (operating system) commands]]&lt;br /&gt;
[[Category:IBM i Qshell commands]]&lt;/div&gt;</summary>
		<author><name>160.2.68.26</name></author>
	</entry>
</feed>