前言

以下命令在开发中经常用到,限于篇幅,只详细介绍部分命令的使用(常见用法),未完待续

文件目录

创建文件

1
touch xxx.txt

删除文件

1
rm *.user build/ -rf

创建目录

1
2
mkdir build 
mkdir build/demol -p # -p 不存在子目录则创建

查找文件特定特征的文件并删除掉

1
find . -name "*.o" -exec rm -rf {} \;

查看当前目录下的所有可执文件

1
find . -type f -executable

定位文件在哪里

1
2
3
sudo apt install plocate	# 需要先安装这个程序
sudo updatedb # 先更新数据库索引
locate xxx # 定位文件

定位命令位置

1
which whoami

查看当前路径

1
pwd

压缩文件

1
2
3
4
5
6
7
# 采用tar.xz格式
tar cJf debug.tar.xz debug
# 采用tar.bz2格式
tar cjf debug.tar.bz2 debug
# 采用tar.gz格式
tar czf debug.tar.gz debug
tar zcvf AsensingViewer-1.0.0-40-g17e3aba-20230918-Ubuntu20.04-x86_64.tar.gz AsensingViewer-1.0.0-40-g17e3aba-20230918-Ubuntu20.04-x86_64/

命令别名

1
alias qtcreator=/opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator

文件权限配置

1
2
sudo chmod u+x demo.txt
sudo chmod 777 demo.txt

创建软链接

1
ln -s 源文件路径 软链接生成路径

用户管理

创建新用户

1
2
3
4
5
sudo useradd -d "/home/hywing" -m -s "/bin/bash" hywing
# -d 指定home目录
# -s 指定默认shell类型
# -m 若不存在家目录,则创建,否则不创建
su hywing # 切换用户

删除用户的所有目录、配置

1
userdel -r hywing

查看文件夹大小

1
2
du -h -d 1 
du -h --max-depth=1 .

ssh命令,使用22端口登录

1
ssh -Y name@xxx.xxx.xxx.xxx

ssh端口转发登录

1
ssh hywing@110.24.115.124 -p 10001

文本处理

实时查看文件写入内容

1
tail -f /var/log/syslog

常见的文本编辑工具(命令行下)

1
2
vim
nano

查看文件内容

1
cat /etc/passwd

根据关键字查找

1
2
grep -lr "xxx" 指定目录		# 列出一个匹配的文件列表
grep -iRn "xxx" 指定目录 # 列出所有匹配结果(包括有文件列表、详细结果)

系统运维

查看进程id

1
pidof webserver

杀掉指定进程

1
kill -9 $(pidof webserver)

查看所有进程

1
ps aux

检查网络连通信

1
ping 192.168.101.101 -c 100

查看域名映射的服务器ip

1
nslookup github.com

列出所有网络端口占用情况

1
netstat -utlnp

添加默认网关

1
route add default gw 192.168.101.1

查看网卡设备(所有的包括can、以太网、wlan)

1
ifconfig -a

防火墙设置

1
2
3
4
5
6
7
sudo apt-get install ufw	# 安装ufw防火墙
sudo ufw enable # 开启ufw防火墙
ufw status # 查看ufw运行状态
ufw allow 12345 # 增加ufw端口12345
ufw deny 12345 # 禁用ufw端口12345
ufw delete 12345 # 删除ufw端口12345
sudo ufw disable # 关闭ufw防火墙

查看当前登录用户

1
2
w
whoami

查看所有用户

1
tail /etc/passwd | awk -F: '{print $1}'

显示用户登录的时间、离线的时间

1
last -F

显示所有用户的登录情况

1
lastlog

更新ssh密钥

1
ssh-keygen -f "/home/hywing/.ssh/known_hosts" -R "110.24.115.124"

远程拷贝

1
scp root@119.23.145.144:/root/demo.txt .

配置网卡ip

1
ifconfig eth0 172.23.250.145 netmask 255.255.240.0 gw 172.23.255.253

修改以太网MAC地址

1
2
3
ifconfig enp0s31f6 down
ifconfig enp0s31f6 hw ether xx:xx:xx:xx:xx:xx
ifconfig enp0s31f6 up

查看网卡是否有收到消息包

1
tcpdump -i eth0

查看设备uuid

1
blkid /dev/sda3

内存使用情况

1
free -m

查看硬盘及分区信息

1
df -lh

查看网络进出流量情况

1
iftop

系统配置swap

1
2
3
4
dd if=/dev/zero of=/tmp/swapfile bs=1M count=4096
mkswap
swapon
swapoff

nfs挂载

1
sudo mount -t nfs 192.168.0.100:/home/hywing/nfs-share /mnt

CPU平均负载

1
uptime

工具使用

声明环境变量

1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/Qt5.12.9/5.12.9/gcc_64/lib

cmake

1
2
3
apt install cmake		# 安装cmake
cmake --version # 查看版本号
cmake . ../ # 在当前目录生成build相关文件(makefile ...)

gcc

1
2
3
apt install gcc			# 安装gcc
gcc -v # 查看gcc版本号
gcc main.c -o demo # 编译源文件并生成指定名字的可执行程序

gdb

1
2
3
apt install gdb			# 安装gdb
gdb -v # 查看gdb版本号
gdb dump文件名 # 调试dump文件的crash

makefile

1
2
make 					# 编译
make -j8 # 8个线程一起编译

git

1
2
apt install git			# 安装git
git --version

vim

1
2
apt install vim			# 安装vim
vim xxx # 编辑文本:Esc进入命令模式,i进入插入模式

设备管理

can接口通信

1
2
3
4
5
cansend can0 100#10203040					# 发送指定格式的can帧
candump can0 # 打印can0接口上面的所有can帧
ip link set can0 type can bitrate 500000 # 波特率配置
ip link set can0 type can loopback on # 开启回环模式
ip link set up can0 # 开启can0设备

tty串口设备操作

1
2
3
4
5
6
# 配置波特率
stty -F /dev/ttyLP2 115200 cs8 -parenb -cstopb raw -echo
# 查看接收数据
cat /dev/ttyLP2
# 发送数据包
echo "Hello RS485!\\r\\n" > /dev/ttyLP2

cpu型号查看

1
lscpu

pci总线设备

1
2
# 查看挂载的pcie设备节点(vendor和device)
lspci -n

usb设备

1
lsusb -tv

i2c总线设备

1
2
3
4
# i2c0挂载的从设备
i2cdetect -y 0
i2cget
i2cset

驱动调试

查看kernel日志

1
2
3
4
dmesg										# 查看内核日志
dmesg -c # 查看日志并清理
while true; dmesg -c; clear; sleep 1; done; # 隔1s查看一次
tail -f /var/log/kern.log # 查看内核新增的log

驱动模块

1
2
3
4
insmod demo.ko	# 插入驱动模块
rmmod demo # 删除驱动模块
modprobe demo # 安装驱动,会从kernel modules的默认路径查找安装
lsmod # 查看kernel已经安装了哪些驱动模块

『 下里巴人 』
海纳百川,文以载道
hywing技术自留地
总访问 113701 次 | 本页访问 326