Linux相关
命令别名
编辑文件
nano /root/.bashrc
添加
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias dis='docker images'
# w
alias wns='watch -n 1 nvidia-smi'
alias wnss='watch -n 1 "nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv"'
alias ns='nvidia-smi'
alias pi='pip install'
alias pii='pip install -i https://pypi.tuna.tsinghua.edu.cn/simple'
szdl() {
if [ -z "$1" ]; then
echo "Usage: szdl <local_ip> [port]"
return 1
fi
local_ip=$1
port=${2:-7890}
http_proxy=http://${local_ip}:${port}
https_proxy=http://${local_ip}:${port}
ftp_proxy=ftp://${local_ip}:${port}
socks_proxy=${local_ip}:${port}
export http_proxy https_proxy ftp_proxy socks_proxy
echo "Proxy settings updated: ${local_ip}:${port}"
}
ckdl(){
printenv | grep -i proxy
}
qxdl(){
unset http_proxy https_proxy ftp_proxy socks_proxy
}
应用
source /root/.bashrc
CentOS7安装NVIDIA驱动、CUDA
安装基础依赖环境
yum install kernel-devel
屏蔽默认带有的nouveau
nano /lib/modprobe.d/dist-blacklist.conf
- 将nvidiafb注释掉
# blacklist nvidiafb
- 然后添加以下语句:
blacklist nouveau options nouveau modeset=0
重建initramfs image
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r)
修改运行级别为文本模式,并重启
systemctl set-default multi-user.target
reboot
查看nouveau是否已经禁用
lsmod | grep nouveau
安装文件
CUDA Toolkit Archive | NVIDIA Developer
nvidia-smi
nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv
wnss
Every 1.0s: nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv H3C: Thu Jun 20 21:37:12 2024
pid, process_name, used_gpu_memory [MiB]
42551, /data1/miniconda3/envs/chatchat/bin/python, 12352 MiB
43966, /data1/miniconda3/envs/chatchat/bin/python, 1780 MiB
通过命令别名快速设置代理
设置别名
szdl() {
if [ -z "$1" ]; then
echo "Usage: szdl <local_ip> [port]"
return 1
fi
local_ip=$1
port=${2:-7890}
http_proxy=http://${local_ip}:${port}
https_proxy=http://${local_ip}:${port}
ftp_proxy=ftp://${local_ip}:${port}
socks_proxy=${local_ip}:${port}
export http_proxy https_proxy ftp_proxy socks_proxy
echo "Proxy settings updated: ${local_ip}:${port}"
}
ckdl(){
printenv | grep -i proxy
}
qxdl(){
unset http_proxy https_proxy ftp_proxy socks_proxy
}
使用
端口默认7890
szdl 10.5.83.186 7890
阿里云扩容
查看
fdisk -lu
Disk /dev/vda: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DF3D4089-1021-4F37-ACCD-4B14CC944064
Device Start End Sectors Size Type
/dev/vda1 2048 411647 409600 200M EFI System
/dev/vda2 411648 209715166 209303519 99.8G Linux filesystem
Disk /dev/vdb: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9C933549-F519-4795-862E-C546772988CB
Device Start End Sectors Size Type
/dev/vdb1 2048 209715166 209713119 100G Linux filesystem
Disk /dev/vdc: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: F5230BBC-5100-4E7C-B9F7-397C853BD268
Device Start End Sectors Size Type
/dev/vdc1 2048 209715166 209713119 100G Linux filesystem
创建分区
gdisk 硬盘名称
gdisk /dev/vdb
创建新的 GPT 分区表: 在 gdisk
提示符下,输入 g
然后按回车,选择 Create a new GUID partition table (GPT)
创建新的 GPT 分区表。
创建新的分区:
- 输入
n
然后按回车,选择Add a new partition
。 - 按回车接受默认值或输入分区号。
- 同样按回车接受默认起始 LBA。
- 输入分区大小或接受默认值(这将使用所有剩余空间)。
- 选择分区类型,输入
8300
选择Linux filesystem
类型。 - 按回车完成分区创建。
保存更改并退出:
- 输入
w
然后按回车,选择Write table to disk and exit
。 - 输入
y
确认写入操作。
格式化新分区: 创建分区后,需要格式化它以使用 ext4
文件系统:
mkfs.ext4 /dev/vdb1
创建挂载点并挂载: 创建一个目录作为挂载点,然后挂载新分区:
mkdir /mnt/newdisk
设置开机自动挂载
编辑 /etc/fstab
文件
使用 blkid
获取分区的 UUID
UUID=$ blkid /dev/vdb1 | cut -d '"' -f 2
将以下行添加到 /etc/fstab
文件中:
UUID=$UUID /mnt/newdisk ext4 defaults 0 2
使用文本编辑器编辑 /etc/fstab
文件,例如使用 nano
:
nano /etc/fstab
添加上述行后,保存并退出编辑器。
测试 /etc/fstab
配置: 在修改 /etc/fstab
后,可以使用以下命令测试配置是否正确:
sudo mount -a
如果没有错误消息,那么配置就是正确的。
硬盘镜像重装系统
放入镜像文件
编辑grub启动项
nano /etc/grub.d/40_custom
添加或更新以下内容:
menuentry "Ubuntu 22.04.4 ISO" {
set isofile="/ubuntu-22.04.4-desktop-amd64.iso"
loopback loop (hd1,msdos1)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=${isofile} quiet splash
initrd (loop)/casper/initrd
}
- Ubuntu 22.04.4 ISO:启动项的名称
- (hd1,msdos1):镜像在哪个硬盘的哪个分区上,hd从0开始
如果不知道在哪个分区,在grub启动界面输入命令ls
grub> ls
grub> ls (hd0,msdos1)/
逐个找一下
确保分区挂载
/dev/sda1 /data1 ext4 defaults 0 0
mount /data1
更新grub配置
centos:
grub2-mkconfig -o /boot/grub2/grub.cfg
ubuntu:
update-grub
重启
reboot
允许root远程登录
安装ssh
apt install openssh-server
service ssh start
ps -aux | grep ssh
修改配置
nano /etc/ssh/sshd_config
# PermitRootLogin prohibit-password
# 更改为:
PermitRootLogin yes
systemctl restart sshd
后台运行任务
nohup
nohup command &
command
是你想要后台运行的程序或命令
&
表示将程序放入后台运行
nohup.out
:如果不指定输出文件,程序的输出(包括标准输出和错误输出)会默认保存到当前目录的 nohup.out
文件中
指定输出文件: 如果你想将输出保存到指定的文件,可以重定向标准输出和标准错误:
nohup ./my_program > output.log 2>&1 &
> output.log
将标准输出重定向到output.log
文件2>&1
表示将标准错误输出也重定向到标准输出,即output.log
查看后台运行的进程: 使用 jobs
或 ps
命令查看后台进程:
jobs
ps aux | grep my_program
screen
启动一个新的 screen 会话:
screen -S session_name
session_name
是你给该会话取的名字,可以随意命名在 screen 会话中运行程序: 例如,你要运行一个叫
my_program
的程序:./my_program
使程序在后台运行: 按下
Ctrl + A
,然后再按D
,这会将你当前的 screen 会话“分离”(detach),但程序仍然在后台运行查看所有运行中的 screen 会话: 使用以下命令查看当前所有的 screen 会话:
screen -ls
重新连接到某个 screen 会话: 使用下面的命令重新连接到你分离的会话:
screen -r session_name
退出并关闭 screen 会话: 在
screen
会话中,执行以下命令退出并关闭会话:exit
这样,当前的
screen
会话就会完全关闭。如果只是分离会话(detach),会话还会继续运行,但退出则会彻底关闭强制终止 screen 会话(可选): 如果某些情况下需要强制终止特定的
screen
会话,可以使用-X
选项:screen -S session_name -X quit
这会强制关闭指定的
session_name
的会话
远程桌面
xrdp方案
1. 安装 RDP 服务器:
安装一个RDP服务器,如xrdp
sudo apt-get update
sudo apt-get install xrdp
2. 配置 Xfce4 桌面:
xrdp默认使用Xfce4作为桌面环境。确保Xfce4已经安装在您的系统上。如果没有,可以使用以下命令安装:
sudo apt-get install xfce4
xrdp 使用VNC 作为其显示协议,因此您还需要安装一个VNC服务器,不过 xrdp 安装过程中通常会同时安装 Xvnc
3. 配置 xrdp
安装完成后,您可能需要配置xrdp以使用Xfce4。这通常涉及到编辑.xsession文件,确保它指向Xfce4
编辑 ~/.xsession 文件,并添加以下行:
nano ~/.xsession
# 添加内容:
xfce4-session
4. 启动 xrdp 服务:
安装和配置完成后,启动 xrdp 服务:
sudo systemctl enable xrdp
sudo systemctl start xrdp
如果要退出 xrdp 服务:
sudo systemctl stop xrdp
5. 允许通过防火墙(可选)
这一步非必须,如果能连接到 RDP 服务器,则不需要执行这一步。否则,需要确保 RDP 端口 3389 在您的防火墙中是开放的。如果使用的是ufw,可以使用以下命令:
sudo ufw allow 3389/tcp
windows连接
下载软件
dwj0/Remote-management: 远程桌面、RADMIN、SSH、VNC集中管理器 (github.com)