前言

Linux 操作系统可以说是网络安全学习、从业人员必不可少的操作系统基础,因此 X1ong 在这里记录一下 Linux 的常用命令和常用操作。

Linux 常用命令

目录/文件操作

cd

更改当前工作目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 转到指定目录
cd /var/

# 转到当前用户的家目录
cd

# 转到上一层目录
cd ..

# 转到刚才选择的目录
cd -

# 转到当前目录下的var目录
cd var

ls

显示目录内容列表

补充说明:

ls命令 用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。

语法:

1
ls [选项] [文件名...]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 显示文件的详细信息
ls -l

# 显示隐藏文件
ls -a

# 逆序显示目录内容
ls -r

# 按时间排序
ls -t

# 递归显示
ls -R

# 以易读的形式显示文件大小
ls -lh

tree

树状图列出目录的内容。

该命令在Linux系统下一般不默认安装,需要使用apt或者yum安装。

语法:

1
tree [选项] [路径...]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# -a 显示所有文件和目录。
root@ls-rK8rbuXz:~# tree -a test
test
├── 1
│   └── 1.txt
├── 2
│   └── 2.txt
├── 3
│   └── 3.txt
└── 4
└── 4.txt

# -d 显示目录名称而非文件。
root@ls-rK8rbuXz:~# tree -d test/
test/
├── 1
├── 2
├── 3
└── 4
4 directories

# -L level 限制目录显示层级。

cp

将源文件或目录复制到目标文件或目录中

补充说明:

cp命令 用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

语法:

1
cp [选项] [源文件路径] [目标文件路径]
1
2
3
4
5
6
7
8
9
10
11
# 将当前目录下的1.txt复制到/var/www/html目录下
cp 1.txt /var/www/html/

# -r/-R 递归复制一个目录
cp -r code /var/www/html/ # 将code目录复制到/var/www/html目录下

# -p 保留源文件或目录的属性
cp 1.txt /var/www/html/ # 将1.txt复制到/var/www/html并保留原有文件属性

# -l 对源文件建立硬连接,而非复制文件
cp -l 1.txt /var/2.txt # 将1.txt在/var/目录下建立硬链接,并重命名为2.txt

mv

用来对文件或目录重新命名或移动

语法:

1
mv [选项] [源文件路径] [目标文件路径]
1
2
3
4
5
# 将当前目录下的1.txt移动到/var/目录
mv 1.txt /var/ # 将当前目录下的1.txt剪切到/var/目录下

# -b 当文件存在时,覆盖前,为其创建一个备份
mv -b 1.txt /var/1.txt # 将当前目录下的1.txt剪切到/var/目录下,如果/var/目录存在,覆盖前则先备份。

pwd

查看当前工作目录

1
2
# 查看当前工作(所在)目录
pwd

touch

创建新的空文件

补充说明:

touch命令 有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。

语法:

1
touch [选项] [文件路径]
1
2
3
4
5
6
7
touch 1.txt  # 对已存在的文件1.txt的时间更改为当前时间

# -c 不建立任何文件
touch -c 2.txt

# 同时创建多个文件
touch 1.txt test/2.txt demo/3.txt

mkdir

用来创建目录

补充说明:

mkdir命令 用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。

语法:

1
mkdir [选项] [文件路径]
1
2
3
4
5
# -m 在创建目录的同时为目录赋予权限
mkdir -m 700 /var/www/www.qwesec.com/

# -p 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录(创建层级目录)
mkdir -p /var/www/html/x1ong

rmdir

用来删除空目录,一般不常用,一般在删除文件或目录的时候,使用 rm 命令删除。

rm

用于删除给定的文件和目录

补充说明:

rm 命令 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

语法:

1
mkdir [选项] [文件路径]
1
2
3
4
5
6
7
# -f 强制删除文件或目录(在删除目录或文件的时候不询问)
rm -f 1.txt

# -r或-R 递归处理,将指定目录下的所有文件与子目录一并处理(用于删除目录)
rm -r test/

# 一般我们删除目录的时候经常使用到 rm -rf <目录>,但是尤其要注意,一旦删除无法恢复。

系统调用函数unlink去删除指定的文件,unlink命令 用于系统调用函数unlink去删除指定的文件。和rm命令作用一样,都是删除文件。

1
unlink main1.c

dirname

去除文件名中的非目录部分

1
# dirname /var/www/html/1.txt     结果: /var/www/html

stat

用于显示文件的状态信息

1
2
3
4
5
6
7
8
9
root@ls-rK8rbuXz:~# stat main.c
File: main.c
Size: 70 Blocks: 8 IO Block: 4096 regular file
Device: fc01h/64513d Inode: 427255 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2023-12-10 15:36:18.459528580 +0800
Modify: 2023-12-10 15:36:16.895526338 +0800
Change: 2023-12-10 15:36:16.895526338 +0800
Birth: -

