Question: I know, I just can hit `Super`+`A` to see all installed apps in Ubuntu, but I need a command to list their names. The command

```
dpkg --get-selections | awk '{print $1}'

```

is also not an option because it shows all installed packages and it contains drivers, kernels and libraries.

Answer: 
I came up with this answer for people who wants to use bash in a good way. It's clear that the answer of the question is related to the listing of the files from `/usr/share/applications`, but the problem is that [`ls` command shouldn't be parsed ever](http://mywiki.wooledge.org/ParsingLs). In the past, I was doing the same mistake, but now I learned that the best way is to use a `for` loop to iterate over the files, even if I must use some more keys from my precious keyboard:

```
for app in /usr/share/applications/*.desktop; do echo "${app:24:-8}"; done

```

I also used in the previous command [string manipulation](http://tldp.org/LDP/abs/html/string-manipulation.html) operations: removed from `app` first 24 characters which are `/usr/share/applications/` and last 8 characters which are `.desktop`.

---

**Update:**

Another place where you can find applications shown by the Dash is `~/.local/share/applications/*.desktop`. So you need to run the following command as well:

```
for app in ~/.local/share/applications/*.desktop; do echo "${app:37:-8}"; done

```

To unify the previous two commands, you can use:

```
for app in /usr/share/applications/*.desktop ~/.local/share/applications/*.desktop; do app="${app##/*/}"; echo "${app::-8}"; done

```
Run the below command to see all the installed applications,

```
ls /usr/share/applications | awk -F '.desktop' ' { print $1}' -

```

If you want to get the list of all installed applications, then run the below command,

```
ls /usr/share/applications | awk -F '.desktop' ' { print $1}' - > ~/Desktop/applications.txt

```

It will stores the above command output to `applications.txt` file inside your `~/Desktop` directory.

### OR

Also run the below command on terminal to list the installed applications,

```
find /usr/share/applications -maxdepth 1 -type f -exec basename {} .desktop \; | sort

```

To get the list in text file, run the below command

```
find /usr/share/applications -maxdepth 1 -type f -exec basename {} .desktop \; | sort > ~/Desktop/applications.txt

```

Desktop entries for all the installed applications are stored inside `/usr/share/applications` directory, where file names are in the format of `application-name.desktop`.Removing the `.desktop` part from the file names will give you the total list of installed applications.

**Update:**

[As @Radu suggested](https://askubuntu.com/questions/433609/how-can-i-list-all-applications-installed-in-my-system/433761?noredirect=1#comment566116_433619), you can also find desktop entries for your additional installed applications inside `~/.local/share/applications` directory.

```
find /usr/share/applications ~/.local/share/applications -maxdepth 1 -type f -exec basename {} .desktop \;

```