Project

General

Profile

Linux Beginner Guide » History » Version 4

Marc Auer, 01/18/2019 09:37 AM

1 1 Marc Auer
h1. Linux Beginner Guide
2 2 Marc Auer
3 1 Marc Auer
h2. Basic Commands
4 2 Marc Auer
5 1 Marc Auer
- *ps aux*
6
$ ps - snapshot of of the current processes.
7
8
a = show processes for all users
9
u = display the process's user/owner
10
x = also show processes not attached to a terminal
11
12
- *ip addr*
13
14
$ ip addr | grep inet
15
16
- *sudo*
17
This SuperUserDo is the most important command Linux newbies will use. Every single command that needs root's permission, need this sudo command. You can use sudo before each command that requires root permissions -
18
19
$ sudo su
20
21
- *ls* (list)
22
The terminal will show you all the files and folders of the directory that you're working in. Let's say I'm in the /home folder and I want to see the directories & files in /home.
23
24
/home$ ls
25
26
- *cd*
27
​Changing directory (cd) is the main command that always be in use in terminal. It's one of the most Linux basic commands. Using this is easy. Just type the name of the folder you want to go in from your current directory. If you want to go up just do it by giving double dots (..) as the parameter.
28
29
/home $ cd usr
30
31
/home/usr $
32
33
- *mkdir*
34
Sometimes you want to create a new folder or subfolder. You can use mkdir command to do that. Just give your folder name after mkdir command in your terminal.
35
36
~$ mkdir folderName
37
38
- *cp*
39
copy-and-paste 
40
41
$ cp source destination
42
Note: If you're copying files into the directory that requires root permission for any new file, then you'll need to use sudo command.
43
44
- *rm*
45
rm is a command to remove your file or even your directory. You can use -f if the file need root permission to be removed. And also you can use -r to do recursive removal to remove your folder.
46
$ rm myfile.txt
47
48
- *apt-get* in Ubuntu | *pacman* in Arch
49
This command differs distro-by-distro. In Debian based Linux distributions, to install, remove and upgrade any package we've Advanced Packaging Tool (APT) package manager. 
50
51
​In other distributions, such as Arch, Centos there are different package managers.
52
 
