<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: JM-2020-gif</title>
    <description>The latest articles on DEV Community by JM-2020-gif (@jm2020gif).</description>
    <link>https://dev.to/jm2020gif</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F557844%2F489b3b3a-f1b4-4c92-ab0f-6952725fca3b.jpg</url>
      <title>DEV Community: JM-2020-gif</title>
      <link>https://dev.to/jm2020gif</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jm2020gif"/>
    <language>en</language>
    <item>
      <title>The principles of colour psychology in web design</title>
      <dc:creator>JM-2020-gif</dc:creator>
      <pubDate>Thu, 14 Jan 2021 17:25:20 +0000</pubDate>
      <link>https://dev.to/jm2020gif/the-principles-of-colour-psychology-in-web-design-4jh3</link>
      <guid>https://dev.to/jm2020gif/the-principles-of-colour-psychology-in-web-design-4jh3</guid>
      <description>&lt;p&gt;When you enter a website, what is the first thing you see?&lt;br&gt;
It is that color is an attribute that is extremely important,because it is not only that it is the first thing we perceive but also hundreds of studies carried out on the psychology of color have shown that it influences our feelings and what is more important they condition our actions and habits.&lt;/p&gt;

&lt;p&gt;The principles of colour psychology in web design.&lt;br&gt;
There are many factors to consider when gauging the success of a website. For most businesses, conversions are the single biggest indicator that their website is performing well. Did you know that colour psychology in web design can impact those conversions?&lt;/p&gt;

&lt;p&gt;It’s a great indication of user experience success when visitors fill out a contact form, sign up for a newsletter, or register for a webinar. And of course, a primary end goal is to have users purchase a product or service that your site is offering.&lt;/p&gt;

&lt;p&gt;User experience and user interface design undeniably play a huge role in a website’s success. The same goes for colour and how it’s used in your web design. Colour psychology is a potent web design tool, and more and more designers are using it to convey key messages and impact the attitudes and emotions of people.&lt;/p&gt;

&lt;p&gt;Industrial psychology has a sub-field called color psychology. It’s become increasingly important for designers in all mediums and industries to have an understanding of the basic principles to be able to employ color in their work, and elicit the emotional responses that drive results. Over the years, color psychology has been used to serve various purposes. Some colors have proven useful for conveying a message, both negative and positive. Colors have the power to calm, or to incite excitement and action. Color can also influence the way you work out, the way you feel in a room or building, and even the way you choose what to order in a restaurant. Colors can drive sales as well, by tapping into subconscious human emotions and generating optimal responses.&lt;br&gt;
Every website aims to hook each visitor's attention and elicit specific reactions and emotions with the goal to earn clicks, subscriptions, registrations, and purchases. Color psychology in web design is a tool to help drive those engagements above and beyond interfaces, user flows, and copy. In color psychology there are values, emotions, and even physiological reactions closely associated with certain colors. Here’s an overview of the values, attitudes, and feelings typically associated with common colors, and how you can use them in your digital strategy.&lt;/p&gt;

&lt;p&gt;Colour psychology in web design: practical uses&lt;br&gt;
Red&lt;br&gt;
Red conveys a sense of urgency. If your goal is to promote a clearance sale, using red in ads or graphics immediately draws attention, makes the viewer eager to complete the interaction, and instills the fear of missing out at the same time. The colour red is incredibly stimulating, which makes it highly popular in sales materials. Red is also the colour of passion, and unfortunately jealousy, danger, and violence are also associated with it. Use red judiciously to grab the reader’s eye, and lighten the mood with supporting copy and imagery.&lt;/p&gt;

&lt;p&gt;Blue&lt;br&gt;
Dependability, intelligence, trust, safety, and security are closely associated with the colour blue, making it quite popular in the business world — especially the financial sector. Many people also find blue to be soothing and relaxing. Blue is often used in web design palettes and logos for industries that require a high level of trust, such as insurance, banking, and cybersecurity. Blue can also denote sadness; in some countries, blue is a colour of mourning. Use soft blues to relax your audience, and vivid blues for an air of credibility. Relaxation and trust will drive conversions.&lt;/p&gt;

&lt;p&gt;White&lt;br&gt;
In the Western world, white represents innocence, virtue, and purity. It’s also closely associated with hygiene and cleanliness, which explains its wide use in the healthcare industry. White can denote cleanliness, order, and traditional values. Many news websites also use white to call up the trustworthy sensation of reading a newspaper. Use white in your website palette to let content stand out, and foster a feeling of honesty that will result in conversions.&lt;/p&gt;

&lt;p&gt;Black&lt;br&gt;
While black is widely associated with darkness and death in many cultures, it has earned a reputation for elegance, sleekness, and glamour in the advertising industry. Black projects power, and is commonly used in ads for luxury products. Use black to emphasize the unique, elite sense of your brand or product, making visitors want to be a part of that special club. Black accents create a sharp contrast to other page elements, and play well with vivid colours for a sleek, modern feel.&lt;/p&gt;

&lt;p&gt;Yellow&lt;br&gt;
If you want to cheer up your readers and make them feel optimistic and warm, the colour yellow can help you make it happen. Some people even claim that this sunny colour makes them feel younger. Yellow is often seen on parenting, wellness, and travel websites. Use yellow to make your website — and your brand — feel approachable, welcoming, and friendly. Don’t use too much of it though, as yellow can be quite overwhelming. Yellow accents also work well on neutral palettes, livening up content without impacting the professional look and feel.&lt;/p&gt;

&lt;p&gt;Green&lt;br&gt;
Green will forever be associated with the environment. It calls to mind summer, outdoor activities, healthy foods, and overall wellness. Websites that advocate environmental causes or sell outdoor products often have a green theme. Along with blue, green is associated with relaxation as it’s easy on the eyes. Green is a great way to put visitors at ease. Green also projects decisiveness. Use green to give readers the feeling of being healthy, lively, and content. This will create the sense that everything will be better with your product or service.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Networking Internet Basics</title>
      <dc:creator>JM-2020-gif</dc:creator>
      <pubDate>Thu, 14 Jan 2021 17:14:54 +0000</pubDate>
      <link>https://dev.to/jm2020gif/networking-internet-basics-4ghk</link>
      <guid>https://dev.to/jm2020gif/networking-internet-basics-4ghk</guid>
      <description>&lt;p&gt;What is the Internet?&lt;/p&gt;

