Ubuntu常用命令
版本:Ubuntu 20.04(可通过
lsb_release -a
命令查看)其它Linux系统版本也可能适用
1.查看与修改时区
BST:英国夏令时间,British Summer Time
CST:中国标准时间,China Standard Time
UTC:世界标准时间,协调世界时,Coordinated Universal Time
1.1 查看当前时区及时间
执行命令:
timedatectl
输出如下:
Local time: Thu 2024-06-27 08:34:06 BST
Universal time: Thu 2024-06-27 07:34:06 UTC
RTC time: Thu 2024-06-27 07:34:07
Time zone: Europe/London (BST, +0100)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
查看所有时区:
timedatectl list-timezones
1.2 设置时区
设置时区,将时间设置为北京时间
timedatectl set-timezone Asia/Shanghai
再次查看时间,输出如下:
Local time: Thu 2024-06-27 15:51:23 CST
Universal time: Thu 2024-06-27 07:51:23 UTC
RTC time: Thu 2024-06-27 07:51:24
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
可以看到当前时间已经变为北京时间了
2.定时任务
有时我们需要定时或定期执行某一项任务,比如备份数据、升级软件等
参考:
1.使用 crontab 命令在 Linux 中进行定时任务调度
推荐工具:
2.1 开启cron服务
定义任务可以借助Linux的crontab
命令,使用这一命令需要开启cron
服务,默认应该是开启的
# 查看服务状态
sudo service cron status
# 开启服务
sudo service cron start
# 停止服务
sudo service cron stop
# 重启服务
sudo service cron restart
2.2 crontab命令的使用
2.2.1 查看当前用户的定时任务
crontab -l
输出:
no crontab for root
2.2.2 编辑定时任务
crontab -e
首次执行会让你选择编辑器比如 nano
、vim
,这里我选择 vim
,如果想要再次修改编辑器,可以执行 select-editor
命令
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
Choose 1-3 [1]: 2
选择你常用的编辑器,然后会打开一个文件,里面填写你的定时任务,格式如下:
* * * * * command
第1列:表示分钟0~59 每分钟用*或者 */1表示
第2列:表示小时0~23(0表示0点)
第3列:表示日期1~31
第4列:表示月份1~12
第5列:表示星期0~6(0,7都可表示星期天)
第6列:要运行的命令或脚本(需要有执行权限)
特殊符号:
星号(*):表示任意值。例如, 在分钟字段中表示每分钟执行一次。
逗号(,):用于分隔多个值。例如,1,2,3 表示第 1、2 和 3 分钟。
减号(-):表示一个范围。例如,1-5 表示从第 1 分钟到第 5 分钟。
斜杠(/):表示步长。例如,*/5 表示每 5 分钟执行一次。
特殊时间字符串:
@reboot:系统启动时执行一次
@yearly 或 @annually:每年执行一次,相当于 0 0 1 1 *
@monthly:每月执行一次,相当于 0 0 1 * *
@weekly:每周日执行一次,相当于 0 0 * * 0
@daily 或 @midnight:每天执行一次,相当于 0 0 * * *
@hourly:每小时执行一次,相当于 0 * * * *
比如,LobeChat更新频率很高,我想在每周5的凌晨2点升级一下LobeChat的版本,可以进行填入以下内容:
# 每周5的凌晨2点升级LobeChat
0 2 * * 5 /root/data/docker_data/lobechat/upgrade.sh
2.2.3 删除定时任务
删除定义任务只需要删除当前用户的crontab文件
crontab -r
2.3 拓展
列出某个用户的 crontab 文件(需要有相应的权限):
crontab -u username -l
编辑某个用户的 crontab 文件(需要有相应的权限):
crontab -u username -e
删除某个用户的 crontab 文件(需要有相应的权限):
crontab -u username -r
3.创建用户相关
3.1 新建用户
adduser username
例如:执行 adduser sqwfly
后的创建流程
Adding user `sqwfly' ...
Adding new group `sqwfly' (1000) ...
Adding new user `sqwfly' (1000) with group `sqwfly' ...
Creating home directory `/home/sqwfly' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for sqwfly
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
赋予用户 sudo
权限
usermod -a -G sudo username
可以看到新建的用户加入到了 sudo 用户组
groups username
#输出信息
username:username,sudo
修改用户登录的bash,如果新建的用户无法ssh登录可能与登录bash有关
usermod -s /bin/bash username
3.2 删除用户
3.2.1 删除用户以及用户下的所有文件(/home/username/*)
userdel -r username
3.2.2 删除用户但保留用户文件
userdel username
3.3 查看所有用户
grep bash /etc/passwd
4.查看文件大小
4.1 查看当前目录下文件大小
du -h --max-depth=1
# -h, --human-readable 以可读性较好的方式显示空间大小(例如:63K、783M、1.8G)
# --max-depth 用于指定深入目录的层数
4.2 查看指定目录下文件大小
查看 \dev 目录下的文件大小
du -h --max-depth=1 /dev
评论区