系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量 资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载 磁盘和分区
# mount | column -t # 查看所有挂载的文件系统
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
# lshw -short # 查看硬件信息
# fdisk -l | grep -i sda # 查看设备文件对应硬件具体信息
# mount -o remount,rw / # 重新挂载根文件系统(当根文件系统变为readonly时) 网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息 进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态 用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
# pkill -kill -t pts/0 # 強制其他用戶下線 服务
# chkconfig --list # 列出所有系统服务
# chkconfig --list | grep on # 列出所有启动的系统服务 程序
# rpm -qa # 查看所有安装的软件包
查看内存信息
# cat /proc/meminfo
查看机器型号
# dmidecode | grep "Product Name"
查看网卡信息
# dmesg | grep -i eth
block设备
cat /sys/block/xx/queue/rotational的返回值(其中xx为你的硬盘设备名称,例如sda等等),如果返回1 则表示磁盘可旋转,那么就是HDD了; 如果返回0,则表示磁盘不可以旋转,那么就是SSD了
/proc/loadavg
1、5、15分钟内的平均进程数,分子是正在运行的进程数,分母是进程总数,另一个是最近运行的进程ID号。
释放缓存
To free dentries and inodes:
# echo 1 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
# echo 2 > /proc/sys/vm/drop_caches
这是一种非破坏性的操作,只会释放完全未使用的东西。 脏对象将继续使用,直到将其写到磁盘上并且无法释放。 如果先运行“同步”以将它们刷新到磁盘,则这些删除操作将倾向于释放更多的内存。
echo 3 > /proc/sys/vm/drop_caches
sudo dumpe2fs /dev/*
查看superblock
dmidecode
查看dmi(Desktop Management Interface)桌面管理接口
smbclient //10.100.20.145/share -U user
终端访问samba服务器
查看主设备号
cat /proc/devices | grep 253
查看次设备号
ll /dev | grep 253 | grep -v grep
查看所有分区挂载信息
mount | grep /dev
问题1:我创建了一个硬链接文件,但是我不知道放在那里了,请问怎么办?
思路:
- 查找文件可以利用find命令。
- 硬链接的特性,不会跨文件系统,所以源文件在哪个文件系统中,就在那里找
- 硬链接文件和源文件具有相同的inode号,可以利用find的-inum参数和-samefile参数来查找。
- inum参数表示按照inode号去查找,首先要查看文件的inode号
- samefile参数表示查找和某个文件相同的inode的文件,不用查看文件的inode号
[root@lixin oldboy]# stat oldboy.txt //获取文件的inode号码
File:`oldboy.txt'
Size:55 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 148677 Links: 2
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2016-04-17 15:32:13.861206307 +0800
Modify: 2016-04-17 14:20:13.246213893 +0800
Change: 2016-04-17 16:04:17.023206128 +0800
[root@lixin oldboy]# find / -inum 148677 2>/dev/null //根据Inode号码查找,把错误提示丢弃
/usr/local/xiaoming
/data/oldboy/oldboy.txt
[root@lixin oldboy]#
问题2:我对文件n创建了一个软连接文件,但是我不知道放在哪里了,也不知道叫什么名字,请问怎么办?
思路:
- 软链接可以跨文件系统,并且inode、属性都和源文件的不同没有规律可以寻
- 当我们使用ls –l命令查看链接文件的时候,它都会以:filename -> link filename方式显示。
- 我们寻找当前系统内所有的链接文件,然后过滤我们要找的源文件名n,就能查看有哪些文件指向了源文件。
[root@lixin oldboy]# find -type l -exec ls -l {} \;
lrwxrwxrwx 1 root root 1 Apr 17 16:21 ./xiaohong-> 1
lrwxrwxrwx 1 root root 10 Apr 17 16:16./oldgirl.txt -> oldboy.txt
[root@lixin oldboy]# //找到文件后,长格式显示,然后过滤源文件名
[root@lixin oldboy]# find -type l -exec ls -l {} \;| grep 'oldboy.txt'
lrwxrwxrwx 1 root root 10 Apr 17 16:16./oldgirl.txt -> oldboy.txt
tftp -g -r zImage 172.16.90.102
tftp获取文件