&lt;p&gt;The Internet is a large network of computers worldwide, which can exchange information between them. They can communicate because they are linked through telephone connections, cable, waves or another type of technology and thanks to the fact that they use a common language or protocol, TCP / IP, which are rules that tell us how data has to travel through the net.&lt;/p&gt;

&lt;p&gt;How does the Internet work?&lt;/p&gt;

&lt;p&gt;Internet architecture&lt;br&gt;
Possibly the Internet can be considered the largest communications network on the planet, often referred to as "the network of networks" and formed by the interconnection of thousands (or even millions) of networks around the world.&lt;/p&gt;

&lt;p&gt;We tend to think of the Internet as something abstract, often represented as a cloud that provides us with access to a large number of services..&lt;/p&gt;

&lt;p&gt;The current structure of the Internet is based on the interconnection of networks in a more or less hierarchical way with several levels, known as tiers. In general, there are three levels known as Tier 1, Tier 2 and Tier 3.&lt;/p&gt;

&lt;p&gt;Types of connections between operators: The connection between the networks of different operators can be done in two ways:&lt;/p&gt;

&lt;p&gt;Transit connections. Connection between operators of different hierarchy. The higher-ranking operator (provider) sells a transit connection to the lower-ranking operator (customer). The provider gives the customer access to all its routes, that is, the customer will receive both the routes from the provider's network and routes to other networks. The client publishes to the supplier only his routes and not others that he may have with other suppliers.&lt;/p&gt;

&lt;p&gt;By definition, Tier 1 networks are the only ones that do not use transit connections.&lt;/p&gt;

&lt;p&gt;Peering connection. Connection used for the exchange of traffic without cost between two operators. Each operator publishes only its routes and not other routes that it has with other providers or other peering routes, that is, the peering is used to access from an operator to the range of IP addresses of the other operator, but it does not serve to reach other ranges of addresses.&lt;/p&gt;

&lt;p&gt;HTTP vs HTTPS&lt;br&gt;
In order to understand the difference between HTTP and HTTPS, it is essential to know how the transmission of information works on the network. In other words, it is important that you know what HTTP is, how it evolved over the years and how HTTPS was born, a more secure information protocol that is becoming a standard when it comes to surfing the Internet.&lt;/p&gt;

&lt;p&gt;What is HTTP? Hypertext Transfer Protocol (HTTP) (or Hypertext Transfer Protocol in Spanish) is an application layer protocol for the transmission of hypermedia documents, such as HTML. It was designed for communication between web browsers and servers, although it can be used for other purposes as well. It follows the classic client-server model, in which a client establishes a connection, making a request to a server and waiting for a response from it. It is a stateless protocol, which means that the server does not save any data (state) between two requests. Although in most cases it is based on a connection of the TCP / IP type, it can be used on any secure or trusted transport layer, that is, on any protocol that does not lose messages silently, such as UDP.&lt;/p&gt;

&lt;p&gt;The need arose then to protect the information that is transferred between the user's browser and the web servers, that is, a more secure protocol was necessary to encrypt the connections so that no malicious user could intercept or steal it. Thus HTTPS arose.&lt;br&gt;
The main difference between HTTP and HTTPS is security. The HTTPS protocol prevents other users from intercepting the information that is transferred between the client and the web server.&lt;/p&gt;

&lt;p&gt;DNS&lt;br&gt;
DNS is the acronym that forms the denomination Domain Name System or Domain Name System and in addition to pointing the domains to the corresponding server, it will help us to translate the real address, which is a numerical relationship called IP, in the domain name.&lt;/p&gt;

&lt;p&gt;What are DNS for?&lt;br&gt;
Well, DNS is used to tell the user who types a domain to which server he should go to pick up the web page he wants to consult.&lt;/p&gt;

&lt;p&gt;Indeed the web pages are actually hosted under an IP address, for example our website &lt;a href="http://www.digival.es"&gt;www.digival.es&lt;/a&gt; really responds to the IP 85.112.29.231 but this system is capable of converting these numbers into the domain name &lt;a href="http://www.digival.es"&gt;www.digival.es&lt;/a&gt;. Remembering the IPs of each web page would be too hard work, that's why the domain name system was created, to allow creating terms and names that are easier to remember.&lt;/p&gt;

&lt;p&gt;How DNS works&lt;br&gt;
What better way to explain it with a practical example, and with actions that we carry out every day. Continuing with the example of our website or any other that has been contracted with our web hosting plans, suppose that a user wishes to access it, for which, he types our domain &lt;a href="http://www.digival.es"&gt;www.digival.es&lt;/a&gt; in his browser. When pressing the enter key, the browser will consult with the DNS server what is the IP address of our domain, and in turn it will match the information between the IP and the domain name, finally it will deliver to the browser the IP 85.112.29.231 that it can return our website to our user.&lt;/p&gt;

&lt;p&gt;How to change DNS&lt;br&gt;
As a domain registrar that we are, we provide a control panel that allows you to make these changes online. In our case, it is important to be clear that to change the DNS of an individual domain, it is necessary to go to the "Domains" section and configure the DNS of the domain individually, either by writing the new ones that we want to assign or by choosing among the ones we have. recorded in our Customer Area.&lt;br&gt;
We must be careful with DNS management, because as we have already explained, it depends on them that our domain works, or what is the same, our website, our mail or our applications and databases.&lt;/p&gt;

&lt;p&gt;Web Servers&lt;br&gt;
By "Web server" we can mean hardware or software, or both working together.&lt;/p&gt;

&lt;p&gt;In terms of hardware, a web server is a computer that stores the files that make up a website (eg HTML documents, images, CSS style sheets, and JavaScript files) and delivers them to the end-user device. It is connected to the internet and is accessible through a domain name like mozilla.org.&lt;br&gt;
In terms of software, a web server has many parties in charge of control over how users access files, at least one HTTP server. An HTTP server is a piece of software that comprises URLs (web addresses) and HTTP (the protocol your browser uses to view web pages).&lt;br&gt;
At the most basic level, whenever a browser needs a file stored on a web server, the browser will make a request to the server via HTTP. When the request reaches the correct web server (hardware), the HTTP server (software) sends the previously requested file, also through HTTP.&lt;br&gt;
By "Web server" we can mean hardware or software, or both working together.&lt;/p&gt;

