(4)top详解 (每周一个linux命令系列)

linux命令 top详解


引言:今天的命令是用来看cpu信息的top

top

我们先看man top


  1. top - display Linux processes

翻译:显示linux进程信息

具体的描述如下:


  1. The top program provides a dynamic real-time view of a running sys
  2. tem. It can display system summary information as well as a list of
  3. processes or threads currently being managed by the Linux kernel.
  4. The types of system summary information shown and the types, order
  5. and size of information displayed for processes are all user config
  6. urable and that configuration can be made persistent across restarts.
  7. The program provides a limited interactive interface for process
  8. manipulation as well as a much more extensive interface for personal
  9. configuration -- encompassing every aspect of its operation. And
  10. while top is referred to throughout this document, you are free to
  11. name the program anything you wish. That new name, possibly an
  12. alias, will then be reflected on top's display and used when reading
  13. and writing a configuration file.

翻译如下:

top命令提供一个运行中系统的动态实时视图,它可以显示系统摘要信息以及由linux内核管理的的进程或线程的列表。系统概要信息的类型被显示出来,类型、顺序为进程显示的信息大小都是用户配置的。可以通过重新启动使配置持久化。

该程序为进程操作提供有限的交互式界面。并为个人配置提供了更广泛的接口 - 涵盖了其操作的各个方面。 虽然本文档中提到了top,但你可以随意命名该程序。 该新名称(可能是别名)将反映在top的显示界面上,并在读取和写入配置文件时使用。

我们再来看一下命令执行结果

  1. top - 17:00:43 up 12 days, 1:13, 3 users, load average: 6.27, 3.04, 2.31
  2. Tasks: 444 total, 3 running, 441 sleeping, 0 stopped, 0 zombie
  3. %Cpu(s): 19.0 us, 4.7 sy, 0.0 ni, 75.1 id, 1.1 wa, 0.0 hi, 0.2 si, 0.0
  4. KiB Mem : 16131568 total, 926512 free, 8862288 used, 6342768 buff/cache
  5. KiB Swap: 8191996 total, 8191900 free, 96 used. 5994096 avail Mem
  6. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  7. 5297 nobody 20 0 283588 20388 5372 R 9.3 0.1 9:25.75 php-fpm
  8. 23312 nobody 20 0 372584 21660 6272 S 9.3 0.1 14:31.92 php-fpm
  9. 23325 nobody 20 0 353288 13676 4916 R 9.3 0.1 14:55.50 php-fpm
  10. ......

可以看到,top命令同时返回了一些uptime命令中返回的系统信息,这里不再赘述。

第二行是系统作业数量(Tasks)

  1. - total 进程总数
  2. - running 正在运行的进程数
  3. - sleeping 休眠的进程数
  4. - stopped 停止的进程数
  5. - zombie 僵尸进程数 (没有被子进程先于父进程结束却没有被回收,不占用内存等资源,但在进程表中有记录)

第三行是cpu使用情况(%Cpu(s))

  1. - us, user 运行未调整优先级的用户进程的CPU百分比
  2. - sysystem: 运行内核进程的CPU百分比
  3. - niniced 运行已调整优先级的用户进程的CPU百分比
  4. - id 空闲cpu百分比
  5. - waIO wait: 用于等待IO完成的CPU时间
  6. - hi 硬件中断(Hardware IRQ)占用CPU的百分比
  7. - si 软件中断(Software Interrupts)占用CPU的百分比
  8. - stSteal time 如果当前处于一个hypervisor下的vm,被vm偷走(Steal)的时间,虚拟 CPU 等待实际 CPU 的时间的百分比。

接下来的命令有点像是我们之前发的free

  1. Mem:
  2. - total 物理内存总量
  3. - used 使用中的物理内存总量
  4. - free 空闲内存总量
  5. - buffers 用作内核缓存的内存量
  6. Swap:
  7. - total 交换区总量
  8. - used 使用中的交换区总量
  9. - free 空闲交换区总量
  10. - cached 缓冲的交换区总量。

