Some Commands of Linux

前言

记录一些常用的Linux(主要是ubuntu)命令,免得一直上网查。

远程上传下载

1
2
3
4
5
6
# 上传
# -P 指定端口
# -i 指定密钥
# -r 递归复制整个目录
scp [-P port] [-i pbulickey] [-r] <LocalFilePath> username@ipaddress:<RemoteFilePath>
# 下载

系统信息

1
2
3
4
5
6
7
8
9
10
11
12
$ uname -a               # 查看内核/操作系统/CPU信息
$ cat /proc/cpuinfo # 查看CPU信息
$ cat /proc/meminfo # 查看内存信息
$ getconf LONG_BIT # 查看CPU运行在64bit还是32bit上
$ hostname # 查看计算机名
$ lspci -tv # 列出所有PCI设备
$ lsusb -tv # 列出所有USB设备
$ lsmod # 列出加载的内核模块,例如:lsmod | grep bbr
$ env # 查看环境变量
$ lsb_release -a # 查看系统版本
$ cat /etc/issue # 查看发行版
$ dmidecode # Getting SMBIOS data from sysfs

cat /proc/cpuinfo的一些查找命令

1
2
3
4
# 查看CPU型号
$ cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
# 查看CPU物理核数
$ cat /proc/cpuinfo | grep physical | uniq -c

系统资源

1
2
3
4
5
6
7
$ free -m                # 查看内存使用量和交换区使用量
$ df -h # 查看各分区使用情况
$ du -sh <目录名> # 查看指定目录的大小
$ grep MemTotal /proc/meminfo # 查看内存总量
$ grep MemFree /proc/meminfo # 查看空闲内存量
$ uptime # 查看系统运行时间、用户数、负载
$ cat /proc/loadavg # 查看系统负载

磁盘相关

1
2
3
4
$ mount | column -t      # 查看挂接的分区状态
$ fdisk -l # 查看所有分区
$ swapon -s # 查看所有交换分区
$ hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

dffdisk遇到过显示磁盘大小不一致的情况:参考资料,下面是在一台VPS上的处理过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 105M 0 105M 0% /dev
tmpfs 23M 2.6M 21M 12% /run
/dev/vda1 1.9G 1.3G 400M 68% /
tmpfs 115M 0 115M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 115M 0 115M 0% /sys/fs/cgroup
tmpfs 23M 0 23M 0% /run/user/0


$ fdisk -l
Disk /dev/vda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc8d5eddc

Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 20444799 20442752 9.8G 83 Linux
/dev/vda2 20444800 20969087 524288 256M 82 Linux swap / Solaris

## /dev/vda1 变大了。
$ resize2fs /dev/vda1

$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 105M 0 105M 0% /dev
tmpfs 23M 2.6M 21M 12% /run
/dev/vda1 9.6G 1.3G 7.9G 15% /
tmpfs 115M 0 115M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 115M 0 115M 0% /sys/fs/cgroup
tmpfs 23M 0 23M 0% /run/user/0

网络相关

1
2
3
4
5
6
7
$ ip a                   # 查看网络信息
$ ifconfig # 查看所有网络接口的属性
$ iptables -L # 查看防火墙设置
$ route -n # 查看路由表
$ netstat -lntp # 查看所有监听端口
$ netstat -antp # 查看所有已经建立的连接
$ netstat -s # 查看网络统计信息

看进程

1
2
3
$ ps -ef                 # 查看所有进程
$ top # 实时显示进程状态
$ htop # HDU显示进程状态

看用户

1
2
3
4
5
$ w                         # 查看活动用户
$ id <用户名> # 查看指定用户信息
$ last # 查看用户登录日志
$ cut -d: -f1 /etc/passwd # 查看系统所有用户
$ cut -d: -f1 /etc/group # 查看系统所有组