跟kernel相关的命令和几个内核参数

ldd命令:ldd命令用于打印程序或者库文件所依赖的共享库列表

ldd  programname

使用实例:

[[email protected] ~]# ldd /bin/bash
	linux-vdso.so.1 =>  (0x00007fff38ddc000)
	libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00000030d0400000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00000030c8400000)
	libc.so.6 => /lib64/libc.so.6 (0x00000030c8800000)
	/lib64/ld-linux-x86-64.so.2 (0x00000030c8000000)

lsmod命令:lsmod命令用于显示已经加载到内核中的模块的状态信息。执行lsmod命令后会列出所有已载入系统的模块
使用实例:

[[email protected] ~]# lsmod | grep mptspi
mptspi                 16411  3 
mptscsih               36638  1 mptspi
mptbase                93615  2 mptspi,mptscsih
scsi_transport_spi     25447  1 mptspi
第1列:表示模块的名称;
第2列:表示模块的大小;
第3列:表示依赖模块的个数;
第4列:表示依赖模块的内容。

modprobe命令:modprobe命令用于智能地向内核中加载模块或者从内核中移除模块

使用实例:

动态卸载模块:modprobe  -r  module_name

[[email protected] ~]# modprobe -r ipv6
FATAL: Module ipv6 is in use.

模块的动态装载:modprobe  module_name

[[email protected] ~]# modprobe  ipv6

mkinitrd命令:ramdisk文件的管理

为当前使用中的内核重新制作ramdisk文件:

# mkinitrd [OPTION...] [<initrd-image>] <kernel-version>

--with=<module>:除了默认的模块之外需要装载至initramfs中的模块;

--preload=<module>:initramfs所提供的模块需要预先装载的模块;

示例: ~]# mkinitrd  /boot/initramfs-$(uname -r).img   $(uname -r)

使用实例:

[[email protected] ~]# cd /boot/

[[email protected] boot]# ls

config-2.6.32-573.el6.x86_64  initramfs-2.6.32-573.el6.x86_64.img    symvers-2.6.32-573.el6.x86_64.gz

efi                           initrd-2.6.32-573.el6.x86_64kdump.img  System.map-2.6.32-573.el6.x86_64

grub                          lost+found                             vmlinuz-2.6.32-573.el6.x86_64

[[email protected] boot]# mv initramfs-2.6.32-573.el6.x86_64.img initramfs-2.6.32-573.el6.x86_64.img.bak

[[email protected] boot]# mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

[[email protected] boot]# ll
total 66967
-rw-r--r--. 1 root root   107134 Jul  2  2015 config-2.6.32-573.el6.x86_64
drwxr-xr-x. 3 root root     1024 Sep 30 22:29 efi
drwxr-xr-x. 2 root root     1024 Nov  1 01:59 grub
-rw-------. 1 root root 28028282 Nov  1 02:41 initramfs-2.6.32-573.el6.x86_64.img
-rw-------. 1 root root 27940603 Sep 30 22:32 initramfs-2.6.32-573.el6.x86_64.img.bak
-rw-------. 1 root root  5456789 Sep 30 22:43 initrd-2.6.32-573.el6.x86_64kdump.img
drwx------. 2 root root    12288 Sep 30 22:14 lost+found
-rw-r--r--. 1 root root   205998 Jul  2  2015 symvers-2.6.32-573.el6.x86_64.gz
-rw-r--r--. 1 root root  2585052 Jul  2  2015 System.map-2.6.32-573.el6.x86_64
-rwxr-xr-x. 1 root root  4222192 Jul  2  2015 vmlinuz-2.6.32-573.el6.x86_64

内核信息输出的伪文件系统:

/proc:内核状态和统计信息的输出接口;同时,还提供一个配置接口,/proc/sys;

参数:

只读:信息输出;例如/proc/#/*

可写:可接受用户指定一个“新值”来实现对内核某功能或特性的配置;/proc/sys/

/proc/sys:

net/ipv4/ip_forward  相当于  net.ipv4.ip_forward

(1) sysctl命令

专用于查看或设定/proc/sys目录下参数的值;

sysctl [options]  [variable[=value]]

查看:

# sysctl  -a

# sysctl  variable

修改其值:

# sysctl  -w  variable=value

(2) 文件系统命令(cat, echo)

查看:

# cat  /proc/sys/PATH/TO/SOME_KERNEL_FILE

设定:

# echo  "VALUE"  > /proc/sys/PATH/TO/SOME_KERNEL_FILE

注意:上述两种方式的设定仅当前运行内核有效;

