Linux:重要命令与重要目录:du, df, top, free, pstack, su,adduser, password,/proc,/sys,/SElinux,/bin,/usr等

目录


重要命令:

1:查看使用空间 du

2:  检查磁盘空间占用情况 df

3:性能分析工具 top

4:内存的使用情况 free

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

6:变更为其他使用者的身份 su

7:以其他身份来执行命令 sudo

8:命令用于新增使用者帐号  adduser

9: 设置修改用户密码 password

重要目录:

1:/proc,

2:/sys,

3:/SElinux,

4:/bin,

5:/usr/lib,

6:/usr/local,

7:/var,

8:/tmp



重要命令:

1:查看使用空间 du

Linux du命令是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的.

1.命令格式:

du [选项][文件]

2.命令功能:

显示每个文件和目录的磁盘使用空间。

3.命令参数:

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

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

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

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

-m: 以MB为单位输出。   

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

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

2:  检查磁盘空间占用情况 df

linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

1.命令格式:

df [选项] [文件]

2.命令功能:

显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示

3.命令参数:

必要参数:

-a 全部文件系统列表

-h 方便阅读方式显示

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

-i 显示inode信息

-k 区块为1024字节

-l 只显示本地文件系统

--no-sync 忽略 sync 命令

-P 输出格式为POSIX

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

-T 文件系统类型

3:性能分析工具 top

通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

 

 

参数含义:

当前时间,系统运行时间,格式:min  ,当前用户登录数,系统负载(即任务队列的平均长度)

total 进程总数,running 正在运行的进程数,sleeping 睡眠的进程数,stopped 停止的进程数,zombie 僵尸进程数

 us 用户空间占用CPU百分比,sy 内核空间占用CPU百分比。

 ni 用户进程空间内改变过优先级的进程占用CPU百分比。

 id 空闲CPU百分比,wa 等待输入输出的CPU时间百分比。

hi:硬件CPU中断占用百分比

si:软中断占用百分比,st:虚拟机占用百分比

参数说明:

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

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

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

S:指定累计模式。

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

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

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

4:内存的使用情况 free

可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

-b:以(字节)byte为单位显示内存的使用情况

-k:以kb为单位显示内存的使用情况

-m:以mb为单位显示内存的使用情况

-o:不显示缓冲区调节列

-s:持续观察内存的使用情况

-t:显示内存的总和列

参数解释:

一:

total:内存总数

used:以及使用的内存数

free:空闲的内存数   

关系:total = used + free

shared:当前已经废弃不用

buffers Buffer:缓存内存数

cached Page:缓存内存数

二:

(+ buffers/cached) used内存数:Mem行中 used - buffres  - cached

 (- buffers/cached) free内存数:Mem行中 free + buffers + cached
used:已使用多大,程序实实在在吃掉的内存 
free:可用有多少,反映的是可以挪用的内存总数。

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

pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。

此命令允许使用的唯一选项是要检查的进程的 PID。

6:变更为其他使用者的身份 su

用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

参数说明

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

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

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

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

7:以其他身份来执行命令 sudo

 sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

使用权限:在 /etc/sudoers 中有出现的使用者。

-h 会显示版本编号及指令的使用方式说明

-l 显示出自己(执行 sudo 的使用者)的权限

-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码

-k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)

-p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称

-u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)

-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell

-H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )

8:命令用于新增使用者帐号  adduser

命令用于新增使用者帐号或更新预设的使用者资料。adduser 与 useradd 指令为同一指令

使用权限:系统管理员

adduser是增加使用者。相对的,也有删除使用者的指令,userdel

9: 设置修改用户密码 password

passwd 作为普通用户和超级权限用户都可以运行,
但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;
如果root用户运行passwd ,可以设置或修改任何用户的密码;

passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;

如果是普通用户执行passwd 只能修改自己的密码

