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"