(3) 配置文件:/etc/sysctl.conf,  /etc/sysctl.d/*.conf

立即生效的方式:sysctl  -p  [/PATH/TO/CONFIG_FILE]

内核参数:

net.ipv4.ip_forward:核心转发;

kernel.hostname:主机名;

net.ipv4.icmp_echo_ignore_all:忽略所有ping操作;

时间: 2024-10-12 16:02:14

跟kernel相关的命令和几个内核参数的相关文章

1-21 网络管理相关的命令

  大纲: 1.1-网络协议的应用和TCP连接 了解常见的网络相关协议 TCP三次握手和四次挥手 1.2-RHEL7.网络管理 网络相关的调试命令 实战tcpdump和tshark抓包 网络协议的应用和连接 常见网络协议: ARP(Address Resolution Protocol)协议:IP地址解析为MAC地址 UDP(User Datagram Protocol)协议:用户数据包协议 DHCP(Dynamic Host Configuration Protocol)协议:动态主机配置协议

linux学习笔记(一)-文件目录相关的命令&&文件通配符

一.几个命令概述 1.查看目录以及目录底下的文件:ls(-a显示隐藏文件:-d显示目录本身:-l显示详细内容:-R递归显示,即把子目录的文件也显示出来:-h以更加被人类理解的格式显示,比如显示文件大小的时候用M为单位显示:-i显示文件索引ID) 2.查看文件内容:cat,head,tail,less,more,tac cat:将文件连接起来,输出在屏幕上,可接多个文件(-E:显示隐藏的换行符:-n:显示出行号) head:默认查看文件的前10行(-n#:查看文件的前#行.空白行也是一行) tai

Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法

Java的cmd配置(也即Java的JDK配置及相关常用命令) ——找不到或无法加载主类  的解决方法 这段时间一直纠结于cmd下Java无法编译运行的问题.主要问题描述如下: javac 命令可以正常运行,而java命令有时可以正常运行,有时却不可以,不可以的症状就是显示“找不到或无法加载主类”. 在网上找了各种资料,最终发现是因为代码里含有package语句,所以无法在cmd下运行java命令解释.class文件.而那些可以运行的文件就是因为没有使用package语句. 我这种问题的解决方法

Redis 键(key)相关的命令及其它命令的查看地址

Redis 键(key) Redis 键命令用于管理 redis 的键. 语法 Redis 键命令的基本语法如下: redis 127.0.0.1:6379> COMMAND KEY_NAME 实例: 在以上实例中 DEL 是一个命令, runoobkey 是一个键. 如果键被删除成功,命令执行后输出 (integer) 1,否则将输出 (integer) 0 下面给大家列举几个常用的跟键相关的命令: Redis DEL 命令 Redis DEL 命令用于删除已存在的键.不存在的 key 会被忽

Linux CentOS 7 shell中的特殊字符及与管道相关的命令(cut,sort,wc,uniq,tee,tr,split)

一. shell特殊符号cut命令 1.特殊符号 * :任意个任意字符 ? :任意单个字符# :注释\ :转义字符 | :管道符 2.几个和管道相关的命令 (1) cut cut 把文件分段 cat /etc/passwd cut -d: -f 3  /etc/passwd    cut -d: -f 3,6,5  /etc/passwd cut -d: -f 3-6  /etc/passwd cut -c 10 /etc/passwd   取第十个字符 cut -c 5-10 /etc/pas

redis中与key相关的命令

1.简单描述 redis本质上是一个key-value db,value可以有多种类型(string.hash.set.sorted set.list等),本章节不讲这些类型的命令,这里是讲跟key相关的命令操作. key本身是string类型,不支持边界符,比如my key 这种名字是会报错的,mykey\n这样包含换行符的也不行,包含\r\n的会被特殊处理,暂不细说. 由于redis的数据是在内存中的,所以如果key的名字过长,会占用更多字节,另外就是查找的时候,会比长度短的key慢.但是k

linux 文件相关的命令

常用的文件相关的命令有:mkdir,rmdir,touch,stat,rm,cp,mv,install 命名规则: 1)长度不能超过255个字符 2)不能使用'/'当文件名 3)严格区分大小写 1.mkdir: 创建文件空目录 -p:可以连续创建 2.rmdir: 只能删除空目录 -p:删除一条线上的空目录 3.stat:查看文件状态(时间戳) 4.touch:更改时间戳,如果没有目标,则创建目标文件 5.rm: 删除文件或文件夹 -r:进行递归删除 -f: 强制性删除(忽略友好提示) 6.cp

Linux 相关scsi命令

Linux 相关scsi命令 由于前段时间存储扩容,对存储操作较多,下面记录了常用的操作: lsscsi命令:显示scsi设备信息 #lsscsi [0:0:0:2]    disk    IBM      1726-4xx  FAStT  0617  /dev/sdb [0:0:0:3]    disk    IBM      1726-4xx  FAStT  0617  /dev/sdc [0:0:0:4]    disk    IBM      1726-4xx  FAStT  0617 

linux 用户和组管理相关的命令

                 linux 用户和组管理相关的命令 用户管理 useradd 建立用户帐号 语 法:useradd [options] LOGIN参 数: -u UID: [UID_MIN, UID_MAX]定义在/etc/login.defs -o 配合-u 选项,不检查UID的唯一性 -g GID:指明用户所属基本组,可为组名,也可以GID -G GROUP1[,GROUP2,...]:为用户指明附加组,组必须事先存在 -c "COMMENT":用户的注释信息 -