在说交互和列含义之前,先大概说一下,top命令的交互并不是通过以前 ‘ 命令 <选项> ’的形式 而是在出现top视图后,按键盘上的键进行操作。

交互和选项

选项

top [-] [d] [p] [q] [c] [S] [s] [i] [n] [u]

使用说明

  1. -d delay 指定每两次屏幕信息刷新之间的时间间隔。交互命令s交互命令来改变之。
  2. -p 通过指定监控进程ID来仅仅监控某个进程的状态。
  3. -q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
  4. -c 显示整个命令行而不只是显示命令名
  5. -S 指定累计模式 和交互命令中的S
  6. -s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
  7. -i 使top不显示任何闲置或者僵死进程。
  8. -n <次数>:循环显示的次数。
  9. -u <用户名>:指定用户名;

交互命令

  1. h或?:显示帮助画面,给出一些简短的命令总结说明;
  2. k:终止一个进程 按键后会提示:PID to signal/kill [default pid = xxx] 让你输入pid
  3. i:忽略闲置和僵死进程,这是一个开关式命令;
  4. q:退出程序;
  5. r:重新安排一个进程的优先级别 也会有提示:PID to renice [default pid = xxx] 输入pid后提示:Renice PID 28851 to value;输入正数降低优先级,负数增加优先级
  6. S:切换到累计模式;
  7. s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是3s
  8. f/F:从当前显示中添加或者删除列属性,进入后有操作说明;
  9. o/O:改变显示项目的顺序;
  10. l:切换显示平均负载和启动时间信息;
  11. m:切换显示内存信息;
  12. t:切换显示进程和CPU状态信息;
  13. c:切换显示命令名称和完整命令;
  14. M:根据驻留内存大小进行排序;
  15. P:根据CPU使用百分比大小进行排序;
  16. T:根据时间/累计时间进行排序;
  17. w:将当前设置写入~/.toprc文件中。

我们不可能尽善尽美的说明每一项,其他的用到的概率也不大。具体的意思也需要大家自己去尝试。我们下面说一下视图中每一列代表的含义(常用的带*)

列含义

  1. * PID = Process Id 进程唯一标识符
  2. * USER = Effective User Name 用户名
  3. * PR = Priority 优先级 越低越好 rt是运行状态
  4. * NI = Nice Value 调整的优先级
  5. * VIRT = Virtual Image (KiB) 进程使用的虚拟内存。VIRT=SWAP+RES
  6. * RES = Resident Size (KiB) 任务使用的非交换物理内存大小bRES=CODE+DATA
  7. * SHR = Shared Memory (KiB) SHR是进程使用的共享内存。共享内存大小,单位kb
  8. * S = Process Status 进程状态 取值如下:
  9. D - 不可中断的睡眠态。
  10. R 运行态
  11. S 睡眠态
  12. T 被跟踪或已停止
  13. Z 僵尸态
  14. * %CPU = CPU Usage 任务所使用的CPU时间百分比。
  15. * %MEM = Memory Usage (RES) 任务所使用的CPU时间百分比
  16. * TIME+ = CPU Time, hundredths 全部CPU时间精确到1/100
  17. * COMMAND = Command Name/Line 进程名称(命令名/命令行)
  18. PPID = Parent Process pid PPID 父进程id
  19. UID = Effective User Id 进程所有者的用户id
  20. RUID = Real User Id 进程所有者的真实用户id
  21. RUSER = Real User Name 进程所有者的真实用户
  22. SUID = Saved User Id
  23. SUSER = Saved User Name
  24. GID = Group Id 用户组id
  25. GROUP = Group Name 用户组
  26. PGRP = Process Group Id 进程组id
  27. TTY = Controlling Tty 控制台,有如下:
  28. 不是从终端启动的
  29. tty1-6 控制台1-6
  30. pty 虚拟终端
  31. pts/ptmx pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现ptypts/0 斜杠后的数字代表标号 一般pts都是网络连接进来的程序
  32. TPGID = Tty Process Grp Id tty的组
  33. SID = Session Id 回话id
  34. nTH = Number of Threads 线程数量
  35. P = Last Used Cpu (SMP) 最后使用的cpu标号
  36. TIME = CPU Time 使用cpu的时间
  37. SWAP = Swapped Size (KiB) 进程使用的虚拟内存中,被换出的大小。
  38. CODE = Code Size (KiB) 可执行代码占用的物理内存大小
  39. DATA = Data+Stack (KiB) 可执行代码以外的部分(数据段+栈)占用的物理内存大小
  40. nMaj = Major Page Faults
  41. nMin = Minor Page Faults
  42. nDRT = Dirty Pages Count 最后一次写入到现在,被修改过的页面数。
  43. WCHAN = Sleeping in Function 若该进程在睡眠,则显示睡眠中的系统函数名
  44. Flags = Task Flags <sched.h> 任务标志
  45. CGROUPS = Control Groups
  46. SUPGIDS = Supp Groups IDs
  47. SUPGRPS = Supp Groups Names
  48. TGID = Thread Group Id 线程组id
  49. ENVIRON = Environment vars
  50. vMj = Major Faults delta
  51. vMn = Minor Faults delta
  52. USED = Res+Swap Size (KiB) 物理内存和使用的交换区大小
  53. nsIPC = IPC namespace Inode
  54. nsMNT = MNT namespace Inode
  55. nsNET = NET namespace Inode
  56. nsPID = PID namespace Inode
  57. nsUSER = USER namespace Inode
  58. nsUTS = UTS namespace Inode

