Linux命令合集

本文详细介绍了C++编程中复制文件的命令、如何引用外部库并编译生成lib,涉及Linux下的文件权限设置、用户管理、系统监控、网络文件传输以及OpenCV版本管理和使用。还涵盖了磁盘空间查看、进程管理、硬件信息查询等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

复制文件

cp /media/img_and_video_data/back_car_come/LH/*.mp4 .

进入需要复制到的文件夹目录下,cp 需要复制的文件路径 .

c++引用外部库
编译生成lib文件

#pragma comment(lib,"json_vc71_libmtd.lib")

导入头文件.h

Linux加 ; 多命令运行

cd /;cd ~
cd Desktop ; ls

进入桌面打印文件列表


修改/test下的aaa.txt的权限为属主有全部权限,属主所在的组有读写权限,其他用户只有读的权限

chmod u=rwx,g=rw,o=r aaa.txt
r w x:4 2 1
user:421
group:421
other:421
chmod 764 aaa.txt

useradd jake 创建名为 jake 的用户
-d 指定用户的家目录
-g 指定用户组
-G 指定用户的附加组
-u 指定用户的 UID 值
-p 创建密码

useradd aaa   创建 aaa 用户
userdel -r aaa      删除用户并且删除家目录
passwd aaa 给用户设置一个登录密码

su - username  切换用户

opencv版本查看

pkg-config --modversion opencv

使用opencv编译

sudo  g++ main.cpp -o main `pkg-config --cflags --libs opencv`
df -hl:查看磁盘剩余空间
df -h:查看每个根路径的分区大小
du -sh [目录名]:返回该目录的大小
du -sm [文件夹]:返回该文件夹总M数
du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)
1、top命令
2、free
3、cat /proc/meminfo
4、cat /proc/cpuinfo
5、du -sh *
6、 查看CPU个数
cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
7、查看CPU核数
cat /proc/cpuinfo | grep "cpu cores" | uniq
8、查看CPU型号
cat /proc/cpuinfo | grep 'model name' |uniq

远程跨主机文件

```python
scp -r cxk@111.111.111.111:/vision/lane_detect/train_data/2021.04.26/lane_in_center_1/* ./lane_in_center_1
scp -r cxk@111.111.111.111:/vision/lane_detect/train_data/2021.04.26/lane_in_center_2_xml/* ./lane_in_center_2_xml

find cxk@111.111.111.111:/vision/img_and_video_data/img_data/PCW_data/all_img/ -name "*.jpg" -exec scp -r {} ./all_img \;
find all_img -name "*.jpg" -exec sshpass -p password scp -r {} dataset@111.111.111.111:/data/dataset/person_data/all_img/ \;

scp -r cxk@111.111.111.111:/vision/img_and_video_data/img_data/PCW_data/all_img/* ./all_img
scp -r cxk@111.111.111.111:/vision/img_and_video_data/img_data/PCW_data/car_xml/* ./car_xml

scp -r dataset@111.111.111.111:/dataset/person_data/all_img/* ./img

输入cxk的密码
***********


mv 
其中
111.111.111.111:远程主机

cxk:远程主机的用户名

/vision/lane_detect/train_data/2021.04.26/lane_in_center_1/*:要复制远程主机的文件路径

./lane_in_center_1:要粘贴的目录主机的文件路径

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

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意思是在控制端会输出你创建的文件夹的路径.

-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

10.查看显卡信息

lspci | grep -i vga

#更详细的查看厂商的信息

lspci -vnn | grep VGA -A 12

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

pwd

12.用户信息查看

whoami  ## 查看当前用户名
hostname ##当前机器名称,修改位置 /etc/hostname
pwd      #当前路径
 
last    ## 查看用户登录记录
lastlog ##最近所有用户登录记录

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

cat ~/.bash_history ## 常用

#或者

history

参考

14.查看IP地址

ifconfig           ## windows 下为 ipconfig /all
##这个命令如果没有的话,安装命令为
sudo apt-get install net-tools
  1. 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

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

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

apt list --installed | grep -i 软件(包)名
#
dpkg -l | grep -i 软件(包)名

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

参考:https://www.cnblogs.com/dttdx/p/12605895.html

  1. 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[13]  /target_dir
 
#最后向多个目录,复制多个文件
echo /target_dir1 /target_dir2 /target_dir3 | xargs -n 1 cp -v /source_dir/source_file[1-3]

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

#方法一
top 命令后 按 c键 查看,但是要求的是执行软件的时候,使用的是绝对路径
 
#方法二
ll /proc/pid
 
#方法三(与方法二类似,用ps打印pid,不是通过top命令获取pid)
ps -ef | grep xxx
ll /proc/xxx的pid

参考博文:
https://blog.csdn.net/lwc5411117/article/details/85342399 https://www.cnblogs.com/hntpy/p/11413606.html

24.显卡限制功耗上限

sudo nvidia-smi -pl 200  # 功耗限制在200w
 
#如果是多块gpu 加上 -i 指定哪几块,如
sudo nvidia-smi -i 0,1 -pl 200     # 0号和1号显卡的功率限制到200w

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

#通常办法是
cd ~ /  cd $HOME
#其实直接输入cd 回车就回到了主目录
cd 

#万一要是手误打错了,直接返回主目录,想要回去的话
cd -

nm XXX.a
上面的命令可列出.o .a .so中定义的函数,全局变量等等。

Linux端查看.a/.so库文件信息,包含架构等等
readelf -h XXX.a

统计文件个数
find . -name "*.jpg" | wc -l 

find . -name  "*.[c|h]"  |wc -l

移動固定后缀文件

find . -type f -name "*.jpg" -exec mv {} /test/ \;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能视界探索者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值