{
    "content": [
        {
            "type": "text",
            "text": "# intro (man)\n\n**Summary:** intro - introduction to user commands\n\n## See Also\n\n- ash(1)\n- bash(1)\n- chsh(1)\n- csh(1)\n- dash(1)\n- ksh(1)\n- locate(1)\n- login(1)\n- man(1)\n- xterm(1)\n- zsh(1)\n- wait(2)\n- stdout(3)\n- man-pages(7)\n- standards(7)\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **DESCRIPTION** (3 lines)\n- **NOTES** (9 lines) — 7 subsections\n  - Login (5 lines)\n  - The shell (79 lines)\n  - Pathnames and the current directory (13 lines)\n  - Directories (10 lines)\n  - Disks and filesystems (4 lines)\n  - Processes (7 lines)\n  - Getting information (16 lines)\n- **SEE ALSO** (3 lines)\n- **COLOPHON** (7 lines)\n\n## Full Content\n\n### NAME\n\nintro - introduction to user commands\n\n### DESCRIPTION\n\nSection  1  of  the  manual describes user commands and tools, for example, file manipulation\ntools, shells, compilers, web browsers, file and image viewers and editors, and so on.\n\n### NOTES\n\nLinux is a flavor of UNIX, and as a first approximation all user  commands  under  UNIX  work\nprecisely the same under Linux (and FreeBSD and lots of other UNIX-like systems).\n\nUnder  Linux,  there  are GUIs (graphical user interfaces), where you can point and click and\ndrag, and hopefully get work done without first reading lots of  documentation.   The  tradi‐\ntional  UNIX  environment  is a CLI (command line interface), where you type commands to tell\nthe computer what to do.  That is faster and more powerful, but requires finding out what the\ncommands are.  Below a bare minimum, to get started.\n\n#### Login\n\nIn  order to start working, you probably first have to open a session by giving your username\nand password.  The program login(1) now starts a shell (command  interpreter)  for  you.   In\ncase  of a graphical login, you get a screen with menus or icons and a mouse click will start\na shell in a window.  See also xterm(1).\n\n#### The shell\n\nOne types commands to the shell, the command interpreter.  It is not built-in, but is just  a\nprogram  and  you can change your shell.  Everybody has their own favorite one.  The standard\none is called sh.  See also ash(1), bash(1), chsh(1), csh(1), dash(1), ksh(1), zsh(1).\n\nA session might go like:\n\nknuth login: aeb\nPassword:\n$ date\nTue Aug  6 23:50:44 CEST 2002\n$ cal\nAugust 2002\nSu Mo Tu We Th Fr Sa\n1  2  3\n4  5  6  7  8  9 10\n11 12 13 14 15 16 17\n18 19 20 21 22 23 24\n25 26 27 28 29 30 31\n\n$ ls\nbin  tel\n$ ls -l\ntotal 2\ndrwxrwxr-x   2 aeb       1024 Aug  6 23:51 bin\n-rw-rw-r--   1 aeb         37 Aug  6 23:52 tel\n$ cat tel\nmaja    0501-1136285\npeter   0136-7399214\n$ cp tel tel2\n$ ls -l\ntotal 3\ndrwxr-xr-x   2 aeb       1024 Aug  6 23:51 bin\n-rw-r--r--   1 aeb         37 Aug  6 23:52 tel\n-rw-r--r--   1 aeb         37 Aug  6 23:53 tel2\n$ mv tel tel1\n$ ls -l\ntotal 3\ndrwxr-xr-x   2 aeb       1024 Aug  6 23:51 bin\n-rw-r--r--   1 aeb         37 Aug  6 23:52 tel1\n-rw-r--r--   1 aeb         37 Aug  6 23:53 tel2\n$ diff tel1 tel2\n$ rm tel1\n$ grep maja tel2\nmaja    0501-1136285\n$\n\nHere typing Control-D ended the session.\n\nThe $ here was the command prompt—it is the shell's way of indicating that it  is  ready  for\nthe  next command.  The prompt can be customized in lots of ways, and one might include stuff\nlike username, machine name, current directory, time, and so  on.   An  assignment  PS1=\"What\nnext, master? \" would change the prompt as indicated.\n\nWe  see that there are commands date (that gives date and time), and cal (that gives a calen‐\ndar).\n\nThe command ls lists the contents of the current directory—it tells you what files you  have.\nWith  a  -l  option it gives a long listing, that includes the owner and size and date of the\nfile, and the permissions people have for reading and/or changing the file.  For example, the\nfile  \"tel\"  here  is 37 bytes long, owned by aeb and the owner can read and write it, others\ncan only read it.  Owner and permissions can be changed by the commands chown and chmod.\n\nThe command cat will show the contents of a file.  (The name is from \"concatenate and print\":\nall files given as parameters are concatenated and sent to \"standard output\" (see stdout(3)),\nhere the terminal screen.)\n\nThe command cp (from \"copy\") will copy a file.\n\nThe command mv (from \"move\"), on the other hand, only renames it.\n\nThe command diff lists the differences between two files.  Here there was no  output  because\nthere were no differences.\n\nThe  command  rm (from \"remove\") deletes the file, and be careful! it is gone.  No wastepaper\nbasket or anything.  Deleted means lost.\n\nThe command grep (from \"g/re/p\") finds occurrences of a string in one or more files.  Here it\nfinds Maja's telephone number.\n\n#### Pathnames and the current directory\n\nFiles live in a large tree, the file hierarchy.  Each has a pathname describing the path from\nthe root of the tree (which is called /) to the file.  For  example,  such  a  full  pathname\nmight be /home/aeb/tel.  Always using full pathnames would be inconvenient, and the name of a\nfile in the current directory may be abbreviated by giving only the last component.  That  is\nwhy /home/aeb/tel can be abbreviated to tel when the current directory is /home/aeb.\n\nThe command pwd prints the current directory.\n\nThe command cd changes the current directory.\n\nTry alternatively cd and pwd commands and explore cd usage: \"cd\", \"cd .\", \"cd ..\", \"cd /\" and\n\"cd ~\".\n\n#### Directories\n\nThe command mkdir makes a new directory.\n\nThe command rmdir removes a directory if it is empty, and complains otherwise.\n\nThe command find (with a rather baroque syntax) will find files  with  given  name  or  other\nproperties.   For example, \"find . -name tel\" would find the file tel starting in the present\ndirectory (which is called .).  And \"find / -name tel\" would do the same, but starting at the\nroot  of  the  tree.  Large searches on a multi-GB disk will be time-consuming, and it may be\nbetter to use locate(1).\n\n#### Disks and filesystems\n\nThe command mount will attach the filesystem found on some disk (or floppy, or CDROM  or  so)\nto the big filesystem hierarchy.  And umount detaches it again.  The command df will tell you\nhow much of your disk is still free.\n\n#### Processes\n\nOn a UNIX system many user and system processes run simultaneously.  The one you are  talking\nto  runs in the foreground, the others in the background.  The command ps will show you which\nprocesses are active and what numbers these processes have.  The command kill allows  you  to\nget  rid  of them.  Without option this is a friendly request: please go away.  And \"kill -9\"\nfollowed by the number of the process is an immediate kill.  Foreground processes  can  often\nbe killed by typing Control-C.\n\n#### Getting information\n\nThere  are  thousands  of commands, each with many options.  Traditionally commands are docu‐\nmented on man pages, (like this one), so that the command \"man kill\" will document the use of\nthe  command  \"kill\"  (and  \"man man\" document the command \"man\").  The program man sends the\ntext through some pager, usually less.  Hit the space bar to get the  next  page,  hit  q  to\nquit.\n\nIn documentation it is customary to refer to man pages by giving the name and section number,\nas in man(1).  Man pages are terse, and allow you to find quickly some forgotten detail.  For\nnewcomers an introductory text with more examples and explanations is useful.\n\nA  lot of GNU/FSF software is provided with info files.  Type \"info info\" for an introduction\non the use of the program info.\n\nSpecial topics are often treated in  HOWTOs.   Look  in  /usr/share/doc/howto/en  and  use  a\nbrowser if you find HTML files there.\n\n### SEE ALSO\n\nash(1),  bash(1),  chsh(1),  csh(1),  dash(1), ksh(1), locate(1), login(1), man(1), xterm(1),\nzsh(1), wait(2), stdout(3), man-pages(7), standards(7)\n\n### COLOPHON\n\nThis page is part of release 5.10 of the Linux  man-pages  project.   A  description  of  the\nproject,  information about reporting bugs, and the latest version of this page, can be found\nat https://www.kernel.org/doc/man-pages/.\n\n\n\nLinux                                        2020-08-13                                     INTRO(1)\n\n"
        }
    ],
    "structuredContent": {
        "command": "intro",
        "section": "",
        "mode": "man",
        "summary": "intro - introduction to user commands",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "ash",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/ash/1/json"
            },
            {
                "name": "bash",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/bash/1/json"
            },
            {
                "name": "chsh",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/chsh/1/json"
            },
            {
                "name": "csh",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/csh/1/json"
            },
            {
                "name": "dash",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/dash/1/json"
            },
            {
                "name": "ksh",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/ksh/1/json"
            },
            {
                "name": "locate",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/locate/1/json"
            },
            {
                "name": "login",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/login/1/json"
            },
            {
                "name": "man",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/man/1/json"
            },
            {
                "name": "xterm",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/xterm/1/json"
            },
            {
                "name": "zsh",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/zsh/1/json"
            },
            {
                "name": "wait",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/wait/2/json"
            },
            {
                "name": "stdout",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/stdout/3/json"
            },
            {
                "name": "man-pages",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/man-pages/7/json"
            },
            {
                "name": "standards",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/standards/7/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "NOTES",
                "lines": 9,
                "subsections": [
                    {
                        "name": "Login",
                        "lines": 5
                    },
                    {
                        "name": "The shell",
                        "lines": 79
                    },
                    {
                        "name": "Pathnames and the current directory",
                        "lines": 13
                    },
                    {
                        "name": "Directories",
                        "lines": 10
                    },
                    {
                        "name": "Disks and filesystems",
                        "lines": 4
                    },
                    {
                        "name": "Processes",
                        "lines": 7
                    },
                    {
                        "name": "Getting information",
                        "lines": 16
                    }
                ]
            },
            {
                "name": "SEE ALSO",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "COLOPHON",
                "lines": 7,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "intro - introduction to user commands\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Section  1  of  the  manual describes user commands and tools, for example, file manipulation\ntools, shells, compilers, web browsers, file and image viewers and editors, and so on.\n",
                "subsections": []
            },
            "NOTES": {
                "content": "Linux is a flavor of UNIX, and as a first approximation all user  commands  under  UNIX  work\nprecisely the same under Linux (and FreeBSD and lots of other UNIX-like systems).\n\nUnder  Linux,  there  are GUIs (graphical user interfaces), where you can point and click and\ndrag, and hopefully get work done without first reading lots of  documentation.   The  tradi‐\ntional  UNIX  environment  is a CLI (command line interface), where you type commands to tell\nthe computer what to do.  That is faster and more powerful, but requires finding out what the\ncommands are.  Below a bare minimum, to get started.\n",
                "subsections": [
                    {
                        "name": "Login",
                        "content": "In  order to start working, you probably first have to open a session by giving your username\nand password.  The program login(1) now starts a shell (command  interpreter)  for  you.   In\ncase  of a graphical login, you get a screen with menus or icons and a mouse click will start\na shell in a window.  See also xterm(1).\n"
                    },
                    {
                        "name": "The shell",
                        "content": "One types commands to the shell, the command interpreter.  It is not built-in, but is just  a\nprogram  and  you can change your shell.  Everybody has their own favorite one.  The standard\none is called sh.  See also ash(1), bash(1), chsh(1), csh(1), dash(1), ksh(1), zsh(1).\n\nA session might go like:\n\nknuth login: aeb\nPassword:\n$ date\nTue Aug  6 23:50:44 CEST 2002\n$ cal\nAugust 2002\nSu Mo Tu We Th Fr Sa\n1  2  3\n4  5  6  7  8  9 10\n11 12 13 14 15 16 17\n18 19 20 21 22 23 24\n25 26 27 28 29 30 31\n\n$ ls\nbin  tel\n$ ls -l\ntotal 2\ndrwxrwxr-x   2 aeb       1024 Aug  6 23:51 bin\n-rw-rw-r--   1 aeb         37 Aug  6 23:52 tel\n$ cat tel\nmaja    0501-1136285\npeter   0136-7399214\n$ cp tel tel2\n$ ls -l\ntotal 3\ndrwxr-xr-x   2 aeb       1024 Aug  6 23:51 bin\n-rw-r--r--   1 aeb         37 Aug  6 23:52 tel\n-rw-r--r--   1 aeb         37 Aug  6 23:53 tel2\n$ mv tel tel1\n$ ls -l\ntotal 3\ndrwxr-xr-x   2 aeb       1024 Aug  6 23:51 bin\n-rw-r--r--   1 aeb         37 Aug  6 23:52 tel1\n-rw-r--r--   1 aeb         37 Aug  6 23:53 tel2\n$ diff tel1 tel2\n$ rm tel1\n$ grep maja tel2\nmaja    0501-1136285\n$\n\nHere typing Control-D ended the session.\n\nThe $ here was the command prompt—it is the shell's way of indicating that it  is  ready  for\nthe  next command.  The prompt can be customized in lots of ways, and one might include stuff\nlike username, machine name, current directory, time, and so  on.   An  assignment  PS1=\"What\nnext, master? \" would change the prompt as indicated.\n\nWe  see that there are commands date (that gives date and time), and cal (that gives a calen‐\ndar).\n\nThe command ls lists the contents of the current directory—it tells you what files you  have.\nWith  a  -l  option it gives a long listing, that includes the owner and size and date of the\nfile, and the permissions people have for reading and/or changing the file.  For example, the\nfile  \"tel\"  here  is 37 bytes long, owned by aeb and the owner can read and write it, others\ncan only read it.  Owner and permissions can be changed by the commands chown and chmod.\n\nThe command cat will show the contents of a file.  (The name is from \"concatenate and print\":\nall files given as parameters are concatenated and sent to \"standard output\" (see stdout(3)),\nhere the terminal screen.)\n\nThe command cp (from \"copy\") will copy a file.\n\nThe command mv (from \"move\"), on the other hand, only renames it.\n\nThe command diff lists the differences between two files.  Here there was no  output  because\nthere were no differences.\n\nThe  command  rm (from \"remove\") deletes the file, and be careful! it is gone.  No wastepaper\nbasket or anything.  Deleted means lost.\n\nThe command grep (from \"g/re/p\") finds occurrences of a string in one or more files.  Here it\nfinds Maja's telephone number.\n"
                    },
                    {
                        "name": "Pathnames and the current directory",
                        "content": "Files live in a large tree, the file hierarchy.  Each has a pathname describing the path from\nthe root of the tree (which is called /) to the file.  For  example,  such  a  full  pathname\nmight be /home/aeb/tel.  Always using full pathnames would be inconvenient, and the name of a\nfile in the current directory may be abbreviated by giving only the last component.  That  is\nwhy /home/aeb/tel can be abbreviated to tel when the current directory is /home/aeb.\n\nThe command pwd prints the current directory.\n\nThe command cd changes the current directory.\n\nTry alternatively cd and pwd commands and explore cd usage: \"cd\", \"cd .\", \"cd ..\", \"cd /\" and\n\"cd ~\".\n"
                    },
                    {
                        "name": "Directories",
                        "content": "The command mkdir makes a new directory.\n\nThe command rmdir removes a directory if it is empty, and complains otherwise.\n\nThe command find (with a rather baroque syntax) will find files  with  given  name  or  other\nproperties.   For example, \"find . -name tel\" would find the file tel starting in the present\ndirectory (which is called .).  And \"find / -name tel\" would do the same, but starting at the\nroot  of  the  tree.  Large searches on a multi-GB disk will be time-consuming, and it may be\nbetter to use locate(1).\n"
                    },
                    {
                        "name": "Disks and filesystems",
                        "content": "The command mount will attach the filesystem found on some disk (or floppy, or CDROM  or  so)\nto the big filesystem hierarchy.  And umount detaches it again.  The command df will tell you\nhow much of your disk is still free.\n"
                    },
                    {
                        "name": "Processes",
                        "content": "On a UNIX system many user and system processes run simultaneously.  The one you are  talking\nto  runs in the foreground, the others in the background.  The command ps will show you which\nprocesses are active and what numbers these processes have.  The command kill allows  you  to\nget  rid  of them.  Without option this is a friendly request: please go away.  And \"kill -9\"\nfollowed by the number of the process is an immediate kill.  Foreground processes  can  often\nbe killed by typing Control-C.\n"
                    },
                    {
                        "name": "Getting information",
                        "content": "There  are  thousands  of commands, each with many options.  Traditionally commands are docu‐\nmented on man pages, (like this one), so that the command \"man kill\" will document the use of\nthe  command  \"kill\"  (and  \"man man\" document the command \"man\").  The program man sends the\ntext through some pager, usually less.  Hit the space bar to get the  next  page,  hit  q  to\nquit.\n\nIn documentation it is customary to refer to man pages by giving the name and section number,\nas in man(1).  Man pages are terse, and allow you to find quickly some forgotten detail.  For\nnewcomers an introductory text with more examples and explanations is useful.\n\nA  lot of GNU/FSF software is provided with info files.  Type \"info info\" for an introduction\non the use of the program info.\n\nSpecial topics are often treated in  HOWTOs.   Look  in  /usr/share/doc/howto/en  and  use  a\nbrowser if you find HTML files there.\n"
                    }
                ]
            },
            "SEE ALSO": {
                "content": "ash(1),  bash(1),  chsh(1),  csh(1),  dash(1), ksh(1), locate(1), login(1), man(1), xterm(1),\nzsh(1), wait(2), stdout(3), man-pages(7), standards(7)\n",
                "subsections": []
            },
            "COLOPHON": {
                "content": "This page is part of release 5.10 of the Linux  man-pages  project.   A  description  of  the\nproject,  information about reporting bugs, and the latest version of this page, can be found\nat https://www.kernel.org/doc/man-pages/.\n\n\n\nLinux                                        2020-08-13                                     INTRO(1)",
                "subsections": []
            }
        }
    }
}