linux_tips

linux

for linux tips

格式化环境变量
1
echo $LD_LIBRARY_PATH|awk -F":" '{for(i=1;i<=NF;i++)print $i}'
清空共享内存
1
ipcs|awk '{print $1}'|xargs -I {} sudo ipcrm -M {}
查看系统启动时间

ps -p PID -o lstart

top 的 TIME 是占用 cpu 时间

(加sudo 权限)修改系统时间和时区: https://www.cnblogs.com/ljy2013/p/4615149.html

磁盘/U盘 挂载

查看磁盘列表

1
sudo fdisk -l

挂载 mount

卸载 umount

1
2
3
4
5
sudo mount 磁盘名称 挂载路径
sudo umount 磁盘名称
比如:
sudo mount /dev/sda1 /home/work/
sudo umount /dev/sda1

不小心拔下在复制数据的移动硬盘出现无法加载的错误

1
2
3
4
5
6
7
8
9
MFTMirrdoesnotmatchMFTMirrdoesnotmatchMFT (record 0).
Failed to mount '/dev/sda1': Input/output error
NTFS is either inconsistent, or there is a hardware fault, or it's a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows twice. The usage of the /f parameter is very
important! If the device is a SoftRAID/FakeRAID then first activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
for more details.
LINUX下sudo ntfsfix /dev/sda1

输出重定向

标准输入(键盘输入)、标准输出(输出到屏幕)、标准错误(也是输出到屏幕),它们分别对应的文件描述符是0,1,2

2>&1 意思是把 标准错误输出 重定向到 标准输出.

&>file 意思是把标准输出 和 标准错误输出 都重定向到文件file中

磁盘分区和安装文件系统

https://blog.csdn.net/qq_43527718/article/details/122850052

sudo fdisk /dev/nvme0n1

n 添加分区

p 打印分区表 查看分区成功否

w 保存

mkfs -t ext4 /dev/nvme0n1p1 给第一个分区安装文件系统

sudo blkid /dev/nvme0n1p1 查看nvme0n1p1属性

命令行启动向日葵
1
2
3
4
5
6
7
8
ps -ef | grep sun
root 836 1 0 10:26 ? 00:01:18 /usr/local/sunlogin/bin/oray_rundaemon -m server
root 856 836 1 10:26 ? 00:08:43 /usr/local/sunlogin/bin/sunloginclient -m service

杀掉两个进程后执行
(开机自启动服务):
sudo systemctl start runsunloginclient.service
sudo systemctl enable runsunloginclient.service
apt

apt 的目录

1
2
3
/etc/apt/source.list 源列表,apt update 所使用的源
/var/lib/apt/lists index 位置,即 apt update所更新的包的标签
/var/cache/apt/archive apt-get install 下载安装包的路径

命令

1
2
3
4
apt-cache show 包名,展示的是/var/lib/apt/lists 目录下所对应的标签的信息
apt list 当前所使用的源所能获取到的软件包(deb)
apt install 包
apt remove 包
小 tip:当编译提示缺少什么库的时候的,apt list|grep 库 试下, 一般是 libxxx-dev,可以试下 apt install libxxx-dev

wget

wget 下载目录

1
wget -r -np -nH -R index.html http://url/including/files/you
https://zhuanlan.zhihu.com/p/380793959

1
2
root@j5dvb:/map/guoqing.feng/multiperception# wget  https://www.xxx.io/output.tar
wget: bad address 'www.xxx.io'

修改域名解析配置 /etc/resolv.conf,没有则新建,格式如下:

1
nameserver 127.0.0.53

tar传输文件

1
2
3
4
5
6
tar cf - src_dir  | ssh user@ip "tar xf - -C dst_path"    
```
会节省4次磁盘操作,提升一下开发效率。

### scp 跳板传输
https://blog.csdn.net/wlqkycg/article/details/133990293

scp -P 22 -o 'ProxyJump stereo@192.31.1.24 -p 22' 上传文件 docker@10.31.1.24:/tmp/ scp -P 22 -o 'ProxyJump stereo@192.31.1.24 -p 22' docker@10.31.1.24:/tmp/xxx 下载文件

将 gdb.txt 传输到 docker@10.31.1.24:/tmp/ scp -P 11411 -o 'ProxyJump stereo@192.31.1.24 -p 22' gdb.txt docker@10.31.1.24:/tmp/

1
2

### export 当前所有目录下的动态库
for p in find -name "*.so"|xargs -I {} realpath {} | xargs -I {} dirname {}; do export LD_LIBRARY_PATH=\(LD_LIBRARY_PATH:\)p; done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

### vim
1. 块模式
windows 快捷键 ctrl+v
mac 快捷键 shift+control+v
进入visual block 后,上下选择行的范围 -> 输入内容 -> 按 I -> 按 ESC -> 完成多行的一起修改

2. 快捷输入
行首输入 I
行尾输入 A

### 挂载远程目录
#### sshfs 方式

服务端操作:
#安装sshfs sudo apt-get install sshfs1
1
2

客户端操作:
# 安装sshfs sudo apt-get install sshfs1 #加载fuse 内核模块 sudo modprobe fuse lsmod | grep fuse # 目录挂载 sshfs -p 11414 docker@192.168.1.87:/home/docker/ /home/docker/mnt/ # 目录卸载 fusermount -u /home/docker/mnt/ ```

docker内执行sshfs 报 modprobe: FATAL: Module fuse not found in directory /lib/modules/5.15.0-119-generic 问题,因为docker 启动没有包含宿主机的内核模块,需要在启动 docker 的时候加上特权选项 docker run --privileged -d ...

nfs 方式

NFS(Network File System)即网络文件系统,用于实现网络中的计算机之间共享资源‌。以下是使用NFS的基本步骤:

‌安装NFS服务‌ 对于基于Debian/Ubuntu的系统,使用命令:sudo apt-get update 和 sudo apt-get install nfs-kernel-server。 对于基于RHEL/CentOS的系统,使用命令:sudo yum install nfs-utils。

‌配置NFS共享‌ 编辑/etc/exports文件,添加要共享的目录及其相关选项,例如:/home/shared 192.168.1.0/24(ro,sync,no_subtree_check)。 ‌应用配置并启动服务‌

使用命令:sudo exportfs -a 更新NFS共享列表。 使用命令:sudo systemctl start nfs-kernel-server 启动服务。 ‌客户端挂载NFS共享‌

在客户端上,使用命令:sudo mkdir /mnt/nfs_shared 和 sudo mount -t nfs server_ip:/home/shared /mnt/nfs_shared 挂载NFS共享。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!