1、用户管理
添加用户
sudo adduser username
删除用户
sudo userdel {-r} username
-r:删除home目录
赋予sudo权限
sudo usermod username -G sudo
2、文件权限管理
ls -l 1.txt
-rwxr-x--- 1 nathan nathan 0 Apr 16 12:14 1.txt
ls -l可查看文件权限,示例1.txt文件权限为:-rwxr-x--- 。从左往右分三段解读:1,rwx,该权限表示nathan用户可读可写可执行此文件;2,r-x,表示nathan用户组可读可执行此文件;3、---表示其他人不可读写执行此文件
每个字母可用对应数字表示
r:4,可读
w:2,可写
x:1,可执行
rwx=4+2+1=7
chmod命令修改文件权限
sudo chmod 750 filename
chown更换文件拥有者
sudo chown {-R} user:group dirname
-R:递归设置目录下所有子目录与子文件
acl访问控制列表
使用前需安装 acl
setfacl -m u:username:rwx filename
-m:修改文件权限
setfacl -x u:username filename
-x:移除权限
getfacl filename
getfacl:查看文件访问控制列表
setfacl 也可使用-R递归设置所有子目录与子文件权限
3、ssh免密登录
(1)于本地机器打开CMD,输入“
ssh-keygen
”生成私钥、公钥。(2)将生成的公钥(.pub)文件复制到需要远程登录的服务器的
~/.ssh/authorized_keys
文件中,没有则自己创建。(3)修改
authorized_keys
文件权限为700。
此时经可以在不输入密码的情况下登录到你的服务器了,若依然要求输入密码,请检查ssh配置文件
/etc/ssh/sshd_config,
确保PubkeyAuthentication
选项被设置为yes,
修改配置后需重启sshd。
4、服务安装
sudo apt update
sudo apt install package
若下载速度慢,可尝试更换国内软件源 。示例为ubuntu22.04阿里源。
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
5、cron自动任务
使用
crontab
命令来编辑当前用户的 cron 任务,运行crontab -e
可以在其中添加或编辑 cron 任务。crontab -l
查看已添加的cron任务
* * * * * command
这五个星号分别代表:
- 分钟(0 - 59)
- 小时(0 - 23)
- 一个月中的第几天(1 - 31)
- 月份(1 - 12)
- 一周中的星期几(0 - 7,其中 0 和 7 都代表星期天)
例如,如果你想在每天的 3 点钟执行一个脚本
/path/1.sh
0 3 * * * sh /path/1.sh
在cron表达式中,要表示每十分钟执行一次任务,你可以使用以下表达式:
*/10 * * * * sh /path/1.sh
6、文件传输
scp
基于SSH协议进行安全文件传输,用于在主机之间复制文件或目录
scp /path/file username@domain.com:/path/file
-P 可以指定ssh端口号
rsync
不仅可以复制文件,还可以保持文件的权限、时间戳等属性,并且只复制文件之间的差异部分,提高传输效率
rsync /path/dir/ username@domain.com:/path/dir
-a
:表示归档模式,保持文件权限、时间戳等属性,并且支持递归复制目录。-z
:使用gzip压缩文件数据进行传输,有助于加快传输速度。-v
:详细模式,显示更多信息。--delete
:删除目的地中存在而源中不存在的文件,使目的地与源保持同步。
7、history历史输入命令
history
用于显示用户在命令行中输入过的命令,且每个命令前面都有一个编号。输入 !n 可执行历史记录中的第n条命令
history
!100
8、grep
在输出内容较多的情况下,使用grep可过滤出指定字符内容。
history |grep vim
cat 1.txt |grep 123
9、systemctl系统服务管理
重新启动服务
sudo systemctl restart serviceName
自启动服务
sudo systemctl enable serviceName
停止服务
sudo systemctl stop serviceName