&lt;p&gt;Traditional Web Hosting vs. Cloud Computing&lt;br&gt;
Traditional Hosting vs. Cloud Hosting: Benefits and Drawbacks of Each ‘Cloud hosting vs traditional hosting’ is a complicated question that depends on a variety of factors unique to each client. Thus, deciding whether to choose cloud hosting or traditional hosting is a case-by-case basis.&lt;/p&gt;

&lt;p&gt;Although cloud hosting is a growing force in Internet storage and website creation, traditional hosting users should not be worried. Traditional hosting still provides a wide array of benefits that will make it relevant for many years to come.&lt;/p&gt;

&lt;p&gt;Static vs. Dynamic pages&lt;br&gt;
Dynamic vs. Static Websites: What's the Difference?&lt;/p&gt;

&lt;p&gt;There are essentially two types of websites: static and dynamic. However this can be confusing because&lt;br&gt;
there can be static elements of a dynamic site, dynamic elements of a static site… as we continue into the age of Progressive Web Apps and website personalization, the lines become blurred between what’s static and dynamic.&lt;/p&gt;

&lt;p&gt;What can be Static or Dynamic?&lt;br&gt;
When discussing whether a site is static or dynamic, half of the battle is determining what aspect of the site you’re discussing. The code of the page, delivery of the page, and the client browser can all be considered either static or dynamic.&lt;/p&gt;

&lt;p&gt;What’s a Dynamic Website?&lt;br&gt;
Dynamic sites use server side languages to process requests at the time it’s made and generate a page and its contents in real-time. This means that dynamic websites interact with the user accessing the site and render content depending on the user’s actions or settings. One example of a dynamic website is web apps. Take Twitter as an example: when you log in, it displays content just for you.&lt;/p&gt;

&lt;p&gt;While dynamic sites are extremely powerful they are also more complex. Along with this complexity are many advantages and disadvantages inherent to a dynamic site build.&lt;/p&gt;

&lt;p&gt;Dynamic Site Advantages&lt;br&gt;
Powered by Databases. By connecting a dynamic site to a database, you’re able to easily request information in an organized and structured way to create and display content depending on how the user wants to view it.&lt;br&gt;
Connect to a CMS&lt;br&gt;
This ability to connect to a database means that you can also connect to a CMS. Content stored in the CMS can be a variety of things, from the text to the images that are displayed, page layouts, site settings, and more. This allows for extreme flexibility when building sites, and also allows for multiple users to be able to manipulate content as needed.&lt;/p&gt;

&lt;p&gt;Low Ongoing Maintenance Cost&lt;br&gt;
Since you can connect a dynamic site to a CMS there are little or no ongoing costs unless there is a change in the basic design or an extra capability is added to the site.&lt;/p&gt;

&lt;p&gt;Dynamic Site Disadvantages&lt;br&gt;
Design Limitations&lt;br&gt;
When generating content on a page from a database, you’re typically pulling in content and telling it to display a certain way, no matter what the content is. This can make design tricky, as you’ll likely opt for a one-size-fits-all approach. Depending on the CMS, it can be difficult to build multiple designs to display different types of content in different types of ways.&lt;/p&gt;

&lt;p&gt;With dynamic sites, you are forced into using templates for your page, or you are committing to building custom templates for every page. This is easier in some CMSes such as Zesty.io but harder to do in others such as Wordpress or Drupal.&lt;/p&gt;

&lt;p&gt;Can Incur Upfront Build Costs&lt;br&gt;
When building a dynamic site, it can incur much more work upfront as you’re connecting the site to a database, building the foundation for the site to generate content, etc. Additional functionality may also cost more as you add features to your dynamic site throughout its life. While maintenance costs are low for a dynamic site, they can incur much higher initial build costs than a static site.&lt;/p&gt;

&lt;p&gt;What’s a Static Website?&lt;br&gt;
Static websites are pre-rendered, typically cached, and served by a CDN. The site is pre-generated by individual files that are delivered to all users in the same manner. There are advantages and disadvantages to choosing to build a static site.&lt;/p&gt;

&lt;p&gt;Static Site Advantages&lt;br&gt;
Flexibility&lt;br&gt;
The main advantage of a static site is the flexibility it offers. Every page can be different; designs can change, layouts can differ, and the designer doesn’t have to make one design fit the mold for multiple types of content to display on a page.&lt;/p&gt;

&lt;p&gt;Cost&lt;br&gt;
Cost can be lower upfront to build a static site than to build a dynamic site. Since pages don’t have to be connected to a database to generate content and render the view, they can be less expensive than a dynamic site to build. However, hooking up a headless CMS to a static site generator and then a delivery network can make a static site expensive to build.&lt;/p&gt;

&lt;p&gt;Load Times&lt;br&gt;
Since static sites are pre-rendered, the load times are very fast. Without complex scripting, a database, parsing content through templating languages, etc. these sites typically load in a snap.&lt;/p&gt;

&lt;p&gt;Static Site Disadvantages&lt;br&gt;
More Difficult to Update&lt;br&gt;
Static sites can be challenging to change once they’re built- even making small content tweaks can be challenging. Unless you are familiar with HTML, CSS, and the code of the site, you may have to ask your developer who originally built the site to make changes to the site for you.&lt;/p&gt;

&lt;p&gt;More Difficult to Scale&lt;br&gt;
Adding to a static site over time can also be more difficult than with a dynamic site. For instance, creating product pages means that you have to construct a new page every time you want to add a new product page, which can take time and incur ongoing maintenance costs.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is an operating system?</title>
      <dc:creator>JM-2020-gif</dc:creator>
      <pubDate>Thu, 14 Jan 2021 16:01:19 +0000</pubDate>
      <link>https://dev.to/jm2020gif/what-is-an-operating-system-4p</link>
      <guid>https://dev.to/jm2020gif/what-is-an-operating-system-4p</guid>
      <description>&lt;p&gt;An operating system is the most important software that runs on a computer. It manages the computer's memory and processes, as well as all of its software and hardware. It also allows you to communicate with the computer without knowing how to speak the computer's language. Without an operating system, a computer is useless.&lt;/p&gt;

&lt;p&gt;The operating system's job&lt;br&gt;
Your computer's operating system (OS) manages all of the software and hardware on the computer. Most of the time, there are several different computer programs running at the same time, and they all need to access your computer's central processing unit (CPU), memory, and storage. The operating system coordinates all of this to make sure each program gets what it needs.&lt;/p&gt;