其中 Access 为文件的访问时间,Modify 为文件的修改时间,Change 为文件的元数据更改时间。

file

file命令几乎可以查看任意文件类型,它是根据文件的头部信息进行识别的。

1
2
root@ls-rK8rbuXz:~# file main.c
main.c: C source, ASCII text

md5sum

计算 MD5 加密校验和.

1
2
root@ls-rK8rbuXz:~# md5sum main.c
25308e361199a6516b134999238f6a76 main.c

base64

将文件或标准输入编码到Base64或从Base64解码为标准输出。

1
2
3
4
5
6
7
8
# 将字符串"hello world"进行base64编码
root@ls-rK8rbuXz:~# echo -n "hello" |base64
aGVsbG8=
# 将字符串"aGVsbG8="进行base64解码
root@ls-rK8rbuXz:~# echo -n "aGVsbG8=" | base64 -d
hello
# 对文件file1的内容进行base64编码
root@ls-rK8rbuXz:~# base64 file1

显示/查看文本文件内容

cat

打印和拼接文件的工具.

1
2
3
4
5
6
7
8
9
10
11
# 以标准输出,打印文件内容
cat /etc/passwd

# 多文件合并到目标文件
cat /etc/passwd /etc/shadow > passwd_shadow.txt

# 多文件合并,并追加到目标文件
cat /etc/passwd /etc/shadow >> passwd_shadow.txt

# -n 显示行号
cat -n /etc/passwd

tac

连接多个文件并以行为单位反向打印到标准输出。

1
2
# 从最后一行依次网上开始输出
tac /etc/passwd

nl

为每行内容添加行号

1
2
# 查看/etc/passwd文件并显示行号
nl /etc/passwd

显示文件的开头部分。

语法:

1
head [选项] [文件路径]
1
2
3
4
# -n 显示/etc/passwd的前10行内容
head -n 10 /etc/passwd
# 显示多个文件的前10行内容
head -n 10 /etc/passwd /etc/shadow

tail

显示文件的末尾部分

语法:

1
tail [选项] [文件路径]
1
2
3
4
5
6
# -n 显示/etc/passwd的末尾10行内容
tail -n 10 /etc/passwd
# 显示多个文件的末尾10行内容
tail -n 10 /etc/passwd /etc/shadow
# -f 实时监控某个文件的更新,一旦有更新立即显示
tail -f /var/log/apache2/access.log

more

显示文件内容,每次显示一屏

  • Space 键:显示文本的下一屏内容。
  • Enter 键:只显示文本的下一行内容。
  • 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
  • 按H键:显示帮助屏,该屏上有相关的帮助信息。
  • 按B键:显示上一屏内容。
  • 按Q键:退出more命令。
1
more /var/log/apache2/access.log

less

分屏上下翻页浏览文件内容

补充说明:

less命令 的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

1
less /var/log/apache2/access.log

echo

输出给定参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 输出文本信息,注意单双引号是可选的
echo "hello world"

# 输出带有环境变量的信息
echo "${PATH}"

# -n 打印不带尾随换行符的信息
echo -n "hello world"

# 向文件追加信息
echo "hello world" >> file.txt

# 向文件写入信息
echo "hello world" > file.txt

# -e 启用反斜杠转义的解释(特殊字符)
echo -e "hello\tworld"

strings

在对象文件或二进制文件中查找可打印的字符串

1
2
# 列出ls中所有的ASCII文本
strings /bin/ls

hexdump

显示文件十六进制格式

语法格式:

1
hexdump [选项] [文件路径]
1
2
3
4
5
6
7
8
# 查看avatar.jpg文件的十六进制形式
hexdump avatar.jpg

# 查看avatar.jpg文件的十六进制形式的前5行
hexdump avatar.jpg | head -5

# 输出规范的十六进制和ASCII码
hexdump -C avatar.jpg

rev

将文件内容以字符为单位反序输出

1
2
3
4
5
6
root@ls-rK8rbuXz:~# rev /etc/passwd
hsab/nib/:toor/:toor:0:0:x:toor
nigolon/nibs/rsu/:nibs/rsu/:nomead:1:1:x:nomead
nigolon/nibs/rsu/:nib/:nib:2:2:x:nib
nigolon/nibs/rsu/:ved/:sys:3:3:x:sys
cnys/nib/:nib/:cnys:43556:4:x:cnys

更换源

Ubuntu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# 备份更新源
mv /etc/apt/sources.list /etc/apt/sources.list.bak

# 22.04 中科大源
echo "deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse" >> /etc/apt/sources.list

# 20.04 中科大源
echo "deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse" >> /etc/apt/sources.list

