⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 system.html

📁 Shall高级编程
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML><HEAD><TITLE>System and Administrative Commands</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="Advanced Bash-Scripting Guide"HREF="index.html"><LINKREL="UP"TITLE="Commands"HREF="part4.html"><LINKREL="PREVIOUS"TITLE="Miscellaneous Commands"HREF="extmisc.html"><LINKREL="NEXT"TITLE="Advanced Topics"HREF="part5.html"><METAHTTP-EQUIV="Content-Style-Type"CONTENT="text/css"><LINKREL="stylesheet"HREF="common/kde-common.css"TYPE="text/css"><METAHTTP-EQUIV="Content-Type"CONTENT="text/html; charset=iso-8859-1"><METAHTTP-EQUIV="Content-Language"CONTENT="en"><LINKREL="stylesheet"HREF="common/kde-localised.css"TYPE="text/css"TITLE="KDE-English"><LINKREL="stylesheet"HREF="common/kde-default.css"TYPE="text/css"TITLE="KDE-Default"></HEAD><BODYCLASS="CHAPTER"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#AA0000"VLINK="#AA0055"ALINK="#AA0000"STYLE="font-family: sans-serif;"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">Advanced Bash-Scripting Guide: An in-depth exploration of the art of shell scripting</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="extmisc.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom"></TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="part5.html"ACCESSKEY="N">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="CHAPTER"><H1><ANAME="SYSTEM"></A>Chapter 16. System and Administrative Commands</H1><P>The startup and shutdown scripts in 	<TTCLASS="FILENAME">/etc/rc.d</TT> illustrate the uses	(and usefulness) of many of these comands. These are usually	invoked by <ICLASS="FIRSTTERM">root</I> and used for system	maintenance or emergency filesystem repairs. Use with caution, as	some of these commands may damage your system if misused.</P><DIVCLASS="VARIABLELIST"><P><B><ANAME="USERSGROUPS1"></A>Users and Groups</B></P><DL><DT><ANAME="USERSREF"></A><BCLASS="COMMAND">users</B></DT><DD><P>Show all logged on users. This is the approximate	      equivalent of <BCLASS="COMMAND">who -q</B>.</P></DD><DT><ANAME="GROUPSCMDREF"></A><BCLASS="COMMAND">groups</B></DT><DD><P>Lists the current user and the groups she belongs to.	       This corresponds to the <AHREF="variables2.html#GROUPSREF">$GROUPS</A> internal variable,	       but gives the group names, rather than the numbers.</P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><PRECLASS="SCREEN"> <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>groups</B></TT> <TTCLASS="COMPUTEROUTPUT">bozita cdrom cdwriter audio xgrp</TT>  <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>echo $GROUPS</B></TT> <TTCLASS="COMPUTEROUTPUT">501</TT></PRE></TD></TR></TABLE></DD><DT><ANAME="CHOWNREF"></A><BCLASS="COMMAND">chown</B>, <ANAME="CHGRPREF"></A><BCLASS="COMMAND">chgrp</B></DT><DD><P>The <BCLASS="COMMAND">chown</B> command changes the	      ownership of a file or files. This command is a useful	      method that <ICLASS="FIRSTTERM">root</I> can use to	      shift file ownership from one user to another. An ordinary	      user may not change the ownership of files, not even her	      own files.	         <ANAME="AEN13440"HREF="#FTN.AEN13440">[1]</A>	      </P><P>	      <TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><PRECLASS="SCREEN"> <TTCLASS="PROMPT">root# </TT><TTCLASS="USERINPUT"><B>chown bozo *.txt</B></TT> <TTCLASS="COMPUTEROUTPUT"></TT> 	      </PRE></TD></TR></TABLE>	    </P><P>The <BCLASS="COMMAND">chgrp</B> command changes the	      <TTCLASS="REPLACEABLE"><I>group</I></TT> ownership of a file or	      files. You must be owner of the file(s) as well as a member	      of the destination group (or <ICLASS="FIRSTTERM">root</I>)	      to use this operation.	      <TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><PRECLASS="PROGRAMLISTING">   1&nbsp;chgrp --recursive dunderheads *.data   2&nbsp;#  The "dunderheads" group will now own all the "*.data" files   3&nbsp;#+ all the way down the $PWD directory tree (that's what "recursive" means).</PRE></TD></TR></TABLE></P></DD><DT><ANAME="USERADDREF"></A><BCLASS="COMMAND">useradd</B>, <BCLASS="COMMAND">userdel</B></DT><DD><P>The <BCLASS="COMMAND">useradd</B> administrative command	      adds a user account to the system and creates a home	      directory for that particular user, if so specified. The	      corresponding <BCLASS="COMMAND">userdel</B> command removes	      a user account from the system		 <ANAME="AEN13472"HREF="#FTN.AEN13472">[2]</A>	      and deletes associated files.</P><DIVCLASS="NOTE"><TABLECLASS="NOTE"WIDTH="90%"BORDER="0"><TR><TDWIDTH="25"ALIGN="CENTER"VALIGN="TOP"><IMGSRC="common/note.png"HSPACE="5"ALT="Note"></TD><TDALIGN="LEFT"VALIGN="TOP"><P>The <BCLASS="COMMAND">adduser</B> command is a synonym	      for <BCLASS="COMMAND">useradd</B> and is usually a symbolic link to	      it.</P></TD></TR></TABLE></DIV></DD><DT><ANAME="USERMODREF"></A><BCLASS="COMMAND">usermod</B></DT><DD><P>Modify a user account. Changes may be made to the password,	      group membership, expiration date, and other attributes of	      a given user's account. With this command, a user's password	      may be locked, which has the effect of disabling the	      account.</P></DD><DT><ANAME="GROUPMODREF"></A><BCLASS="COMMAND">groupmod</B></DT><DD><P>Modify a given group. The group name and/or ID number may be	      changed using this command.</P></DD><DT><ANAME="IDREF"></A><BCLASS="COMMAND">id</B></DT><DD><P>The <BCLASS="COMMAND">id</B> command lists the real and	      effective user IDs and the group IDs of the user	      associated with the current process. This is the	      counterpart to the <AHREF="variables2.html#UIDREF">$UID</A>,	      <AHREF="variables2.html#EUIDREF">$EUID</A>, and <AHREF="variables2.html#GROUPSREF">$GROUPS</A> internal Bash	      variables.</P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><PRECLASS="SCREEN"> <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>id</B></TT> <TTCLASS="COMPUTEROUTPUT">uid=501(bozo) gid=501(bozo) groups=501(bozo),22(cdrom),80(cdwriter),81(audio)</TT>  <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>echo $UID</B></TT> <TTCLASS="COMPUTEROUTPUT">501</TT></PRE></TD></TR></TABLE><DIVCLASS="NOTE"><TABLECLASS="NOTE"WIDTH="90%"BORDER="0"><TR><TDWIDTH="25"ALIGN="CENTER"VALIGN="TOP"><IMGSRC="common/note.png"HSPACE="5"ALT="Note"></TD><TDALIGN="LEFT"VALIGN="TOP"><P>The <BCLASS="COMMAND">id</B> command shows the	      <SPANCLASS="emphasis"><ICLASS="EMPHASIS">effective</I></SPAN> IDs only when they differ	      from the <SPANCLASS="emphasis"><ICLASS="EMPHASIS">real</I></SPAN> ones.</P></TD></TR></TABLE></DIV><P>Also see <AHREF="variables2.html#AMIROOT">Example 9-5</A>.</P></DD><DT><ANAME="WHOREF"></A><BCLASS="COMMAND">who</B></DT><DD><P>Show all users logged on to the system.</P><P>	      <TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><PRECLASS="SCREEN"> <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>who</B></TT> <TTCLASS="COMPUTEROUTPUT">bozo  tty1     Apr 27 17:45 bozo  pts/0    Apr 27 17:46 bozo  pts/1    Apr 27 17:47 bozo  pts/2    Apr 27 17:49</TT> 	      </PRE></TD></TR></TABLE>	    </P><P>The <TTCLASS="OPTION">-m</TT> gives detailed information about	      only the current user. Passing any two arguments to	      <BCLASS="COMMAND">who</B> is the equivalent of <BCLASS="COMMAND">who	      -m</B>, as in <BCLASS="COMMAND">who am i</B> or <BCLASS="COMMAND">who	      The Man</B>.</P><P>	      <TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><PRECLASS="SCREEN"> <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>who -m</B></TT> <TTCLASS="COMPUTEROUTPUT">localhost.localdomain!bozo  pts/2    Apr 27 17:49</TT> 	      </PRE></TD></TR></TABLE>	    </P><P><ANAME="WHOAMIREF"></A><BCLASS="COMMAND">whoami</B> is similar to <BCLASS="COMMAND">who	      -m</B>, but only lists the user name.</P><P>	      <TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><PRECLASS="SCREEN"> <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>whoami</B></TT> <TTCLASS="COMPUTEROUTPUT">bozo</TT> 	      </PRE></TD></TR></TABLE>	    </P></DD><DT><ANAME="WREF"></A><BCLASS="COMMAND">w</B></DT><DD><P>Show all logged on users and the processes belonging to them. This is	      an extended version of <BCLASS="COMMAND">who</B>. The output of <BCLASS="COMMAND">w</B>	      may be piped to <AHREF="textproc.html#GREPREF">grep</A> to find	      a specific user and/or process.</P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><PRECLASS="SCREEN"> <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>w | grep startx</B></TT> <TTCLASS="COMPUTEROUTPUT">bozo  tty1     -                 4:22pm  6:41   4.47s  0.45s  startx</TT></PRE></TD></TR></TABLE></DD><DT><ANAME="LOGNAMEREF"></A><BCLASS="COMMAND">logname</B></DT><DD><P>Show current user's login name (as found in	      <TTCLASS="FILENAME">/var/run/utmp</TT>). This is a	      near-equivalent to <AHREF="system.html#WHOAMIREF">whoami</A>,	      above.</P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><PRECLASS="SCREEN"> <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>logname</B></TT> <TTCLASS="COMPUTEROUTPUT">bozo</TT>  <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>whoami</B></TT> <TTCLASS="COMPUTEROUTPUT">bozo</TT></PRE></TD></TR></TABLE><P>However . . .</P><P>	    <TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><PRECLASS="SCREEN"> <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>su</B></TT> <TTCLASS="COMPUTEROUTPUT">Password: ......</TT>  <TTCLASS="PROMPT">bash# </TT><TTCLASS="USERINPUT"><B>whoami</B></TT> <TTCLASS="COMPUTEROUTPUT">root</TT> <TTCLASS="PROMPT">bash# </TT><TTCLASS="USERINPUT"><B>logname</B></TT> <TTCLASS="COMPUTEROUTPUT">bozo</TT></PRE></TD></TR></TABLE>	    	    </P><DIVCLASS="NOTE"><TABLECLASS="NOTE"WIDTH="90%"BORDER="0"><TR><TDWIDTH="25"ALIGN="CENTER"VALIGN="TOP"><IMGSRC="common/note.png"HSPACE="5"ALT="Note"></TD><TDALIGN="LEFT"VALIGN="TOP"><P>While <BCLASS="COMMAND">logname</B> prints the name	      of the logged in user, <BCLASS="COMMAND">whoami</B> gives the	      name of the user attached to the current process. As we have	      just seen, sometimes these are not the same.</P></TD></TR></TABLE></DIV></DD><DT><ANAME="SUREF"></A><BCLASS="COMMAND">su</B></DT><DD><P>Runs a program or script as a	      <BCLASS="COMMAND">s</B

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -