几个Ubuntu上命令备忘

添加硬盘

2.6 kernel以后,linux会将识别到的硬件设备,在/dev/下建立相应的设备文件。例如:

  • sda 表示第1块SCSI硬盘,第二块是sdb,以此类推
  • hda 表示第1块IDE硬盘(即连接在第1个IDE接口的Master口上)
  • scd0 表示第1个USB光驱.

安装了新硬盘后,使用下面的命令在Ubuntu里添加设备。

sudo fdisk -l
sudo parted /dev/sdb
print
mklabel gpt 500G
unit TB
mkpart primary 0.00TB 3.00TB
quit
sudo mkfs.ext4 /dev/sdb1
sudo mkdir /media/hdd1
sudo mount /dev/sdb1 /media/hdd1
sudo vi /etc/fstab
/dev/sdb1 /media/hdd1 ext4 defaults 0 0
sudo mount -a

设置静态IP地址

进入/etc/netplan/目录,修改目录下的yaml文件

将其中的

dhcp4: true

修改为

addresses: [192.168.1.3/24]
gateway4: 192.168.1.1
nameservers:
  addresses: [1.2.4.8, 114.114.114.114]

运行 netplan apply 完成设置

sudo netplan apply

Bash脚本

在Ubuntu上可以创建脚本批量运行多条命令,类似windows的bat命令。
下面以docker的升级脚本为例:

 #!/bin/bash         

echo "Upgrade Uptime-Kuma to the last version!"

sudo docker pull louislam/uptime-kuma:1

sudo docker stop uptime-kuma

sudo docker rm uptime-kuma

sudo docker run -d --restart=always -p 9092:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

echo "Uptime-Kuma upgrade completed!"

Ubuntu上的WOL命令

Ubuntu Server多数时间都开着,安装wol client可以用来随时唤醒我家的另一台Dell台式机。Dell上的设置详见:
https://oheng.com/?p=4693
wol client使用的是etherwake,通过apt-get直接安装。使用也简单,唤醒命令是:

sudo etherwake -i enp1s0f0 11:22:33:44:55:66

其中enp1s0f0是我的网络接口名 ,注意这里是数字1和0,不是字母L和O,我在这走了弯路。这个可以通过下面的命令查看

ifconfig -a

11:22:33:44:55:66 是要唤醒机器的网卡地址。可以事先通过arp -n命令查到并记下。

查看端口是否在使用

sudo lsof -i -P -n | grep LISTEN
sudo lsof -i:22 ## see a specific port such as 22 ##

清理log

# Delete logs that are older than 5days

sudo journalctl --vacuum-time=5days

# Delete logs till to reach 500M disk usage only

sudo journalctl --vacuum-size=500M

拷贝文件或目录时不改变owner和mod

一般来说MV命令不改变owner和mod,CP会改所以需要加上 -p参数

cp -p source-file dest-file
cp -rp source-dir/ dest-dir/

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注