Ubuntu 常用小命令(持续更新~)

​​​​​​​目录

1.CPU信息查看

2.查看系统分区、文件夹及其大小

3.清空回收站文件夹

4.实时查看内存

5.手动释放内存(上条命令中显示的 buff/cache)

6.挂载与读取硬盘,具体参考博文

7.mkdir 创建多级文件夹

8.查看GLIBC版本

9.查看系统版本信息

10.查看显卡信息

11.查看当前目录的绝对路径

12.用户信息查看

13.查看输入命令的历史记录

14.查看IP地址

15. ubuntu 创建宽带连接

16.查看正在工作的网卡

17.内存,硬盘,主板型号查询

18.三种方法重启网络连接

19.查看及测试硬盘读写速度

20.查看已经安装的软件包

21.查看文件及文件夹数量

22. cp命令进阶

23.查看进程所在绝对路径

24.显卡限制功耗上限

25.快速返回$HOME目录与返回上一次目录

26.查看GCC支持的C语言版本

27.显示远程物理机上物理键盘按键

28.查看带宽

29.创建空白文件

30.查找动态库的位置

31.以二进制查看文件

32.查看开关机、重启时间可用的6个命令

33.查看硬盘UUID

34.利用rm命令递归删除某一类文件

35.查看系统定义的所有环境变量

36.查看硬盘是固态还是机械硬盘

37. 用户进程号(PID)相关命令

38. ubuntu 测试固态硬盘寿命

39.linux强制用户下线(踢用户)

40.ubuntu查看系统安装时间

 41.Ubuntu支持exfat格式

42.脚本中检测是否具有管理员权限


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查看进程路径

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/

参考:12

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踢用户_51CTO博客_linux用户

其他: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

会有不同的输出结果。

来自百度的文心一言

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值