Warning, /utilities/krusader/doc/handbook/search.docbook is written in an unsupported language. File is not indexed.

0001 <!--
0002     SPDX-FileCopyrightText: 2000-2003 Shie Erlich <erlich@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2000-2003 Rafi Yanai <yanai@users.sourceforge.net>
0004     SPDX-FileCopyrightText: 2004-2010 Frank Schoolmeesters <codeknight@users.sourceforge.net>
0005     SPDX-FileCopyrightText: 2000-2022 Krusader Krew <https://krusader.org>
0006 -->
0007 <sect1 id="krusearcher">
0008   <title>KruSearcher: find what you are looking for</title>
0009   <indexterm>
0010     <primary>Search</primary>
0011   </indexterm>
0012   <para>Welcome to &krusader;'s powerful search module -
0013   nicknamed KruSearcher. It is the most able tool (that we know of)
0014   for &Linux;, since it allows so many different ways to
0015   quickly find the file you are looking for. The search function is
0016   also available on remote file systems. It is divided into two
0017   levels, the general and the advanced. Let's take a look at the
0018   general page.</para>
0019   <figure id="screenshot-search-general" float="1">
0020     <title>General Search</title>
0021     <mediaobject>
0022       <imageobject>
0023         <imagedata fileref="search_general.png"></imagedata>
0024       </imageobject>
0025       <textobject>
0026         <phrase>General Search</phrase>
0027       </textobject>
0028     </mediaobject>
0029   </figure>
0030   <para>The page is divided into four parts: top (search for) part,
0031   bottom part - titled <guilabel>Containing text</guilabel>,
0032   left part - titled <guilabel>Search in</guilabel> and right part
0033   which is called <guilabel>Do not search in</guilabel>.
0034   Obviously, each part handles different aspects of the search.
0035   Let's look at them closely.</para>
0036   <itemizedlist>
0037     <title>Top Part:</title>
0038     <listitem>
0039       <para>
0040       <guilabel>Search for</guilabel>: here you enter the main
0041       search criteria. You can enter a file name, a wildcard (
0042       <literal role="extension">*.o.*</literal>, 
0043       <literal role="extension">*.c</literal> &etc;) or
0044       both - separated by a space. If you type 
0045       <literal>'text'</literal> the results is the same as 
0046       <literal>'*text*'</literal>. You can exclude files from the
0047       search with '|' (&eg; 
0048       <literal role="extension">'*.cpp *.h |
0049       *.moc.cpp'</literal>). You can use quotation marks for names
0050             that contain spaces. Filter <quote>Program Files</quote> searches
0051             out those files/folders the name of which is <filename>Program
0052             Files</filename>. A drop-down list that is shown after clicking down arrow on the right allows you to pick some of your previously entered criteria.</para>
0053       <note>
0054           <para>
0055               It is possible to edit the list of suggestions for the <guilabel>Search for</guilabel> field. If you do not like some of its items just select it and press <keycombo action="simul">&Shift;<keycap>Del</keycap></keycombo> and that useless suggestion gets deleted. You can also use the arrow keys in order to see all the history in the <guilabel>Search for</guilabel> field, and delete the entries that are needless.
0056           </para>
0057       </note>
0058     </listitem>
0059     <listitem>
0060       <para>
0061       <guilabel>Case sensitive</guilabel>: unchecking it will allow
0062       lower and upper case search (&ie;:
0063       <literal role="extension">*.c</literal> interprets as 
0064       <literal role="extension">*.c</literal> AND 
0065       <literal role="extension">*.C</literal>).</para>
0066     </listitem>
0067     <listitem>
0068       <para>
0069       <guilabel>Of type</guilabel>: this box lets you search for a
0070       file not only by its name, but also by its &MIME; type. For
0071       example, you can search for all the audio files whose name
0072       begins with B. Usually this option defaults to 'all files',
0073       but you can choose to search for archives, folders,
0074       images, text files, videos and audio files.</para>
0075     </listitem>
0076   </itemizedlist>
0077   <itemizedlist>
0078     <title>Left and Right Part:</title>
0079     <listitem>
0080       <para>
0081       <guilabel>Search in</guilabel> and 
0082       <guilabel>Do not search in</guilabel>: Using those two parts,
0083       you can specify a search exactly the way you want it. For
0084       example, you might want to search for a file in the whole
0085       file system (beginning with 
0086       <filename>/</filename>), but do not want to search inside 
0087       <filename>/mnt</filename>. All you need to do is write 
0088       <filename>/</filename> in the 
0089       <guilabel>Search in</guilabel> box, and write 
0090       <filename>/mnt</filename> in the 
0091       <guilabel>Do not search in</guilabel> box. If you want to enter
0092       more than one folder in one of the list boxes, just type the
0093       first name and press &Enter;. The folder name
0094       will be copied to the bigger list box and you will be able to enter
0095       another name. 
0096       <note>
0097         <para>The input line has an auto-completion feature,
0098         corresponding to &plasma; global settings. If you
0099         wish, you can click on the 
0100         <guiicon>folder icon</guiicon>, and browse to the folder
0101         you wish to add.</para>
0102       </note>
0103       <note>
0104           <para>It is possible to define files and folders which will be filtered out from the search results using the <guilabel>Exclude Folder Names</guilabel> input field at the bottom of the <guilabel>Do not search in</guilabel> box.</para>
0105           <para>Items in the filtering list should be space-separated.</para>
0106           <para>Spaces in the filtering list items can be escaped or quoted. Example: <userinput>.git "target build" build\ krusader</userinput></para>
0107       </note></para>
0108     </listitem>
0109   </itemizedlist>
0110   <itemizedlist>
0111     <title>Bottom Part:</title>
0112     <listitem>
0113       <para>
0114       <guilabel>Text</guilabel>: entering text here makes
0115       &krusader; search for it inside the files (
0116       <command>grep</command>). This way you can search for all
0117       header files (
0118       <literal role="extension">*.h</literal>) which include the
0119       word 
0120       <literal>'testing 123'</literal>.</para>
0121     </listitem>
0122     <listitem>
0123       <para>
0124         <guilabel>RegExp</guilabel> switch: toggle the regular expressions mode. A drop-down list that is shown after clicking down arrow on the right allows you to enter special symbols of regular expressions.
0125       </para>
0126     </listitem>
0127     <listitem>
0128       <para>
0129         <guilabel>Encoding</guilabel>: allows you to choose the text encoding.
0130       </para>
0131     </listitem>
0132     <listitem>
0133       <para>
0134         <guilabel>Match whole word only</guilabel>: allows you to specify that a complete match (letters and length) must be found.
0135       </para>
0136     </listitem>
0137     <listitem>
0138       <para>
0139       <guilabel>Case sensitive</guilabel>: refers to your text
0140       being searched for in upper and lower case or the exact
0141       phrase you entered.</para>
0142     </listitem>
0143     <listitem>
0144       <para>
0145       <guilabel>Search in sub folders</guilabel>: perform a
0146       recursive search and dive into every folder on the
0147       way.</para>
0148     </listitem>
0149     <listitem>
0150       <para>
0151       <guilabel>Search in archives</guilabel>:
0152       &krusader; will search for your files inside every
0153       supported archive. This, however, takes longer to perform. 
0154       <note>
0155         <para>If you check this checkbox, you will notice you cannot 
0156         <command>grep</command> inside files anymore. This is done,
0157         since looking inside archived files forces
0158         &krusader; to extract them, which results in an
0159         extremely time-consuming search.</para>
0160       </note></para>
0161     </listitem>
0162     <listitem>
0163       <para>
0164       <guilabel>Follow links</guilabel>: if checked,
0165       &krusader; will follow soft-links during the
0166       search.</para>
0167     </listitem>
0168     <listitem>
0169       <para>
0170       <guilabel>Profiles</guilabel>: if you have to regularly
0171       perform the same search operation, you can save the search
0172       settings &eg; include files, exclude files,
0173       &etc;... Press the 'profile' button, and you can
0174       add/load/save/remove search profiles.</para>
0175     </listitem>
0176     <listitem>
0177       <para>
0178       <guilabel>Query to clipboard</guilabel>: if checked,
0179       &krusader; will place search text to clipboard when a found file is opened.</para>
0180     </listitem>
0181   </itemizedlist>
0182   <para>The above screen shot shows a search for all the files which
0183   end with 
0184   <literal role="extension">c, cpp</literal> or 
0185   <literal role="extension">h</literal> and include the string 
0186   <literal>'testing 123'</literal>. &krusader; will
0187   search in 
0188   <filename class="directory">/root, /opt, /bin</filename> and 
0189   <filename class="directory">/usr</filename>, but not in 
0190   <filename class="directory">/usr/lib</filename> and 
0191   <filename class="directory">/usr/share</filename>.</para>
0192   <para>Clicking the 
0193   <guibutton>Search</guibutton> button starts the search and
0194   displays the results page. During the search, you may press the 
0195   <guibutton>Stop</guibutton> button to stop the search. The 
0196   <guibutton>Close</guibutton> button is not operational during a
0197   search, so you must first stop the search and then 
0198   <guibutton>Close</guibutton> the window. When a result is found,
0199   double-clicking on it will take &krusader;'s active
0200   panel point to the found files - but will not close the search
0201   window, so you will be able to click on a different result.</para>
0202   <para>Sometimes, you need to narrow your search even more.
0203   KruSearcher allows a much finer search, and for that, let's look
0204   at the 
0205   <guilabel>Advanced Page</guilabel>...</para>
0206   <figure id="screenshot-search-advanced" float="1">
0207     <title>Advanced Search</title>
0208     <mediaobject>
0209       <imageobject>
0210         <imagedata fileref="search_advanced.png"></imagedata>
0211       </imageobject>
0212       <textobject>
0213         <phrase>Advanced Search</phrase>
0214       </textobject>
0215     </mediaobject>
0216   </figure>
0217   <para>This screen shot shows a search for files whose size is
0218   between 10KiB and 150KiB, which were modified between October 10th
0219   and November 1st, which belong to any user in the 'nobody' group,
0220   and are readable and writable by anyone in the 'nobody' group, but
0221   only readable to the rest of the world.</para>
0222   <para>The advanced page is divided into three parts: size, date
0223   and ownership.</para>
0224   <para>
0225     <emphasis role="bold">Size</emphasis>
0226   </para>
0227   <para>Allows you to choose the size range of the file you are
0228   looking for. By checking the check boxes, you can search for a
0229   file which is bigger than XXX bytes (or KB, MB), smaller than XXX
0230   bytes or, by checking both search for a file which size is bigger
0231   than XXX but smaller than YYY.</para>
0232   <para>
0233     <emphasis role="bold">Date</emphasis>
0234   </para>
0235   <para>This part offers three different ways of defining a date
0236   criteria: 
0237   <itemizedlist>
0238     <listitem>
0239       <para>
0240       <guilabel>Modified between</guilabel>: allows you to enter
0241       two dates. &krusader; will search for files with a
0242       modification date between the first date and the second one,
0243       inclusive. 
0244       <note>
0245         <para>You can click on the date icon (near the input boxes)
0246         to open a standard date window - which allows you to easily
0247         browse through the calendar and search for the desired
0248         date. Clicking on a date will close the window and the date
0249         will appear in the input box.</para>
0250       </note></para>
0251     </listitem>
0252     <listitem>
0253       <para>
0254       <guilabel>Not modified after</guilabel>: choosing this option
0255       makes &krusader; search for files that were NOT
0256       modified after a given date, which is the same as searching
0257       for files older than that date.</para>
0258     </listitem>
0259     <listitem>
0260       <para>
0261       <guilabel>Modified in the last/not modified in the
0262       last</guilabel>: in these input boxes, you do not enter a date
0263       but a number. This number represents days/weeks/months (as
0264       chosen in the near drop box). Entering the number 5 in the
0265       upper input box, makes &krusader; search for files
0266       that were modified in the last 5 days. Entering the number 2
0267       in the lower input box makes &krusader; search for
0268       files that did NOT change in the last 2 days. The combination
0269       of both results in a search for files that were changed in
0270       the last 5 days, but NOT in the last 2 days.</para>
0271     </listitem>
0272   </itemizedlist></para>
0273   <para>
0274     <emphasis role="bold">Ownership</emphasis>
0275   </para>
0276   <itemizedlist>
0277     <listitem>
0278       <para>
0279       <guilabel>Belongs to user/group</guilabel>: by checking each
0280       of the corresponding check boxes, you can search for files
0281       which belong to a certain user and/or group. The drop box
0282       lists all the user names and group names in the system, just
0283       choose one and go ahead.</para>
0284     </listitem>
0285     <listitem>
0286       <para>
0287       <guilabel>Permissions</guilabel>: divided into owner, group
0288       and all - it allows you to choose certain permissions for the
0289       file. You can choose to specify permissions for the owner,
0290       group, all or any combination. The question mark (?) is a
0291       wildcard - which means that any permission is valid.</para>
0292     </listitem>
0293   </itemizedlist>
0294   <note>
0295     <para>To clarify, the screen shot above (the ownership part)
0296     describes a search for files that belong to any user in group
0297     'users', are readable, writable but not executable to any user
0298     in the group, are readable but not writable or executable to
0299     the rest of the world and have unknown permissions to its
0300     owner.</para>
0301   </note>
0302   <para>
0303     <emphasis role="bold">Results</emphasis>
0304   </para>
0305   <para>Clicking on the 
0306   <guibutton>Search</guibutton> button to start the search and open
0307   the Results window. Here you can see the progress and the
0308   results of the search action. If you want you can stop the
0309   current search action with the 
0310   <guibutton>Stop</guibutton> button. In the result list select the
0311   file and use 
0312   <keycap>F3</keycap>/
0313   <keycap>F4</keycap> to view/edit or use the right-click menu. When
0314   you click on a found item, the folder of the active panel will
0315   change if the selected item is not in the current panel
0316   folder. The results window supports dragging items to other windows 
0317   and copy to clipboard (<keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo>).
0318   When you close the KruSearcher window, the selected
0319   item is selected in the active panel.</para>
0320   <para>
0321     <emphasis role="bold">Feed to listbox</emphasis>
0322   </para>
0323   <para>When you click the 
0324   <guibutton>Feed to listbox</guibutton> button after the results
0325   are displayed, then &krusader; ask for a Query Name,
0326   this name will be used in the Results-Tab in the List Panel that
0327   holds the search results. You can do whatever you want on the
0328   files in the new tab. The location toolbar will display
0329   &eg; 
0330   <filename>virt:/Search results 1</filename>.</para>
0331   <warning>
0332     <para>The files in the Results-Tab are actually the original
0333     files. if you delete a file - it is removed!</para>
0334   </warning>
0335 </sect1>