&lt;p&gt;Types of operating systems&lt;br&gt;
Operating systems usually come pre-loaded on any computer you buy. Most people use the operating system that comes with their computer, but it's possible to upgrade or even change operating systems. The three most common operating systems for personal computers are Microsoft Windows, macOS, and Linux.&lt;/p&gt;

&lt;p&gt;Modern operating systems use a graphical user interface, or GUI (pronounced gooey). A GUI lets you use your mouse to click icons, buttons, and menus, and everything is clearly displayed on the screen using a combination of graphics and text.&lt;/p&gt;

&lt;p&gt;Each operating system's GUI has a different look and feel, so if you switch to a different operating system it may seem unfamiliar at first. However, modern operating systems are designed to be easy to use, and most of the basic principles are the same.&lt;/p&gt;

&lt;p&gt;Kernel?&lt;br&gt;
A Kernel is a computer program that is the heart and core of an Operating System. Since the Operating System has control over the system so, the Kernel also has control over everything in the system. It is the most important part of an Operating System. Whenever a system starts, the Kernel is the first program that is loaded after the bootloader because the Kernel has to handle the rest of the thing of the system for the Operating System. The Kernel remains in the memory until the Operating System is shut-down.&lt;/p&gt;

&lt;p&gt;The Kernel is responsible for low-level tasks such as disk management, memory management, task management, etc. It provides an interface between the user and the hardware components of the system. When a process makes a request to the Kernel, then it is called System Call.&lt;/p&gt;

&lt;p&gt;A Kernel is provided with a protected Kernel Space which is a separate area of memory and this area is not accessible by other application programs. So, the code of the Kernel is loaded into this protected Kernel Space. Apart from this, the memory used by other applications is called the User Space. As these are two different spaces in the memory, so communication between them is a bit slower.&lt;/p&gt;

&lt;p&gt;Processes, Threads and Concurrency&lt;/p&gt;

&lt;p&gt;What is a Process?&lt;br&gt;
A process is the execution of a program that allows you to perform the appropriate actions specified in a program. It can be defined as an execution unit where a program runs. The OS helps you to create, schedule, and terminates the processes which is used by CPU. The other processes created by the main process are called child process.&lt;/p&gt;

&lt;p&gt;A process operations can be easily controlled with the help of PCB(Process Control Block). You can consider it as the brain of the process, which contains all the crucial information related to processing like process id, priority, state, and contents CPU register, etc.&lt;/p&gt;

&lt;p&gt;What is Thread?&lt;br&gt;
Thread is an execution unit that is part of a process. A process can have multiple threads, all executing at the same time. It is a unit of execution in concurrent programming. A thread is lightweight and can be managed independently by a scheduler. It helps you to improve the application performance using parallelism.&lt;/p&gt;

&lt;p&gt;What is concurrency?&lt;br&gt;
Concurrency is the execution of the multiple instruction sequences at the same time. It happens in the operating system when there are several process threads running in parallel. The running process threads always communicate with each other through shared memory or message passing. Concurrency results in sharing of resources result in problems like deadlocks and resources starvation. It helps in techniques like coordinating execution of processes, memory allocation and execution scheduling for maximizing throughput.&lt;/p&gt;

&lt;p&gt;Storage and File Systems&lt;/p&gt;

&lt;p&gt;What is Storage?&lt;br&gt;
Storage is a process through which digital data is saved within a data storage device by means of computing technology. Storage is a mechanism that enables a computer to retain data, either temporarily or permanently.&lt;/p&gt;

&lt;p&gt;Storage devices such as flash drives and hard disks are a fundamental component of most digital devices since they allow users to preserve all kinds of information such as videos, documents, pictures and raw data.&lt;/p&gt;

&lt;p&gt;Storage is among the key components of a computer system and can be classified into several forms, although there are two major types:&lt;/p&gt;

&lt;p&gt;Storage (Memory): Requires a continuous supply of electricity to store/retain data. It acts as a computer's primary storage for temporarily storing data and handling application workloads. Examples of non-volatile storage include cache memory and random access memory (RAM).&lt;/p&gt;

&lt;p&gt;Non-Volatile Storage: A type of storage mechanism that retains digital data even if it’s powered off or isn’t supplied with electrical power. This is often referred to as a secondary storage mechanism, and is used for permanent data storage requiring I/O operations. Examples of volatile storage include a hard disk, USB storage and optical media.&lt;/p&gt;

&lt;p&gt;Storage is often confused for memory, although in computing the two terms have different meanings. Memory refers to short-term location of temporary data (see volatile storage above), while storage devices, in fact, store data on a long-term basis for later uses and access. While memory is cleared every time a computer is turned off, stored data is saved and stays intact until it’s manually deleted. Primary or volatile storage tends to me much faster than secondary storage due to its proximity to the processor, but it’s also comparably smaller. Secondary storage can hold and handle significantly larger sizes of data, and keeps it inactive until it’s needed again.&lt;/p&gt;

&lt;p&gt;What is File System?&lt;br&gt;
In a computer, a file system -- sometimes written filesystem -- is the way in which files are named and where they are placed logically for storage and retrieval. Without a file system, stored information wouldn't be isolated into individual files and would be difficult to identify and retrieve. As data capacities increase, the organization and accessibility of individual files are becoming even more important in data storage.&lt;/p&gt;

&lt;p&gt;Digital file systems and files are named for and modeled after paper-based filing systems using the same logic-based method of storing and retrieving documents. File systems can differ between operating systems (OS), such as Microsoft Windows, macOS and Linux-based systems. Some file systems are designed for specific applications. Major types of file systems include distributed file systems, disk-based file systems and special purpose file systems.&lt;/p&gt;

&lt;p&gt;Memory?&lt;br&gt;
Computer memory is any physical device capable of storing information temporarily, like RAM (random access memory), or permanently, like ROM (read-only memory). Memory devices utilize integrated circuits and are used by operating systems, software, and hardware.&lt;/p&gt;

&lt;p&gt;Volatile vs. non-volatile memory&lt;br&gt;
Memory can be either volatile and non-volatile memory. Volatile memory is memory that loses its contents when the computer or hardware device loses power. Computer RAM is an example of volatile memory. It is why if your computer freezes or reboots when working on a program, you lose anything that hasn't been saved. Non-volatile memory, sometimes abbreviated as NVRAM, is memory that keeps its contents even if the power is lost. EPROM is an example of non-volatile memory.&lt;/p&gt;

