linux下一些重要命令的了解

linux下一些比较重要的命令:

du命令: 查看使用空间;

  格式:  du [选项][文件]

  参数:  

-a  显示目录中个别文件的大小。   

-b  显示目录或文件大小时,以byte为单位。   

-c  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。 

-k  以KB(1024bytes)为单位输出。

-m  以MB为单位输出。   

-s  仅显示总计,只列出最后加总的值。

-h  以K,M,G为单位,提高信息的可读性。

-x  以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 

-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。   

-S   显示个别目录的大小时,并不含其子目录的大小。 

-X<文件>或--exclude-from=<文件>  在<文件>指定目录或文件。   

--exclude=<目录或文件>         略过指定的目录或文件。    

-D   显示指定符号链接的源文件大小。   

-H或--si  与-h参数相同,但是K,M,G是以1000为换算单位。   

-l或--count-links   重复计算硬件链接的文件。  

 

df命令: 检查linux服务器的文件系统的磁盘空间占用情况

  格式:  df [选项][文件]

  参数:  

-a 全部文件系统列表

-h 方便阅读方式显示

-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024

-i 显示inode信息

-k 区块为1024字节

-l 只显示本地文件系统

-m 区块为1048576字节

--no-sync 忽略 sync 命令

-P 输出格式为POSIX

--sync 在取得磁盘信息前,先执行sync命令

-T 文件系统类型

--block-size=<区块大小> 指定区块大小

-t<文件系统类型> 只显示选定文件系统的磁盘信息

-x<文件系统类型> 不显示选定文件系统的磁盘信息

--help 显示帮助信息

--version 显示版本信息

 

top命令:   

    

 

第一行:
top - 01:26:21 up 当前系统时间
2 users 表示当前有2个用户登录系统
load average: 0.00, 0.01, 0.05 load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
 

第二行:
Tasks 任务(进程),系统现在共有197 total个进程,其中处于运行中的有1个,196个在休眠(sleep),stoped状态的有195个,zombie状态(僵尸)的有0个。
 

第三行:cpu状态
us 用户空间占用CPU的百分比。
sy 内核空间占用CPU的百分比。
ni 改变过优先级的进程占用CPU的百分比
id 空闲CPU百分比
wa IO等待占用CPU的百分比
hi 硬中断(Hardware IRQ)占用CPU的百分比
si 软中断(Software Interrupts)占用CPU的百分比

在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充充电了。
 

第四行:内存状态
total 物理内存总量

free 空闲内存总量

used 使用中的内存总量

buff/cache 缓存的内存量 (79M)

 

第五行:swap交换分区
total 交换区总量
used 使用的交换区总量
free 空闲交换区总量
avail 缓冲的交换区总量

 

第四行 : 中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。

如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:530668+79236+4231276 = 4.7GB。

对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
 

第六行是空行

第七行以下:各进程(任务)的状态监控
PID 进程id
USER 进程所有者
PR 进程优先级
NI - nice值。负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU 上次更新到现在的CPU时间占用百分比

%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 进程名称(命令名/命令行)

top命令解析:

  top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 显示系统当前的进程和其他状况; top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时对 系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。
 
 

  参数:

  d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。

  p 通过指定监控进程ID来仅仅监控某个进程的状态。

  q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。

  S 指定累计模式

  s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。

  i 使top不显示任何闲置或者僵死进程。

  c 显示整个命令行而不只是显示命令名

 

free命令:显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。 

  参数:

    -s: 当我们需要持续的观察内存的状况时可以用 -s 指定间隔的秒数.

 

  输出内容解析:

Mem (第二行)是内存的使用情况。
Swap (第三行)是交换空间的使用情况。
total 列显示系统总的可用物理内存和交换空间大小。
used 列显示已经被使用的物理内存和交换空间。
free 列显示还有多少物理内存和交换空间可用使用。
shared 列显示被共享使用的物理内存大小。
buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。
available 列显示还可以被应用程序使用的物理内存大小。

 

pstack命令: 

  可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID

  格式:  pstack [PID]

  显示每个进程的栈跟踪:pstack 8161

  

 

su命令: 用于变更为其他使用者的身份

  格式:  su [选项]

  参数:

  -f  不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh

  -m -p  执行 su 时不改变环境变数

  -c  变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者

  -s  指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell

  --help 显示说明文件

  --version 显示版本资讯

  -l 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root

  USER 欲变更的使用者帐号

  ARG 传入新的 shell 参数

除此外要注意 su 和 su - 命令的区别:

  最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。

 

sudo(sudo -, sudo -s)命令:

  用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

  参数:

  1. -b:在后台执行指令; -h:显示帮助; -H:将HOME环境变量设为新身份的HOME环境变量; -k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。 -l:列出目前用户可执行与无法执行的指令; -p:改变询问密码的提示符号; -s<shell>:执行指定的shell; -u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份; -v:延长密码有效期限5分钟; -V :显示版本信息。

  配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。

 当你需要让创建的新用户有和 root 一样的权限的时候,就仿照 root 的格式将新用户写在 root 用户下面,需要限制的时候就只给新用户写入需要执行的命令语句就好。

 

adduser命令:用于新增使用者帐号或更新预设的使用者资料。

  参数:

  -c comment 新使用者位于密码档(通常是 /etc/passwd)的注解资料

  -d home_dir 设定使用者的家目录为 home_dir ,预设值为预设的 home 后面加上使用者帐号 loginid

  -e expire_date 设定此帐号的使用期限(格式为 YYYY-MM-DD),预设值为永久有效

  -f inactive_time 范例:

  

password命令:

  用来更改使用者的密码,普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd ,可以设置或修改任何用户的密码;

   参数:

  -d 删除密码

  -f 强制执行

  -k 更新只能发送在过期之后

  -l 停止账号使用

  -S 显示密码信息

  -u 启用已被停止的账户

  -x 设置密码的有效期

  -g 修改群组密码

  -i 过期后停止用户账号

安装gcc/g++,gdb,vim等:

  yum—— 软件包管理工具:redhat系列linux     

  查看软件包: 
   查看所有软件(能够安装的):yum list
   查看已经安装的软件包:yum list installed
  安装软件包(在root权限下执行) 
   yum install packet_name 

  例如:  yum install gdb
       yum install git
       yum install lrzsz
       yum install gcc
  移除软件包 yum remove

原文地址:https://www.cnblogs.com/cuckoo-/p/10704800.html