
Ubuntu 常用小命令(持续更新~)
实时查看cpu频率watch -n.1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""
目录
1.CPU信息查看
#实时查看cpu频率
watch -n.1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""
#查看cpu线程数(逻辑核数)
lscpu
或者
getconf _NPROCESSORS_ONLN # getconf -a 可以查看系统所有信息
或者
egrep "^processor" /proc/cpuinfo
egrep "^processor" /proc/cpuinfo | wc -l # 直接查看数量
#查看cpu型号
cat /proc/cpuinfo | grep -i "model name" | uniq
#查看cpu温度
paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1C/'
其他方法如 lm_sensors 的方法不赘述
参考:
在Ubuntu 18.04 下使用命令行查看英伟达GPU温度、CPU温度
2.查看系统分区、文件夹及其大小
#系统分区信息
df -h
#查看文件夹大小
du -h --max-depth=1
或者
du -h -d 1
上面的命令如果想具体到比如用MB或者GB 表示的时候,将 -h 替换成 --block-size=1M , --block-size=1G即可。
3.清空回收站文件夹
rm -rf $HOME/.local/share/Trash/files/*
4.实时查看内存
free -m -h 或者
watch -n 5 free -m -h
补充:watch 与 管道符号一起用,主要是加引号 ' '
watch -n 5 'free -m -h | grep -i swap'
5.手动释放内存(上条命令中显示的 buff/cache)
sudo sh -c 'echo 1 > /proc/sys/vm/drop_caches'
sudo sh -c 'echo 2 > /proc/sys/vm/drop_caches'
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
6.挂载与读取硬盘,具体参考博文
a.查找硬盘
sudo fdisk -l
b.新建文件夹
cd $HOME
mkdir tempdir
c.查看原硬盘格式
df -T
d.挂载硬盘
mount -t ext4 /dev/sdb1 $HOME/data1
e.查看新挂载的硬盘
df -h
7.mkdir 创建多级文件夹
mkdir -p aa/bb/cc/dd/ee
或者
mkdir -pv aa/bb/cc/dd/ee
多加一个v意思是在控制端会输出你创建的文件夹的路径,具体可以参考博文1,博文2 。
-p, --parents no error if existing, make parent directories as needed
-v, --verbose print a message for each created directory
8.查看GLIBC版本
ldd --version
9.查看系统版本信息
lsb_release -a
# 查看内核信息
uname -a
# 查看 os 信息
cat /etc/os-release
10.查看显卡信息
lspci | grep -i vga
#更详细的查看厂商的信息
lspci -vnn | grep VGA -A 12
11.查看当前目录的绝对路径
pwd
12.用户信息查看
whoami ## 查看当前用户名
## 查看用户名还可以用系统的环境变量 $USER, $LOGNAME
hostname ##当前机器名称,修改位置 /etc/hostname
pwd #当前路径
last ## 查看用户登录记录
lastlog ##最近所有用户登录记录
w
13.查看输入命令的历史记录
cat ~/.bash_history ## 常用
或者
history
14.查看IP地址
ifconfig ## windows 下为 ipconfig /all
##这个命令如果没有的话,安装命令为
sudo apt-get install net-tools
查看网关,参考
Linux下查看网关方法:
1、route -n
2、ip route show
3、traceroute www.prudentwoo.com -s 100 【第一行就是自己的网关】
4、netstat -r
5、more /etc/network/interfaces 【Debian/Ubuntu Linux】
6、more /etc/sysconfig/network-scripts/ifcfg-eth0 【Red Hat Linux】
15. ubuntu 创建宽带连接
#通常通过 /usr/share/application 目录下的network应该就可以创建宽带连接
#但是也可以通过命令行创建
sudo pppoeconf
#然后默认设置,填写好账户和密码即可联网,注意设置断网自动重新连接
#如果掉了,也可以手动连接
sudo pon dsl-provider # 启动
poff # 关闭
个人建议还是使用/usr/share/application 目录下的network创建宽带连接,这样创建的连接相对比较稳定,用命令创建的不是很稳定
16.查看正在工作的网卡
#可以先用
ifconfig
#查看有哪些网卡
#再用
sudo mii-tool eth0
#查看哪个网卡正在工作
17.内存,硬盘,主板型号查询
sudo dmidecode -t memory // 内存信息 更具体的 sudo dmidecode -t memory | grep -i size
sudo hdparm -i /dev/sda // 硬盘型号 sudo hdparm -i /dev/sda | grep -i model
sudo dmidecode | more // 主板型号 更具体的可以用 sudo dmidecode | grep -i "product name"
####其他
##读取速度
hdparm -Tt /dev/sda1
更加细节的一些查询内存的命令,参考
内存:
卡槽数量:sudo dmidecode -t memory |grep "Number Of Devices" |awk '{print $NF}' 或 sudo dmidecode -t memory |grep "Associated Memory Slots" |awk '{print $NF}'
内存数量:sudo dmidecode -t memory |grep -A16 "Memory Device$" |grep 'Size:.*MB' |wc -l
内存型号:
内存支持类型:sudo dmidecode -t memory |grep -A16 "Memory Device$" |grep "Type:"
每个内存频率:sudo dmidecode -t memory |grep -A16 "Memory Device$" |grep "Speed:"
每个内存大小:sudo dmidecode -t memory |grep -A16 "Memory Device$" |grep "Size:"
其他:
(1)CPU:
型号:grep "model name" /proc/cpuinfo |awk -F ':' '{print $NF}'
数量:lscpu |grep "CPU socket" |awk '{print $NF}' 或 lscpu |grep "Socket" |awk '{print $NF}'
每个CPU的核数:lscpu |grep "Core(s) per socket" |awk '{print $NF}'
(2)硬盘:
硬盘数量、大小:sudo fdisk -l |grep "Disk /dev/sd"
硬盘型号:sudo hdparm -i /dev/sda |grep "Model"
注:如果硬盘是nvme协议的,hdparm可能无法识别
sudo apt-get install nvme-cli
sudo nvme list
18.三种方法重启网络连接
第一种方法: networking
sudo service networking restart
或者
/etc/init.d/networking restart
第二种方法:ifdown up
ifdown eth0
ifup eth0
第三种方法:ifconfig
ifconfig eth0 down
ifconfig eth0 up
19.查看及测试硬盘读写速度
查看实时硬盘读写速度
sudo iotop
# 如果没有这个命令,用apt 安装一下即可
sudo apt-get install iotop
测试硬盘的读写速度性能,参考
在需要测试的硬盘下新建一两个文件
touch testReadOrWrite testReadAndWrite
测试纯写速度
time dd if=/dev/zero of=./testReadOrWrite bs=8k count=1000000
测试纯读速度
time dd if=./testReadOrWrite of=/dev/null bs=8k count=1000000
测试读写速度
time dd if=./testReadOrWrite of=./testReadAndWrite bs=8k count=1000000
删除测试文件
rm testReadOrWrite testReadAndWrite
20.查看已经安装的软件包
apt list --installed | grep -i 软件(包)名
#
dpkg -l | grep -i 软件(包)名
#精准查询
dpkg -L 软件包名
21.查看文件及文件夹数量
# 查看当前目录下的文件数量(不包含子目录中的文件)
ls -l | grep "^-" | wc -l
# 查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表子目录
ls -lR | grep "^-" | wc -l
# 查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上R
ls -l | grep "^d" | wc -l
#如果是指定文件目录的,只需要在ls -l 后面加上目录加即可
ls -l traget_dir | grep "^-" | wc -l
参考:Linux统计文件夹、文件数量的命令 - dttdx - 博客园
22. cp命令进阶
#向多个目录拷贝同一个文件,
echo /target_dir1 /target_dir2 /target_dir3 | xargs -n 1 cp -v /source_dir/source_file
#多个文件向同一个目录下拷贝,可以使用相对路径
cp /dir1/source_file1 /dir2/source_file2 /dir3/source_file3 /target_dir
#或者写成
cp {/dir1/source_file1,/dir2/source_file2 /dir3/source_file3} /target_dir
#如果dir1 和 dir2相同,那么可以进一步写成
cp /dir/{source_file1,source_file2,source_file3} /target_dir
#如果source_file本身名字上有规律,如连续的自然数等,可以使用 [],如
cp /dir/source_file[1-3] /target_dir
#如果不连续的话,比如只想cp file1 和file3
cp /dir/source_file[1,3] /target_dir
#最后向多个目录,复制多个文件
echo /target_dir1 /target_dir2 /target_dir3 | xargs -n 1 cp -v /source_dir/source_file[1-3]
#保留软链接,否则会把软链接改成文件,占用多余的空间
cp -d source_dir target_dir
#拷贝文件夹和目录结构, -r/-R 递归创建
cp -r = cp -R
#加上 --parents 时候会自动检测, target dir 是否存在,不存在报错,存在则与 不加--parents效果一致,
#其实这个就是用来检测目标目录是否存在用的
cp -r --parents source_dir target_dir
#只复制新文件,source_dir中新添加的或者新修改的文件才复制,旧文件不复制
cp -u source_dir target_dir
加参数 -p, 可以保持源文件的时间属性。否则新文件为当前时间
cp -rfp /data/upload/* /data/backup/
Linux技巧:cp命令自动创建不存在的目录和只复制修改的文件
23.查看进程所在绝对路径
#方法一
top 命令后 按 c键 查看,但是要求的是执行软件的时候,使用的是绝对路径
#方法二
ll /proc/pid
#方法三(与方法二类似,用ps打印pid,不是通过top命令获取pid)
ps -ef | grep xxx
ll /proc/xxx的pid
参考博文:
几种查看Linux进程路径的方法_lawenliu的专栏-CSDN博客_linux查看进程路径
24.显卡限制功耗上限
sudo nvidia-smi -pl 200 # 功耗限制在200w
#如果是多块gpu 加上 -i 指定哪几块,如
sudo nvidia-smi -i 0,1 -pl 200 # 0号和1号显卡的功率限制到200w
#显卡温度查询,参考cpu温度查询给出的链接
nvidia-smi -q -i 0,1 -d TEMPERATURE
#查看程序对显卡计算单元占用情况
nvidia-smi pmon -i 0
#查看显卡显存及运行频率
nvidia-smi dmon -i 0
25.快速返回$HOME目录与返回上一次目录
cd
cd -
26.查看GCC支持的C语言版本
gcc -dM -E - < /dev/null | grep -i __STDC_
27.显示远程物理机上物理键盘按键
sudo showkey
28.查看带宽
lshw -C network
29.创建空白文件
touch Filename
执行touch 命令前如果有相同的文件,不会用一个新的空白文件覆盖原有文件,相当于 touch不执行了
30.查找动态库的位置
ldconfig -p | grep your_ld_name
例如:
ldconfig -p | grep libc.so.6
31.以二进制查看文件
xxd yourfile
32.查看开关机、重启时间可用的6个命令
top 最上面一行就有
last reboot
who -b / who -r (运行级别)
uptime
w
date -d "`cut -f1 -d. /proc/uptime` seconds ago"
参考:查看linux系统重启时间历史记录_mygodhome的专栏-CSDN博客_linux查看系统重启时间
33.查看硬盘UUID
sudo blkid
ls -l /dev/disk/by-uuid/
其他附加命令:
sudo blkid /dev/sda
ls -l /dev/disk/by-path/
ls -l /dev/disk/by-id/
34.利用rm命令递归删除某一类文件
find . -name "*.o" | xargs rm -f
利用rm 命令 和 xargs命令,递归删除当前文件夹及子文件夹下的所有.o文件
35.查看系统定义的所有环境变量
env
windows可以在cmd中输入set命令查看
36.查看硬盘是固态还是机械硬盘
cat /sys/block/sda/queue/rotational
一块硬盘一般就是sda,两块硬盘,第一块是sda,第二块sdb,以此类推。
显示的结果是0,就是固态盘,显示是1,就是机械盘。
37. 用户进程号(PID)相关命令
查看PID号上限:
cat /proc/sys/kernel/pid_max
top 命令查看当前所有PID号:
top -bcn 1
查看指定用户名的进程号:
top -u usrname
查看特定pid号的信息
top -p xxxx # xxxx为具体的pid号
参考连接:
1.为什么Linux的进程pid编号极限最大值( process pid max)是131070? - 知乎
2.top查看全部进程_shy_snow的博客-CSDN博客_top查看进程
38. ubuntu 测试固态硬盘寿命
安装:
sudo apt-get install smartmontools
使用:
1. 查看Wear Levelling Count(颗粒平均擦写次数)
smartctl -a /dev/sda
# 字段的含义
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME
1 Raw_Read_Error_Rate 读取错误率
3 Spin_Up_Time 起转时间
4 Start_Stop_Count 启动停止次数
5 Reallocated_Sector_Ct 重新分配扇区计数
7 Seek_Error_Rate 寻道错误率
9 Power_On_Hours 通电时间
10 Spin_Retry_Count 起转重试次数
11 Calibration_Retry_Count 重新校准重试次数
12 Power_Cycle_Count 启动<->关闭循环次数
192 Power-Off_Retract_Count 断电磁头缩回计数
193 Load_Cycle_Count 磁头加载/卸载循环计数
194 Temperature_Celsius 温度
196 Reallocated_Event_Count 在分配扇区物理位置事件计数(与坏道无关)
197 Current_Pending_Sector 当前等待中扇区数(状态存疑/不稳定-等待后续判断)
198 Offline_Uncorrectable 无法修正的扇区总数
199 UDMA_CRC_Error_Count UltraDMA CRC错误计数
200 Multi_Zone_Error_Rate 写入错误率
2. 查看 Percentage Used Endurance Indicator
smartctl -l devstat /dev/sdb
linux 下面只有 smartmontools 这一个工具,而且只对像三星和 intel 这样的大厂支持良好,其余的厂家文档不全或故意不公开接口,第三方工具就没办法了。
其中最后一个最重要和直观 “ Percentage Used Endurance Indicator ” ,单位是百分比,新的是 0%
linux 检测SSD寿命_高压锅_1220的博客-CSDN博客_linux 查看ssd寿命
39.linux强制用户下线(踢用户)
先用
w
查看有哪些用户正在登录
然后 找到 TTY 一列,例如
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/2 172.16.30.204 01:52 2.00s 0.08s 0.08s -bash
这个时候要踢 root这个用户,使用
pkill -kill -t pts/2
但是有时候会出现 TTY 为 :0 的情况,这个就要看 WHAT后面的命令,然后结合
top 或者 ps aux 命令拿到PID号,然后 kill PID号 即可
参考链接:
强制ubuntu登陆用户退出 - huashiyiqike - 博客园
其他:Linux/ubuntu 配置闲置用户自动退出_他们叫我老蒋的博客-CSDN博客_ubuntu 终端自动退出
40.ubuntu查看系统安装时间
a、安装日志目录时间
这个目录存放系统的安装日志
ls -ld /var/log/installer
b、安装分区创建时间
安装时创建分区(ext2/ext3/ext4)的时间
sudo dumpe2fs /dev/sda1 | grep 'Filesystem created:'
参考链接:https://www.cnblogs.com/mxnote/articles/16805599.html
41.Ubuntu支持exfat格式
sudo apt-get install exfat-utils
42.脚本中检测是否具有管理员权限
新建checkroot.sh, 内容为
#!/bin/bash
# 检查当前用户是否是root用户
if [ "$(id -u)" != "0" ]; then
#上面等同 if [ "$(whoami)" != "root" ]; then
echo "此脚本需要管理员权限执行。请使用root用户或者sudo命令。"
exit 1
fi
# 如果有管理员权限,则可以在这里添加你的代码
echo "已有管理员权限执行脚本。"
# 你的代码...
然后 chmod +x checkroot.sh
直接执行 ./checkroot.sh 以及采用root方式执行,sudo ./checkroot.sh
会有不同的输出结果。
来自百度的文心一言
更多推荐
所有评论(0)