# KruSearcher: find what you are looking for

Welcome to &krusader;'s powerful search module - nicknamed KruSearcher. It is the most able tool (that we know of) for &Linux;, since it allows so many different ways to quickly find the file you are looking for. The search function is also available on remote file systems. It is divided into two levels, the general and the advanced. Let's take a look at the general page.

## General Search

General Search

The page is divided into four parts: top (search for) part, bottom part - titled Containing text, left part - titled Search in and right part which is called Do not search in. Obviously, each part handles different aspects of the search. Let's look at them closely.

## Top Part:

- Search for: here you enter the main search criteria. You can enter a file name, a wildcard ( `*.o.*`, `*.c` &etc;) or both - separated by a space. If you type `'text'` the results is the same as `'*text*'`. You can exclude files from the search with '|' (&eg; `'*.cpp *.h | *.moc.cpp'`). You can use quotation marks for names that contain spaces. Filter Program Files searches out those files/folders the name of which is `Program Files`. A drop-down list that is shown after clicking down arrow on the right allows you to pick some of your previously entered criteria.

  It is possible to edit the list of suggestions for the Search for field. If you do not like some of its items just select it and press &Shift;Del and that useless suggestion gets deleted. You can also use the arrow keys in order to see all the history in the Search for field, and delete the entries that are needless.

- Case sensitive: unchecking it will allow lower and upper case search (&ie;: `*.c` interprets as `*.c` AND `*.C`).

- Of type: this box lets you search for a file not only by its name, but also by its &MIME; type. For example, you can search for all the audio files whose name begins with B. Usually this option defaults to 'all files', but you can choose to search for archives, folders, images, text files, videos and audio files.

## Left and Right Part:

- Search in and Do not search in: Using those two parts, you can specify a search exactly the way you want it. For example, you might want to search for a file in the whole file system (beginning with `/`), but do not want to search inside `/mnt`. All you need to do is write `/` in the Search in box, and write `/mnt` in the Do not search in box. If you want to enter more than one folder in one of the list boxes, just type the first name and press &Enter;. The folder name will be copied to the bigger list box and you will be able to enter another name.

  The input line has an auto-completion feature, corresponding to &plasma; global settings. If you wish, you can click on the folder icon, and browse to the folder you wish to add.

  It is possible to define files and folders which will be filtered out from the search results using the Exclude Folder Names input field at the bottom of the Do not search in box.

  Items in the filtering list should be space-separated.

  Spaces in the filtering list items can be escaped or quoted. Example: `.git "target build" build\ krusader`

## Bottom Part:

- Text: entering text here makes &krusader; search for it inside the files ( `grep`). This way you can search for all header files ( `*.h`) which include the word `'testing 123'`.

- RegExp 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.

- Encoding: allows you to choose the text encoding.

- Match whole word only: allows you to specify that a complete match (letters and length) must be found.

- Case sensitive: refers to your text being searched for in upper and lower case or the exact phrase you entered.

- Search in sub folders: perform a recursive search and dive into every folder on the way.

- Search in archives: &krusader; will search for your files inside every supported archive. This, however, takes longer to perform.

  If you check this checkbox, you will notice you cannot `grep` inside files anymore. This is done, since looking inside archived files forces &krusader; to extract them, which results in an extremely time-consuming search.

- Follow links: if checked, &krusader; will follow soft-links during the search.

- Profiles: if you have to regularly perform the same search operation, you can save the search settings &eg; include files, exclude files, &etc;... Press the 'profile' button, and you can add/load/save/remove search profiles.

- Query to clipboard: if checked, &krusader; will place search text to clipboard when a found file is opened.

The above screen shot shows a search for all the files which end with `c, cpp` or `h` and include the string `'testing 123'`. &krusader; will search in `/root, /opt, /bin` and `/usr`, but not in `/usr/lib` and `/usr/share`.

Clicking the Search button starts the search and displays the results page. During the search, you may press the Stop button to stop the search. The Close button is not operational during a search, so you must first stop the search and then Close the window. When a result is found, double-clicking on it will take &krusader;'s active panel point to the found files - but will not close the search window, so you will be able to click on a different result.

Sometimes, you need to narrow your search even more. KruSearcher allows a much finer search, and for that, let's look at the Advanced Page...

## Advanced Search

Advanced Search

This screen shot shows a search for files whose size is between 10KiB and 150KiB, which were modified between October 10th and November 1st, which belong to any user in the 'nobody' group, and are readable and writable by anyone in the 'nobody' group, but only readable to the rest of the world.

The advanced page is divided into three parts: size, date and ownership.

Size

Allows you to choose the size range of the file you are looking for. By checking the check boxes, you can search for a file which is bigger than XXX bytes (or KB, MB), smaller than XXX bytes or, by checking both search for a file which size is bigger than XXX but smaller than YYY.

Date

This part offers three different ways of defining a date criteria:

- Modified between: allows you to enter two dates. &krusader; will search for files with a modification date between the first date and the second one, inclusive.

  You can click on the date icon (near the input boxes) to open a standard date window - which allows you to easily browse through the calendar and search for the desired date. Clicking on a date will close the window and the date will appear in the input box.

- Not modified after: choosing this option makes &krusader; search for files that were NOT modified after a given date, which is the same as searching for files older than that date.

- Modified in the last/not modified in the last: in these input boxes, you do not enter a date but a number. This number represents days/weeks/months (as chosen in the near drop box). Entering the number 5 in the upper input box, makes &krusader; search for files that were modified in the last 5 days. Entering the number 2 in the lower input box makes &krusader; search for files that did NOT change in the last 2 days. The combination of both results in a search for files that were changed in the last 5 days, but NOT in the last 2 days.

Ownership

- Belongs to user/group: by checking each of the corresponding check boxes, you can search for files which belong to a certain user and/or group. The drop box lists all the user names and group names in the system, just choose one and go ahead.

- Permissions: divided into owner, group and all - it allows you to choose certain permissions for the file. You can choose to specify permissions for the owner, group, all or any combination. The question mark (?) is a wildcard - which means that any permission is valid.

To clarify, the screen shot above (the ownership part) describes a search for files that belong to any user in group 'users', are readable, writable but not executable to any user in the group, are readable but not writable or executable to the rest of the world and have unknown permissions to its owner.

Results

Clicking on the Search button to start the search and open the Results window. Here you can see the progress and the results of the search action. If you want you can stop the current search action with the Stop button. In the result list select the file and use F3/ F4 to view/edit or use the right-click menu. When you click on a found item, the folder of the active panel will change if the selected item is not in the current panel folder. The results window supports dragging items to other windows and copy to clipboard (&Ctrl;C). When you close the KruSearcher window, the selected item is selected in the active panel.

Feed to listbox

When you click the Feed to listbox button after the results are displayed, then &krusader; ask for a Query Name, this name will be used in the Results-Tab in the List Panel that holds the search results. You can do whatever you want on the files in the new tab. The location toolbar will display &eg; `virt:/Search results 1`.

The files in the Results-Tab are actually the original files. if you delete a file - it is removed!