Linux基础操作

16 篇文章 1 订阅

python@TOC

1. 查看linux系统位数

  • 查看linux系统位数
getconf LONG_BIT

2. 安装vmwareWorkstation + centos7.0

  • 安装vmwareWorkstation + centos7.0
  • 未完待续

3. 安装jdk1.8 : 安装好以后卸载原有的jdk,装新的jdk

  • 安装jdk1.8 : 安装好以后卸载原有的jdk,装新的jdk
rpm -qa|grep java
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
rpm -e --nodeps python-javapackages-3.4.1-6.el7_0.noarch
rpm -e --nodeps tzdata-java-2015a-1.el7.noarch
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
rpm -e --nodeps javapackages-tools-3.4.1-6.el7_0.noarch

解压jdk1.8,编辑/etc/下的profile文件,配置环境变量

vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_101
export JRE_HOME=${JAVA_HOME}/jre
export CASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

使/etc/profile生效

source /etc/profile
java -version

4. 从远程主机复制文件夹

  • 从远程主机复制文件夹
sudo scp -P port -r root@remoteIp:/opt/soft/services/tomcat8.5/webapps/love/ ./

5. sz文件超过4G解决办法

  • sz文件超过4G解决办法
  1. 拆分文件
cat filename | split -b 3G - filename
  1. 合并文件
# linux
cat small_files* > large_file
# windows 注:注意/B,/B 指二进制文件,不产生终止符。
copy /B filename.zip.001 + filename.zip.002 + filename.zip.003 newFileName.zip

6. vim显示行

:set nu


7. 设置声音大小

alsamixer
按 F6
设置音量

Sample 设置

8. 自定义命令

# 自定义 log 命令相等于 tail -f /opt/soft/projects/ruoyi/ruoyi-plus/ruoyi.log,本会话有效
alias log='tail -f /opt/soft/projects/ruoyi/ruoyi-plus/ruoyi.log'
# 全局生效的话,加入 ~/.profile 文件中
vim ~/.profile
alias log='tail -f /opt/soft/projects/ruoyi/ruoyi-plus/ruoyi.log'
source ~/.profile

9. 修改文件夹权限

# datasets 文件夹授权 admin
sudo chown -R admin datasets

10. docker --gpus all 失败-(配置nvidia-docker源)