&lt;p&gt;Memory is not disk storage&lt;br&gt;
It is very common for new computer users to be confused by what parts in the computer are memory. Although both the hard drive and RAM are memory, it's more appropriate to refer to RAM as "memory" or "primary memory" and a hard drive as "storage" or "secondary storage." When someone asks how much memory is in your computer, it is often between 1 GB and 16 GB of RAM and several hundred gigabytes, or even a terabyte, of hard disk drive storage. In other words, you always have more hard drive space than RAM.&lt;/p&gt;

&lt;p&gt;I/O Management&lt;br&gt;
One of the important jobs of an Operating System is to manage various I/O devices including mouse, keyboards, touch pad, disk drives, display adapters, USB devices, Bit-mapped screen, LED, Analog-to-digital converter, On/off switch, network connections, audio I/O, printers etc.&lt;/p&gt;

&lt;p&gt;An I/O system is required to take an application I/O request and send it to the physical device, then take whatever response comes back from the device and send it to the application. I/O devices can be divided into two categories −&lt;/p&gt;

&lt;p&gt;Block devices − A block device is one with which the driver communicates by sending entire blocks of data. For example, Hard disks, USB cameras, Disk-On-Key etc.&lt;/p&gt;

&lt;p&gt;Character devices − A character device is one with which the driver communicates by sending and receiving single characters (bytes, octets). For example, serial ports, parallel ports, sounds cards etc&lt;/p&gt;

&lt;p&gt;Device Controllers Device drivers are software modules that can be plugged into an OS to handle a particular device. Operating System takes help from device drivers to handle all I/O devices.&lt;/p&gt;

&lt;p&gt;Virtualization &amp;amp; Cloud Computing&lt;/p&gt;

&lt;p&gt;What is virtualization?&lt;br&gt;
Virtualization is the process of running a virtual instance of a computer system in a layer abstracted from the actual hardware. Most commonly, it refers to running multiple operating systems on a computer system simultaneously. To the applications running on top of the virtualized machine, it can appear as if they are on their own dedicated machine, where the operating system, libraries, and other programs are unique to the guest virtualized system and unconnected to the host operating system which sits below it.&lt;/p&gt;

&lt;p&gt;There are many reasons why people utilize virtualization in computing. To desktop users, the most common use is to be able to run applications meant for a different operating system without having to switch computers or reboot into a different system. For administrators of servers, virtualization also offers the ability to run different operating systems, but perhaps, more importantly, it offers a way to segment a large system into many smaller parts, allowing the server to be used more efficiently by a number of different users or applications with different needs. It also allows for isolation, keeping programs running inside of a virtual machine safe from the processes taking place in another virtual machine on the same host.&lt;/p&gt;

&lt;p&gt;What is cloud computing?&lt;br&gt;
Simply put, cloud computing is the delivery of computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the Internet (“the cloud”) to offer faster innovation, flexible resources, and economies of scale. You typically pay only for cloud services you use, helping you lower your operating costs, run your infrastructure more efficiently, and scale as your business needs change.&lt;br&gt;
Types of cloud services: IaaS, PaaS, serverless, and SaaS.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>CSRF attacks
</title>
      <dc:creator>JM-2020-gif</dc:creator>
      <pubDate>Thu, 14 Jan 2021 15:49:03 +0000</pubDate>
      <link>https://dev.to/jm2020gif/csrf-attacks-38cd</link>
      <guid>https://dev.to/jm2020gif/csrf-attacks-38cd</guid>
      <description>&lt;p&gt;Understanding and preventing CSRF attacks&lt;br&gt;
What is Cross-Site Request Forgery (CSRF)?&lt;br&gt;
Cross-Site Request Forgery (CSRF) (pronounced sea-surf) is a common attack targeted at web applications.  The attack occurs when a website allows a browser to perform a sensitive action but does not validate that the user that issued that action.   This provides the opportunity for an attacker to submit a request to the target web application unbeknownst to the user.  &lt;/p&gt;

&lt;p&gt;Potential target sites include social media, webmail clients, online banking, and network device administration interfaces. &lt;br&gt;
Key concepts&lt;br&gt;
While a user is logged into the target site, an attacker can coerce the user’s browser to perform actions on the target website.&lt;br&gt;
The vulnerability exists in the affected web application, not the victim’s browser or the site hosting the CSRF.&lt;br&gt;
How the attack work?&lt;br&gt;
The attacker is exploiting how the target web application manages authentication.  For the exploit to work, the victim must be authenticated against the target site. For instance, let’s say bank.com has online banking that is vulnerable.  If the user visits a page containing a CSRF attack at bank.com but they are not currently logged in, then nothing happens.  If the user has logged into the target site, an attacker can coerce the victim’s browser to perform actions on the target website.&lt;/p&gt;