# 20.04 清华源
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse" >> /etc/apt/sources.list

# 19.04 清华源
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ disco main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ disco main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ disco-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ disco-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ disco-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ disco-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ disco-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ disco-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ disco-proposed main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ disco-proposed main restricted universe multiverse" >> /etc/apt/sources.list

# 18.04 阿里源
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list

# 18.04 清华源
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list

# 16.04 清华源
echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse" >> /etc/apt/sources.list

# 14.04 阿里源
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list

Kali

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 备份更新源
mv /etc/apt/sources.list /etc/apt/sources.list.bak

# 中科大源
echo "deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib" >> /etc/apt/sources.list
echo "deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib" >> /etc/apt/sources.list

# 浙大源
echo "deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free" >> /etc/apt/sources.list
echo "deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free" >> /etc/apt/sources.list

# 东软大学
echo "deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib" >> /etc/apt/sources.list
echo "deb-src http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib" >> /etc/apt/sources.list

Debian

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 备份更新源
mv /etc/apt/sources.list /etc/apt/sources.list.bak

# Debian 11 bullseye 中科大源
echo "deb https://mirrors.ustc.edu.cn/debian/ bullseye main contrib non-free " >> /etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/debian/ bullseye main contrib non-free " >> /etc/apt/sources.list
echo "deb https://mirrors.ustc.edu.cn/debian/ bullseye-updates main contrib non-free " >> /etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/debian/ bullseye-updates main contrib non-free " >> /etc/apt/sources.list
echo "deb https://mirrors.ustc.edu.cn/debian/ bullseye-backports main contrib non-free " >> /etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/debian/ bullseye-backports main contrib non-free " >> /etc/apt/sources.list
echo "deb https://mirrors.ustc.edu.cn/debian-security/ bullseye-security main contrib non-free " >> /etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/debian-security/ bullseye-security main contrib non-free " >> /etc/apt/sources.list

# Debian 10 buster 网易源
echo "deb http://mirrors.163.com/debian/ buster main contrib non-free" >> /etc/apt/sources.list
echo "deb http://mirrors.163.com/debian/ buster-updates main contrib non-free" >> /etc/apt/sources.list
echo "deb http://mirrors.163.com/debian/ buster-backports main contrib non-free" >> /etc/apt/sources.list
echo "deb http://mirrors.163.com/debian-security buster/updates main contrib non-free" >> /etc/apt/sources.list


# Debian 9 stretch 网易源
echo "deb http://mirrors.163.com/debian/ stretch main contrib non-free" >> /etc/apt/sources.list
echo "deb http://mirrors.163.com/debian/ stretch-updates main contrib non-free" >> /etc/apt/sources.list
echo "deb http://mirrors.163.com/debian/ stretch-backports main contrib non-free" >> /etc/apt/sources.list
echo "deb http://mirrors.163.com/debian-security stretch/updates main contrib non-free" >> /etc/apt/sources.list

# Debian 8 jessie 网易源
echo "deb http://mirrors.163.com/debian/ jessie main contrib non-free" >> /etc/apt/sources.list
echo "deb http://mirrors.163.com/debian/ jessie-updates main contrib non-free" >> /etc/apt/sources.list
echo "deb http://mirrors.163.com/debian/ jessie-backports main contrib non-free" >> /etc/apt/sources.list
echo "deb http://mirrors.163.com/debian-security jessie/updates main contrib non-free" >> /etc/apt/sources.list

Centos

Centos7

1
2
3
4
5
6
7
8
9
10
11
# 备份更新源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

# 阿里云的CentOS-Base.repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 刷新源
yum update

# 生成缓存
yum makecache

Centos6

1
2
3
4
5
6
7
8
9
10
11
# 备份更新源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# 更换国内源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo

# 刷新源
yum update

# 生成缓存
yum makecache

SSH

安装SSH服务

ubuntu

1
2
# 安装SSH
apt install openssh-server

Centos

1
2
# 安装SSH
yum install openssh-server

Kali/Debian

1
2
# 安装SSH
apt install openssh-server

SSH设置开机自启

ubuntu/kali/Debian

1
2
3
4
5
# 开启ssh开机自动启动命令
sudo systemctl enable ssh

# 关闭ssh开机自动启动命令
sudo systemctl disable ssh

Centos

1
2
3
4
5
# 开启ssh开机自动启动命令
sudo systemctl enable sshd

# 关闭ssh开机自动启动命令
sudo systemctl disable sshd

允许root用户远程登录

Ubuntu/Kali/Debian

1
2
# 开启root用户远程登录
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

Centos

1
2
3
4
# 开启root用户远程登录
sed -i 's/#PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config
# 重启ssh服务生效
systemctl restart sshd