附录:部分列名称的解释(来源于man top)

这里给出英文的原文档,方便大家参考。

  1. 3a. DESCRIPTIONS of Fields
  2. Listed below are top's available process fields (columns). They are shown in
  3. strict ascii alphabetical order. You may customize their position and
  4. whether or not they are displayable with the `f' or `F' (Fields Management)
  5. interactive commands.
  6. Any field is selectable as the sort field, and you control whether they are
  7. sorted high-to-low or low-to-high. For additional information on sort provi‐
  8. sions see topic 4c. TASK AREA Commands, SORTING.
  9. The fields related to physical memory or virtual memory reference `(KiB)'
  10. which is the unsuffixed display mode. Such fields may, however, be scaled
  11. from KiB through PiB. That scaling is influenced via the `e' interactive
  12. command or established for startup through a build option.
  13. 1. %CPU -- CPU Usage
  14. The task's share of the elapsed CPU time since the last screen update,
  15. expressed as a percentage of total CPU time.
  16. In a true SMP environment, if a process is multi-threaded and top is not
  17. operating in Threads mode, amounts greater than 100% may be reported.
  18. You toggle Threads mode with the `H' interactive command.
  19. Also for multi-processor environments, if Irix mode is Off, top will
  20. operate in Solaris mode where a task's cpu usage will be divided by the
  21. total number of CPUs. You toggle Irix/Solaris modes with the `I' inter
  22. active command.
  23. 2. %MEM -- Memory Usage (RES)
  24. A task's currently used share of available physical memory.
  25. 3. CGROUPS -- Control Groups
  26. The names of the control group(s) to which a process belongs, or `-' if
  27. not applicable for that process.
  28. Control Groups provide for allocating resources (cpu, memory, network
  29. bandwidth, etc.) among installation-defined groups of processes. They
  30. enable fine-grained control over allocating, denying, prioritizing, man
  31. aging and monitoring those resources.
  32. Many different hierarchies of cgroups can exist simultaneously on a sys
  33. tem and each hierarchy is attached to one or more subsystems. A subsys
  34. tem represents a single resource.
  35. Note: The CGROUPS field, unlike most columns, is not fixed-width. When
  36. displayed, it plus any other variable width columns will be allocated all
  37. remaining screen width (up to the maximum 512 characters). Even so, such
  38. variable width fields could still suffer truncation. See topic 5c.
  39. SCROLLING a Window for additional information on accessing any truncated
  40. data.
  41. 4. CODE -- Code Size (KiB)
  42. The amount of physical memory devoted to executable code, also known as
  43. the Text Resident Set size or TRS.
  44. 5. COMMAND -- Command Name or Command Line
  45. Display the command line used to start a task or the name of the associ
  46. ated program. You toggle between command line and name with `c', which
  47. is both a command-line option and an interactive command.
  48. When you've chosen to display command lines, processes without a command
  49. line (like kernel threads) will be shown with only the program name in
  50. brackets, as in this example:
  51. [kthreadd]
  52. This field may also be impacted by the forest view display mode. See the
  53. `V' interactive command for additional information regarding that mode.
  54. Note: The COMMAND field, unlike most columns, is not fixed-width. When
  55. displayed, it plus any other variable width columns will be allocated all
  56. remaining screen width (up to the maximum 512 characters). Even so, such
  57. variable width fields could still suffer truncation. This is especially
  58. true for this field when command lines are being displayed (the `c'
  59. interactive command.) See topic 5c. SCROLLING a Window for additional
  60. information on accessing any truncated data.
  61. 6. DATA -- Data + Stack Size (KiB)
  62. The amount of physical memory devoted to other than executable code, also
  63. known as the Data Resident Set size or DRS.
  64. 7. ENVIRON -- Environment variables
  65. Display all of the environment variables, if any, as seen by the respec
  66. tive processes. These variables will be displayed in their raw native
  67. order, not the sorted order you are accustomed to seeing with an unquali
  68. fied `set'.
  69. Note: The ENVIRON field, unlike most columns, is not fixed-width. When
  70. displayed, it plus any other variable width columns will be allocated all
  71. remaining screen width (up to the maximum 512 characters). Even so, such
  72. variable width fields could still suffer truncation. This is especially
  73. true for this field. See topic 5c. SCROLLING a Window for additional
  74. information on accessing any truncated data.
  75. 8. Flags -- Task Flags
  76. This column represents the task's current scheduling flags which are
  77. expressed in hexadecimal notation and with zeros suppressed. These flags
  78. are officially documented in <linux/sched.h>.
  79. 9. GID -- Group Id
  80. The effective group ID.
  81. 10. GROUP -- Group Name
  82. The effective group name.
  83. 11. NI -- Nice Value
  84. The nice value of the task. A negative nice value means higher priority,
  85. whereas a positive nice value means lower priority. Zero in this field
  86. simply means priority will not be adjusted in determining a task's dis‐
  87. patch-ability.
  88. 12. P -- Last used CPU (SMP)
  89. A number representing the last used processor. In a true SMP environment
  90. this will likely change frequently since the kernel intentionally uses
  91. weak affinity. Also, the very act of running top may break this weak
  92. affinity and cause more processes to change CPUs more often (because of
  93. the extra demand for cpu time).
  94. 13. PGRP -- Process Group Id
  95. Every process is member of a unique process group which is used for dis‐
  96. tribution of signals and by terminals to arbitrate requests for their
  97. input and output. When a process is created (forked), it becomes a mem‐
  98. ber of the process group of its parent. By convention, this value equals
  99. the process ID (see PID) of the first member of a process group, called
  100. the process group leader.
  101. 14. PID -- Process Id
  102. The task's unique process ID, which periodically wraps, though never
  103. restarting at zero. In kernel terms, it is a dispatchable entity defined
  104. by a task_struct.
  105. This value may also be used as: a process group ID (see PGRP); a session
  106. ID for the session leader (see SID); a thread group ID for the thread
  107. group leader (see TGID); and a TTY process group ID for the process group
  108. leader (see TPGID).
  109. 15. PPID -- Parent Process Id
  110. The process ID (pid) of a task's parent.
  111. 16. PR -- Priority
  112. The scheduling priority of the task. If you see `rt' in this field, it
  113. means the task is running under real time scheduling priority.
  114. Under linux, real time priority is somewhat misleading since tradition‐
  115. ally the operating itself was not preemptible. And while the 2.6 kernel
  116. can be made mostly preemptible, it is not always so.
  117. 17. RES -- Resident Memory Size (KiB)
  118. The non-swapped physical memory a task is using.
  119. 18. RUID -- Real User Id
  120. The real user ID.
  121. 19. RUSER -- Real User Name
  122. The real user name.
  123. 20. S -- Process Status
  124. The status of the task which can be one of:
  125. D = uninterruptible sleep
  126. R = running
  127. S = sleeping
  128. T = stopped by job control signal
  129. t = stopped by debugger during trace
  130. Z = zombie
  131. Tasks shown as running should be more properly thought of as ready to run
  132. -- their task_struct is simply represented on the Linux run-queue.
  133. Even without a true SMP machine, you may see numerous tasks in this state
  134. depending on top's delay interval and nice value.
  135. 21. SHR -- Shared Memory Size (KiB)
  136. The amount of shared memory available to a task, not all of which is typ
  137. ically resident. It simply reflects memory that could be potentially
  138. shared with other processes.
  139. 22. SID -- Session Id
  140. A session is a collection of process groups (see PGRP), usually estab
  141. lished by the login shell. A newly forked process joins the session of
  142. its creator. By convention, this value equals the process ID (see PID)
  143. of the first member of the session, called the session leader, which is
  144. usually the login shell.
  145. 23. SUID -- Saved User Id
  146. The saved user ID.
  147. 24. SUPGIDS -- Supplementary Group IDs
  148. The IDs of any supplementary group(s) established at login or inherited
  149. from a task's parent. They are displayed in a comma delimited list.
  150. Note: The SUPGIDS field, unlike most columns, is not fixed-width. When
  151. displayed, it plus any other variable width columns will be allocated all
  152. remaining screen width (up to the maximum 512 characters). Even so, such
  153. variable width fields could still suffer truncation. See topic 5c.
  154. SCROLLING a Window for additional information on accessing any truncated
  155. data.
  156. 25. SUPGRPS -- Supplementary Group Names
  157. The names of any supplementary group(s) established at login or inherited
  158. from a task's parent. They are displayed in a comma delimited list.
  159. Note: The SUPGRPS field, unlike most columns, is not fixed-width. When
  160. displayed, it plus any other variable width columns will be allocated all
  161. remaining screen width (up to the maximum 512 characters). Even so, such
  162. variable width fields could still suffer truncation. See topic 5c.
  163. SCROLLING a Window for additional information on accessing any truncated
  164. data.
  165. 26. SUSER -- Saved User Name
  166. The saved user name.
  167. 27. SWAP -- Swapped Size (KiB)
  168. The non-resident portion of a task's address space.
  169. 28. TGID -- Thread Group Id
  170. The ID of the thread group to which a task belongs. It is the PID of the
  171. thread group leader. In kernel terms, it represents those tasks that
  172. share an mm_struct.
  173. 29. TIME -- CPU Time
  174. Total CPU time the task has used since it started. When Cumulative mode
  175. is On, each process is listed with the cpu time that it and its dead
  176. children have used. You toggle Cumulative mode with `S', which is both a
  177. command-line option and an interactive command. See the `S' interactive
  178. command for additional information regarding this mode.
  179. 30. TIME+ -- CPU Time, hundredths
  180. The same as TIME, but reflecting more granularity through hundredths of a
  181. second.
  182. 31. TPGID -- Tty Process Group Id
  183. The process group ID of the foreground process for the connected tty, or
  184. -1 if a process is not connected to a terminal. By convention, this
  185. value equals the process ID (see PID) of the process group leader (see
  186. PGRP).
  187. 32. TTY -- Controlling Tty
  188. The name of the controlling terminal. This is usually the device (serial
  189. port, pty, etc.) from which the process was started, and which it uses
  190. for input or output. However, a task need not be associated with a ter‐
  191. minal, in which case you'll see `?' displayed.
  192. 33. UID -- User Id
  193. The effective user ID of the task's owner.
  194. 34. USED -- Memory in Use (KiB)
  195. This field represents the non-swapped physical memory a task has used
  196. (RES) plus the non-resident portion of its address space (SWAP).
  197. 35. USER -- User Name
  198. The effective user name of the task's owner.
  199. 36. VIRT -- Virtual Memory Size (KiB)
  200. The total amount of virtual memory used by the task. It includes all
  201. code, data and shared libraries plus pages that have been swapped out and
  202. pages that have been mapped but not used.
  203. 37. WCHAN -- Sleeping in Function
  204. Depending on the availability of the kernel link map (System.map), this
  205. field will show the name or the address of the kernel function in which
  206. the task is currently sleeping. Running tasks will display a dash ('-')
  207. in this column.
  208. By displaying this field, top's own working set could be increased by
  209. over 700Kb, depending on the kernel version. Should that occur, your
  210. only means of reducing that overhead will be to stop and restart top.
  211. 38. nDRT -- Dirty Pages Count
  212. The number of pages that have been modified since they were last written
  213. to auxiliary storage. Dirty pages must be written to auxiliary storage
  214. before the corresponding physical memory location can be used for some
  215. other virtual page.
  216. 39. nMaj -- Major Page Fault Count
  217. The number of major page faults that have occurred for a task. A page
  218. fault occurs when a process attempts to read from or write to a virtual
  219. page that is not currently present in its address space. A major page
  220. fault is when auxiliary storage access is involved in making that page
  221. available.
  222. 40. nMin -- Minor Page Fault count
  223. The number of minor page faults that have occurred for a task. A page
  224. fault occurs when a process attempts to read from or write to a virtual
  225. page that is not currently present in its address space. A minor page
  226. fault does not involve auxiliary storage access in making that page
  227. available.
  228. 41. nTH -- Number of Threads
  229. The number of threads associated with a process.
  230. 42. nsIPC -- IPC namespace
  231. The Inode of the namespace used to isolate interprocess communication
  232. (IPC) resources such as System V IPC objects and POSIX message queues.
  233. 43. nsMNT -- MNT namespace
  234. The Inode of the namespace used to isolate filesystem mount points thus
  235. offering different views of the filesystem hierarchy.
  236. 44. nsNET -- NET namespace
  237. The Inode of the namespace used to isolate resources such as network
  238. devices, IP addresses, IP routing, port numbers, etc.
  239. 45. nsPID -- PID namespace
  240. The Inode of the namespace used to isolate process ID numbers meaning
  241. they need not remain unique. Thus, each such namespace could have its
  242. own `init' (PID #1) to manage various initialization tasks and reap
  243. orphaned child processes.
  244. 46. nsUSER -- USER namespace
  245. The Inode of the namespace used to isolate the user and group ID numbers.
  246. Thus, a process could have a normal unprivileged user ID outside a user
  247. namespace while having a user ID of 0, with full root privileges, inside
  248. that namespace.
  249. 47. nsUTS -- UTS namespace
  250. The Inode of the namespace used to isolate hostname and NIS domain name.
  251. UTS simply means "UNIX Time-sharing System".
  252. 48. vMj -- Major Page Fault Count Delta
  253. The number of major page faults that have occurred since the last update
  254. (see nMaj).
  255. 49. vMn -- Minor Page Fault Count Delta
  256. The number of minor page faults that have occurred since the last update
  257. (see nMin).

(4)top详解 (每周一个linux命令系列)的更多相关文章

  1. (5)ps详解 (每周一个linux命令系列)

    (5)ps详解 (每周一个linux命令系列) linux命令 ps详解 引言:今天的命令是用来看进程状态的ps命令 ps 我们先看man ps ps - report a snapshot of t ...

  2. (3)lscpu详解 (每周一个linux命令系列)

    (3)lscpu详解 (每周一个linux命令系列) linux命令 lscpu详解 引言:今天的命令是用来看cpu信息的lscpu lscpu 我们先看man lscpu display infor ...

  3. (2)free详解 (每周一个linux命令系列)

    (2)free详解 (每周一个linux命令系列) linux命令 free详解 引言:今天的命令是用来看内存的free free 换一个套路,我们先看man free中对free的描述: Displ ...

  4. (6)sudo命令详解(每周一个linux命令系列)

    首先说句抱歉,最近事情比较复杂,停更了一阵子.我又回来啦 多用户管理 我们常用的windows个人系统虽然可以设置多用户,但是实际上是不可以多用户同时登陆的(这个我实验过,我以前用windows服务器 ...

  5. (7)awk命令(每周一个linux命令系列)

    简介 awk是一个强大的文本分析工具,尤其是在应对格式化比较好的日志文件时,简单来说awk就是把文件逐行的读入,以空格为默认分隔符(也可以指定分隔符)将每行切片处理. 语法 awk [选项参数] 's ...

  6. 每周一个linux命令之---uptime详解

    每周一个linux命令之---uptime详解 linux命令 uptime详解 引言:从今天开始,每周更新一个对程序员有用的linux命令,我真的没敢写每天一个,我怕我坚持不下去,每周一个还是可以的 ...

  7. 企业sudo权限规划详解 (实测一个堆命令搞定)

    简述问题:         随着公司的服务器越来越多,人员流动性也开始与日俱增,以往管理服务器的陈旧思想应当摒弃,公司需要有 更好更完善的权限体系,经过多轮沟通和协商,公司一致决定重新整理规划权限体系 ...

  8. (11)nc命令(每周一个linux命令)

    nc(netcat)实用程序几乎可用于所有涉及TCP或UDP的事情.它可以打开TCP连接,发送UDP数据包,监听任意TCP和UDP端口,进行端口扫描,处理IPv4和IPv6.与telnet不同,nc可 ...

  9. 【转载】每天一个Linux命令

    目  录 每天一个linux命令(1)  : ls 命令 每天一个linux命令(2)  : cd 命令 每天一个linux命令(3)  : pwd 命令 每天一个linux命令(4)  : mkdi ...

随机推荐

  1. 【转载】To the Virgins, to Make Much of Time

    Gather ye rosebuds while ye may Old Time is still a-flying And this same flower that smiles today To ...

  2. [转]Oracle密码过期, 报:ORA-01017: 用户名/口令无效; 登录被拒绝

    本文转自:https://blog.csdn.net/jeff06143132/article/details/25696371 连接Oracle,以Oracle用户登陆:   $su - oracl ...

  3. Object与Class的区别

    1.在Scala中声明private变量,Scala编译器会自动生成get,set方法 2.在Scala中变量需要初始化 3.在Scala中没有静态修饰符,在object下的成员全部都是静态的,如果在 ...

  4. Java使用for循环输出菱形

    /** * This program would print out a diamond * @param row the row of diamond * @version 2018-7-23 * ...

  5. 本地navicate for mysql怎么修改密码?

    1.以前在本地设置sql库密码,就是在本地新建数据库的时候就输入,怎么也链接不上,原来是新建数据库的时候不能输入密码,需要在内部修改. 2. 打开mysql user表 3. 打开mysql user ...

  6. 【c++】计算句子中单词的平均长度

    Description 编程输入一行文本,计算这行文本的单词平均长度.假设每个单词用至少一个空格或者标点(英文逗号.句号)隔开.使用C++ string类型. Input 输入一行文本,不包含数字 O ...

  7. 2017-11-06 日语编程语言"抚子" - 第三版特色初探

    "中文编程"知乎专栏原链 原文: 日语编程语言"抚子" - 第三版特色初探 它山之石可以攻玉. 学习其他的母语编程语言, 相信对中文编程语言的设计和实践有借鉴意 ...

  8. 【20190129】CSS-定位问题记录

    很多情况下我在写div的时候都不会把高度写死,而是用子元素撑开高度的方式,但是如果子元素设置了浮动或者position绝对定位,就相当于把子元素从文档流中拿出来了,这时父元素的高度就不能被子元素撑开了 ...

  9. 【读书笔记】iOS-移动开发

    一,iPhone 为iPhone编写基于Web的应用程序非常简单.Safari Web浏览器是一款很优秀的工具-它能够完美地对基于Web的应用程序进行缩放,以便在iPhone大小的屏幕上运行.Safa ...

  10. CSS盒模型的介绍

    CSS盒模型的概念与分类      CSS盒模型就是一个盒子,封装周围的HTML元素,它包括内容content.边框border.内边距padding.外边距margin. CSS盒模型分为标准模型和 ...