Linux Bible. Christopher Negus

Чтение книги онлайн.

Читать онлайн книгу Linux Bible - Christopher Negus страница 38

Linux Bible - Christopher Negus

Скачать книгу

Without the double hyphen, the letters h, e, l, and p would be interpreted as separate options. There are some commands that don't follow the double hyphen convention, using a single hyphen before a word, but most commands use double hyphens for word options.

      NOTE

      You can use the --help option with most commands to see the options and arguments that they support. For example, try typing hostname --help.

       $ ls --hide=Desktop Documents Music Public Videos Downloads Pictures Templates

      In the previous example, the --hide option tells the ls command not to display the file or directory named Desktop when listing the contents of the directory. Notice that the equal sign immediately follows the option (no space) and then the argument (again, no space).

      Here's an example of a single-letter option that is followed by an argument:

       $ tar -cvf backup.tar /home/chris

      In the tar example just shown, the options say to create (c) a file (f) named backup.tar that includes all of the contents of the /home/chris directory and its subdirectories and show verbose (v) messages as the backup is created. Because backup.tar is an argument to the f option, backup.tar must immediately follow the option.

      Here are a few commands that you can try out. See how they behave differently with different options:

       $ ls Desktop Documents Downloads Music Pictures Public Templates Videos $ ls -a . Desktop .gnome2_private .lesshst Public .. Documents .gnote .local Templates .bash_history Downloads .gnupg .mozilla Videos .bash_logout .emacs .gstreamer-0.10 Music .xsession-errors .bash_profile .esd_auth .gtk-bookmarks Pictures .zshrc .bashrc .fsync.log .gvfs Pictures $ uname Linux $ uname -a Linux mydesktop 5.3.7-301.fc31.x86_64 #1 SMP Mon Oct 21 19:18:58 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ date Wed 04 Mar 2020 09:06:25 PM EST $ date +'%d/%m/%y' 04/03/20 $ date +'%A, %B %d, %Y' Wednesday, March 04, 2020

      The ls command, by itself, shows all regular files and directories in the current directory. By adding the -a, you can also see the hidden files in the directory (those beginning with a dot). The uname command shows the type of system you are running (Linux). When you add -a, you also can see the hostname, kernel release, and kernel version.

      Try the id and who commands to get a feel for your current Linux environment, as described in the following paragraphs.

      When you log in to a Linux system, Linux views you as having a particular identity, which includes your username, group name, user ID, and group ID. Linux also keeps track of your login session: It knows when you logged in, how long you have been idle, and where you logged in from.

      To find out information about your identity, use the id command as follows:

       $ id uid=1000(chris) gid=1000(chris) groups=1005(sales), 7(lp)

      In this example, the username is chris, which is represented by the numeric user ID (uid) 1000. The primary group for chris also is called chris, which has a group ID (gid) of 1000. It is normal for Fedora and Red Hat Enterprise Linux users to have the same primary group name as their username. The user chris also belongs to other groups called sales (gid 1005) and lp (gid 7). These names and numbers represent the permissions that chris has to access computer resources.

      NOTE

      Linux distributions that have Security Enhanced Linux (SELinux) enabled, such as Fedora and RHEL, show additional information at the end of the id output. That output might look something like the following:

        context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

      SELinux provides a means of tightly locking down the security of a Linux system. See Chapter 24, “Enhancing Linux Security with SELinux,” if you want to learn about SELinux.

      You can see information about your current login session by using the who command. In the following example, the -u option says to add information about idle time and the process ID and -H asks that a header be printed:

       $ who -uH NAME LINE TIME IDLE PID COMMENT chris tty1 Jan 13 20:57 . 2019

      Locating commands

      Now that you have typed a few commands, you may wonder where those commands are located and how the shell finds the commands you type. To find commands you type, the shell looks in what is referred to as your path. For commands that are not in your path, you can type the complete identity of the location of the command.

      If you know the directory that contains the command that you want to run, one way to run it is to type the full, or absolute, path to that command. For example, you run the date command from the /bin directory by entering the following:

       $ /bin/date

      Of course, this can be inconvenient, especially if the command resides in a directory with a long pathname. The better way is to have commands stored in well-known directories and then add those directories to your shell's PATH environment variable. The path consists of a list of directories that are

Скачать книгу