&lt;p&gt;GET requests.&lt;br&gt;
For example, if  “ bank.com “ is designed to use GET requests for performing actions such as funds transfers (this is bad design but let's use it for sake of demonstration).    If the attacker is aware of how to craft the exploit URL, then they can use the img element to get the browser silently load the page.&lt;/p&gt;

&lt;p&gt;This is usually done with one of the following techniques:&lt;br&gt;
sending an unsolicited email with HTML content&lt;br&gt;
planting an exploit URL or script on pages that are likely to be visited by the victim while they are also doing online banking.&lt;br&gt;
The exploit URL can be disguised in several ways.&lt;br&gt;
As an ordinary link, encouraging the victim to click it:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://bank.com/app/transferFunds?amount=500&amp;amp;destination=12345"&gt;&lt;br&gt;
Reset Password&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or as an invisible fake image:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--16-e41-p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://bank.com/app/transferFunds%3Famount%3D500%26destination%3D12345" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--16-e41-p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://bank.com/app/transferFunds%3Famount%3D500%26destination%3D12345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If this image tag were included in the email, the user would not see anything. However, the browser will still submit the request to the target site.&lt;br&gt;
POST requests&lt;br&gt;
A common misconception is that only allowing HTTP POST requests will prevent CSRF attacks.  The attacker can create a form using HTML or JavaScript and use auto submit functionality to submit the POST request without requiring the user to click on a submit button.&lt;br&gt;
Here is an example using an HTML form on the attacker’s site:&lt;br&gt;
&lt;a href="https://attack.com/csrf.html"&gt;https://attack.com/csrf.html&lt;/a&gt;&lt;/p&gt;





&lt;p&gt;The attacker would use the following iframe element to silently load the auto-submit form:&lt;/p&gt;

&lt;p&gt;The diagram below illustrates the request flow for a CSRF attack using POST requests. &lt;/p&gt;

&lt;p&gt;How can I protect my site against CSRF attacks?&lt;/p&gt;

&lt;p&gt;The most common approach is to use randomly generated security tokens called nonces to validate that the request was made by the user.&lt;br&gt;
In PHP we can generate a unique token and insert it into the session array below:&lt;br&gt;
$_SESSION["csrf"] = uniqid(mt_rand(),TRUE);&lt;br&gt;
We can use this value when generating a form or link.&lt;/p&gt;

&lt;p&gt;When processing the submitted form, we must first check that the token is the same as the one we generated.&lt;/p&gt;

&lt;p&gt;$token = isset($_POST['token']) ? $_POST['token'] : '';&lt;br&gt;
$valid = !empty($token) &amp;amp;&amp;amp; ($token === $_SESSION['csrf']);&lt;/p&gt;

&lt;p&gt;if ($valid)&lt;br&gt;
{&lt;br&gt;
    // Legitimate request &lt;br&gt;
}&lt;br&gt;
else&lt;br&gt;
{&lt;br&gt;
    // CSRF attempt&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Nonce:&lt;br&gt;
In cryptography, a nonce is an arbitrary number used only once in a cryptographic communication, in the spirit of nonce word. They are often random or pseudo-random numbers. Many nonces also include timestamp to ensure exact timeliness. Though this requires clock synchronisation between organisations. The addition of a client nonce(“cnonce”) helps to improve the security in some ways as implemented in digest access authentication. To ensure that nonce is used only once, it should be time-variant (including suitably fine-grained timestamp in its value), or generated with enough random bits to ensure a probabilistically insignificant chance of repeating a previous generated value.&lt;/p&gt;

&lt;p&gt;CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.&lt;/p&gt;

&lt;p&gt;Cross-Origin Resource Sharing (CORS) is an HTTP -header based mechanism that allows a server to indicate any other origins (domain, scheme, or port) than its own from which a browser should permit loading of resources. CORS also relies on a mechanism by which browsers make a “preflight” request to the server hosting the cross-origin resource, to check that the server will permit the actual request. In that preflight, the browser sends headers that indicate the HTTP method and headers that will be used in the actual request.&lt;br&gt;
An example of a cross-origin request: the front-end JavaScript code served from &lt;a href="https://domain-a.com"&gt;https://domain-a.com&lt;/a&gt; uses XMLHHttpRequest to make a request for &lt;a href="https://domain-b.com/data.json"&gt;https://domain-b.com/data.json&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
For security reasons, browsers restrict cross-origin HTTP requests initiated from scripts. For example, XMLHttpRequest and the FETCH Api follow the same-origin policy. This means that a web application using those APIs can only request resources from the same origin the application was loaded from unless the response from other origins includes the right CORS headers.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Linux® </title>
      <dc:creator>JM-2020-gif</dc:creator>
      <pubDate>Tue, 12 Jan 2021 12:18:37 +0000</pubDate>
      <link>https://dev.to/jm2020gif/linux-33f8</link>
      <guid>https://dev.to/jm2020gif/linux-33f8</guid>
      <description>&lt;p&gt;Linux® is an open source operating system (OS). An operating system is the software that directly manages a system’s hardware and resources, like CPU, memory, and storage. The OS sits between applications and hardware and makes the connections between all of your software and the physical resources that do the work.&lt;/p&gt;

&lt;p&gt;How does Linux work?&lt;br&gt;
Linux was designed to be similar to UNIX, but has evolved to run on a wide variety of hardware from phones to supercomputers. Every Linux-based OS involves the Linux kernel—which manages hardware resources—and a set of software packages that make up the rest of the operating system.&lt;br&gt;
The OS includes some common core components, like the GNU tools, among others. These tools give the user a way to manage the resources provided by the kernel, install additional software, configure performance and security settings, and more. All of these tools bundled together make up the functional operating system. Because Linux is an open source OS, combinations of software can vary between Linux distributions.&lt;/p&gt;

&lt;p&gt;What's a command line?&lt;br&gt;
The command line is your direct access to a computer. It's where you ask software to perform hardware actions that point-and-click graphical user interfaces (GUIs) simply can't ask. &lt;/p&gt;

&lt;p&gt;Command lines are available on many operating systems—proprietary or open source. But it’s usually associated with Linux, because both command lines and open source software, together, give users unrestricted access to their computer.&lt;/p&gt;

&lt;p&gt;Here some of the linux commands and functionality: &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pwd command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Use the pwd command to find out the path of the current working directory (folder) you’re in. The command will return an absolute (full) path, which is basically a path of all the directories that starts with a forward slash (/). An example of an absolute path is /home/username.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;To navigate through the Linux files and directories, use the cd command. It requires either the full path or the name of the directory, depending on the current working directory that you’re in.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ls command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The ls command is used to view the contents of a directory. By default, this command will display the contents of your current working directory.&lt;br&gt;
If you want to see the content of other directories, type ls and then the directory’s path. &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cat command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;cat (short for concatenate) is one of the most frequently used commands in Linux. It is used to list the contents of a file on the standard output (sdout). To run this command, type cat followed by the file’s name and its extension. For instance: cat file.txt.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cp command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Use the cp command to copy files from the current directory to a different directory. For instance, the command cp scenery.jpg /home/username/Pictures would create a copy of scenery.jpg (from your current directory) into the Pictures directory.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; mv command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The primary use of the mv command is to move files, although it can also be used to rename files.&lt;br&gt;
The arguments in mv are similar to the cp command. You need to type mv, the file’s name, and the destination’s directory. For example: mv file.txt /home/username/Documents.&lt;br&gt;
To rename files, the Linux command is mv oldname.ext newname.ext&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Use mkdir command to make a new directory — if you type mkdir Music it will create a directory called Music.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; rm command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The rm command is used to delete directories and the contents within them. If you only want to delete the directory — as an alternative to rmdir — use rm -r.&lt;br&gt;
Note: Be very careful with this command and double-check which directory you are in. This will delete everything and there is no undo.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;touch command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The touch command allows you to create a blank new file through the Linux command line. As an example, enter touch /home/username/Documents/Web.html to create an HTML file entitled Web under the Documents directory.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; find command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Similar to the locate command, using find also searches for files and directories. The difference is, you use the find command to locate files within a given directory.&lt;br&gt;
As an example, find /home/ -name notes.txt command will search for a file called notes.txt within the home directory and its subdirectories.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; df command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Use df command to get a report on the system’s disk space usage, shown in percentage and KBs. If you want to see the report in megabytes, type df -m.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; du command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you want to check how much space a file or a directory takes, the du (Disk Usage) command is the answer. However, the disk usage summary will show disk block numbers instead of the usual size format. If you want to see it in bytes, kilobytes, and megabytes, add the -h argument to the command line&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; chmod command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;chmod is another Linux command, used to change the read, write, and execute permissions of files and directories. As this command is rather complicated, you can read the full tutorial in order to execute it properly.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chown command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In Linux, all files are owned by a specific user. The chown command enables you to change or transfer the ownership of a file to the specified username. For instance, chown linuxuser2 file.ext will make linuxuser2 as the owner of the file.ext.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; kill command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you have an unresponsive program, you can terminate it manually by using the kill command. It will send a certain signal to the misbehaving app and instructs the app to terminate itself.&lt;br&gt;
After knowing what signal you want to use and the PID of the program, enter the following syntax:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; ping command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Use the ping command to check your connectivity status to a server. For example, by simply entering ping google.com, the command will check whether you’re able to connect to Google and also measure the response time.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;whoami command 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Is used both in Unix Operating System and as well as in Windows Operating System. It is basically the concatenation of the strings “who”,”am”,”i” as whoami. It displays the username of the current user when this command is invoked.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;whereis command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;whereis command is used to find the location of source/binary file of a command and manuals sections for a specified file in Linux system.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;grep command 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Grep is a Linux / Unix command-line tool used to search for a string of characters in a specified file. The text search pattern is called a regular expression. When it finds a match, it prints the line with the result. The grep command is handy when searching through large log files.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;df-h command 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Using ' -h ' parameter with (df -h) will show the file system disk space statistics in “human readable” format, means it gives the details in bytes, megabytes, and gigabyte. This article explains a way to get the full information of Linux disk space usage with the help of 'df' command with their practical examples.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;du-h command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Using “-h” option with “du” command provides results in “Human Readable Format“. Means you can see sizes in Bytes, Kilobytes, Megabytes, Gigabytes etc. 3. To get the summary of a grand total disk usage size of an directory use the option “-s” as follows.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;top command 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Is used to show the Linux processes. It provides a dynamic real-time view of the running system. Usually, this command shows the summary information of the system and the list of processes or threads which are currently managed by the Linux Kernel.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;exit command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In linux is used to exit the shell where it is currently running. It takes one more parameter as [N] and exits the shell with a return of status N. If n is not provided, then it simply returns the status of last command that is executed. After pressing enter, the terminal will simply close.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cowsay command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Is an udderly fantastic utility that takes text and outputs it as the spoken text of an ASCII-art bovine. You'll likely find cowsay packaged in your default repositories, and perhaps even already installed. Cowsay ships with few variations, called cow files, that can usually be found in /usr/share/cowsay. To see the cow file options available on your system, use -l flag after cowsay. Then, use the -f flag to try one out. $ cowsay -f dragon "Run for cover, I feel a sneeze coming on."&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apt command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Is a command-line utility for installing, updating, removing, and otherwise managing deb packages on Ubuntu, Debian, and related Linux distributions. It combines the most frequently used commands from the apt-get and apt-cache tools with different default values of some options. apt is designed for interactive use.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vim command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Is a powerful text editor used in CLI (command line interface). Linux uses a lot of configuration files, you'll often need to edit them and vim is a great tool to do so. Alternatives to vim are the command-line editor's nano and joe. The vim edit will show up in the terminal window.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nmap command 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Nmap, or Network Mapper, is an open source Linux command line tool for network exploration and security auditing. With Nmap, server administrators can quickly reveal hosts and services, search for security issues, and scan for open ports.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;more command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The Linux more command lets you view text files or other output in a scrollable manner. It displays the text one screenful at a time, and lets you scroll backwards and forwards through the text, and even lets you search the text.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Que es Linux?</title>
      <dc:creator>JM-2020-gif</dc:creator>
      <pubDate>Mon, 11 Jan 2021 16:03:39 +0000</pubDate>
      <link>https://dev.to/jm2020gif/que-es-linux-39gk</link>
      <guid>https://dev.to/jm2020gif/que-es-linux-39gk</guid>
      <description>&lt;p&gt;Sistema Operativo Linux&lt;br&gt;
LINUX (o GNU/LINUX, más correctamente) es un Sistema Operativo como MacOS, DOS o Windows. Es decir, Linux es el software necesario para que tu ordenador te permita utilizar programas como: editores de texto, juegos, navegadores de Internet, etc. Linux puede usarse mediante un interfaz gráfico al igual que Windows o MacOS, pero también puede usarse mediante línea de comandos como DOS.&lt;/p&gt;

&lt;p&gt;Linux tiene su origen en Unix. Éste apareció en los años sesenta, desarrollado por los investigadores Dennis Ritchie y Ken Thompson, de los Laboratorios Telefónicos Bell.&lt;/p&gt;

&lt;p&gt;Andrew Tanenbaum desarrolló un sistema operativo parecido a Unix (llamado Minix) para enseñar a sus alumnos el diseño de un sistema operativo. Debido al enfoque docente de Minix, Tanenbaum nunca permitió que éste fuera modificado, ya que podrían introducirse complicaciones en el sistema para sus alumnos.&lt;/p&gt;

&lt;p&gt;Un estudiante finlandés llamado Linus Torvalds, constatando que no era posible extender Minix, decidió escribir su propio sistema operativo compatible con Unix.&lt;/p&gt;

&lt;p&gt;En aquellos momentos el proyecto GNU (GNU's Not Unix), que Richard Stallman había iniciado hacía ya casi diez años, comprendía un sistema básico casi completo. La excepción más importante era el kernel o núcleo, que controla el hardware.&lt;/p&gt;

&lt;p&gt;Torvalds decidió aprovechar el sistema GNU y completarlo con su propio núcleo, que bautizó como Linux (Linux Is Not UniX). El sistema conjunto (herramientas GNU y núcleo Linux) forma lo que llamamos GNU/Linux.&lt;/p&gt;

&lt;p&gt;En un principio, GNU/Linux fue utilizable sólo mediante comandos y poco a poco se ha ido implementando de manera gráfica las cosas que se podían hacer en modo texto. Aún así, las cosas que se pueden hacer mediante comandos es increíble. Inclusive hay gente que no usa el entorno gráfico para sus actividades diarias, pueden hacer todas sus tareas como leer los mails hasta ver videos con solo utilizar esta pantallita negra. ç&lt;/p&gt;

&lt;p&gt;Si quieres utilizar linux, es sumamente recomendable que puedas manejarte con algunos comandos que siempre te ayudaran en alguna situación.&lt;/p&gt;

&lt;p&gt;ENTRAR Y SALIR DE DIRECTORIOS&lt;br&gt;
El comando cd te ayudará por los caminos de los directorios, su utilización es sumamente sencilla. Si alguna vez has utilizado DOS, es un funcionamiento muy similar.&lt;/p&gt;

&lt;p&gt;Ejemplo : Entrar a la carpeta direc1&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; $cd direc1
 [direc1]$
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Salir de esa carpeta&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; [direc1]$cd ..
 $
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Hay ocasiones en las que tu deseas saber en que directorio te encuentras, ya que el prompt no te indica donde estas, para eso recuerda siempre a pwd&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; [direc1]$pwd
  /home/user/direc1 --&amp;gt; Indica que estas en el directorio 
  /home/user/direc1
  [direc1]$
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;APRENDAMOS A MONTAR DISPOSITIVOS&lt;br&gt;
¿Que significa esto de Montar Dispositivos?&lt;/p&gt;

&lt;p&gt;Para Linux cada uno de sus componentes de Hardware son dispositivos. El lugar de todos los dispositivos que hay en el hardware lo podemos encontrar en la carpeta /dev. Si nosotros queremos utilizar alguna unidad de almacenamiento tenemos que montarla en algún directorio antes de poder usarlo, generalmente la carpeta donde montamos los dispositivos de almacenamiento es la carpeta /mnt.&lt;/p&gt;

&lt;p&gt;Aquí algunos ejemplos:&lt;/p&gt;

&lt;p&gt;El disquette, es una unidad de almacenamiento de memoria adicional y extraíble. y su unidad se llama fd0, este se encuentra en la carpeta /dev/fd0. Entonces Linux reconoce a /dev/fd0 como el disquette (Primera unidad de disquette, la segunda sería /dev/fd1).&lt;/p&gt;

&lt;p&gt;La primera unidad de un CD-ROM SCSI se llama /dev/scd0, también conocida como /dev/sr0.&lt;/p&gt;

&lt;p&gt;Un dispositivo usb, como una cámara fotográfica por ejemplo se encuentra en /dev/sda1 (Primer dispositivo usb, /dev/sda2 segundo dispositivo, etc )&lt;/p&gt;

&lt;p&gt;Linux esta preparado para muchos dispositivos mas, puedes hacer:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  $ls -l /dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;para que observes todos los dispositivos para los cuales esta listo tu computadora. La mayoria no los usarás, de todos modos están ahí a la espera de ser llamados.&lt;/p&gt;

&lt;p&gt;ls es un comando que sirve para visualizar los archivos con las caracteristicas que quieras ver. Un simple ls en tu consola te mostrará los archivos que tienes en el directorio en el que te encuentras actualmente.&lt;/p&gt;

&lt;p&gt;¿Qué sucede si yo quiero montar el cdrom?.&lt;/p&gt;

&lt;p&gt;Pues el comando que se te hará tan conocido como tu propio nombre es el comando mount.&lt;/p&gt;

&lt;p&gt;Ejemplo :&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  $mount /dev/cdrom /mnt/cdrom
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Como observamos , con el comando mount especificamos donde está el dispositivo, y en que lugar lo queremos montar. Ya es momento que te vayas familiarizando con la carpeta /mnt ( mount pero sin vocales ;) ) , esta es una carpeta y sirve para precisamente montar los dispositivos de almacenamiento de la computadora.&lt;/p&gt;

&lt;p&gt;Con mount puedes montar no solo el cdrom, también la disquetera, particiones de tu disco duro, unidades de almacenamiento usb, como los famosos llaveros usb, o las cámaras digitales.&lt;/p&gt;

&lt;p&gt;Otra cosa que debes recordar es que así como montas estas unidades, se puede desmontarlas. ¿Para que querría desmontar yo una unidad? Pues simple, para poder extraer dicha unidad. Si tienes montada la unidad del disco duro, puedes desmontarla con el comando umount.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;     $umount /dev/cdrom
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Eso le indica al ordenador que desocupe ese dispositivo. Posteriormente a eso pues ya extraer el cdrom, apretando el botón del cdrom para sacar el cd, o también con la ejecución del comando eject&lt;/p&gt;

&lt;p&gt;Una vez que has desmontado el dispositivo puedes volver a montar otro dispositivo de la manera arriba indicada.&lt;/p&gt;

&lt;p&gt;Bien, hora de practicar puedes agarrar un disquette , un cd y comenzar a jugar con esa pantallita negra.&lt;br&gt;
CAT&lt;br&gt;
Este comando es muy útil en la consola cada vez que sentimos curiosidad por ver el contenido de un fichero, la utilización de este comando es tan sencillo como hacer :&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;     $cat /archivo/a/visualizar
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Hay ocasiones en que los archivos son muy largos y no caben en un solo pantallazo, y te preguntas como hago para ver lo que esta mas arriba en mi pantalla negra. Para eso existen las teclas&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  Shift + RePag --&amp;gt; Retroceder Pantallazos
  Shift + AvPag --&amp;gt; Avanzar Pantallazos
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;EL HISTORIAL&lt;br&gt;
La Shell de Linux tiene un historial, ya que graba todos tus movimientos, inclusive los que tu no recuerdas ;). La utilidad para acceder al historial de comandos que hemos escrito es el comando history, éste mostrará un historial enumerado de los últimos comandos digitados.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; $ history
 487 cd /home/
 484 cd Desktop/
 485 ls
 486 history
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;para hacer uso de alguno de los comandos digitados, es posible llamarlos utilizando el signo de admiración (!) seguido del número del comando digitado en el historial, por ejemplo:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; $ !484
 cd Desktop/
  /Desktop$
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
  </channel>
</rss>
