{"id":3568,"date":"2020-06-20T08:51:00","date_gmt":"2020-06-20T08:51:00","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/ruby-programming-beginners-terminal-part-2\/"},"modified":"2026-04-24T11:35:28","modified_gmt":"2026-04-24T11:35:28","slug":"terminale-di-programmazione-ruby-per-principianti-parte-2","status":"publish","type":"post","link":"https:\/\/thecodest.co\/it\/blog\/ruby-programming-beginners-terminal-part-2\/","title":{"rendered":"Programmazione Ruby. Terminale per principianti - parte 2"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>Terminal &#8211; Theory<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Where am I?<\/h3>\n\n\n\n<p><code>date<\/code> \u2013 If we have such a need and desire, we can check the current date in the terminal.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">damian@rubydev:~$ date\nwto, 7 sty 2020,<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Joining and listing<\/h3>\n\n\n\n<p><code>cat<\/code> (concatenate) \u2013 this command has many uses, but the most popular is displaying the contents of files.<\/p>\n\n\n\n<p>In the example below, you can see two files \u2013 <code>ruby_1.txt<\/code> and <code>ruby_2.txt<\/code> \u2013 along with their contents. The <code>cat [file name]<\/code> command shows the contents of a single file, while the <code>cat [file name 1] [file name 2]<\/code> command displays the contents of both files in the correct order.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/Terminal-1.png\" alt=\"Terminal-1\"\/><\/figure>\n\n\n\n<p>There is one more thing we can do with the <code>cat<\/code> command \u2013 redirect the standard output to a new file using the <code>&gt;<\/code> sign. This means that the content displayed on the screen will be redirected to a declared file. If the indicated file does not exist in the specified location, it will be created automatically.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/Terminal-2.png\" alt=\"Terminal 2\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">What do we have here?<\/h3>\n\n\n\n<p><code>ps<\/code> (process status) \u2013 prints out basic information about processes in the system. This command is comparable to the Windows Task Manager, where you have a list of all running applications and processes. Each application, program or running command becomes a process with its unique identifier, the so-called PID (Process IDentifier).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">damian@rubydev:~$ ps\n PID TTY          TIME CMD\n 556 pts\/0    00:00:00 ps\n2919 pts\/0    00:00:00 bash<\/code><\/pre>\n\n\n\n<p>As you can see, the <code>ps<\/code> command did not show <a href=\"https:\/\/thecodest.co\/it\/blog\/why-us-companies-are-opting-for-polish-developers\/\">us<\/a> much. To check all active processes, we will need to call <code>ps<\/code> with an <code>aux<\/code> argument.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">Aby zobaczyc wszystkie procesy w systemie, uzywajac skladni BSD:\n   ps ax\n   ps axu<\/code><\/pre>\n\n\n\n<p><code>kill<\/code> \u2013 sometimes an application or program stops responding. This is where <code>kill<\/code> command comes in handy. To <code>kill<\/code> a process, all you need to do is complete the <code>kill<\/code> command with its PID.<\/p>\n\n\n\n<p>How do you find the PID of that process? It\u2019s best to use the previously mentioned <code>ps aux<\/code> command. It may happen that <code>kill<\/code> alone is not enough because the process is waiting for another dependent process to end. Therefore, <code>kill<\/code> is also often used with the <code>-9<\/code> option. It means the immediate termination of the running process, so before you use this option, make sure that all important changes have been saved. Let\u2019s take a look at an example of such a command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">damian@rubydev:~$ kill -9 1234<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Echo!<\/h3>\n\n\n\n<p><code>echo<\/code> \u2013 this is the command that returns the text entrusted to it. Similarly to the case of <code>cat<\/code>, you can direct the entered text to a file with the help of the <code>echo<\/code> command.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/Terminal-3.png\" alt=\"Terminal-3\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">It may be useful<\/h3>\n\n\n\n<p>When you want to view the history of the previously entered commands, we can use the <code>history<\/code> command.<\/p>\n\n\n\n<p>If you want to clear the terminal window, you need the <code>clear<\/code> command.<\/p>\n\n\n\n<p>The <code>exit<\/code> command, as the name implies, closes the terminal or the currently open tab.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The beginning and the end<\/h3>\n\n\n\n<p>The <code>head<\/code> command displays the beginning of a file or standard output. The default value is the first ten lines. You can customize it with the <code>-n<\/code> option where you can put any integer under <code>n<\/code>. To better illustrate this, I will use an the example.<\/p>\n\n\n\n<p>We will need a text file. Let&#8217;s use the already mentioned <code>history<\/code> command and the redirection <code>><\/code> character.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">damian@rubydev:~$ history &gt; history.txt<\/code><\/pre>\n\n\n\n<p>In this way, a file with the entire history of commands was created. Then, using <code>head -15 history.txt<\/code>, it is possible to display the first fifteen commands entered into the terminal.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/Terminal-4.png\" alt=\"Terminal-4\"\/><\/figure>\n\n\n\n<p>Similarly, the <code>tail<\/code> command will show us the final lines of the selected file.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/Terminal-5.png\" alt=\"Terminal-5\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Search<\/h3>\n\n\n\n<p><code>grep<\/code> (global regular expression print) is used to search the text for a string matching the given regular expression (RegExp). It is used very often to find a specific expression in a file or &#8220;filter&#8221; the returned output. For this purpose, let\u2019s use the previously created <code>history.txt<\/code> file and check how often the <code>ps<\/code> command was used so far:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">damian@rubydev:~$ grep ps history.txt\n   82  echo \"Lorem ipsum rubydev 1\" &gt; ruby_1.txt\n   84  echo \"Lorem ipsum rubydev 2\" &gt; ruby_2.txt\n   92  ps\n   93  ps aux\n   94  ps --help\n   95  man ps\n   96  ps -h\n   98  ps --help\n   99  ps -ejH\n  100  ps aux\n  101  man ps\n  102  ps -aux\n  103  ps aux\n  109  history | grep ps\n  113  echo \"lorem ipsum rubydev\" &gt; rubydev.rb<\/code><\/pre>\n\n\n\n<p>As you can see, <code>grep<\/code> also found words that contain the phrase <code>ps<\/code>. The expression used in our example was <code>ps<\/code> only. I plan to write a separate article on regular expressions, but for now I encourage you to explore the topic on your own. Basic knowledge is just enough at the moment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Combining commands<\/h3>\n\n\n\n<p><code>|<\/code> (pipe) is a symbol which allows us to combine several commands (processes) and launch them at the same time. Specifically, we can combine the output (stdout) of one command with the input (stdin) of the other. It is a very useful feature.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">POLECENIE_A | POLECENIE_B\nPOLECENIE_A | POLECENIE_B | POLECENIE_C<\/code><\/pre>\n\n\n\n<p>For instance:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">history | grep ps<\/code><\/pre>\n\n\n\n<p>The output (stdout) of the <code>history<\/code> command will be searched by the <code>grep<\/code> command and return all the strings with the matching <code>ps<\/code> expression.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">history | tail -5<\/code><\/pre>\n\n\n\n<p>In this case, using the <code>tail<\/code> command with the <code>-5<\/code> option will display the last five lines of the output (stdout) of the <code>history<\/code> command.<\/p>\n\n\n\n<p>This combination is especially useful when looking for the PID of the process that you want to terminate. Remember that running the <code>grep<\/code> command will also create a process, so you will usually see the PID of the <code>grep<\/code> process in the last line.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/Terminal-6.png\" alt=\"Terminal-6\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Accessing files and directories<\/h3>\n\n\n\n<p>Before we get to the command changing the type of access permits, it is worth mentioning that each operating system has the so-called access rights. This means that each directory or file contains metadata about who has access to it. The first column of the following &#8220;output&#8221; tells us all about it (output information displayed in the terminal window):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">history | tail -5<\/code><\/pre>\n\n\n\n<p>Access to files and directories is defined by three components. The first one (user) means a single user, the second one (group) means a group, while the third one (other) applies to all other users.<\/p>\n\n\n\n<p><code>d<\/code> \u2013 determines whether it is a directory or a file (d \u2013 directory, f \u2013 file)<\/p>\n\n\n\n<p><code>rwx<\/code> \u2013 user rights<\/p>\n\n\n\n<p><code>r-x<\/code> \u2013 permissions for the group<\/p>\n\n\n\n<p><code>r-x<\/code> \u2013 authorized for all other users<\/p>\n\n\n\n<p>To simplify it, you can divide it into three parts:<\/p>\n\n\n\n<p>Let us now go to the very meaning of these rights:<\/p>\n\n\n\n<p><code>r<\/code> (read) \u2013 allows you to read the content<\/p>\n\n\n\n<p><code>w<\/code> (write) \u2013 allows you to modify the content<\/p>\n\n\n\n<p><code>x<\/code> (execute) \u2013 allows you to execute a file or open a directory<\/p>\n\n\n\n<p>File or directory permissions can be changed using the <code>chmod<\/code> (change mode) command. The easiest way to change the permissions is to use the embedded system and provide the number for the permission for the user, group and others.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/Terminal-7.png\" alt=\"Terminal-7\"\/><\/figure>\n\n\n\n<p>To put this knowledge into practice, let&#8217;s change the permissions for the previously listed <code>wideo<\/code> directory for groups and other users \u2013 take away all permissions for those two, but leave the full permit just for the single user. According to the table above, &#8220;no rights&#8221; is denoted by the number <code>0<\/code>. Immediately after the <code>chmod<\/code> command, you have to insert three digits, each one specifying the rights for the given category (user \u2013 group \u2013 others). At the end, give the name of the file or directory. The command should look like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">damian@rubydev:~$ chmod 700 Wideo\ndamian@rubydev:~$ ls -l | tail -1\ndrwx------ 2 damian damian 4096 sty 6 17:41 Wideo<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>There is a whole swarm of other commands and the easiest way to master all of them is to practice solving specific problems. If you want to learn more about them, <a href=\"https:\/\/helion.pl\/ksiazki\/linux-komendy-i-polecenia-wydanie-v-lukasz-sosna,linkp5.htm#format\/d\">I recommend the pocket Linux lexicon of commands<\/a>. In my opinion, it&#8217;s a pleasant way to kill some time while in public transport.<\/p>\n\n\n\n<p><strong>Read more:<\/strong><\/p>\n\n\n\n<p>&#8211; <a href=\"https:\/\/thecodest.co\/blog\/e-commerce-new-state-of-the-game-2020-report\/\">E-commerce: New state of the game 2020 (report)<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/shopify-spree-or-solidus-check-why-ruby-on-rails-can-help-you-develop-your-e-commerce\/\">&#8211; Shopify, Spree or Solidus? Check why Ruby on Rails can help you develop your e-commerce<\/a><\/p>\n\n\n\n<p>&#8211; <a href=\"https:\/\/thecodest.co\/blog\/vuex-features-you-should-know-if-you-really-care-about-your-store\/\">Vuex features you should know if you really care about your store<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Questa volta abbiamo preparato un'altra serie di comandi utili per aiutarvi a familiarizzare con l'uso del terminale. La prima parte dell'esercitazione \u00e8 disponibile qui: Terminale per principianti - parte 1.<\/p>","protected":false},"author":2,"featured_media":3569,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3568","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Ruby programming. Beginner\u2019s terminal - part 2 - The Codest<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/it\/blog\/terminale-di-programmazione-ruby-per-principianti-parte-2\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ruby programming. Beginner\u2019s terminal - part 2\" \/>\n<meta property=\"og:description\" content=\"Hi! This time, we\u2019ve prepared another set of useful commands to help you familiarize yourself with using the terminal. The first part of the tutorial can be found here: Beginner\u2019s terminal \u2013 part 1.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/it\/blog\/terminale-di-programmazione-ruby-per-principianti-parte-2\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-20T08:51:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-24T11:35:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/cover-image-143.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"Ruby programming. Beginner\u2019s terminal &#8211; part 2\",\"datePublished\":\"2020-06-20T08:51:00+00:00\",\"dateModified\":\"2026-04-24T11:35:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/\"},\"wordCount\":1141,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/cover-image-143.jpg\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/\",\"name\":\"Ruby programming. Beginner\u2019s terminal - part 2 - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/cover-image-143.jpg\",\"datePublished\":\"2020-06-20T08:51:00+00:00\",\"dateModified\":\"2026-04-24T11:35:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/cover-image-143.jpg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/cover-image-143.jpg\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ruby-programming-beginners-terminal-part-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ruby programming. Beginner\u2019s terminal &#8211; part 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/it\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Programmazione Ruby. Terminale per principianti - parte 2 - The Codest","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/it\/blog\/terminale-di-programmazione-ruby-per-principianti-parte-2\/","og_locale":"it_IT","og_type":"article","og_title":"Ruby programming. Beginner\u2019s terminal - part 2","og_description":"Hi! This time, we\u2019ve prepared another set of useful commands to help you familiarize yourself with using the terminal. The first part of the tutorial can be found here: Beginner\u2019s terminal \u2013 part 1.","og_url":"https:\/\/thecodest.co\/it\/blog\/terminale-di-programmazione-ruby-per-principianti-parte-2\/","og_site_name":"The Codest","article_published_time":"2020-06-20T08:51:00+00:00","article_modified_time":"2026-04-24T11:35:28+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/cover-image-143.jpg","type":"image\/jpeg"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"7 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"Ruby programming. Beginner\u2019s terminal &#8211; part 2","datePublished":"2020-06-20T08:51:00+00:00","dateModified":"2026-04-24T11:35:28+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/"},"wordCount":1141,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/cover-image-143.jpg","articleSection":["Software Development"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/","url":"https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/","name":"Programmazione Ruby. Terminale per principianti - parte 2 - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/cover-image-143.jpg","datePublished":"2020-06-20T08:51:00+00:00","dateModified":"2026-04-24T11:35:28+00:00","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/cover-image-143.jpg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/cover-image-143.jpg","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"Ruby programming. Beginner\u2019s terminal &#8211; part 2"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/it\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/posts\/3568","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/comments?post=3568"}],"version-history":[{"count":15,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/posts\/3568\/revisions"}],"predecessor-version":[{"id":7984,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/posts\/3568\/revisions\/7984"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/media\/3569"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/media?parent=3568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/categories?post=3568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/tags?post=3568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}