distribution=$(. /etc/os-release;echo I D ID IDVERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

# 安装并重启docker
sudo apt update && sudo apt install -y nvidia-container-toolkit
sudo systemctl restart docker

11. linux 局域网ip查看

nmap -sL 192.168.70.0/24

12. linux 挂载移动硬盘

# 查看移动硬盘
sudo fdisk -l
# 安装
sudo apt-get install ntfs-3g
cd /home
# 创建个目录,挂载
sudo mkdir disk
# 挂载硬盘
sudo mount -t auto /dev/sda1 /home/disk/
# 设置重启不失效,打开文件最后增加一行	
sudo vim /etc/fstab
/dev/sda1               /home/disk      ntfs    defaults        0       0
# 重启-查看效果
sudo reboot
# 卸载硬盘 # 通过设备卸载
sudo umount -v /dev/sda1
#  卸载硬盘-通过挂载点卸载
sudo umount -v ~/disk


13. linux 查看端口占用并删除

sudo netstat -anop|grep 5672
kill -9 对应的进程号

14. linux 克隆sd卡

# 查看sd卡的名字
sudo fdisk -l
# 把镜像克隆到sd卡
sudo dd if=/home/geekplusa/bjjtdx/sdcard_backup/jetson-nx-64g.img of=/dev/sda1 bs=4M
# 查看克隆进度
sudo watch kill -USR1 $(pgrep ^dd)
# 当刻录结束后,运行:
sync

15. linux端口转发

# 查看端口转发/占用,并删除
sudo netstat -anop|grep 5672
kill -9 对应的进程号

# 本机端口转发 比如 访问 http://ip:729 我想返回 http://ip:80 的内容,
iptables -t nat -A PREROUTING -p tcp --dport 729 -j REDIRECT --to-ports 80
service iptables save
service iptables restart

16. linux查看k8s启动docker的端口映射

iptables -t nat -nL --line-number
找到相对应的数据

17. ubuntu训练ai模型不停的重启

控制gpu的最大功耗
参考电脑跑神经网络容易自动重启,通过nvidia-smi命令可以查看当前电源的最大功率是215W,经测试,本机通过下面的命令改为了125W,可根据实际情况进行调整。

sudo nvidia-smi -pl 125

18. ubuntu20.04激活navicat 失败

没有成功, 在激活的最后一部,一直卡住不动,获取不到激活码 --后续在看
参考:Ubuntu 20.04 安装Navicat


19. ubuntu安装minio

参考:minio快速入门指南

cd /opt/servers/minio/
wget http://dl.minio.org.cn/server/minio/release/linux-amd64/minio
chmod +x minio

start-minio.sh

export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=12345678
nohup /opt/servers/minio/minio server --address localhost:6001 /home/geekplusa/ai/datasets/java/minio/data >/opt/servers/minio/log.log 2>&1 &
  • 启动 sh start-minio.sh web访问 http://localhost:6001/

20. linux端口占用解决

netstat -tulnp|grep 15000

21. ubunu20.04修改wifi\ip

  • 1.进入目录,找到yaml文件,并修改
    cd /etc/netplan/01-netcfg.yaml
network:
  ethernets:
    ens33:     #配置的网卡的名称
      addresses: [192.168.31.215/24]    #配置的静态ip地址和掩码
      dhcp4: no    #关闭DHCP,如果需要打开DHCP则写yes
      optional: true
      gateway4: 192.168.31.1    #网关地址
      nameservers:
         addresses: [192.168.31.1,114.114.114.114]    #DNS服务器地址,多个DNS服务器地址需要用英文逗号分隔开
  version: 2
  renderer: networkd    #指定后端采用systemd-networkd或者Network Manager,可不填写则默认使用systemd-workd
  • 2.使配置的ip地址生效
sudo netplan apply

22. 远程办公工具推荐-n2n

n2n实现内网穿透

23. nginx搭建文件服务器

server {
        listen      15003;
        server_name  localhost;

        location /data {
        	   charset utf-8;
        	   autoindex on;
        	   autoindex_exact_size off;
        	   autoindex_localtime on;
        	   alias /home/disk/data/ai/datasets;
        	   allow all;
        }
    }

24. Ubuntu 挂载远程服务器的目录和文件到本地

  1. 远程(mount)服务器目录挂载
sudo apt-get install sshfs
sshfs user@host:/opt/projects/jiankangma/ /home/geekplusa/ai/remote_files/jiankangma
  1. 卸载(unmont)服务器目录(文件系统)
fusermount -u mountpoint

参考:Ubuntu - sshfs 远程服务器目录挂载工具

25. 查看文件占用大小并排序

du -sh * | sort -nr

26. ubuntu安装scrcpy控制安卓手机

前提:手机打开usb调试模式

sudo apt install scrcpy
sudo apt-get install android-tools-adb
scrcpy -m 1024

27. linux安装远程桌面xrdp

sudo apt install xrdp
sudo systemctl status xrdp
sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp

28. tar 加密/解密

  • 加密压缩
tar -czvf - readme.md | openssl des3 -salt -k 123456 -out readme.md.tar.gz
  • 解密解压
openssl des3 -d -k 123456 -salt -in readme.md.tar.gz | tar xzf - 

29. ubuntu安装vnc

参考:ubuntu 安装配置vnc4server(实现VNC远程)

sudo apt-get install vnc4server
vncserver
sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
sudo chmod +x ~/.vnc/xstartup
sudo gedit ~/.vnc/xstartup

xstartup文件内容如下

#!/bin/sh
 
# Uncomment the following two lines for normal desktop:
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
 
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
 
gnome-session &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
  • 打开VNC
vnc4servre :2 -geometry 1920x1080 
  • 关闭VNC:
vnc4server -kill :1               //关闭端口1的VNC远程
vnc4server -kill :2               //关闭端口2的VNC远程

30. 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

使用aptitude进行安装,aptitude 会对依赖关系进行智能处理

sudo apt-get install aptitude
sudo aptitude install <package name>

31. vim批量替换字符串

  • 文件内全部替换:(注:127.0.0.1替换成192.168.60.21)
:%s#127.0.0.1#192.168.60.21#g
  • 文件内局部替换:(注:把20行到30行内abc替换成123)
:20,30s#abc#123 

32. Ubuntu20.04开启root账户

参考:Ubuntu20.04开启root账户的方法步骤

  • 1 以普通用户登录系统,创建root用户的密码
sudo passwd root

然后输入设置的密码,输入两次,这样就完成了设置root用户密码了(注意Linux系统下密码是没有回显的)

  • 2 修改 50-ubuntu.conf 文件
sudo vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 

在文件末尾增加如下两行:

greeter-show-manual-login=true
all-guest=false
  • 3 修改 gdm-autologin 文件
sudo vim /etc/pam.d/gdm-autologin

前面加 # 注释掉第三行的 auth required pam_succeed_if.so user != root quiet_success

  • 4 修改 gdm-password 文件
sudo vim /etc/pam.d/gdm-password

前面加 # 注释掉第三行的 auth required pam_succeed_if.so user != root quiet_success

  • 5 修改 /root/.profile 文件
sudo vim /root/.profile

将文件末尾的 mesg n 2> /dev/null || true 这一行修改成
tty -s&&mesg n || true

33. ubuntu安装l2tp/ipsec

  • 客户端
sudo apt install network-manager-l2tp
sudo apt install network-manager-l2tp-gnome

设置 Ubuntu Linux

1.进入 Settings -> Network -> aaa。单击 + 按钮。
2.选择 Layer 2 Tunneling Protocol (L2TP)。
3.在 Name 字段中输入任意内容。
4.在 Gateway 字段中输入你的 aaa 服务器 IP。
5.在 User name 字段中输入你的 aaaa 用户名。
6.右键单击 Password 字段中的 ?,选择 Store the password only for this user。
7.在 Password 字段中输入你的 aaa 密码。
8.保持 NT Domain 字段空白。
9.单击 IPsec Settings... 按钮。
10.选中 Enable IPsec tunnel to L2TP host 复选框。
11.保持 Gateway ID 字段空白。
12.在 Pre-shared key 字段中输入你的 aaa IPsec PSK。
13.展开 Advanced 部分。
14.在 Phase1 Algorithms 字段中输入 aes128-sha1-modp2048。
15.在 Phase2 Algorithms 字段中输入 aes128-sha1。
16.单击 OK,然后单击 Add 保存 aaa 连接信息。
17.启用  aaa 连接。

34. finallshell配置跳板机连接主机

参考:finallshell配置跳板机连接主机

35. ubuntu18.04安装docker、nvidia-docker、docker-compose;普通用户docker去掉sudo权限

    1. 建议用
  • docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
apt install docker.io
systemctl enable docker
systemctl start docker
systemctl status docker
cat >  /etc/docker/daemon.json << EOF
{
    "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"],
    "live-restore": true
}
EOF
systemctl daemon-reload
systemctl restart docker

  • nvidia-docker2
    修改 docker 配置如下:
vim /etc/docker/daemon.json
#内容如下:
{
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
       "path": "/usr/bin/nvidia-container-runtime",
       "runtimeArgs": []
    }
  }
}

然后重启 docker:

systemctl restart docker
    1. 也可以用,建议用第一个
  • docker
sudo apt-get update
sudo apt-get install -y docker.io
systemctl start docker
systemctl enable docker
docker version
  • nvidia-docker
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install nvidia-docker2
  • docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose


# example
wget https://github.com/docker/compose/releases/download/v2.17.1/docker-compose-linux-x86_64
mv docker-compose /usr/local/bin/
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
普通用户docker去掉sudo权限

参考:docker去掉sudo权限的方法

  • step1.查看用户组及成员
sudo cat /etc/group | grep docker
  • step2.可以添加docker组
sudo groupadd docker 
  • step3.添加用户到docker组
sudo gpasswd -a ${USER} docker 
  • step4.增加读写权限
sudo chmod a+rw /var/run/docker.sock
  • step5.重启docker
sudo systemctl restart docker 

35. ubuntu install python3.7

python3.7
  • python
sudo apt-get update
sudo apt-get install python3.7
sudo rm -rf /usr/bin/python3
sudo ln -s /usr/bin/python3.7 python3
  • pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall

or

apt install python3-pip
35.1. pip报错“subprocess.CalledProcessError…lsb_release”
  • 1、找到lsb_release.py这个文件
find / -name 'lsb_release.py'
  • 2、选择包含python3的这个路径,拷贝文件到报错的路径/usr/local/lib/python3.7/ 下:
sudo cp /usr/lib/python3/dist-packages/lsb_release.py /usr/local/lib/python3.7/

python3.9
sudo wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz
tar xzf Python-3.9.0.tgz
cd Python-3.9.0
sudo ./configure  --enable-optimizations --with-ssl
sudo make altinstall

sudo rm -rf /usr/bin/python3
sudo ln -s /usr/local/bin/python3.9 /usr/bin/python3
sudo rm -rf /usr/bin/python3-config
sudo ln -s /usr/local/bin/python3.9-config /usr/bin/python3-config



update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.9 3

36. md文件转换ipynb文件

pip install notedown
notedown input.md > output.ipynb

37. ubuntu22.04添加火焰截图快捷键

设置–》键盘—》键盘快捷键—》自定义快捷键—》添加 pip报错“subprocess.CalledProcessError…lsb_release”
在这里插入图片描述

38. ubuntu安装ReadtheDocs文档

  • 创建python虚拟环境
conda create -n doc_name python=3.9
conda activate doc_name
  • 安装Sphinx:
pip install sphinx sphinx-autobuild sphinx_rtd_theme -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 初始化:
mkdir -p /root/work/scrapy_cookbook
cd scrapy_cookbook/
sphinx-quickstart
  • 安装软件tree查看目录树结构
apt install tree
tree -C .
  • 更改主题 sphinx_rtd_theme
vim source/conf.py
import sphinx_rtd_theme
html_theme = "sphinx_rtd_theme"
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
  • 预览效果
    然后在更目录执行make html,进入build/html目录后用浏览器打开index.html

参考:使用ReadtheDocs托管文档
参考:Sphinx+gitee+Read the Docs搭建在线文档系统

39. Linux USB 网络搭建(RNDIS)

安装rndis_host.kousbnet.ko

modprobe rndis_host

修改USB网络的ip,使得两个机器在一个IP段

40. ubuntu开启ssh远程访问,并开机启动

apt-get install openssh-server
systemctl enable ssh
reboot

41. linux 实现开机自动登陆

  • 可以通过修改/etc/gdm/custom.conf文件,实现root用户免密码自动登陆
  • 在[daemon]下增加如下两条指令:
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=root

42. linux环境下使用命令行从百度网盘上传下载数据

    1. 安装bypy库和requests库
pip install requests -i https://pypi.doubanio.com/simple
pip install bypy -i https://pypi.doubanio.com/simple
    1. 授权
      首先把数据上传到百度网盘,打开浏览器,登陆百度网盘,保持此页面。回到linux系统,输入
bypy info

得到一个链接,复制到浏览器打开,
这时浏览器会打开一个网页,得到一个授权码,复制此授权码,粘贴到linux命令行

    1. 下载
      此时,百度云盘的‘我的应用数据’文件夹中会多出一个“bypy文件夹”,将需要下载的数据放在“bypy”文件夹中。然后输入
bypy downdir -v

亦可以

bypy downdir dirname -v

下载指定的文件。即可将bypy中所有的文件下载到Linux中,下载到的位置就是你当前所在位置。

    1. 上传
      同理,上传数据时切换到所需要上传文件所在位置,输入
bypy upload -v

文件会上传到“bypy”文件夹中。

    1. 取消授权
bypy -c

显示“bypy”中所有的文件,输入

bypy list

43. ubuntu系统安装CH340驱动

  1. 查看ubuntu系统自带的驱动
ls /lib/modules/$(uname -r)/kernel/drivers/usb/serial

44. ubuntu查看文件夹下种的文件包含某个字符

  • 一个特殊字符
grep -rni "11010808001320008675165034.jpg" /home/geekplusa/ai/projects/shkj/projects/shkj-ai/ai-common/test_script/4/main_log
  • 多个特殊字符

grep -r '\"deviceCode\": \"11010800002000039233\", \"channelCode\": \"11010808001320008675\"' /home/geekplusa/ai/projects/shkj/projects/shkj-ai/ai-common/test_script/4/main_log | grep 'shwt-010002'

45.ubuntu开启护眼模式

sudo apt-get install redshift
redshift-gtk -l 39.92:116.46 -t 5500:4500
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

GeekPlusA

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

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

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

打赏作者

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

抵扣说明:

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

余额充值