环境配置

  1. # ubuntu
  2. sudo apt install openssh-server
  3. git \
  4. build-essential \
  5. cmake \
  6. gdb \
  7. snap \
  8. samba samba-common \
  9. sudo snap install --classic code # vscode
  10. # !建议国内避免使用snap安装软件;

网络配置

Ubuntu

  1. nm-connection-manager # 可以使用图形界面

SUSE网络配置

域名解析

  • /etc/hosts

理解linux网络模型





veth-pair是什么
02-Linux 网络基础(Network Namespase、veth pair、bridge、Iptables) · GitBook
Linux 虚拟网络设备 veth-pair 详解,看这一篇就够了 - 猿大白 - 博客园
linux - What does “if1@if2” mean in interface name in output of “ip address” command on Ubuntu - Unix & Linux Stack Exchange
vlan
Linux 系统下实践 VLAN | 猿大白
手撕Linux网络——Linux虚拟网络设备与netfilter框架汇总 - 知乎

配置SSH

ssh保持长连接的方式 - 阿波次得 - 博客园

  1. sudo apt-get install openssh-server
  2. sudo service ssh start
  3. sudo /etc/init.d/ssh start
  4. sudo systemctl start sshd.service
  5. ps -e | grep ssh
  6. # 配置文件
  7. sudo nano /etc/ssh/sshd_config
  8. # # ssh登录root权限
  9. # PermitRootLogin yes
  10. # StrictModes yes
  11. # SSH保持长连接
  12. # 方法1.修改server端的etc/ssh/sshd_config
  13. ClientAliveInterval 60 server每隔60秒发送一次请求给client,然后client响应,从而保持连接
  14. ClientAliveCountMax 3 server发出请求后,客户端没有响应得次数达到3,就自动断开连接,正常情况下,client不会不响应
  15. systemctl reload sshd
  16. # 方法2.修改client端的etc/ssh/ssh_config添加以下:(在没有权限改server配置的情形下)
  17. ServerAliveInterval 60 client每隔60秒发送一次请求给server,然后server响应,从而保持连接
  18. ServerAliveCountMax 3 client发出请求后,服务器端没有响应得次数达到3,就自动断开连接,正常情况下,server不会不响应
  19. # 方法3.在命令参数里ssh -o ServerAliveInterval=60 这样子只会在需要的连接中保持持久连接, 毕竟不是所有连接都要保持持久的
  1. systemctl enable sshd
  2. systemctl start sshd
  3. systemctl status sshd

Samba

共享文件方法

  • linux开samba服务器
  • mobaxterm/filezilla FTP/SFTP
  • 虚拟机可以使用virtualbox提供的共享文件夹 ```bash

    deb/ubuntu

    sudo apt install samba samba-common sudo vim /etc/samba/smb.conf sudo systemctl restart smb nmb sudo service smbd restart

[code] path = /code available = yes browseable = yes read only = no writable = yes public = yes force create mode = 0777 force directory mode = 0777

SLES/suse

sudo zypper -n in samba sudo vim /etc/samba/smb.conf sudo systemctl enable smb nmb sudo systemctl start smb nmb

  1. <a name="a5nGs"></a>
  2. ## 用户、组和权限
  3. [linux下查看所有用户及所有用户组 - Jacky's Blog - 博客园](https://www.cnblogs.com/jackyyou/p/5498083.html)
  4. ```bash
  5. groups # 查看当前登录的用户和组
  6. whoami # 查看当前登录的用户
  7. passwd
  8. # /etc/shadow # 或 /etc/passwd
  9. # /etc/group # 或 /etc/gshadow 组
  10. # 用户管理
  11. useradd # 添加用户
  12. adduser # 添加用户
  13. passwd # 为用户设置密码
  14. passwd $username # 为指定用户设置密码
  15. usermod # 修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
  16. # 将用户添加到组,可以一次添加到多个组,用逗号分割;
  17. usermod -a -G sudo,root,adm,dialout,cdrom,audio,video,plugdev,games,users,input,netdev,bluetooth,docker,spi,i2c,gpio $username
  18. usermod -L $username # Lock,禁用某用户;-U Unlock,解除禁用;
  19. pwcov # 同步用户从/etc/passwd 到/etc/shadow
  20. pwck # pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
  21. pwunconv # 是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
  22. finger # 查看用户信息工具 id 注:查看用户的UID、GID及所归属的用户组 chfn 注:更改用户信息工具
  23. su # 用户切换工具
  24. sudo # sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令;
  25. # 比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
  26. visudo # 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
  27. sudoedit # 和sudo 功能差不多;
  28. # 查看 sudo 组包含的用户
  29. getent group sudo
  30. # 组管理
  31. groupadd # 添加用户组;
  32. groupdel # 删除用户组;
  33. groupmod # 修改用户组信息
  34. groups $username # 显示用户所属的用户组
  35. grpck grpconv # 通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
  36. grpunconv # 通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;

Linux-Bash

查看当前linux发行版

Shell脚本

文件操作

打包和解压

RAR

rar a $outputFile.rar $sourceFileOrDir unrar e $outputFile.rar $destPath # 解压到当前目录中(不建议使用) unrar x $outputFile.rar $destPath # 解压到压缩包名的目录中

  1. - 链接
  2. - 软链接:ln -s
  3. 调用另一个脚本
  4. '.(空格)script.sh'<br />source<br />[在Shell脚本中调用另一个脚本的三种方式讲解_linux shell_脚本之家](https://www.jb51.net/article/159101.htm)
  5. 属性
  6. - [Linux下用lsdu命令查看文件以及文件夹大小 - 雪球球 - 博客园](https://www.cnblogs.com/xueqiuqiu/p/7635722.html)
  7. - du -sh xxx
  8. - du -sh --max-depth=1 /usr1/ # 查看目录下的子目录和文件大小
  9. - df -lh # 查看磁盘使用情况
  10. <a name="MuSAB"></a>
  11. # FAQ
  12. <a name="KuMjA"></a>
  13. ## 端口占用
  14. - [linux : Address already in use 解决方案 - bebug - 博客园](https://www.cnblogs.com/Harmony-OS/p/14570346.html)
  15. ```bash
  16. netstat -apn | grep 2181 # 端口占用情况和状态
  17. kill -9 $procId
  18. ps -ef | grep 4438 # 进程是哪个用户启动的,命令行参数