如果新建用户后,要为新用户创建密码,则用 passwd 用户名 ,注意要以root用户的权限来创建;

普通用户如果想更改自己的密码,直接运行passwd即可

-k, --keep-tokens       keep non-expired authentication tokens
注:保留即将过期的用户在期满后能仍能使用;
-d, --delete            delete the password for the named account (root only)
注:删除用户密码,仅能以root权限操作;
-l, --lock              lock the named account (root only)
注:锁住用户无权更改其密码,仅能通过root权限操作;
-u, --unlock            unlock the named account (root only)
注:解除锁定;
-f, --force             force operation
注:强制操作;仅root权限才能操作;
-x, :两次密码修正的最大天数,后面接数字;仅能root权限操作;
-n, 两次密码修改的最小天数,后面接数字,仅能root权限操作;
-w, 在距多少天提醒用户修改密码;仅能root权限操作;
-i, 在密码过期后多少天,用户被禁掉,仅能以root操作;
-S,查询用户的密码状态,仅能root用户操作;
only)


重要目录:

1:/proc

/proc   正在运行的内核信息映射

   主要输出:   进程信息     内存资源信息,磁盘分区信息等等

Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态

基于/proc文件系统如上所述的特殊性,其内的文件也常被称作虚拟文件,并具有一些独特的特点。例如,其中有些文件虽然使用查看命令查看时会返回大量信息,但文件本身的大小却会显示为0字节。此外,这些特殊文件中大多数文件的时间及日期属性通常为当前系统时间和日期,这跟它们随时会被刷新(存储于RAM中)有关。 

为了查看及使用上的方便,这些文件通常会按照相关性进行分类存储于不同的目录甚至子目录中,如/proc/scsi目录中存储的就是当前系统上所有SCSI设备的相关信息,/proc/N中存储的则是系统当前正在运行的进程的相关信息,其中N为正在运行的进程(可以想象得到,在某进程结束后其相关目录则会消失)。 

大多数虚拟文件可以使用文件查看命令如cat、more或者less进行查看,有些文件信息表述的内容可以一目了然,但也有文件的信息却不怎么具有可读性。不过,这些可读性较差的文件在使用一些命令如apm、free、lspci或top查看时却可以有着不错的表现。

一、 /proc 文件系统

/proc下文件基本都是只读的,除了/proc/sys目录,它是可写的(查看和修改内核的运行参数)

/proc下数字命令的目录就是对于PID的进程目录


