• linux学习2 — ubuntu 常用的命令总结


    目录

    1、系统控制

    1.1、使用命令关机

    1.2、重启电脑

    1.3、使用命令开关笔记本的触摸板

    1.4、系统的日期和时间操作

    1.5、查看当前的内存使用

    1.6、其他操作

    2、进程的操作

    2.1、动态显示进程的使用情况

    2.2、查看系统当前有哪些进程

    2.3、统计程序的内存耗用情况

    2.4、按内存从大到小排列进程

    2.5、按 cpu 利用率从大到小排列进程

    2.6、查看当前进程树

    2.7、终止进程

    2.8、清除僵尸进程

    2.9、进程的其他操作

    3、硬盘管理命令

    3.1、分区操作

    3.2、挂载文件

    3.3、查看 IDE 硬盘信息

    3.4、查看软 raid 阵列信息

    3.5、查看 SATA 硬盘信息

    3.6、查看硬盘剩余空间

    4、网络操作命令

    4.1、网络查询操作

    4.2、修改网卡MAC地址

    4.3、屏蔽IPV6

    4.4、重新从服务器获得IP地址

    5、用户管理

    5.1、查询系统的所有用户

    5.2、切换用户账号

    5.3、用户操作


    1、系统控制

    1.1、使用命令关机

    1. sudo halt // 标准情况下是关机 但是要手动关闭电源 。
    2. sudo shutdown -h now // 直接关机并关闭电源
    3. sudo shutdown -h 18:00 // 指定时间关机
    4. sudo shutdown -h +10 // 指定多少分钟后关机

    1.2、重启电脑

    1. sudo reboot // 引发主机重启
    2. sudo shutdown -r now // 直接重启

    1.3、使用命令开关笔记本的触摸板

    1. synclient touchpadoff=1 // 关闭触摸板
    2. synclient touchpadoff=0 // 开启触摸板

    1.4、系统的日期和时间操作

    1. 1)时间的参考和设置
    2. cal // 显示当月日历
    3. date -s HH:MM // 设置系统时间
    4. 2)从服务器上同步时间
    5. sudo ntpdate ntp.ubuntu.com
    6. sudo ntpdate time.nist.gov
    7. 3)设置电脑的时区为上海
    8. sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    1.5、查看当前的内存使用

    1. free -h // 显示一次当前内存的使用情况
    2. free -h -s 2 // 指定多少秒的间隔显示一次内存的使用情况。这个会一直输出显示
    3. watch -d free // 连续监视内存使用,同一个位置显示。使用 Ctrl+c 退出。

    1.6、其他操作

    1. 1)查看内核
    2. uname -r
    3. 2)查看 Ubuntu 版本
    4. cat /etc/issue
    5. 或 cat /etc/lsb-release
    6. 或 lsb_release -dsc
    7. 3)查看内核加载的模块
    8. lsmod
    9. 4)查看 PCI 设备
    10. lspci
    11. 5)查看 USB 设备
    12. lsusb
    13. 加参数 -v 可以显示 USB设备的描述表(descriptors)
    14. lsusb -v
    15. 6)查看网卡状态
    16. sudo ethtool eth0
    17. 7)查看 CPU 信息
    18. cat /proc/cpuinfo
    19. 8)显示当前硬件信息
    20. sudo lshw
    21. 9)显示当前内存 大小
    22. free -m |grep "Mem" | awk '{print $2}'
    23. 10)查看硬盘 温度
    24. sudo apt-get install hddtemp
    25. sudo hddtemp /dev/sda

    2、进程的操作

    2.1、动态显示进程的使用情况

    top    

    如下图所示:

    2.2、查看系统当前有哪些进程

    (1)列出当前登录的用户的进程

    ps -l

    输入内容如下图所示:

    说明如下:

    1. F:代表这个程序的旗标 (flag), 4 代表使用者为 superuser;
    2. S:代表这个程序的状态 (STAT);
    3. UID:代表执行者身份
    4. PID:进程的ID号!
    5. PPID:父进程的ID;
    6. C:CPU使用的资源百分比
    7. PRI:指进程的执行优先权(Priority的简写),其值越小越早被执行;
    8. NI:这个进程的nice值,其表示进程可被执行的优先级的修正数值。
    9. ADDR:这个是内核函数,指出该程序在内存的那个部分。如果是个执行 的程序,一般就是『 -
    10. SZ 使用掉的内存大小;
    11. WCHAN:目前这个程序是否正在运作当中,若为 - 表示正在运作;
    12. TTY:登入者的终端机位置;
    13. TIME:使用掉的 CPU 时间。
    14. CMD:所下达的指令名称

    (2)列出目前所有的正在内存当中的程序

    ps aux

    输出内容如下图所示:

    说明如下:

    1. USER:该进程属于那个使用者账号。
    2. PID :该进程的进程ID号。
    3. %CPU:该进程使用掉的 CPU 资源百分比;
    4. %MEM:该进程所占用的物理内存百分比;
    5. VSZ :该进程使用掉的虚拟内存量 (Kbytes)
    6. RSS :该进程占用的固定的内存量 (Kbytes)
    7. TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
    8. STAT:该程序目前的状态,主要的状态有:
    9. R :该程序目前正在运作,或者是可被运作;
    10. S :该程序目前正在睡眠当中,但可被某些讯号(signal) 唤醒。
    11. T :该程序目前正在侦测或者是停止了;
    12. Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
    13. START:该进程被触发启动的时间;
    14. TIME :该进程实际使用 CPU 运作的时间。
    15. COMMAND:该程序的实际指令。

    2.3、统计程序的内存耗用情况

    1. ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort
    2. -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. 1)终止一个进程
    2. kill 进程号(PID号)
    3. 或者
    4. killall 进程名
    5. 2)强制终止一个进程
    6. kill -9 进程号
    7. 或者
    8. killall -9 进程名

    2.8、清除僵尸进程

    ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9
    
    

    2.9、进程的其他操作

    1. 1)lsof -p 进程的pid // 查看进程打开的文件
    2. 2)lsof abc.txt // 显示开启文件 abc.txt 的进程
    3. 3)lsof -i :22 // 显示 22 端口现在运行什么程序
    4. 4)lsof -c nsd // 显示 nsd 进程现在打开的文件

    3、硬盘管理命令

    3.1、分区操作

    1. 1)分区卸载
    2. sudo umount 目录名或设备名
    3. 2)只读挂载 ntfs 分区
    4. sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
    5. 3)可写挂载 ntfs 分区
    6. sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c
    7. 4)挂载 fat32 分区
    8. sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c

    3.2、挂载文件

    1. 1)挂载共享文件
    2. sudo mount -t smbfs -o
    3. username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share
    4. 2)挂载 ISO 文件
    5. 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 硬盘信息

    1. sudo hdparm -I /dev/sda
    2. sudo apt-get install blktool
    3. sudo blktool /dev/sda id

    3.6、查看硬盘剩余空间

    1. df
    2. 用法:df [选项]... [文件]...显示每个<文件>所在的文件系统的信息,默认是显示所有
    3. 文件系统。
    4. 长选项必须用的参数在使用短选项时也是必需的。
    5. -a, --all 包括大小为 0 个块的文件系统
    6. -B, --block-size=大小 块以指定<大小>的字节为单位
    7. -h, --human-readable 以容易理解的格式印出文件系统大小 (例如 1K 234M 2G)
    8. -H, --si 类似 -h,但取 1000 的次方而不是 1024
    9. -i, --inodes 显示 inode 信息而非块使用量
    10. -k 即 --block-size=1K
    11. -l, --local 只显示本机的文件系统
    12. --no-sync 取得使用量数据前不进行同步动作 (默认)
    13. -P, --portability 使用 POSIX 兼容的输出格式
    14. --sync 取得使用量数据前先进行同步动作
    15. -t, --type=类型 只印出指定文件系统为指定<类型>的信息
    16. -T, --print-type 印出文件系统类型
    17. -x, --exclude-type=类型 只印出文件系统不是指定<类型>信息
    18. -v (忽略)
    19. --help 显示此帮助信息并离开
    20. --version 显示版本信息并离开

    4、网络操作命令

    4.1、网络查询操作

    1. 1)根据IP查询网卡地址
    2. arping IP 地址
    3. 2)根据IP查询电脑名
    4. nmblookup -A IP 地址
    5. 3)查看当前IP地址
    6. ifconfig eth0 |awk '/inet/ {split($2,x,":");print x[2]}'
    7. 4)查看当前网卡的物理地址
    8. ifconfig eth0 | head -1 | awk '{print $5}'

    4.2、修改网卡MAC地址

    1. sudo ifconfig eth0 down #关闭网卡
    2. sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址
    3. sudo ifconfig eth0 up #然后启动网卡
    4. 永久改地址方法:
    5. sudo gedit /etc/network/interfaces
    6. 在 iface eth0 inet static 后面添加一行:
    7. 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. 1)cat /etc/passwd
    2. 2)cat /etc/group
    3. 3)whoami // 查询当前用户

    5.2、切换用户账号

    1. 1)切换到root账号
    2. sudo –s
    3. 2)切换到其他账号
    4. su 用户名

    5.3、用户操作

    1. 1)增加用户
    2. sudo adduser 用户名
    3. 2)删除用户
    4. sudo deluser 用户名
    5. 3)修改用户密码
    6. sudo passwd 用户名
    7. 4)禁止/启用某个用户
    8. sudo usermod -L 用户名 #锁定用户
    9. sudo usermod -U 用户名 #解锁
    10. sudo passwd -l 用户名 #锁定用户
    11. sudo passwd -u 用户名 #解锁
    12. 5)增加用户到admin组,让其有sudo权限
    13. sudo usermod -G admin -a 用户名

    对嵌入式技术感兴趣,欢迎关注微信公众号“嵌入式之入坑笔记”,一起学习讨论啊!

  • 相关阅读:
    提升团队能力的真正利器不是培训而是复盘,
    以太坊铭文聚合交易平台 Scorpio,铭文爆发的新推手?
    宣布 .NET MAUI 支持 .NET 7 Release Candidate 2
    3D生成式AI模型与工具
    7.1ASP.NET Core中的依赖注入
    十大开源大模型的特点及应用要点
    【Linux】gcc的使用
    【Filter 过滤器、Listener 监听器基础】
    程序猿成长之路之密码学篇-RSA非对称分组加密算法介绍
    企业级自定义表单引擎解决方案(十一)--表单规则引擎1
  • 原文地址:https://blog.csdn.net/weixin_43866583/article/details/126689839