Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
0 ratings
0% found this document useful (0 votes)
53 views
65 pages
Linux Notes For Professtionals
Uploaded by
Muhammad Shams Qureshi
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Download
Save
Save Linux Notes for Professtionals For Later
Share
0%
0% found this document useful, undefined
0%
, undefined
Print
Embed
Report
0 ratings
0% found this document useful (0 votes)
53 views
65 pages
Linux Notes For Professtionals
Uploaded by
Muhammad Shams Qureshi
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Carousel Previous
Carousel Next
Download
Save
Save Linux Notes for Professtionals For Later
Share
0%
0% found this document useful, undefined
0%
, undefined
Print
Embed
Report
Download
Save Linux Notes for Professtionals For Later
You are on page 1
/ 65
Search
Fullscreen
Linux Notes for Professionals Chapter 2: Detecting Linux aistrbution 50+ pages of professional hints and tricks Prete eee ano} pool Set
filename chmod -R
dir- Change the permissions of a directory recursively. To change permission of name a directory and everything within that directory, use this command. chnod go=tr myfile Add read permission for the owner and the group. chmod a +rux myfile Allow all users to read, write or execute myfile. chmod go -r myfile Remove read permission from the group and others. chown owner filename Change ownership of a file to user owner. chgrp grp_owner filename Change primary group ownership of file Filename to group grp_owner. Change primary group ownership of directory dirr-name to group grp_owner chgrp -R grp-owner dir-name recursively. To change group ownership of a directory and everything within that directory, use this command, Section 1.3: Hello World Type the following code into your terminal, then press [Enter echo “Hello World” This will produce the following output: Hello World Section 1.4: Basic Linux Utilities Linux has a command for almost any tasks and most of them are intuitive and easily interpreted. Getting Help in Linux Command Usabi man
Read the manual page of
. man
Read the manual page of
, related to the given section. man -k
Output all the software whose man pages contain
keyword. man -K
Outputs all man pages containing
within them. aerators Output all the applications whose one line description matches the word editor. When not able to recall the name of the application, use this command. help In Bash shell this will display the list of all available bash commands. help
In Bash shell, this will display the info about the
bash command. info
View all the information about
. dpkg -1 Output a list of all installed packages on a Debian-based system. dpkg -L packageName Will list out the files installed and path details for a given package on Debian. dpkg -1 | grep ~i
Return all .deb installed packages with
irrespective of cases. less /var/1ib/dpkg/evailable Return descriptions of all available packages. whatis vim List a one-line description of vim. Display usage information about the
. Sometimes conmand -h also
works, but not for all commands. help User lentification and who is who in Linux world Command Usability hostname Display hostname of the system. GoalKicker.com ~ Linux® Notes for Professionals 5hostname -f Displays Fully Qualified Domain Name (FQDN) of the system. passwd Change password of current user. whoami Username of the users logged in at the terminal, who List of all the users currently logged in as a user. Display current system status, time, duration, list of users currently logged in on system and other user information. last Who recently used the system, last root When was the last time root logged in as user. lastb Shows all bad login attempts into the system. chmod Changing permissions - read, write,execute of a file or directory. Process related information Command Usability List all processes sorted by their current system resource usage. Displays a continually updated = display of processes (By default 3 seconds). Use q key to exit top. ps List processes currently running on current shell session ps -u root List all of the processes and commands root is running ps aux _Listall the processes by all users on the current system Section 1.5: Searching for files by patterns in name/contents common and task of someone using the Linux Command Line (shell) is to search for files/directories with a certain name or containing certain text. There are 2 commands you should familiarise yourself with in order to accomplish this: Find files by name find /var/wwn -name ‘*.css This will print out the full pathyfilename to all files under /var www that end in .css. Example output: Ivar /wuw/htnl/text-cursor.css Ivar /wuw/htnl/style.css For more info: man find Find files containing text grep font /var/mu/html/style.css This will print all ines containing the pattern font in the specified file. Example output: font-weight: bold; font-family: monospace; Another example: grep font /var/wuw/html/ GoalKicker.com ~ Linux® Notes for ProfessionalsThis doesn't work as you'd hoped. You get: arep: /var/wmi/html/: Is a directory You need to grep recursively to make it work, using the -R option: grep -R font /var/www/html/ Hey nice! Check out the output of this one: no dice
"; try againe/b>
"; ‘ed>
Error: ‘ed>
Error : Ivar /www/htnl/admin/index.php: echo ‘
uname -a ‘SunOS hope 5.7 Generic.186541-@8 sun4m sparc SUNW, SPARCstation-10 All the options: -s,-kernel-name Print the kernel name. -n, -nodename Print the network node hostname. kernel-release —_Print the kernel release. -v,~kernel-version _Print the kernel version. -m, machine Print the machine hardware name, “Pp, ~processor Print the processor type, or "unknown. ~-hardware-platform Print the hardware platform, or "unknown. -0, ~operating-system Print the operating system. ~help Display a help message, and exit. ~version Display version information, and exit. Section 2.5: Detect basic information about your distro just execute uname -a On Arch: $ uname -a Linux nokia 4.6.4-1-ARCH #7 SHP PREEMP Mon Jul 11 19:12:3 T 2016 x86_64 GNU/Linuxenter Section 2.6: Using GNU coreutils So the GNU coreutils should be available on all linux based systems (please correct me if | am wrong here). If you do not know what system you are using you may not be able to directly jump to one of the examples above, hence this may be your first port of call $ uname -a On my system this gives me the following... Linux Scibearspace 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) x86_64 GoalKicker.com ~ Linux® Notes for Professionals BGNU/Linux Here you can see the following Scibearspace : the name of my pe * Scibearspace : the name of my pe 3.16.0-4-amd64: the kernel and architecture SMP Debian 3.16.7-CKT25-2+deb8u3 : tells me | am running debian with the 3.16 kernel Finaly the last part | am running debian 8 (update 3). | would welcome any others to add in results for RHEL, and SuSe systems. Section 2.7: Find your linux os (both debian & rpm) name and release number Most of linux distros stores its version info in the /etc/Isb-release (debian) or /etc/redhat-release (RPM based) file. Using below generic command should get you past most of the Debian and RPM derivatives as Linux Mint and Cent-Os. Example on Ubuntu Machine cat /etc/+release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14..04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS" GoalKicker.com ~ Linux® Notes for Professionals 4Chapter 3: Getting information on a running Linux kernel Section 3.1: Getting details of Linux kernel We can use command uname with various options to get complete details of running kernel. Linux dfl-ws-5084 4.4.0-64-generic #85-Ubuntu SMP Mon Feb 20 11:50:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux ‘As per man page here few more options Usage: uname [OPTION]. Print certain system information. With no OPTION, same as -s. a except omit -p and “s, _ -m, “Pe -0, --help --version seal kernet-name --nodename --kernel-release kernel-version machine processor hardware- platform --operating-system iif print aur unknown: print print print print print print print print the the the the the the the the information, in the following order, kernel name network node hostname kernel release kernel version machine hardware name processor type (non-portable) hardware platform (non-portable) operating system display this help and exit output version information and exit GoalKicker.com ~ Linux® Notes for Professionals 6Chapter 4: Shell The shell executes a program in response to its prompt. When you give a command, the shell searches for the program, and then executes it. For example, when you give the command Is, the shell searches for the utility/program named Is, and then runs it in the shell. The arguments and the options that you provide with the utilities can impact the result that you get. The shell is also known as a CLI, or command line interface. Section 4.1: Changing default shell Most modern distributions will come with BASH (Bourne Again SHell) pre-installed and configured as a default shell. The command (actually an executable binary, an ELF) that is responsible for changing shells in Linux is chsh (change shell). We can first check which shells are already installed and configured on our machine by using the chsh -1 command, which will output a result similar to this: [user@localhost ~]$ chsh -1 Ibin/sh Idin/bash Isbin/nologin fuse /bin/sh Jusr/bin/bash Jusr/sbin/nologin Jusr/bin/fish In some Linux distributions, chsh -1 is invalid. In this case, the list of all available shells can be found at /etc/shells file. You can show the file contents with cat: [user@localhost ~]$ cat fetc/shells # /etc/shells: valid login shells Ibin/sh [bin/bash Jsbin/nologin Jusr/bin/sh Jusr/bin/bash Jusr/sbin/nologin Jusr/bin/fish Now we can choose our new default shell, e.g. fish, and configure it by using chsh -s, [user@localhost ~]$ chsh -s /usr/bin/fish Changing shell for user Password Shell changed Now all that is left to do is preform a logoff-logon cycle, and enjoy our new default shell If you wish to change the default shell for a different user, and you have administrative privileges on the machine, ‘you'll be able to accomplish this by using chsh as root. So assuming we want to change user2's default shell to fish, we will use the same command as before, but with the addition of the other user's username, chsh -s Just /bin/ fish user_2. In order to check what the current default shell is, we can view the SSHELL environment variable, which points to the path to our default shell, so after our change, we would expect to get a result similar to this, GoalKicker.com ~ Linux® Notes for Professionals 16~ © echo SSHELL Jusr /bin/fish chsh options: -s shell Sets shell as the login shell ist-shells Print the list of shells listed in /etc/shells and exit. help Print a usage message and exit. version Print version information and exit. Section 4.2: Basic Shell Utilities the Shell prompt Default command prompt can be changed to look different and short. In case the current directory is long default command prompt becomes too large. Using PS1 becomes useful in these cases. A short and customized command pretty and elegant. In the table below Psi has been used with a number of arguments to show different forms of shell prompts. Default command prompt looks something like this: user@host ~ in my case it looks like this: bruce@gothan ~ $. It can changed as per the table below: Command Utility PSI=\w$' ~ § shell prompt as directory name. In this case root directory is Root. PSI=\h$' gotham $ shell prompt as hostname PSI=\u$' bruce $ shell prompt as username 22:37:31 § shell prompt in 24 hour format 10:37 PM shell prompt in 12 hour time format 732 will show the history number of command in place of shell prompt PS1="dude $' dude $ will show the shell prompt the way you like ‘Some basic shell commands Command Utility Ctrl-k cutykill ctrl-y yank/paste Ctrl-a will take cursor to the start of the line Ctri-e will take cursor to the end of the line ctri-d will delete the character after/at the cursor Ctri-1 will clear the screen/terminal ctri-u will clear everything between prompt and the cursor Ctrl-_ will undo the last thing typed on the command line Ctrl-< will nterrupt/stop the job/process running in the foreground GoalKicker.com ~ Linux® Notes for Professionals 7ctri-r reverse search in history ~/.bash.history stores last 500 commands/events used on the shell history will show the command history will show all the commands in history having keyword
(useful in cases history | grep
+25 you remember part of the command used in the past) Section 4.3: Create Your Own Command Alias If you are tired of using long commands in bash you can create your own command alias. The best way to do this is to modify (or create if it does not exist) a file called .bash_aliases in your home folder. The general syntaxis: alias conmand_alias=' actual_command where actual_command is the command you are renaming and command_alias is the new name you have given it. For example alias install="sudo apt-get -y install’ ‘maps the new command alias instal to the actual command sudo apt-get -y install. This means that when you use install in a terminal this is interpreted by bash as sudo apt-get -y install. Section 4.4: Locate a file on your system Using bash you can easily locate a file with the locate command. For example say you are looking for the file mykey.pem: locate mykey.pem Sometimes files have strange names for example you might have a file like random7897_mykey_0fidw.pen. Let's say you're looking for this file but you only remember the mykey and pem parts. You could combine the locate command with grep using a pipe like this: locate pem | grep mykey Which would bring up all results which contain both of these pieces. Note that not all systems have the locate utility installed, and many that do have not enabled it. Locate is fast and efficient because it periodically scans your system and caches the names and locations for every file on it, but if that data collection is not enabled then it cannot tell you anything. You can use updatedb to manually initiate the filesystem scan in order to update the cached info about files on your filesystem, Should you not have a working locate, you can fall back on the find utility: find / -name mykey.pem -print is roughly equivalent to locate mykey pen but has to scan your filesystems) each time you run it for the file in question, rather than using cached data. This is obviously slower and less efficient, but more real-time, The find utility can do much more than find files, but a full description of its capabilities is beyond the scope of this example. GoalKicker.com ~ Linux® Notes for Professionals 8Chapter 5: Check Disk Space Section 5.1: Investigate Directories For Disk Usage Sometimes it may be required to find out which directory consuming how much disk space especially when you are used df -h and realized your available disk space is low. du: du command summarizes disk usage of the set of FILEs, recursively for directories It's often uses with -sh option: -s, --sunmarize display only a total for each argument
myhardware.html $ sudo Ishw -xml > myhardware. xml To show PCI info $ Ispei -tv GoalKicker.com ~ Linux® Notes for ProfessionalsTo see USB info $ Isusb -tv To display BIOS information $ dnidecode -q | less To see specific information about disk (disk sda in example) you can use: $ hdparm -i /dev/sda Few additional utilities/commands will help gather some extra information: $ smartctl -A /dev/sda | grep Power_On_Hours # How long has this disk (system) been powered on in total $ hdparm -tT sdev/sda # Do a read speed test on disk sda $ badblocks -s /dev/sda # Test for unreadable blocks on disk sda Section 6.4: Find CPU model/speed information Ubuntu: $ cat /proc/cpuinfo Sample Output: processor ® vendor_id GenuineIntet cpu family: 6 model 15 model name Intel(R) Core(TH)2 Quad CPU 06600 @ 2.40GHz stepping: 11 cpu MHz 1596.000 cache size 4096 KB physical id @ siblings 4 core id o cpu cores 4 apicid 20 initial apicid =: 0 fpu yes fpuexception —: yes cpuid level 10 wp yes flags fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tn2 ssse3 cx16 xtpr pdem lahf_lm tpr_shadow vnmi flexpriority bogomips —: 4800.18 clflush size 64 cache_alignment —: 64 address sizes 36 bits physical, 48 bits virtual power managenent processor 3 vendor_id GenuineIntel cpu family 6 GoalKicker.com ~ Linux® Notes for Professionals 2Bmodel 15 model name Intel(R) Core(TH)2 Quad CPU 06600 @ 2.40GHz stepping: 11 cpu MHZ 1596.000 cache size 4096 KB physical id 0 siblings: 4 core id 3 cpu cores 4 apicid 3 initial apicid =: 3 fpu yes fpuexception : yes cpuid level 10 wp yes flags fpu ve de pse tsc msr pae me cx8 apic sep mtrr pge mca cov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pe syscall nx Im constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tn2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority bogomips —: 4800.30 clflush size 64 cache_alignment —: 64 address sizes: 36 bits physical, 48 bits virtual power managenent count processor (including cores): $ grep -c processor /proc/cpuinfo Section 6.5: Process monitoring and information gathering Overall you have two ways to monitor processes at linux host Static monitoring Most widely used command is ps (i.e., process status) command is used to provide information about the currently running processes, including their process identification numbers (PIDs). Here few useful options to gather specific information. List processes in a hierarchy $ ps -e -0 pid,args --forest List processes sorted by 9% cpu usage $ ps -e -0 pcpu, cpu,nice, state, cputime,args --sort pcpu | sed '/* 0.0 /d° List processes sorted by mem (KB) usage. $ ps -e -orss=,args= | sort -b -k1,1n | pr ~THSCOLUHNS: List all threads for a particular process ("firefox-bin" process in example } $ ps -C firefox-bin -L -o pid, tid, pcpu, state After finding specific process you can gather information related to it using 1sof to list paths that process id has, open GoalKicker.com ~ Linux® Notes for Professionals 26$ 1sof -p $$ Or based on path find out list processes that have specified path open $ sof ~ Interactive monitoring Most commonly known tool for dynamic monitoring is: $ top That mostly default command that have huge amount options to filter and represent information in real time (in comparison to ps command Still there are more advance options that can be considered and installed as top replacement $ htop -d 5 or $ atop Which has ability to log all the activities into log file (default atop will log all the activity on every 600 seconds) To this list there are few specialised commands as iotop or if top $ sudo iotop GoalKicker.com ~ Linux® Notes for Professionals aChapter 7: Is command Section 7.1: Options for Is command Full list of options: 1s a listall files including hidden file starting with .” 1s --color colored list [=always/never/auto) 1s -d ist directories - with "#7 1s -F add one char of */=>@| to enteries 1s -i list file's inode index number 1s -1 list with long format - show permissions 1s -1a list ong format including hidden files 1s -1h list long format with readable file size 1s -1s list with long format with file size 1s -r list in reverse order 1s -Rlist recursively directory tree 1s -s list file size 1s -S sort by file size 1s -t sort by time & date As -X sort by extension name Section 7.2: ls command with most used options Is shows files and directories in present working directory. (if no arguments are passed.) (It doesn't show hidden files which starts with . by default.) user@ubuntu14:/usr$ 1s bin games include lib 1ib82 local sbin share sre To see all files (hidden files/folders also). Use 1s -a OR 1s -all user@ubuntu14:/usr$ 1s -2 bin games include 1ib 1ib32 local sbin share src To differentiate between files and folders and symbolic links and other, use 1s -F OR 1s --classify user@ubuntu14:~$ 1s -F bash_profile_course chat_epps/ Desktop/ Downloads/__foxitsoftware/ Public/ _test/_bin/ —ClionProjects/ Documents/ IDE/_—Music/ Pictures/ Templates/ Videos/ GoalKicker.com ~ Linux® Notes for Professionals 28Here, ending characters are used to distinguish files and folders. "7 suggest directory. “suggest executables. "@" suggest symbolic links. To get more details about the files and directories, use 1s -1 user@ubuntu14:~/example$ 1s -1 total 6464 -rw-r--r-- 1 dave dave 41 Dec 24 12:19 Z.txt drwxr-xr-x 2 user group 496 Dec 24 12:00 adirectory
a_file srw-r--r-- 1 user group 6 Dec 24 12:03 a_newer_file
To set the default target for your system Managing services at runtime * systenct] start [service-nane] To starta service * systenct] stop [service-nane] To stop a service * systemct] restart [service-nane] To restart a service + systenct] reload [service-nane] To request service to reload its configuration * systemctl status [service-name] To show current status of a service Managing autostart of services + systemct] is-enabled [service-name] To show whether a service is enabled on system boot * systemct] is-active [service-name] To show whether a service is currently active(running) + systemct1 enable [service-nane] To enable a service on system boot © systemetl disable [service-name] To disable a service on system boot Masking services + systemet1 mask [service-name] To mask a service (Makes it hard to start a service by mistake) + systemet2 unmask [service-name] To unmask a service Restarting systemd systemct1 daemon-reload GoalKicker.com ~ Linux® Notes for Professionals 32Chapter 10: Managing Services Section 10.1: Diagnosing a problem with a service ‘On systems using systemd, such as Fedora => 15, Ubuntu (Server and Desktop) >= 15.04, and RHEL/CentOS >= 7: systemct1 status [servicename] .where [servicename] is the service in question; for example, systemct1 status sshd. This will show basic status information and any recent errors logged. You can see further errors with journalct1. For example, journalct1 -xe will load the last 1000 logged into a pager (like 1ess), jumping to the end. You can also use journalct -f, which will follow log messages as they come in. To see logs for a particular service, use the -t flag, like this: journalctl -f -t sshd Other handy options include -p for priority (-p warnings to see only warnings and above), -b for "since last boot", and -S for "since" — putting that together, we might do journalctl -p err -S yesterday to see all items logged as errors since yesterday. If journalct! is not available, or if you are following application error logs which do not use the system journal, the ‘tail command can be used to show the last few lines of a file. A useful flag for tail is -F (for “follow, which causes tail continue showing data as it gets appended to the file, To see messages from most services on the system: tail -f /var/log/messages Or, if the service is privileged, and may log sensitive data tail -f /var/log/secure Some services have their own log files, a good example is audit, the linux auditing daemon, which has its logs stored in /var/log/audit/. If you do not see output from your service in /var/log/messages try looking for service specific logs in /var/log/ Section 10.2: Starting and Stopping Services On systems that use the System-V style init scripts, such as RHEL/CentOS 6: service
start service
stop ‘On systems using systemd, such as Ubuntu (Server and Desktop) >= 15.04, and RHEL/CentOS >= 7: systenct]
dnsmasq systemct]
dnsmasq GoalKicker.com ~ Linux® Notes for Professionals 3Section 10.3: Getting the status of a service ‘On systems that use the System-V style init scripts, such as RHEL/CentOS 6: service
status ‘On systems using systemd, such as Ubuntu (Server and Desktop) >= 15.04, and RHEL/CentOS >= 7.0: systemct1 status
GoalKicker.com ~ Linux® Notes for Professionals 34Chapter 11: Modifying Users Parameter Details The name of the user. Do not use capital letters, do not use dots, do not end it in dash, it must not username include colons, no special characters. Cannot start with a number. Section 11.1: Setting your own password passnd Section 11.2: Setting another user's password Run the following as root: passwd username Section 11.3: Adding a user Run the following as root: useradd usernome Section 11.4: Removing a user Run the following as root: userdel usernone Section 11.5: Removing a user and its home folder Run the following as root: userdel -r username Section 11.6: Listing groups the current user is in groups More detailed information about user and group numerical IDs can be found with the ié command. Section 11.7: Listing groups a user is in groups username More detailed information about user and group numerical IDs can be found with id username. GoalKicker.com ~ Linux® Notes for Professionals 35Chapter 12: LAMP Stack LAMP (Linux Apache MySQL PHP) consists of the Linux operating system as development environment, the Apache HTTP Server as web server, the MySQL relational database management system (RDBMS) as DB (Data Base) system, and the PHP programming language as Server side (Back End) programming language. LAMP is used as a Open Source stack of technologies solution to web development area. Windows version of this, stack is called WAMP (Windows Apache MySQL PHP) Section 12.1: Installing LAMP on Arch Linux With this line we will install all the necessary packages in one step, and the last update: pacman -Syu apache php php-apache mariadb HTTP Edit Jetc/httpd/conf/httpd conf Change ServerAdnin youexample.com as you need. ‘The folder of the WEB Pages by default is ServerRoot “/etc/httpd". Directory must be set to the same folder, so change the line
This folder must have read and execution access, so chnod o#x /ete/httpd Change AllowOverride from none (default) to All so htaccess will works. Now you need the ~/public_html folder for each user. (to get the root page of each user as http://localhost/~yourusername/. Unremark this line: Include conf/extra/httpd-userdir .conf Now as root you need to create the ~/public_htm1 for each user and change the access to (755) of each one. chnod 755 shome chnod 755 /home/username chnod 755 /home/username/public_htm) You can comment out this line if you want to use SSL: LoadModule ssl_module modules/mod.ss1.so Ifyou need to use virtual domains, uncomment the line: Include conf/extra/httpd-vhosts .conf and in fete/httpd/conf /extra/httpd-vhosts.conf you must to add all the virtual domains. (plus into /etc/hosts if you want to test those virtuals domains) GoalKicker.com ~ Linux® Notes for Professionals 36Edit setc/httpd/conf /extra/httpd-default .conf and change ServerSignature to Off and ServerToken to Prod for hiding critical data PHP Edit: /eteshttpd/cont snttpd..conf Comment out: LoadModule mpm_event nodule modules/mod_npn_event.so Uncomment: LoadModule mpn_prefork module modules/nodmpn.prefork.so As last item in the LoadModule list, add LoadModule php7module modules/1ibphp7.so As last item in the include list, add Include conf /extra/php?_nodule.conf Edit Jete/php/php ini Uncomment extension=nysqli.so and extension=pdo_nysql.so Change the timezone as you need, for example: date. timezone = Anerica/Argentina/Buenos_Aires, date.default_latitude = 0.0, date.default_longitude = 0.8 MysQL Run as root: mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql Now you have the root of the MySQL Server. Start MySQL daemon: systemct] enable mysqld systemct1 start mysqld At last, run: sh /usr/bin/mysql_secure_installation That all to get a web server ready to be customized as you need. Section 12.2: Installing LAMP on Ubuntu Install apache: sudo apt-get install apache? Install MySql: sudo apt-get install mysql-server Install PHP: GoalKicker.com ~ Linux® Notes for Professionals 7sudo apt-get install phpS 1ibapache2-mod-phps Restart system: sudo systenct] restart apache2 Check PHP installation: php -r ‘echo "\n\nYour PHP installation is working fine. \n\n\n" Section 12.3: Installing LAMP stack on CentoOS Install Apache Web Server First step is to install web server Apache. sudo yun -y install httpd Once itis installed, enable (to run on startup) and start Apache web server service. sudo systenctl enable --now httpd Point your browser to: http://localhost You will see the default Apache web server page. Install MariaDB Server Second step is to install MariaDB: sudo yun -y install mariadb-server Then start and enable (on startup) the MariaDB server: sudo systenct] enable --now mariadb As needed, use mysql_secure installation to secure your database. This script will allow you to do the following: + Change the root user's password * Remove test databases * Disable remote access Install PHP sudo yum -y install php php-common Then restart Apache's httpd service. sudo systemctl restart httpd To test PHP, create a file called index.php in /var/www/html. Then add the following line to the file: GoalKicker.com ~ Linux® Notes for Professionals 38‘Then point your browser to: http://localhost/index.php You should see information related to your server. If you do not, ensure that php is for sure installed correctly by running the following command: php --version If you receive something like: PHP 5.4.16 (cli) (built: Nov 6 2016 00:29:02) Copyright (c) 1997-2013 The PHP Group Then PHP is installed correctly. if this is the case, please ensure that you've restarted your web server. GoalKicker.com ~ Linux® Notes for Professionals 39Chapter 13: tee command Options Description ‘append ‘Append to the given FILEs. Do not overwrite. ignore-interrupts ignore interrupt signals. help Display a help message, and exit. version Display version information, and exit. tee- read from standard input and write to standard output and files. The tee command is named after the T-splitter in plumbing, which splits water into two directions and is shaped like an uppercase T. tee copies data from standard input to each FILE, and also to standard output. In effect, tee duplicates its input, routing it to multiple outputs at once. Section 13.1: Write output to stdout, and also to a file The following command displays output only on the screen (stdout). gis The following command writes the output only to the file and not to the screen. $ 1s > file The following command (with the help of tee command) writes the output both to the screen (stdout) and to the file $ 1s | tee file Section 13.2: Write output from the middle of a pipe chain toa file and pass it back to the pipe You can also use tee command to store the output of a command in a file and redirect the same output to another command. The following command will write current crontab entries to a file crontab-backup..txt and pass the crontab entries to sed command, which will do the substituion, After the substitution, it will be added as a new cron job. $ erontab -1 | tee erontab-backup.txt | sed 's/old/new/’ | crontab - Section 13.3: write the output to multiple files You can pipe your output to multiple files (including your terminal) by using tee like this: $ ls | tee filet file2 files Section 13.4: Instruct tee command to append to the file By default tee command overwrites the file, You can instruct tee to append to the file using the -a option as shown GoalKicker.com ~ Linux® Notes for Professionals 40GoalKicker.com ~ Linux® Notes for Professionals a1Chapter 14: Secure Shell (SSH) secure shell is used to remotely access a server from a client over an encrypted connection. OpenSSH is used as an alternative to Telnet connections that achieve remote shell access but are unencrypted. The OpenSSH Client is. installed on most GNU/Linux distributions by default and is used to connect to a server. These examples show use how to use the SSH suite to for accept SSH connections and connecting to another host. Section 14.1: Connecting to a remote server To connect to a server we must use SSH on the client as follows, # ssh -p port useréserver-address * port - The listening ssh port of the server (default port 22). * user - Must be an existing user on the server with SSH privileges. + server address - The IP/Domain of the server. For a real world example lets pretend that you're making a website. The company you chose to host your site tells you that the server is located at web-servers.com on a custom port of 2020 and your account name usr has been chosen to create a user on the server with SSH privileges. In this case the SSH command used would be as such # ssh -p 2020
[email protected]
If account name on the remote system is the same as the one one the local client you may leave the user name off. So if you are usr1 on both systems then you my simply use web-servers..com instead of usr
[email protected]
. When a server you want to connect to is not directly accessible to you, you can try using Proxyump switch to connect to it through another server which is accessible to you and can connect to the desired server. # ssh -J
[email protected]
:2020 usr2610.0.0.2 -p 2222 This will let you connect to the server 10.0.0.2 (running ssh on port 2222) through server at 10.0.0.1 (running ssh on port 2020). You will need to have accounts on both servers of course. Also note that the -j switch is introduced in OpenSSH version 7.3, Section 14.2: Installing OpenSSH suite Both connecting to a remove SSH server and accepting SSH connections require installation of openssh Debian: # apt-get install openssh Arch Linux: # pacman -$ openssh Yum: # yum install openssh GoalKicker.com ~ Linux® Notes for Professionals 42Section 14.3: Configuring an SSH server to accept connections First we must edit the SSH daemon config file. Though under different Linux distributions this may be located in different directories, usually itis stored under /etc/ssh/sshd_config Use your text editor to change the values set in this file, all lines starting with # are commented out and must have this character removed to take any effect. A list of recommendations follow as such. Port (chose a number between @ - 65535, normaly greater than four digits) PasswordAuthentication yes Allowsers —userl user2 ...ete Note that it is preferable to disable password logins all together and use SSH Keys for improved security as explained in this document. Section 14.4: Passwordless connection (using a key pair) First of all you'll need to have a key pair. if you don't have one yet, take a look at the ‘Generate public and private key topic’ Your key pair is composed by a private key (id_rsa) and a public key (id_rsa.pub). All you need to do is to copy the public key to the remote host and add its contents to the ~/. ssh/authorized_keys file. (One simple way to do that is: ssh
@
‘cat >> ~/.ssh/authorized_keys’ < id_rsa.pub Once the public key is properly placed in your user's home directory, you just need to login using the respective private key: Section 14.5: Generate public and private key To generate keys for SSH client: ssh-keygen [-t rsa | rsa1 | dsa ] [-C
] [-b bits] For example: ssh-keygen ~t rsa -b 4096 - C myenaileenail..com Default location is ~/.ssh/id_rsa for private and ~/ .ssh/id_rsa.pub for public key. For more info, please visit man.openbsd.org. Section 14.6: Disable ssh service This will disable the SSH server side service, as if needed this will insure that clients cannot connect via ssh Ubuntu sudo service ssh stop GoalKicker.com ~ Linux® Notes for Professionals Bsudo systemctl disable sshd.service Debian sudo fetc/init.d/ssh stop sudo systemct] disable sshd.service Arch Linux sudo killall sshd sudo systemct] disable sshd.service GoalKicker.com ~ Linux® Notes for Professionals 44Chapter 15: SCP Section 15.1: Secure Copy scp command is used to securely copy a file to or from a remote destination. If the file is in current working directly only filename is sufficient else full path is required which included the remote hostname e.g remote_user@some_server.org:/path/to/file Copy local file in your CWD to new directory scp localfile.txt shome/friend/share/ Copy remote file to you current working directory scp rocky@arenaS1 net: Jhome/rocky/game/data.txt ./ Copy file from one remote location to another remote location Sep
[email protected]
:/beacon/Light/bitmap.conf
[email protected]
:/beacon/night/ To copy directory and sub-directories use ‘+r’ recursive option to scp sep -r
[email protected]
:~/project/* ./workspace/ Section 15.2: Basic Usage # Copy remote file to local dir Sep user@remotehost .com:/remote/path/to/ foobar .md /local/dest # Copy local file to remote dir sep foobar.md user®renotehost .com:/remote/dest # Key files can be used (just like ssh) scp -i my_key.pem foobar.md user@remotehost .com:/remote/dest GoalKicker.com ~ Linux® Notes for Professionals 45Chapter 16: GnuPG (GPG) GnuPG is a sophisticated key management system which allows for secure signing or encrypting data. GPG is a command-line tool used to create and manipulate GnuPG keys. GnuPG is most widely used for having SSH (Secure Shell) connections without password or any means of interactive authentication, which improves security level significantly. Following sections describe ways to create, use, and maintain security of GnuPG keys. Section 16.1: Exporting your public key In order for your public-private keypair to be of use, you must make your public key freely available to others. Be sure that you are working with your public key here since you should never share your private key. You can export your public key with the following command: 9p9 —armor —export EMATL_ADDRESS > public_key.asc where EMAIL_ADDRESS is the email address associated with the key Alternately, you can upload your public key to a public key server such as keys.gnupg.net so that others can use it, To do so, enter the following in a terminal: gpg —list-keys Then, search for the 8-digit string (the primary ID) associated with the key you want to export. Then, issue the command: ‘gpg —send-keys PRIMARYID where PRIMARY ID is the actual ID of that key. Now, the public key has been uploaded to the key server and is publicly available. Section 16.2: Create and use a GnuPG key quickly Install haveged (example sudo apt-get install haveged) to speed up the random byte process. Then: gpg --gen-key gpg --list-keys outputs: pub 2048R/NNNNNNNN 2616-61-01 uid Name
sub 2048R/xxxxxxxx 2816-81-01 Then publish: gpg --keyserver pgp.mit.edu --send-keys NNNNNNNN Then plan to revoke: https://www.hackdiary.com/2004/01/18/revoking-a-gpg-key/ GoalKicker.com ~ Linux® Notes for Professionals 46Chapter 17: Network Configuration This document covers TCP/IP networking, network administration and system configuration basics. Linux can support multiple network devices. The device names are numbered and begin at zero and count upwards. For example, a computer with two NICs will have two devices labeled eth0 and etht Section 17.1: Local DNS resolution File: /etc/hosts contains a list of hosts that are to be resolved locally(not by DNS) ‘Sample contents of the file: 127.8.0.1 your-node-name.your-donain.com localhost.localdomain localhost XXX. 200. XKK.XXX node-name The file format for the hosts file is specified by REC 952 Section 17.2: Configure DNS servers for domain name resolution File: /etc/ resolv. conf contains a list of DNS servers for domain name resolution ‘Sample contents of the file: nameserver 8.8.8.8 # IP address of the primary name server nameserver 8.8.4.4 # IP address of the se In case internal DNS server you can validate if this server resolve DNS names properly using dig command: $ dig google.com @your.dns.server.com +short Section 17.3: See and manipulate routes Manipulate the IP routing table using route play routing table $ route # Displays list or routes and also re $ route -n # Displays list of routes without resolving host names for faster results Add/Delete route Option Description add or del Add or delete a route host x.x.x.x Add route to a single host identified by the IP address snet x.x.x.x Add route to a network identified by the network address OW X.X.x.x Specify the network gateway netmask x.x.x.x Specify the network netmask default Add a default route Examples: GoalKicker.com ~ Linux® Notes for Professionals a7add route toa host $ route add -host x.x.x.x etht add route to a network $ route add -net 2.2.2.8 netmask 255.255.255.0 etha Alternatively, you could also use cidr format to add a route to network route add -net 2.2.2.0/24 ethe add default gateway $ route add default gw 2.2.2.1 etho * delete aroute $ route del -net 2.2.2.0/24 Manipulate the IP routing table using ip isplay routing table $ ip route show # List routing table Add/Delete route Option Description add or del or change or append orventace Change a route show or flush the command displays the contents of the routing tables or remove it restore restore routing table information from stdin ae this command gets a single route to a destination and prints its contents exactly as the kernel sees it Examples: * Set default gateway to 1.2.3.254$ ip route add default via 1.2.3.254 * Adds a default route (for all addresses) via the local gateway 192.168.1.1 that can be reached on device ethO $ ip route add default via 192.168.1.1 dev etha Section 17.4: Configure a hostname for some other system on your network You can configure your Linux (or macOS) system in order to tie in an identifier
to some other system's IP address in your network. You can configure it: * Systemwide. You should modify the /etc/hosts file. You just have to add to that file a new line containing: 1, the remote system's IP address
, 2. one or more blank spaces, and 3, the identifier
Example: $ ifconfig ethe etha Link encap:Ethernet Hitaddr xx:xx 1x 2x 2030 net addr:x.x.x.x Boast:x.x.x.x Nask:x.x.%.X Snet6 addr XX | XX :XXXX 2 xHKK KKK/EA Scope :Liink UP BROADCAST RUNNING MULTICAST MTU:15@0 Metric:1 RX packets :4426618 errors:@ dropped:1124 overruns:@ frame:0 TX packets :189171 errors:@ dropped:@ overruns:@ carrier: collisions :@ txqueuelen:1@0@ RX bytes:382611580 (382.6 MB) TX bytes:36923665 (36.9 MB) Interrupt:16 Memory :fbSe8@8e-fb600000 Ethtool - query the network driver and hardware settings Syntax: $ ethtool
Example: § ethtool etha Settings for etho: Supported ports: [ TP ] Supported Link modes: 10baseT/Half 1dbaseT/Fult 1O0baseT/Half 100baseT/FuLL 1000baseT/Fult Supported pause frame use: No Supports auto-negotiation: Yes Advertised Link modes: 10baseT/Half 10baseT/Fult lodbaseT/Half 100baseT/FulL 1o00baseT/Fult Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Hb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on WOI-X: on (auto) Supports Wake-on: punbg Wake-on: g Current message level: 6x00000007 (7) drv probe Link Link detected: yes ip - show / manipulate routing, devices, policy routing and tunnels GoalKicker.com ~ Linux® Notes for Professionals 49Syntax: $ ip { link | ... | route | macsec } (please see man ip for full list of objects) Examples List network interfaces $ ip link show Rename interface eth0 to wan $ ip link set dev eth@ name wan Bring interface ethO up (or down) $ ip link set dev etha up List addresses for interfaces $ ip addr show Add (or del) ip and mask (255.255.255.0) $ ip addr add 1.2.3.4/24 brd + dev ethe Section 17.6: Adding IP to an interface An IP address to an interface could be obtained via DHCP or Static assignment DHCP If you are connected to a network with a DHCP server running, dhclient command can get an IP address for your interface § dhclient
or alternatively, you could make a change to the /etc/network/interfaces file for the interface to be brought up on boot and obtain DHCP IP auto etho iface eth® inet dhcp Static configuration(Permanent Change) using /etc/network/interfaces file If you want to statically configure the interface settings(permanent change), you could do so in the Jetc/network/interfaces file. Example: terface on boot auto eth® # Bring up the iface ethd inet static address 10.10.70.10 netmask 255.255.0.0 gateway 10.10.1.1 dns-nameservers 10.10.1.28 dns-nameservers 10.10.1.30 ‘These changes persist even after system reboot, GoalKicker.com ~ Linux® Notes for Professionals 50Static configuration(Temporary change) using ifconfig utility Astatic IP address could be added to an interface using the ifconfig utility as follows § ifconfig
/
up Example: § ifconfig ethd 10.10.50.100/16 up GoalKicker.com ~ Linux® Notes for Professionals 51Chapter 18: Midnight Commander Midnight Commander or mc is a console file manager. This topic includes the descripton of it's functionalities and examples and tips of how to use it to it's full potential pecon 18.1: Midnight Commander function keys in browsing mode Here is a list of actions which can be triggered in the Midnight Commander filesystem browsing mode by using function keys on your keyboard. F7_J Displays help F2_] Opens user menu F3 ] Displays the contents of the selected file F4 ] Opens the selected file in the internal file editor F5 Copies the selected file to the directory open in the second panel F6_] Moves the selected file to the directory open in the second panel F7_] Makes a new directory in the directory open in the current panel FB ] Deletes the selected file or directory F9 | Focuses to the main menu on the top of the screen Fi@ | Exits me Section 18.2: Midnight Commander function keys in file editing mode Midnight Commander has a built in editor which is started by F4 function key when over the desired file in the browse mode. It can also be invoked in standalone mode by executing mcedit
Here is a list of actions which can be triggered in the edit mode. F1_] Displays help F2 | Saves current file F3_] Marks the start of the text selection. Move cursor any direction to select. Second hit marks the end of the selection. F4 ] Brings up the text search/replace dialog F5 ] Copies selected text to the cursor location (copy/paste) F6 | Moves selected text to the cursor location (cut/paste) F7 | Brings up the text search dialog GoalKicker.com ~ Linux® Notes for Professionals 52F@ ] Deletes selected text F9 | Focuses to the main menu on the top of the screen Fi JExits the editor GoalKicker.com ~ Linux® Notes for Professionals 53Chapter 19: Change root (chroot) Change root (chroot) is an operation that changes the apparent root directory for the current running process and their children. A program that is run in such a modified environment cannot access files and commands outside that environmental directory tree. Section 19.1: Requirements * root privileges + another working Linux environment,such as Live CD boot or an existing distribution + matching environment architectures of chroot source and destination (check current environment architecture with uname -n) * kernel modules which you may need in chroot environment must be loaded (for example, with modprobe) Section 19.2: Manually changing root in a directory 1. Ensure you met all requirements, as per Requirements 2. Mount the temporary AP! filesystems: ed /location/of /new/ root mount -t proc proc proc/ mount --rbind /sys sys/ mount --rbind /dev dev/ mount --rbind frun run/ (optionally) 3. Ifyou need to use an internet connection in the chroot environment, copy over the DNS details: ep fetc/resoly.conf etc/resolv.cont 4, Change root into /location/of/new/root, specifying the shell (/bin/bash in this example): chroot /location/of/new/root /bin/bash 5. After chrooting it may be necessary to load the local bash configuration: source /etc/profile source ~/.bashre 6. Optionally, create a unique prompt to be able to differentiate your chroot environment: export PS1="(chroot) $PS1 7. When finished with the chroot, you can exit it via: exit 8. Unmount the temporary file systems: ed / unount --recursive /location/of /new/ root GoalKicker.com ~ Linux® Notes for Professionals 54Section 19.3: Reasons to use chroot Changing root is commonly done for performing system maintenance on systems where booting and/or logging in is no longer possible. Common examples are: * reinstalling the bootloader rebuilding the initramfs image * upgrading or downgrading packages resetting a forgotten password building software in a clean root environment GoalKicker.com ~ Linux® Notes for Professionals 55Chapter 20: Package Managers Section 20.1: How to update packages with the apt package manager ‘The Advanced Package Tool, aptly named the ‘apt’ package manager can handle the installation and removal of software on the Debian, Slackware, and other Linux Distributions. Below are some simple examples of use: update This option retrieves and scans the Packages.g7 files, so that information about new and updated packages is available. To do so, enter the following command: sudo apt-get update upgrade This option is used to install the newest versions of all packages currently installed on the system. Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed. To upgrade, enter the following command: sudo apt-get upgrade dist-upgrade In addition to performing the function of upgrade, dist-upgrade also intelligently handles changing dependencies with new versions of packages. It will attempt to upgrade the most important packages at the expense of less important ones if necessary. To do so, enter the following command: sudo apt-get dist-upgrade Section 20.2: How to install a package with the pacman package manager In order to search for packages in the databse, searching both in packages’ names and descriptions: pacman -Ss string! string? To install a single package or list of packages (including dependencies), issue the following command sudo pacman -S package_name1 package_name2 source Section 20.3: How to update packages with the pacman package manager To update a specific program: sudo pacman -S
To update entire the system: sudo pacman -Syu GoalKicker.com ~ Linux® Notes for Professionals 56Section 20.4: How to update packages with yum Yellowdog Updater, Modified, one of the last remaining vestiges of Yellow Dog Linux, is the package manager used by Red Hat, Fedora, and CentOS systems and their derivatives. It can handle the installation and removal of software packaged as rpms for these Linux distributions. Below are some simple examples of use: search This command will attempt to locate software packages in the configured software repositories that match the given search criteria, and display the name / version / repository location of the matches it finds. To use it, enter the following comman yun search
install This command will attempt to locate and install the named software from the configured software repositories, recursively locating and installing any needed prerequisite software as well. To use it, enter the following command sudo yum install
update This option is used to install the newest versions of all packages currently installed on the system. Packages currently installed with new versions available are retrieved and upgraded; new prerequisites are also retrieved and installed as necessary, and replaced or obsoleted packages are removed. To upgrade, enter the following command: sudo yum update Unlike apt, most yum commands will also automatically check for updates to repository metadata if a check has not been done recently (or if forced to do so) and will retrieve and scan updated metadata so that information about new and updated packages is available before the requested operation is performed. GoalKicker.com ~ Linux® Notes for Professionals 7Chapter 21: Compiling the Linux kernel Section 21.1: Compilation of Linux Kernel on Ubuntu Warning: be sure you have at least 15 GB of free disk space. Compilation in Ubuntu >=13.04 Option A) Use Git Use git if you want to stay in sync with the latest Ubuntu kernel source. Detailed instructions can be found in the Kernel Git Guide. The git repository does not include necessary control files, so you must build them by: fakeroot debian/rules clean Option B) Download the source archive Download the source archive - This is for users who want to rebuild the standard Ubuntu packages with additional patches. Use a follow command to install the build dependencies and extract the source (to the current directory) 1. Install the following packages: sudo apt-get build-dep linux-image-‘unat Option C) Download the source package and build This is for users who want to modify, or play around with, the Ubuntu-patched kernel source. 1. Retrieve the latest kernel source from kernel.org. 2. Extract the archive to a directory and ed into it: tar xf Linux-*.tar.xz ed Linux-* 3. Build the ncurses configuration interface: make menuconfig 4, To accept the default configuration, press [= ]to highlight < exit > and then[ Return 5, Press| Return ]again to save the configuration. 6. Use make to build the kernel: make Note that you can use the -jem> flag to compile files in parallel and take advantage of multiple cores. ‘The compressed kernel image can be found at arch/ [arch] /boot/bzImage, where [arch] is equal to uname -a GoalKicker.com ~ Linux® Notes for Professionals 58Credits Thank you greatly to all the people from Stack Overflow Documentation who helped provide this content, more changes can be sent to
[email protected]
for new content to be published or updated Theo.tk Chapter 1 Aaron Skomra Chapter 16 Ajay Sangale Chapters 1 and 9 Anagh Hegde Chapters 4 and 14 Ani Menon Chapters 2 and 4 Arden Shackelford Chapter 12 Armali Chapter 1 Bard Kopperud Chapter 8 BrightOne Chapters 9, 13, 14 and 19 C.W.Holeman It Chapter 14 capedi14 Chapters 1 and 4 colelemonz Chapter 1 stafur Chapter 17 DaveM Chapter 2 depperm Chapter 1 edan Chapter 1 embedded Chapter 8 Emmanuel Mathi Chapter 4 EsmaeelE Chapter 1 fdeslaur Chapter 3 Federico Ponzi Chapter 9 Filipe Chapter 14 Flamewires Chapter 10 FOP Chapter 12 foxtrot9 Chapter 7 geek1011. Chapter 11 Jareyd Chapter 1 Jensd Chapters 1 and 4 kerDam Chapter 1 kiran Vemuri Chapters 6 and 17 kuldeep mishri Chapter 13 Léo Léopold Hertz 88 Chapter 21 lardenn Chapters 2 and 4 leeor Chapter 9 likewhoa Chapter 1 manavm Chapter 15 Manuel Chapter 14 Marsso Chapter 8 Mateusz Piotrowski Chapter 1 mattdm Chapters 2, 10 and 11 mertyildiran Chapter 5 Mike P Chapter 1 Mohammad Chapter 1 Nathan Osman Chapter 21 Naveen Chakravarthy Chapter 1 Nikhil Raj Chapter 2 Not22 Chapter 8 GoalKicker.com ~ Linux® Notes for Professionals 59oznek Paradox parkydr Philip Kirkbride Quaker Rajesh Rengaraj Sergey Stolyarov Sudip Bhandari Teddy Telus Pr TiansHUo- Todd vishram0709 Whoami Y4Rvik Zumo de Vidrio 0 Chapter 4 Chapters 16 and 20 Chapter 7 Chapters 4, 7, 12 and 20 Chapter 4 Chapter 14 Chapter 15 Chapters 1, 4 and 20 Chapters 3, 6 and 12 Chapters 1, 4, 14 and 18 Chapter 2 Chapter 1 Chapter 2 Chapter 1 Chapter 1 Chapters 1 and 14 Chapter 1 Chapter 1 Chapters 6 and 17 Chapter 1 Chapter 5 GoalKicker.com ~ Linux® Notes for Professionals 60You may also like Poy 100+ pages Perea ees ir Poe aes
You might also like
Linux Tips, Tricks, Apps and Hacks
PDF
100% (8)
Linux Tips, Tricks, Apps and Hacks
164 pages
Linux Tips, Tricks, Apps & Hacks Vol 3 - 2015 UK - Unknown
PDF
100% (4)
Linux Tips, Tricks, Apps & Hacks Vol 3 - 2015 UK - Unknown
164 pages
Linux Quickstart V5
PDF
100% (1)
Linux Quickstart V5
44 pages
Basic Linux Commands
PDF
No ratings yet
Basic Linux Commands
4 pages
Linux Commands Cheat Sheet
PDF
No ratings yet
Linux Commands Cheat Sheet
8 pages
Linux Complete Notes
PDF
No ratings yet
Linux Complete Notes
61 pages
Linux Administration (Admin 1)
PDF
No ratings yet
Linux Administration (Admin 1)
21 pages
Linux Commands Cheat Sheet
PDF
100% (1)
Linux Commands Cheat Sheet
1 page
CLI Cheat Sheet
PDF
100% (1)
CLI Cheat Sheet
2 pages
Kali Cheat Sheet: Keyboard Shortcuts
PDF
No ratings yet
Kali Cheat Sheet: Keyboard Shortcuts
8 pages
Linux Notes
PDF
No ratings yet
Linux Notes
57 pages
CLI Cheat Sheet PDF
PDF
No ratings yet
CLI Cheat Sheet PDF
2 pages
GNU/Linux Most Wanted: Summary of Most Useful Commands
PDF
No ratings yet
GNU/Linux Most Wanted: Summary of Most Useful Commands
1 page
Over 5 Hours: Ubuntu Linux Mint Elementary Tails
PDF
67% (3)
Over 5 Hours: Ubuntu Linux Mint Elementary Tails
10 pages
HiSpeed CTi Quick Reference SGI IRIX SUN UNIX
PDF
No ratings yet
HiSpeed CTi Quick Reference SGI IRIX SUN UNIX
2 pages
6 - Slides - Linux - Introduction To The Command Line
PDF
No ratings yet
6 - Slides - Linux - Introduction To The Command Line
54 pages
Server Administrator Commands
PDF
100% (2)
Server Administrator Commands
10 pages
Linux Classes
PDF
No ratings yet
Linux Classes
52 pages
Linux Introduction
PDF
No ratings yet
Linux Introduction
44 pages
Linux Cheat Sheet V1.0
PDF
No ratings yet
Linux Cheat Sheet V1.0
42 pages
Using Linux The CLI Way - Cheat Sheet
PDF
100% (2)
Using Linux The CLI Way - Cheat Sheet
6 pages
Linux Terminal Comands
PDF
100% (1)
Linux Terminal Comands
7 pages
Linux
PDF
No ratings yet
Linux
44 pages
Linux Viva
PDF
No ratings yet
Linux Viva
8 pages
Linux Basics
PDF
No ratings yet
Linux Basics
10 pages
Linux Command Line
PDF
No ratings yet
Linux Command Line
2 pages
Kali Commands
PDF
No ratings yet
Kali Commands
17 pages
Linux Cheat Sheet
PDF
No ratings yet
Linux Cheat Sheet
42 pages
Unix Lecture 3
PDF
No ratings yet
Unix Lecture 3
22 pages
Linux Shortcuts and Commands
PDF
No ratings yet
Linux Shortcuts and Commands
12 pages
Learn Basic Commands For Linux
PDF
No ratings yet
Learn Basic Commands For Linux
12 pages
Practical+Linux+Cmd+Line+2 0+-+Cheat+Sheet
PDF
No ratings yet
Practical+Linux+Cmd+Line+2 0+-+Cheat+Sheet
5 pages
Linux Shortcuts and Commands Ug000001
PDF
No ratings yet
Linux Shortcuts and Commands Ug000001
19 pages
Linux Commands Cheat Sheet New
PDF
No ratings yet
Linux Commands Cheat Sheet New
2 pages
Basic Linux Commands
PDF
No ratings yet
Basic Linux Commands
23 pages
Useful Linux Commands For NOC Work: Abstract
PDF
No ratings yet
Useful Linux Commands For NOC Work: Abstract
5 pages
LINUX Essentials
PDF
No ratings yet
LINUX Essentials
11 pages
Using Linux The CLI Way - Cheat Sheet
PDF
No ratings yet
Using Linux The CLI Way - Cheat Sheet
6 pages
Lab MAnual 2
PDF
No ratings yet
Lab MAnual 2
8 pages
100+ Linux Commands and VI Shortcut's
PDF
No ratings yet
100+ Linux Commands and VI Shortcut's
10 pages
Linux Commands
PDF
No ratings yet
Linux Commands
7 pages
Linux Command Line Cheat Sheet
PDF
No ratings yet
Linux Command Line Cheat Sheet
2 pages
Command Memento
PDF
No ratings yet
Command Memento
1 page
Tut Cli
PDF
No ratings yet
Tut Cli
5 pages
Unix Utilities: Mail ID - S "Subject" / Hit Enter To Write The Content /L Lkajfdlkasjf
PDF
No ratings yet
Unix Utilities: Mail ID - S "Subject" / Hit Enter To Write The Content /L Lkajfdlkasjf
5 pages
Command Memento
PDF
No ratings yet
Command Memento
1 page
1.1 Essential Linux Commands
PDF
No ratings yet
1.1 Essential Linux Commands
6 pages
Common Linux Commands
PDF
No ratings yet
Common Linux Commands
4 pages
System Info: Command - Less - Allows The Scrolling of The Bash Command Window Using Shift + Up Arrow and
PDF
No ratings yet
System Info: Command - Less - Allows The Scrolling of The Bash Command Window Using Shift + Up Arrow and
8 pages
A Little Survival Guide To Command Line: Description Example
PDF
No ratings yet
A Little Survival Guide To Command Line: Description Example
1 page
Linux Commands
PDF
No ratings yet
Linux Commands
5 pages