在操作服务器时经常会遇到之前学过的命令,到用的时候,却有所遗忘.这篇笔记做一个归类总结,一些经常使用的功能几乎不会遗忘可能就不会记录

一.文件结构

  • /根目录
  • /bin二进制文件目录,包含ls,cp,mv等
  • /sbin系统使用的二进制文件,reboot,shutdown
  • /usr用户目录,存放用户安装的应用程序
  • /lib存放系统所需的共享库文件和内核模块
  • /etc存放系统的配置文件和子目录,包括网络配置,服务配置
  • /home用户主目录,每个用户都有一个独立的子目录
  • /var可变数据,如日志,邮件,缓存
  • /tmp临时目录,系统重启会清空此目录
  • /dev设备文件,用于与硬件设备交互
  • /opt存放第三方应用程序
  • /boot引导目录,放引导相关的文件,内核和启动配置文件
  • /mnt挂载目录,用于临时挂载其它文件系统
  • /proc进程目录,虚拟文件系统,提供有关系统进程的信息
  • /sys系统目录,虚拟文件系统,提供有关系统硬件的信息

二.文件操作

压缩,解压缩

1
2
3
4
5
6
7
8
9
10
11
12
13
# 将压缩 `file.txt` 文件并生成 `file.txt.gz`
gzip file.txt
# 将`file1`, `file2` 和 `directory1` 压缩为 `archive.tar`
tar -cvf archive.tar file1 file2 directory1
# 这将把 `file1`, `file2` 和 `directory1` 压缩为 `archive.tar.gz`.
tar -czvf archive.tar.gz file1 file2 directory1

# 解压 .gz 文件
gunzip filename.gz
# 解压.tar文件
tar -xvf archive.tar
# 解压.tar.gz文件
tar -xzvf archive.tar.gz

三.网络操作

ssh认证

设置ssh密钥登录

要在Linux系统上设置SSH无需密码直接登录,您可以使用SSH密钥对。以下是一些步骤:

  1. 打开终端并运行以下命令来生成密钥对:
1
ssh-keygen

默认情况下,它将生成一个RSA密钥对。按Enter键三次以接受默认文件位置和空密码。

  1. 将公钥复制到目标服务器:

    使用ssh-copy-id命令将您的公钥复制到目标服务器,替换your_usernameyour_server_ip为您的用户名和服务器IP地址:

    1
    ssh-copy-id your_username@your_server_ip

    输入目标服务器的密码。

  2. 现在,您应该能够通过SSH无需密码直接登录到目标服务器:

    1
    ssh your_username@your_server_ip

    这将自动使用您的SSH密钥对进行身份验证,而不需要密码。

设置网络代理

  1. 设置 HTTP 代理:
1
export http_proxy=http://your_proxy_server:port
  1. 设置 HTTPS 代理:
1
export https_proxy=http://your_proxy_server:port
  1. 设置 FTP 代理:
1
export ftp_proxy=http://your_proxy_server:port
  1. 设置不需要代理的地址(可选):
1
export no_proxy=comma-separated-list-of-addresses

请将 your_proxy_serverport 替换为实际的代理服务器地址和端口号。如果你的代理服务器需要用户名和密码,你可以在 URL 中包含它们,例如 http://username:password@proxy_server:port

取消代理

要取消代理,只需将相关环境变量设置为空或删除它们。

1
2
3
4
unset http_proxy
unset https_proxy
unset ftp_proxy
unset no_proxy

或者,你可以将它们设置为一个空字符串:

1
2
3
4
export http_proxy=
export https_proxy=
export ftp_proxy=
export no_proxy=

scp复制文件

四.性能监测

五.信息查询

1
2
3
4
5
# 显示一个漂亮的系统信息概览
neofetch
# 可视化更强
htop

六.常用操作与内容记录

定时任务-CronTab

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 编辑定时任务
crontab -e
# 语法
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- Day of the week (0 - 7) (Both 0 and 7 represent Sunday)
| | | +------- Month (1 - 12)
| | +--------- Day of the month (1 - 31)
| +----------- Hour (0 - 23)
+------------- Minute (0 - 59)
# 设置一个每天两天的定时
0 2 * * * /path/to/your/script.sh
# 查看现有命令
crontab -l
# 删除所有定时任务
crontab -r

镜像源地址

debian | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

七.shell命令语法