/proc/cmdline 启动时传递给kernel的参数信息(就是bootargs信息) 
/proc/cpuinfo cpu的信息 
/proc/crypto 内核使用的所有已安装的加密密码及细节 
/proc/devices 已经加载的设备并分类 
/proc/dma 已注册使用的ISA DMA频道列表 
/proc/execdomains Linux内核当前支持的execution domains 
/proc/fb 帧缓冲设备列表,包括数量和控制它的驱动 
/proc/filesystems 内核当前支持的文件系统类型 
/proc/interrupts x86架构中的每个IRQ中断数 
/proc/iomem 每个物理设备当前在系统内存中的映射 
/proc/ioports 一个设备的输入输出所使用的注册端口范围 
/proc/kcore 代表系统的物理内存,存储为核心文件格式,里边显示的是字节数,等于RAM大小加上4kb 
/proc/kmsg 记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理 
/proc/loadavg 根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关 
/proc/locks 内核锁住的文件列表 
/proc/mdstat 多硬盘,RAID配置信息(md=multiple disks) 
/proc/meminfo RAM使用的相关信息 
/proc/misc 其他的主要设备(设备号为10)上注册的驱动 
/proc/modules 所有加载到内核的模块列表 
/proc/mounts 系统中使用的所有挂载 
/proc/partitions 分区中的块分配信息 
/proc/pci 系统中的PCI设备列表 
/proc/slabinfo 系统中所有活动的 slab 缓存信息 
/proc/stat 所有的CPU活动信息 
/proc/uptime 系统已经运行了多久 
/proc/swaps 交换空间的使用情况 
/proc/version Linux内核版本和gcc版本 
/proc/bus 系统总线(Bus)信息,例如pci/usb等 
/proc/driver 驱动信息 
/proc/fs 文件系统信息 
/proc/ide ide设备信息 
/proc/irq 中断请求设备信息 
/proc/net 网卡设备信息 
/proc/scsi scsi设备信息 
/proc/tty tty设备信息 
/proc/net/dev 显示网络适配器及统计信息 
/proc/vmstat 虚拟内存统计信息 
/proc/vmcore 内核panic时的内存映像 
/proc/diskstats 取得磁盘信息 
/proc/schedstat kernel调度器的统计信息 
/proc/zoneinfo 显示内存空间的统计信息,对分析虚拟内存行为很有用以下是/proc目录中进程N的信息/proc/N/cmdline 进程启动命令 
/proc/N/cwd 链接到进程当前工作目录 
/proc/N/environ 进程环境变量列表 
/proc/N/exe 链接到进程的执行命令文件 
/proc/N/fd 包含进程相关的所有的文件描述符(ls /proc/ /fd | wc -l 查看某个进程打开多少FD) 
/proc/N/maps 与进程相关的内存映射信息 
/proc/N/mem 指代进程持有的内存,不可读 
/proc/N/root 链接到进程的根目录 
/proc/N/stat 进程的状态 
/proc/N/statm 进程使用的内存的状态 
/proc/N/status进程状态信息,比stat/statm更具可读性 
/proc/self 链接到当前正在运行的进程 

详解:https://blog.csdn.net/hiyun9/article/details/51967742

2:/sys

/sys    硬件设备的驱动程序信息

 /sys 文件系统block busclass devdevices firmwarefs kernelmodulepower ① /sys/devices     (/sys文件系统最重要的目录结构)

该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备。一般来说,所有的物理设备都按其在总线上的拓扑结构来显示,但有两个例外,即platform devices和system devices。platform devices一般是挂在芯片内部的高速或者低速总线上的各种控制器和外设,它们能被CPU直接寻址;system devices不是外设,而是芯片内部的核心结构,比如CPU,timer等,它们一般没有相关的驱动,但是会有一些体系结构相关的代码来配置它们。

② /sys/dev

该目录下有字符设备(block)和块设备(char)两个子目录,里面全是以主次设备号(major:minor)命名的链接文件,链接到/sys/devices。

③ /sys/class     (按功能分类设备)

该目录下包含所有注册在kernel里面的设备类型,每个设备类型表达具有一种功能的设备。每个设备类型子目录下是具体设备的符号链接,这些链接指向/sys/devices/...下的具体设备。设备类型和设备并没有一一对应的关系,一个物理设备可能具备多种设备类型;一个设备类型只表达具有一种功能的设备,比如:系统所有输入设备都会出现在/sys/class/input之下,而不论它们是以何种总线连接到系统的。(/sys/class也是构成linux统一设备模型的一部分)

④ /sys/block     (从linux2.6.26版本开始已经移到了/sys/class/block) 

代表着系统中当前被发现的所有块设备。按照功能来说防止在/sys/class下会更合适,但由于历史遗留因素而一直存在于/sys/block,但从linux2.6.22内核开始这部分就已经标记为过去时,只有打开了CONFIG_SYSFS_DEPRECATED配置编译才会有这个目录存在,并且其中的内容在从linux2.6.26版本开始已经正式移到了/sys/class/block,旧的接口/sys/block为了向后兼容而保留存在,但其中的内容已经变为了指向它们在/sys/devices/中真实设备的符号链接文件。

⑤ /sys/bus    (按总线类型分类设备)

