必备:
sudo apt install ntp
sudo apt install ntpdate
sudo apt install net-tools
sudo apt install curl
sudo apt install sshfs
sudo apt install nfs-common
sudo apt install sshpass
sudo apt install samba


检查Ubuntu 版本
lsb_release -a
cat /etc/lsb-release


开机时自定运行sh脚本,crontab中加入如下:
@reboot /root/

删除超过30天的文件和文件夹
sudo find Folder\ -mtime +30 -exec rm -rf {} ;


挂载SFTP
sudo apt-get install sshfs
sudo sshfs -o allow_other -p 22 user@xxx.xx.xxx.xx:/ /abc/sftp
通过key认证挂载
sshfs user@xx.xx.xx.xx:/ /sftp/ -o IdentityFile=/home/user/key

挂载NFS
sudo apt install nfs-common
sudo mount 192.168.1.2:/volume1/Cup /test/Cup

sudo umount -l /testlog/Cup

Mount NFS after reboot
sudo vim /etc/fstab

192.168.1.10:/volume1/Cup /testlog/Checker/ nfs defaults 0 0


SFTP服务

创建文件夹和用户
mkdir ABC
useradd abc
passwd abc

允许用户通过SSH/SFTP访问
vim /etc/ssh/sshd_config

UsePAM no
AllowUsers abc bcd efg ###在这里添加用户
ClientAliveInterval 60
ClientAliveCountMax 86400

Subsystem sftp internal-sftp
Match group sftp
ForceCommand internal-sftp
ChrootDirectory /Folder/Folder ###在这里指定允许访问的文件夹路径

将用户加入SFTP用户组
gpasswd -a abc sftp

将abc用户设置为Folder的owner
chown abc.abc Folder

如果文件夹下已经有子文件夹和文件,需要用chown -R username:abc Folder/. e.g.: chown -R abc.abc Folder

将文件夹设为只有owner可以访问
chmod 700 Folder
如果是设为只读: chmod 775

如果不想改变owner而只是想添加其他用户读写权限到文件夹
setfacl -R -m u:username:rwx myfolder


Samba服务

添加用户的smb访问权限
vim /etc/samba/smb.conf

[shareDoc]
comment = Folder for File Sharing
path = /ShareFolder
public = no
writable = yes
valid users = abc,bcd,def

添加用户abc的smb访问权限并设定登陆密码
smbpasswd -a abc

设定完成后,重启smb和ssh服务使更改生效
service smbd restart
service sshd restart
service ssh restart

保持SSH不断线

sudo vim /etc/ssh/sshd_config
在末尾添加:每隔30秒向客户端发出一次心跳检测,若超过999次请求都没有成功,就会主动断开与客户端的连接。
ClientAliveInterval 30
ClientAliveCountMax 999

sudo service ssh restart


添加DNS
sudo vim /etc/network/interfaces

add dns then restart, example as below:


auto lo

iface lo inet loopback

auto eno1

iface eno1 inet static

address 10.6.204.1

netmask 255.255.255.0

gateway 10.6.204.254

dns-nameservers 8.8.8.8 114.114.114.114

重启网络服务: sudo /etc/init.d/networking restart
临时加载DNS: echo “nameserver 8.8.8.8” | sudo tee /etc/resolv.conf

查DNS:
cat /etc/resolv.conf or
resolvectl status

添加默认路由
sudo vim /etc/network/interfaces

up route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1 dev eno1

然后重启网络服务: sudo /etc/init.d/networking restart

临时加载默认路由: route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1 dev eno1

这个方式发现在有些多网卡都设置了IP地址的情况无法正常加载,用下面的方式解决:
vim /etc/rc.local

SSH进入Ubuntu提示错误:Could not chdir to home directory /home/username: No such file or directory

sudo mkdir /home/username
sudo usermod --shell /bin/bash --home /home/username username
sudo chown -R username:username /home/username
cp /etc/skel/.* /home/username/

退出登陆再重新登即可

Ubuntu Firewall设置

sudo ufw enable/disable
sudo ufw status

sudo ufw allow 22
sudo ufw allow ssh

sudo ufw allow from 100.100.100.10
sudo ufw allow from 172.16.0.0/16
sudo ufw delete allow 80
sudo ufw delete allow from 100.100.100.10


用sync快速删除小文件
sudo mkdir #创建一个空文件夹 blank

rsync --delete-before -d /Test/blank/ /Test/Lin/FA/AF/log/

如果要看过程信息:
rsync --delete-before -a -H -v --progress /Test/blank/ /Test/Lin/FA/AF/log/

修改crontab 默认编辑器
update-alternatives --config editor
选择vim.tiny
临时修改可用:export EDITOR=/usr/bin/vim

快速删除大量小文件
ls -1 -f | xargs rm -rfv

Linux 或 NAS 由于已经存在大量小文件,而无法进行rm 删除的操作,可用如下命令

删除文件夹:while ! sudo ls ./ -1 -f | head | xargs rm -rfv; do sleep 1 ; done ; echo succeed
(此命令在Singlelog的上层目录,即工站名文件夹下运行比较好,这样就不会有暂停,而会一直循环清除文件,这样更快)

删除文件并显示进度:while ! ls ./ -1 -f | head | xargs rm -v; do sleep 1 ; done ; echo succeed


查看文件修改记录
stat filename

gzip压缩文件并保留源文件,yes n是针对使用脚本自动运行的情况,如果发现文件已存在gz压缩包,则忽略。
yes n|gzip -v -k -r ./test/*

Linux 命令行页面查本机公网IP
curl myip.ipip.net
curl ifconfig.me


ntp服务:
sudo apt install ntp
Linux验证:ntpdate 192.168.1.10
Windows验证:net time \192.168.1.10 /set /y (后来发现此命令不好用,该用下面的)
w32tm /config /manualpeerlist:192.168.10.18 /syncfromflags:manual /reliable:yes /update
如果提示服务没有启动,则:net start w32time
或者到windows服务启动 Windows Time

设置时区:
查找time zone: timedatectl list-timezones
sudo timedatectl set-timezone Asia/Shanghai

设置时间:
sudo date --set “16 Oct 2023 12:19 PM”

设置自动通过NTP更新时间
sudo apt install systemd-timesyncd
sudo timedatectl set-ntp true
timedatectl status
sudo ntpdate  http://time.nist.gov

报错:bad ownership or modes for chroot directory
sudo chown owner.owner /folder
sudo chmod 755 /folder


ubuntu 22.04 设置网络
/etc/netplan/00-installer-config.yaml
network:
ethernets:
eno1:
dhcp4: false
addresses:
- 10.10.x.xx/24
routes:
- to: default
via: 10.10.x.xx
nameservers:
addresses:
- 8.8.8.8
然后:
sudo netplan try
sudo netplan apply


sshpass
sshpass -p Password ssh  user@127.0.0.1 -p Port_Number

查看文件夹内子文件夹大小
sudo du -h /var/ --max-depth=1 | sort -hr


通过scp复制文件到另一部机器
scp installer.zip  user@10.10.10.10:/home/user/
需要指导ssh端口的情况
scp -P 2222 Desktop/sample.txt  root@127.0.0.1:/home/remote/
大写的P

Ubuntu强制重启
sudo systemctl --force --force reboot

Ubuntu创建用户
sudo adduser <username> (默认会创建用户home目录和设置密码)
sudo usermod -aG sudo <username> (给用户添加sudo权限)


搜索文件


sudo apt update
sudo apt install mlocate
sudo updatedb
locate filename
##match the exact file name
locate -b '\filename'

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