53
$ sudo apt-get update | apt-get upgrade -y
54
55
$ sudo pacman -Syu
56
57
- *grep*
58
You need to find a file but you don't remember its exact location or the path. grep will help you to solve this problem. You can use the grep command to help finding the file based on given keywords.
59
60
$ grep user /etc/passwd
61
62
- *cat*
63
As a user, you often need to view some of text or code from your script. Again, one of the Linux basic commands is cat command. It will show you the text inside your file.
64
65
$ cat CMakeLists.txt
66
67
- *poweroff*
68
And the last one is poweroff. Sometimes you need to poweroff directly from your terminal. This command will do the task. Don't forget to add sudo at the beginning of the command since it needs root permission to execute poweroff.
69
$ sudo poweroff
70
71
h2. Basic Linux Directories
72 3 Marc Auer
73 1 Marc Auer
** / – The Root Directory 
74
Everything on your Linux system is located under the / directory, known as the root directory.
75
You can think of the / directory as being similar to the C:\ directory on Windows – but this isn’t strictly true, as Linux doesn’t have drive letters. 
76
While another partition would be located at D:\ on Windows, this other partition would appear in another folder under / on Linux.
77
78
** /bin – Essential User Binaries
79
The /bin directory contains the essential user binaries (programs) that must be present when the system is mounted in single-user mode. 
80
Applications such as Firefox are stored in /usr/bin, while important system programs and utilities such as the bash shell are located in /bin. 
81
The /usr directory may be stored on another partition – placing these files in the /bin directory ensures the system will have these important 
82
utilities even if no other file systems are mounted. The /sbin directory is similar – it contains essential system administration binaries.
83
84
** /boot – Static Boot Files
85
The /boot directory contains the files needed to boot the system – for example, the GRUB boot loader’s files and your Linux kernels are stored here. 
86
The boot loader’s configuration files aren’t located here, though – they’re in /etc with the other configuration files.
87
88
** /cdrom – Historical Mount Point for CD-ROMs
89
The /cdrom directory isn’t part of the FHS standard, but you’ll still find it on Ubuntu and other operating systems. 
90
It’s a temporary location for CD-ROMs inserted in the system. However, the standard location for temporary media is inside the /media directory.
91
92
** /dev – Device Files
93
Linux exposes devices as files, and the /dev directory contains a number of special files that represent devices. 
94
These are not actual files as we know them, but they appear as files – for example, /dev/sda represents the first SATA drive in the system. 
95
If you wanted to partition it, you could start a partition editor and tell it to edit /dev/sda.
96
97
This directory also contains pseudo-devices, which are virtual devices that don’t actually correspond to hardware. 
98
For example, /dev/random produces random numbers. /dev/null is a special device that produces no output and automatically discards all input – 
99
when you pipe the output of a command to /dev/null, you discard it.
100
101
** /etc – Configuration Files
102
The /etc directory contains configuration files, which can generally be edited by hand in a text editor. 
103
Note that the /etc/ directory contains system-wide configuration files – user-specific configuration files are located in each user’s home directory.
104
105
** /home – Home Folders
106
The /home directory contains a home folder for each user. 
107
For example, if your user name is bob, you have a home folder located at /home/bob. This home folder contains the user’s data files and user-specific configuration files. 
108
Each user only has write access to their own home folder and must obtain elevated permissions (become the root user) to modify other files on the system.
109
110
** /lib – Essential Shared Libraries
111
The /lib directory contains libraries needed by the essential binaries in the /bin and /sbin folder. 
112
Libraries needed by the binaries in the /usr/bin folder are located in /usr/lib.
113
114
** /lost+found – Recovered Files
115
Each Linux file system has a lost+found directory. If the file system crashes, a file system check will be performed at next boot. 
116
Any corrupted files found will be placed in the lost+found directory, so you can attempt to recover as much data as possible.
117
118
** /media – Removable Media
119
The /media directory contains subdirectories where removable media devices inserted into the computer are mounted. 
120
For example, when you insert a CD into your Linux system, a directory will automatically be created inside the /media directory. 
121
You can access the contents of the CD inside this directory.
122
123
** /mnt – Temporary Mount Points
124
Historically speaking, the /mnt directory is where system administrators mounted temporary file systems while using them. 
125
For example, if you’re mounting a Windows partition to perform some file recovery operations, you might mount it at /mnt/windows. 
126
However, you can mount other file systems anywhere on the system.
127
128
** /opt – Optional Packages
129
The /opt directory contains subdirectories for optional software packages. 
130
It’s commonly used by proprietary software that doesn’t obey the standard file system hierarchy – 
131
for example, a proprietary program might dump its files in /opt/application when you install it.
132
133
** /proc – Kernel & Process Files
134
The /proc directory similar to the /dev directory because it doesn’t contain standard files. It contains special files that represent system and process information.
135
136
** /root – Root Home Directory
137
The /root directory is the home directory of the root user. Instead of being located at /home/root, it’s located at /root. 
138
This is distinct from /, which is the system root directory.
139
140
** /run – Application State Files
141
The /run directory is fairly new, and gives applications a standard place to store transient files they require like sockets and process IDs. 
142
These files can’t be stored in /tmp because files in /tmp may be deleted.
143
144
** /sbin – System Administration Binaries
145
The /sbin directory is similar to the /bin directory. It contains essential binaries that are generally intended to be run by the root user for system administration.
146
147
** /selinux – SELinux Virtual File System
148
If your Linux distribution uses SELinux for security (Fedora and Red Hat, for example), the /selinux directory contains special files used by SELinux. 
149
It’s similar to /proc. Ubuntu doesn’t use SELinux, so the presence of this folder on Ubuntu appears to be a bug.
150
151
** /srv – Service Data
152
The /srv directory contains “data for services provided by the system.” 
153
If you were using the Apache HTTP server to serve a website, you’d likely store your website’s files in a directory inside the /srv directory.
154
155
** /tmp – Temporary Files
156
Applications store temporary files in the /tmp directory. 
157
These files are generally deleted whenever your system is restarted and may be deleted at any time by utilities such as tmpwatch.
158
159
** /usr – User Binaries & Read-Only Data
160
The /usr directory contains applications and files used by users, as opposed to applications and files used by the system. 
161 4 Marc Auer
For example, non-essential applications are located inside the /usr/bin directory instead of the /bin directory and non-essential system administration binaries are located in the /usr/sbin directory instead of the /sbin directory. Libraries for each are located inside the /usr/lib directory. 
162 1 Marc Auer
The /usr directory also contains other directories – for example, architecture-independent files like graphics are located in /usr/share.
163
164
The /usr/local directory is where locally compiled applications install to by default – this prevents them from mucking up the rest of the system.
165
166
** /var – Variable Data Files
167
The /var directory is the writable counterpart to the /usr directory, which must be read-only in normal operation. 
168
Log files and everything else that would normally be written to /usr during normal operation are written to the /var directory. 
169
For example, you’ll find log files in /var/log.
170
171
h2. beginner tutorials
172 4 Marc Auer
173 1 Marc Auer
h3. Ping
174 4 Marc Auer
175 1 Marc Auer
1. *ping hostname or domain*
176
177
$ ping google.ch
178
179
PING google.ch(zrh11s02-in-x03.1e100.net (2a00:1450:400a:800::2003)) 56 data bytes
180
64 bytes from zrh11s02-in-x03.1e100.net (2a00:1450:400a:800::2003): icmp_seq=1 ttl=57 time=4.02 ms
181
182
183
2. *ping via IPv4*
184
185
$ ping 10.3.10.37
186
187
PING 10.3.10.37 (10.3.10.37) 56(84) bytes of data.
188
64 bytes from 10.3.10.37: icmp_seq=1 ttl=64 time=0.037 ms
189
190
191
3. *ping via IPv6*
192
193
$ ping 2a00:1450:400a:800::2003
194
195
PING 2a00:1450:400a:800::2003(2a00:1450:400a:800::2003) 56 data bytes
196
64 bytes from 2a00:1450:400a:800::2003: icmp_seq=1 ttl=57 time=5.00 ms