一般来说每个子目录(总线类型)下包含两个子目录,一个是devices,另一个是drivers;其中devices下是这个总线类型下的所有设备,这些设备都是符号链接,它们分别指向真正的设备(/sys/devices/...下);而drivers下是所有注册在这个总线上的驱动,每个driver子目录下 是一些可以观察和修改的driver参数。 (它也是构成linux统一设备模型的一部分)

⑥ /sys/module

该目录包含所有被载入Kernel的模块,无论这些模块是以内联(inlined)方式编译到内核映像文件中还是编译为外模块(.ko文件)

⑦ /sys/fs

该目录用来描述系统中所有的文件系统,包括文件系统本身和按照文件系统分类存放的已挂载点。

⑧ /sys/kernel

该目录下存放的是内核中所有可调整的参数

⑨ /sys/firmware

该目录下包含对固件对象(firmware object)和属性进行操作和观察的接口,即这里是系统加载固件机制的对用户空间的接口.(关于固件有专用于固件加载的一套API)

⑩/sys/power

该目录下有几个属性文件可以用于控制整个机器的电源状态,如向其中写入控制命令让机器关机/重启等等。

3:/SElinux

SELinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。

并非所有的 Linux distributions 都支持 SELinux  目前 SELinux 支持三种模式,分别如下:  •enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了; •permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取。这种模式可以运来作为 SELinux 的 debug 之用; •disabled:关闭,SELinux 并没有实际运作。

4:/bin

bin是binary的缩写,bin/ 简单说就是可执行的命令的目录。

例如: 

cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。

每个用户都拥有一个主目录。所有用户的个人文件(配置、数据甚至应用程序)都放在其中。根的主目录为/root。大多数非根主目录包含在 /home 树中,通常以用户命名。重要的二进制位于 /bin(用户二进制)以及 /sbin(系统二进制)中。不重要的二进制(如图形环境或Office 工具)安装在 /usr/bin和 /usr/sbin中。进行这种分隔是为了尽可能地缩小根分区。使用源代码编译的软件通常位于 /usr/local/bin 和 /usr/local/sbin中。

5:/usr/lib

目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件的存放位置。 这个目录功能类似/lib目录,理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,也不排除一些例外的情况。

6:/usr/local

安装本地程序的一般默认路径。 当我们下载一个程序源代码,编译并且安装的时候,如果不特别指定安装的程序路径,那么默认会将程序相关的文件安装到这个目录的对应目录下。例如,安装的程序可执行文件被安装(安装实质就是复制到了/usr/local/bin下面,此程序(可执行文件所需要依赖的库文件被安装到了/usr/local/lib目录下,被安装的软件如果是某个开发库(例如Qt,Gtk等那么相应的头文件可能就被安装到了/usr/local/include中等等。也就是说,这个目录存放的内容,一般都是我们后来自己安装的软件的默认路径,如果择了这个默认路径作为软件的安装路径,被安装的软件的所文件都限制在这个目录中,其中的子目录就相应于根目录的子目录。

7:/var

/var 所有服务的登录的文件或错误信息文件(LOG FILES)都在/var/log下,此外,一些数据库如MySQL则在/var/lib下,还有,用户未读的邮件的默认存放地点为/var/spool/mail

文件 /var/run/utmp 記錄著現在登入的用戶。

文件 /var/log/wtmp 記錄所有的登入和登出。

文件 /var/log/lastlog 記錄每個用戶最後的登入信息。

文件 /var/log/btmp 記錄錯誤的登入嘗試。

less /var/log/auth.log 需要身份确认的操作

8:/tmp

linux没有将不需要的文件删除的功能,却建立了两个临时性目录---/tmp和/var/tmp,在此目录下建立的文件,即使未作清理也不会弄乱一般的目录。大部分系统在开机时都会清理/tmp目录,而有些文字编辑程序会再/var/tmp下备份一个当前编辑程序。从而当系统崩溃会可用来恢复数据。

猜你喜欢

转载自blog.csdn.net/W_J_F_/article/details/82024390