Linux命令使用记录(持续更新)

152 阅读5分钟

ipconfig/ifconfig

连接网口: ifconfig eth0 xx.xxx.xxx.xxx

查看ip:ipconfig

touch

用于改变文件或者文件夹的时间属性,包括读取时间和修改时间

若文件不存在,则会创建新文件

touch a.txt 如果文件不存在,则创建文件,否则只修改访问时间和修改时间,不会覆盖

touch -a a.txt -a这个参数是修改文件的访问时间(access time)为当前时间。

touch -c a.txt 可以看到如果文件不存在,就不会建立新的文件;如果已经存在的文件会改变访问时间和修改时间

touch -d "2020-12-12 08:00:00" a.txt 修改文件的访问时间

touch -m a.txt 改变文件的修改时间

touch -r a.txt b.txt 将a.txt文件的修改时间和访问时间更新到b.txt文件。

df -h

检查磁盘空间

全称"disk filesystem",用于在linux系统上或许文件系统的可用的和已用的磁盘空间使用

df -h 提供以人可读格式显示大小

例如:

df:显示设备名称、所有块、所有磁盘空间、已用磁盘空间、可用磁盘空间、在文件系统上挂载点的信息

root@19EG:/run/media/mmcblk1p1# df
Filesystem     1K-blocks    Used Available Use% Mounted on
rootfs           1781616  659332   1122284  38% /
devtmpfs            4096       4      4092   1% /dev
tmpfs            2009920       0   2009920   0% /dev/shm
tmpfs             803972   10240    793732   2% /run
tmpfs               4096       0      4096   0% /sys/fs/cgroup
tmpfs            2009924 2009924         0 100% /tmp
tmpfs            2009920      76   2009844   1% /var/volatile
/dev/mmcblk0    30359920      16  30359904   1% /run/media/mmcblk0
/dev/mmcblk1p1  30908656 6777168  24131488  22% /run/media/mmcblk1p1
tmpfs             401984       0    401984   0% /run/user/0

df -h:以上命令显示的信息是用字节的,不可阅读,人们习惯记住MB、GB,-h提供可以人可读格式显示大小

root@19EG:/run/media/mmcblk1p1# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          1.7G  590M  1.2G  34% /
devtmpfs        4.0M  4.0K  4.0M   1% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           786M   10M  776M   2% /run
tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs           2.0G  2.0G     0 100% /tmp
tmpfs           2.0G   52K  2.0G   1% /var/volatile
/dev/mmcblk0     29G   16K   29G   1% /run/media/mmcblk0
/dev/mmcblk1p1   30G  6.5G   24G  22% /run/media/mmcblk1p1
tmpfs           393M     0  393M   0% /run/user/0

其余参数:

df -a:与df相同,但是也与所有文件系统磁盘使用一起显示哑文件系统和他们的内存使用

df -k:用字节显示文件系统的信息

df -m:用MB显示文件系统信息

df -i:显示文件系统的大量已有inodes和他们的百分比信息

df -T:显示文件系统的类型

df -t xfs:显示特定文件系统类型,例如xfs

df -x xfs:排除特定文件系统类型

dmesg

全称display message,用于显示开机信息,kernel会将开机信息存储在ring buffer中,若是开机时来不及查看信息,可利用dmesg来查看。开机信息也保存在/var/log目录中,名称为dmesg的文件里

dmesg | grep -i cpu 过滤想看的信息,加-i可以忽略大小写

dmesg -d -T |grep -i Memory 便于阅读的方式显示日志

watch “dmesg | tail -10” 实时监控查看日志末尾N行

dmesg -l warn 查看指定级别格式日志 #支持的日志级别(优先级):
emerg - 系统无法使用
alert - 操作必须立即执行
crit - 紧急条件
err - 错误条件
warn - 警告条件
notice - 正常但重要的条件
info - 信息
debug - 调试级别的消息

devmem

用于内核调试。 在linux系统中,如果想要访问某个寄存器,需要写一个驱动程序,在驱动中映射寄存器地址,转为虚拟地址后可以访问,但当我们只是单纯想知道某个寄存器的值,可以用devmem工具,直接读写寄存器

使用方法:

devmem 0x40200000 32:读取32位0x40200000寄存器的值

devmem 0x40200000 32 0x12345678:向32位40200000寄存器写入0x12345678

进程相关的命令

经典的Linux进程管理命令:

ps、pstree、top、htop、nice、renice、kill、ulimit、w 和 who 和 whoami、pgrep、fg 和 bg、ipcs

top

ps

全称:process status,列出系统中当前正在运行的进程,就是执行ps命令的那个时刻的那些进程的快照

ps查看的结果不是动态连续的,想要动态显示进程信息,可以使用top、htop命令

kill命令用于杀死进程

ps -aux

ps

直接获取进程并杀掉 ps -aux | grep xxx | awk '{print $2}' | xargs kill -9

Linux驱动加载、模块建立和运行

uname -r:查看当前Linux系统的内核版本

sudo insmod xxx.ko:加载xx模块

lsmod:显示已经加载到内核中的模块的状态信息

sudo dmesg -c:查看加载时的打印信息

sudo rmmod xxxx.ko:卸载xxxx.ko模块

sudo dmesg -c:查看卸载时的打印信息

modprobe:和insmod类似,加载一个模块到内核,它不同在于它会查看要加载的模块,看是否它引用了当前内核没有定义的符号。如果发现有,modprobe在定义相关符号的当前模块搜索路径中寻找其他模块。当modprobe找到这些模块(要加载模块需要的),它也把他们加载到内核。如果在这种情况下使用insmod,就会失败,系统日志文件中留下"unsolved symbols"