当前位置: 首页 > news >正文

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、使用命令关机

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 用户名

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

相关文章:

  • 真相浮出水面
  • 理解JVM
  • @GlobalLock注解作用与原理解析
  • [RK3568][Android11]内核Oops日志分析
  • 【VUE项目实战】64、CND优化ElementUI以及首页内容定制
  • 杂事之所忆
  • 全连接神经网络百度百科,全连接神经网络的作用
  • 你有真正了解过国产开源框架APM工具——SkyWalking技术有多牛吗
  • R语言奇异值分解
  • Python的一些Pythnoic【我自己没读完,待看待再次整理】
  • 【代码随想录】栈与队列专栏(java版本)
  • tsconfig 配置文件各字段详解
  • java毕业设计能源控制系统mybatis+源码+调试部署+系统+数据库+lw
  • 数据分析-numpy1
  • 汇率价格统一,当前购买Fabfilter价格更便宜了
  • 收藏网友的 源程序下载网
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • canvas 五子棋游戏
  • eclipse(luna)创建web工程
  • Just for fun——迅速写完快速排序
  • 从零开始学习部署
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 服务器从安装到部署全过程(二)
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 盘点那些不知名却常用的 Git 操作
  • 批量截取pdf文件
  • 如何胜任知名企业的商业数据分析师?
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用 QuickBI 搭建酷炫可视化分析
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 一个JAVA程序员成长之路分享
  • zabbix3.2监控linux磁盘IO
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • 说说我为什么看好Spring Cloud Alibaba
  • !!java web学习笔记(一到五)
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (JS基础)String 类型
  • (搬运以学习)flask 上下文的实现
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (力扣题库)跳跃游戏II(c++)
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (四)JPA - JQPL 实现增删改查
  • (推荐)叮当——中文语音对话机器人
  • (学习日记)2024.01.09
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)setTimeout 和 setInterval 的区别
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .net 流——流的类型体系简单介绍
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • [100天算法】-二叉树剪枝(day 48)
  • [1181]linux两台服务器之间传输文件和文件夹