说明:将 /etc/ssh/sshd_config 文件中的 PermitRootLogin 选项设置为 yes 重启服务即可。

修改SSH端口号

1
2
3
# 将SSH默认端口由22修改为2222
sed -i 's/#Port 22/Port 2222' /etc/ssh/sshd_config
# 重启ssh服务生效

说明:将 /etc/ssh/sshd_config 文件中的 Port 选项设置为 2222 重启服务即可。

SSH连接非22端口

1
ssh -p 端口 x.x.x.x

SSH使用公私钥登录

SSH客户端配置

1
2
3
4
5
6
# 生成公私钥
ssh-keygen
# 进入到到ssh公私钥放的文件夹
cd /root/.ssh
# 使用ssh-copy-id命令将生成的id_rsa.pub公钥文件发送给SSH服务器
ssh-copy-id -i id_rsa.pub root@x.x.x.x

SSH服务端配置

执行如下命令:

1
2
3
4
5
6
# 关闭密码认证
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
# 开启公私钥认证(默认是开启的)
sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config
# 重启ssh服务
/etc/init.d/ssh restart

SSH客户端连接

1
ssh -i ~/.ssh/id_rsa root@10.211.55.3

image-20231210164837852

SCP拷贝文件

将本地文件拷贝到SSH服务器

1
scp 本地文件 用户名@服务器地址:要拷贝的路径

image-20231210165426740

从SSH服务器下载文件到本地

1
scp 用户名@服务器地址:要下载的路径 保存本地的路径

image-20231210165545145

如果SSH服务器使用的不是默认端口22,则需要使用 -P 参数进行指定端口。

FTP

安装FTP

Ubuntu/Kali/Debian

1
2
# 安装VSFTPD
apt install vsftpd -y

Centos

1
2
# 安装VSFTPD
yum install vsftpd -y

FTP设置开机自启

1
2
3
4
# 设置开机自启动
systemctl enable vsftpd
# 关闭开机自启动
systemctl disable vsftpd

连接FTP

最基本的连接方式:(Windows Linux 通用):

1
2
# 命令格式: ftp ip 
ftp 192.168.1.100

连接FTP的非默认端口:

1
2
# 命令格式: ftp ip port
ftp 192.168.1.100 2121

或者:

1
2
➜  ~ ftp
ftp> open 10.211.55.3 21

image-20231210170335211

基本操作

目录相关

1
2
3
4
5
6
7
8
9
10
11
pwd               # 显示远程计算机上的当前目录
ls/dir # 列出当前远程目录的内容,可以使用该命令在Linux下的任何合法的ls选项
cd # 移动到cd 后的目录
cdup/cd .. # 返回上一级目录
lcd # 列出当前本地目录路径

mkdir # 在远程系统中创建目录
rename # 重命名一个文件或目录
rmdir # 删除远程目录
delete # 删除远程文件
mdelete # 删除多个远程文件

文件上传和下载

1
2
3
4
binary            # 用于二进制文件传送(图像文件等)
ascii # 用于文本文件传送
get/mget # 在当前远程目录下复制(一个/多个)文件到本地文件系统当前目录
put/mput # 从当前目录把文件复制到当前远程目录

退出

1
2
3
!                 # 临时退出ftp模式,返回本地Linux Shell模式,键入exit返回
close # 关闭当前连接
bye/quit # 关闭连接并退出ftp命令模式

Linux部署LAMP

Ubuntu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 更新软件包
apt update
apt upgrade

# 安装Apache2中间件
apt install apache2 -y

# 安装Mysql
apt install mysql-server mysql-client

# 配置数据库
mysql_secure_installation

# 安装PHP
add-apt-repository ppa:ondrej/php
apt-get install php5.6 php5.6-mysql php5.6-gd

Centos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 更新软件包
yum update

# 安装httpd中间件
yum install httpd -y

# 安装mysql数据库
yum install mariadb-server mariadb

# 配置数据库
mysql_secure_installation

# 安装PHP
yum install php php-mysql

压缩与解压

压缩

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# tar
tar zcvf FileName.tar DirName

# tar.bz2
tar jcvf x.tar xxxx

# gz
gzip FileName

# Z
compress FileName

# tar.Z
tar Zcvf FileName.tar.Z DirName

# zip
zip -r FileName.zip DirName

# war 将 shell.jsp 压缩为 shell.war
jar cvf shell.war shell.jsp

解压

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# tar
tar zxvf FileName.tar

# tar.bz2
bzip2 -d FileName.bz2
bunzip2 FileName.bz2

# gz
gzip -d FileName.gz
gunzip FileName.gz

# Z
uncompress FileName.Z

# tar.Z
tar Zxvf FileName.tar.Z

# zip
unzip FileName.zip