目录
1、系统控制
1.1、使用命令关机
sudo halt // 标准情况下是关机 但是要手动关闭电源 。
sudo shutdown -h now // 直接关机并关闭电源
sudo shutdown -h 18:00 // 指定时间关机
sudo shutdown -h +10 // 指定多少分钟后关机
1.2、重启电脑
sudo reboot // 引发主机重启
sudo shutdown -r now // 直接重启
1.3、使用命令开关笔记本的触摸板
synclient touchpadoff=1 // 关闭触摸板
synclient touchpadoff=0 // 开启触摸板
1.4、系统的日期和时间操作
1)时间的参考和设置
cal // 显示当月日历
date -s HH:MM // 设置系统时间
2)从服务器上同步时间
sudo ntpdate ntp.ubuntu.com
sudo ntpdate time.nist.gov
3)设置电脑的时区为上海
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
1.5、查看当前的内存使用
free -h // 显示一次当前内存的使用情况
free -h -s 2 // 指定多少秒的间隔显示一次内存的使用情况。这个会一直输出显示
watch -d free // 连续监视内存使用,同一个位置显示。使用 Ctrl+c 退出。
1.6、其他操作
1)查看内核
uname -r
2)查看 Ubuntu 版本
cat /etc/issue
或 cat /etc/lsb-release
或 lsb_release -dsc
3)查看内核加载的模块
lsmod
4)查看 PCI 设备
lspci
5)查看 USB 设备
lsusb
加参数 -v 可以显示 USB设备的描述表(descriptors)
lsusb -v
6)查看网卡状态
sudo ethtool eth0
7)查看 CPU 信息
cat /proc/cpuinfo
8)显示当前硬件信息
sudo lshw
9)显示当前内存 大小
free -m |grep "Mem" | awk '{print $2}'
10)查看硬盘 温度
sudo apt-get install hddtemp
sudo hddtemp /dev/sda
2、进程的操作
2.1、动态显示进程的使用情况
top
如下图所示:
2.2、查看系统当前有哪些进程
(1)列出当前登录的用户的进程
ps -l
输入内容如下图所示:
说明如下:
F:代表这个程序的旗标 (flag), 4 代表使用者为 superuser;
S:代表这个程序的状态 (STAT);
UID:代表执行者身份
PID:进程的ID号!
PPID:父进程的ID;
C:CPU使用的资源百分比
PRI:指进程的执行优先权(Priority的简写),其值越小越早被执行;
NI:这个进程的nice值,其表示进程可被执行的优先级的修正数值。
ADDR:这个是内核函数,指出该程序在内存的那个部分。如果是个执行 的程序,一般就是『 - 』
SZ 使用掉的内存大小;
WCHAN:目前这个程序是否正在运作当中,若为 - 表示正在运作;
TTY:登入者的终端机位置;
TIME:使用掉的 CPU 时间。
CMD:所下达的指令名称
(2)列出目前所有的正在内存当中的程序
ps aux
输出内容如下图所示:
说明如下:
USER:该进程属于那个使用者账号。
PID :该进程的进程ID号。
%CPU:该进程使用掉的 CPU 资源百分比;
%MEM:该进程所占用的物理内存百分比;
VSZ :该进程使用掉的虚拟内存量 (Kbytes)
RSS :该进程占用的固定的内存量 (Kbytes)
TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有:
R :该程序目前正在运作,或者是可被运作;
S :该程序目前正在睡眠当中,但可被某些讯号(signal) 唤醒。
T :该程序目前正在侦测或者是停止了;
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该进程被触发启动的时间;
TIME :该进程实际使用 CPU 运作的时间。
COMMAND:该程序的实际指令。
2.3、统计程序的内存耗用情况
ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort
-k2 -nr
2.4、按内存从大到小排列进程
ps -eo "%C : %p : %z : %a"|sort -k5 -nr
2.5、按 cpu 利用率从大到小排列进程
ps -eo "%C : %p : %z : %a"|sort -nr
2.6、查看当前进程树
pstree
输入内容如下(部分截图):
2.7、终止进程
1)终止一个进程
kill 进程号(PID号)
或者
killall 进程名
2)强制终止一个进程
kill -9 进程号
或者
killall -9 进程名
2.8、清除僵尸进程
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9
2.9、进程的其他操作
1)lsof -p 进程的pid // 查看进程打开的文件
2)lsof abc.txt // 显示开启文件 abc.txt 的进程
3)lsof -i :22 // 显示 22 端口现在运行什么程序
4)lsof -c nsd // 显示 nsd 进程现在打开的文件
3、硬盘管理命令
3.1、分区操作
1)分区卸载
sudo umount 目录名或设备名
2)只读挂载 ntfs 分区
sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
3)可写挂载 ntfs 分区
sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c
4)挂载 fat32 分区
sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c
3.2、挂载文件
1)挂载共享文件
sudo mount -t smbfs -o
username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share
2)挂载 ISO 文件
sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso
3.3、查看 IDE 硬盘信息
sudo hdparm -i /dev/hda
3.4、查看软 raid 阵列信息
cat /proc/mdstat
3.5、查看 SATA 硬盘信息
sudo hdparm -I /dev/sda
或
sudo apt-get install blktool
sudo blktool /dev/sda id
3.6、查看硬盘剩余空间
df
用法:df [选项]... [文件]...显示每个<文件>所在的文件系统的信息,默认是显示所有
文件系统。
长选项必须用的参数在使用短选项时也是必需的。
-a, --all 包括大小为 0 个块的文件系统
-B, --block-size=大小 块以指定<大小>的字节为单位
-h, --human-readable 以容易理解的格式印出文件系统大小 (例如 1K 234M 2G)
-H, --si 类似 -h,但取 1000 的次方而不是 1024
-i, --inodes 显示 inode 信息而非块使用量
-k 即 --block-size=1K
-l, --local 只显示本机的文件系统
--no-sync 取得使用量数据前不进行同步动作 (默认)
-P, --portability 使用 POSIX 兼容的输出格式
--sync 取得使用量数据前先进行同步动作
-t, --type=类型 只印出指定文件系统为指定<类型>的信息
-T, --print-type 印出文件系统类型
-x, --exclude-type=类型 只印出文件系统不是指定<类型>信息
-v (忽略)
--help 显示此帮助信息并离开
--version 显示版本信息并离开
4、网络操作命令
4.1、网络查询操作
1)根据IP查询网卡地址
arping IP 地址
2)根据IP查询电脑名
nmblookup -A IP 地址
3)查看当前IP地址
ifconfig eth0 |awk '/inet/ {split($2,x,":");print x[2]}'
4)查看当前网卡的物理地址
ifconfig eth0 | head -1 | awk '{print $5}'
4.2、修改网卡MAC地址
sudo ifconfig eth0 down #关闭网卡
sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址
sudo ifconfig eth0 up #然后启动网卡
永久改地址方法:
sudo gedit /etc/network/interfaces
在 iface eth0 inet static 后面添加一行:
pre-up ifconfig eth0 hw ether 01:01:01:01:01:01
4.3、屏蔽IPV6
echo "blacklist ipv6" | sudo tee /etc/modprobe.d/blacklist-ipv6
4.4、重新从服务器获得IP地址
sudo dhclient
5、用户管理
5.1、查询系统的所有用户
1)cat /etc/passwd
2)cat /etc/group
3)whoami // 查询当前用户
5.2、切换用户账号
1)切换到root账号
sudo –s
2)切换到其他账号
su 用户名
5.3、用户操作
1)增加用户
sudo adduser 用户名
2)删除用户
sudo deluser 用户名
3)修改用户密码
sudo passwd 用户名
4)禁止/启用某个用户
sudo usermod -L 用户名 #锁定用户
sudo usermod -U 用户名 #解锁
或
sudo passwd -l 用户名 #锁定用户
sudo passwd -u 用户名 #解锁
5)增加用户到admin组,让其有sudo权限
sudo usermod -G admin -a 用户名
对嵌入式技术感兴趣,欢迎关注微信公众号“嵌入式之入坑笔记”,一起学习讨论啊!