首页 > 系统相关 >Linux基础

Linux基础

时间:2024-11-10 17:15:49浏览次数:3  
标签:文件 sudo 基础 命令 参数 Linux txt 链接

 声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章

声明:本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。

感谢泷羽sec 团队的教学
视频地址:linux基础(1)_哔哩哔哩_bilibili

 一、openssl

openssl是 Kali Linux(以及许多其他 Linux 发行版)中广泛使用的命令行工具,用于执行加密、解密和其他加密操作。它基于 OpenSSL 库构建,该库实现了安全套接字层 (SSL) 和传输层安全 (TLS) 协议以及各种加密算法和标准。

下面是对密码进行加密的简单演示:

MD5 是一种广泛使用的哈希算法,它可以将任意长度的输入数据转换为固定长度的输出,通常是 128 位(16 字节)的哈希值。

openssl passwd -1 123

这个命令用于生成一个基于 MD5 的密码哈希。

  • passwd:这是 OpenSSL 的一个子命令,用于处理密码。
  • -1:表示使用 MD5 哈希算法。
  • 123:这是要哈希的明文密码。

$1$VjoPProL$4tgNpt1OLJC7WbHG96pRO0

  • $1$:表示 MD5 哈希格式。
  • VjoPProL:这是一种盐,是添加到哈希中的随机字符串,以增加安全性。
  • 4tgNpt1OLJC7WbHG96pRO0:这是经过 MD5 哈希处理后的密码。它是一个固定长度的字符串,通常表示为 32 个字符(128 位)。

openssl passwd -5 123

该命令 用于生成一个基于 SHA-256 的密码哈希。

  • openssl:调用 OpenSSL 工具。
  • passwd:表示要处理密码。
  • -5:指定使用 SHA-256 哈希算法(比 MD5 更安全)。
  • 123:这是要哈希的明文密码。

$5$BbzDx274X49hbAin$7d9RfwTInc7n8U/1Hgc6tr2/KEfIqaFEZqDCzilLZ19

  • $5$ :表示使用 SHA-256。
  • BbzDx274X49hbAin:是随机生成的盐值,用于防止彩虹表攻击。
  • 7d9RfwTInc7n8U/1Hgc6tr2/KEfIqaFEZqDCzilLZ19:是哈希后的密码。

二、Linux基础命令

文件管理相关命令 
1.创建空文件

touch filename

命令:touch newfile.txt

  • touch命令用于创建文件或更新现有文件的时间戳
  • newfile.txt是要创建的空文件名,如果文件已经存在,则更新其最后修改时间

2. 删除文件

rm filename

命令:rm newfile.txt

  • rm命令用于删除文件。
  • newfile.txt是要删除的文件名。

命令:rm -rf /tmp/new/newfile.txt

  • -r参数表示递归删除目录及其内容
  • -f参数表示强制删除,不提示确认

3. 新建目录

mkdir directory_name
命令:mkdir new

  • mkdir命令用于创建目录
  • new是要创建的目录名

命令:mkdir -p /tmp/a/b/c

  • -p参数用于递归创建目录树,如果路径中的一些目录不存在,mkdir将自动创建它们。

4. 删除空目录

rmdir directory_name
命令:rmdir new

  • rmdir命令用于删除空目录
  • new是指定要删除的空目录名。注意,rmdir只能删除空目录。

5. 重命名文件

mv old_name new_name
命令:mv oldfile.txt newfile.txt

  • mv命令用于移动或重命名文件
  • oldfile.txt是原文件名
  • newfile.txt是新文件名

6. 移动文件 

mv filename /path/to/destination
命令:mv newfile.txt /tmp/a/b/c

  • mv命令用于移动文件或目录
  • newfile.txt是要移动的文件
  • mv newfile.txt /tmp/a/b/c是目标目录路径

7. 拷贝文件

cp source_file destination_file
命令:cp newfile.txt backup_file.txt

  • cp命令用于复制文件或目录。
  • newfile.txt是源文件
  • backup_file.txt是复制后且重命名的文件

命令:cp -r /tmp/a/b/c /tmp/

  • -r参数表示递归复制目录及其内容。
  • /tmp/a/b/c是源文件所在目录
  • /tmp/是复制后的文件所在目录

8. 创建软链接

ln -s target link_name
命令:ln -s /usr/local/bin/pip /usr/bin/pip

  • -s参数创建符号链接(软链接)
  • /usr/local/bin/pip是目标文件
  • /usr/bin/pip是符号链接名称
  • 使用ls -l这个命令会列出文件的详细信息,包括链接。对于软链接,它会显示链接指向的目标文件路径。

 

9.创建硬链接

ln target link_name
命令:ln newfile.txt hardlink.txt

  • ln命令创建硬链接。
  • file.txt是目标文件,
  • hardlink.txt是硬链接名称。
  • 使用 ls -li 命会显示文件的详细信息,包括文件的inode号。硬链接具有相同的inode号。

 

10. 软链接和硬链接的区别
硬链接(Hard Link)
  • 同一文件系统:硬链接必须指向同一文件系统中的文件。
  • 共享inode:硬链接指向的是文件的inode,它们共享相同的inode和数据块,因此硬链接实际上并不占用额外的磁盘空间。
  • 删除限制:只要至少有一个硬链接存在,文件数据就不会被删除。即使删除了创建硬链接的原始文件,数据仍然会保留,直到所有硬链接都被删除。
  • 文件名不变:硬链接创建后,文件名不会改变,即使原始文件被重命名或移动。
  • 权限继承:硬链接继承原始文件的权限。
  • 不支持目录:不能对目录创建硬链接,因为这可能导致文件系统遍历问题。
软链接(Symbolic Link)
  • 跨文件系统:软链接可以指向不同文件系统的文件。
  • 独立路径:软链接包含目标文件的路径,因此它们不共享inode,实际上是一个独立的文件。
  • 删除独立:软链接删除后不会影响目标文件,目标文件删除后软链接会变成“死链接”。
  • 文件名变化:如果目标文件被移动或重命名,软链接将不再有效。
  • 权限独立:软链接有自己的权限,与目标文件的权限无关。
  • 支持目录:可以对目录创建软链接。
文件搜索工具及参数 
1. which

命令:which ls

  • which命令查找命令的可执行文件路径
  • ls是要查找的命令

2. echo $PATH

命令:echo $PATH

  • echo命令输出字符串或变量值
  • $PATH`是环境变量,包含可执行文件查找路径

3. locate

locate 命令通过数据库查找文件

命令:locate  -i  *.img

  • locate命令通过数据库快速查找文件
  • -i忽略大小写搜索
  • *.img是要查找的文件名

4. find

命令:find . -type f -iname '*.sh' -mmin -30 -ls

  • .是当前目录,
  • -type f查找文件,
  • -iname '*.sh'`查找以.sh结尾的文件,忽略大小写
  • -mmin -30查找过去30分钟内修改的文件
  • -ls列出文件详细信息。

命令:find . -name '*.svn' -exec rm -rf {} \;

  • -name '*.svn'`查找.svn文件或目录
  • -exec`对每个找到的文件执行命令
  • rm -rf {}删除找到的文件或目录
  • \;结束-exec命令

用户和组账号管理
1. /etc/passwd

命令:cat /etc/passwd

  • /etc/passwd是用户账户数据库文件,包含用户名、UID、GID、主目录和登录Shell

2. /etc/shadow

命令:cat /etc/shadow

  • /etc/shadow包含用户密码的加密信息及密码策略,只有root用户可以访问

3. cat /etc/group

命令:cat /etc/group

  • /etc/group是组账户数据库文件,包含组名、GID和组成员

 

4. sudo passwd -l username

命令:sudo passwd -l tom

  • -l参数锁定用户,使其无法登录,tom是要锁定的用户名

5. chage -E 1900-01-01 username

命令:chage -E 2025-01-01 tom

  • -E 1900-01-01参数将用户tom的密码过期日期设置为2025年1月1日

6. passwd -S username

命令:passwd -S tom

  • -S参数显示用户tom的密码状态

文件系统权限
1. 查看权限

ls -la
命令:ls -la
-l参数长格式显示文件信息,包括权限、所有者、大小等

-a参数显示所有文件,包括隐藏文件(以.开头的文件)

2. 更改文件所有者 

chown root file
命令:sudo chown tom dd.zip

  • chown命令更改文件或目录的所有者
  • tom是新所有者
  • dd.zip是要更改所有者的文件名

3. 修改文件权限

chmod
命令:chmod u=rwx,g+rw,o-r anaconda-ks.cfg

  • u=rwx参数设置用户(所有者)具有读、写、执行权限
  • g+rw参数设置组增加读、写权限
  • o-r参数设置其他用户移除读权限

命令:chmod 400 anaconda-ks.cfg

  • 400设置所有者具有读权限,其他用户无权限

系统日志管理
1. 查看日志文件

ls -l /var/log
命令:ls -l /var/log

  • /var/log是系统日志文件所在目录,包含系统、认证、内核等日志文件
  • ls -l长格式列出目录下的日志文件

2.认证日志

sudo tail -3 /var/log/auth.log
命令:sudo tail -3 /var/log/auth.log

  • /var/log/auth.log保存认证相关的日志文件
  • tail -3查看日志文件的最后3行

3. 二进制日志

who /var/log/wtmp | tail -5
命令:who /var/log/wtmp | tail -5

  • /var/log/wtmp保存登录和登出事件的二进制日志文件
  • who显示登录用户
  • tail -5显示最后5条记录

4. 系统日志 

dmesg

命令:dmesg

  • dmesg显示系统启动过程中产生的内核日志信息

5. systemd 日志

journalctl
命令:journalctl -xe

  • -x参数显示详细的日志信息
  • -e参数跳转到日志的末尾

内存和磁盘管理
1.内存管理

free -m
命令:free -m

  • -m参数以MB为单位显示内存使用情况
2. 查看磁盘使用情况 

df -hT
命令:df -hT

  • -h参数以人类可读的格式显示(如GB、MB)
  • -T参数显示文件系统类型

3.查看文件或目录大小

sudo du ./* -hsc
命令:sudo du ./* -hsc

  • -h参数以人类可读的格式显示大小
  • -s参数显示每个文件或目录的总大小
  • -c参数显示所有项目的总和

4. 查看磁盘分区

sudo fdisk -l

命令:sudo fdisk -l

  • fdisk -l列出所有磁盘的分区信息

 

5. 挂载分区

sudo mount /dev/sdb1 /mnt/usb
命令:sudo mount /dev/sdb1 /mnt/usb

  • dev/sdb1是要挂载的设备分区
  • /mnt/usb是挂载点,使用sudo mkdir /mnt/usb,创建挂载点

网络工具
1. 查看网络接口

ifconfig / ip addr
命令:ifconfig

  • fconfig显示网络接口配置

命令:ip addr

  • ip addr显示网络接口详细信息

2.启用/禁用网络接口

sudo ifdown ens33 / sudo ifup ens33
命令:sudo ifdown ens33

  • ifdown禁用网络接口ens33

命令:sudo ifup ens33

  • ifup启用网络接口ens33

3. 查看网络配置

/etc/network/interfaces
命令:cat /etc/network/interfaces
/etc/network/interfaces`是网络接口配置文件

4. 查看网络连接

netstat -natup / ss -natup
命令:netstat -natup

  • netstat命令数字方式显示地址
  • -n参数数字方式显示地址
  • -a参数显示所有连接
  • -t参数显示TCP连接
  • -u参数显示UDP连接
  • -p参数显示与连接相关的进程信息

命令:ss -natup

  • ss命令数字方式显示地址
  • -n参数数字方式显示地址
  • -a参数显示所有连接
  • -t参数显示TCP连接
  • -u参数显示UDP连接
  • -p参数显示与连接相关的进程信息

5.查看 ARP 表

arp -en
命令:arp -en

  • arp命令显示 ARP 缓存(IP 地址到 MAC 地址的映射)
  • -e参数显示 ARP 表
  • -n参数以数字方式显示 IP 地址

6. 查看路由表

route / ip route
命令:route

  • route命令显示或修改路由表。

命令:ip route

  • ip route命令显示路由表的现代命令

7.添加静态路由

sudo ip route add 10.13.37.0/24 dev ens33
命令:sudo ip route add 10.13.37.0/24 dev ens33

  • 10.13.37.0/24是目标网络
  • dev ens33是通过ens33接口转发流量

8.追踪路由

traceroute offensive-security.com
命令:traceroute offensive-security.com
traceroute命令显示数据包到目标主机的路径

SSH服务
1. 启动服务

命令:sudo systemctl start ssh

  • systemctl命令启动服务
  • ssh是服务名 

2.连接SSH

命令:ssh root@localhost

  • ssh命令连接SSH服务 
  • root@localhost是以root用户连接本地主机

3. 配置文件

命令:cat /etc/ssh/sshd_config

  • /etc/ssh/sshd_config是SSH服务的配置文件

4.客户端配置

 命令:hash knownHosts yes

  • hash knownHosts yes 是一个用于配置SSH客户端的命令,它放在SSH配置文件中,用于告诉SSH客户端在 ~/.ssh/known_hosts 文件中存储远程主机公钥的哈希值,而不是存储完整的公钥。 
5. 远程拷贝

命令:scp [email protected]:/root/apache.txt new.txt

  • scp命令远程拷贝文件
  • [email protected]:/root/apache.txt是源文件路径
  • new.txt是目标文件名
  • 该命令用于从远端服务器上拉取文件到本地

命令:scp 0708.txt [email protected]:/root

  • scp命令远程拷贝文件
  • [email protected]:/root是所要放到的远程服务器上的目录
  • 0708.txt是本地文件名
  • 该命令把本地文件推送到远程服务器上

6. 查看历史命令

 命令:history

  • history命令显示用户的历史命令列表 

 

标签:文件,sudo,基础,命令,参数,Linux,txt,链接
From: https://blog.csdn.net/aokaomo/article/details/143633476

相关文章

  • 实验3 类和对象_基础编程2
    任务一:源代码:button.hpp1#pragmaonce23#include<iostream>4#include<string>56usingstd::string;7usingstd::cout;89//按钮类10classButton{11public:12Button(conststring&text);13stringget_label()const......
  • TypeScript基础(一)——交替合并字符串
    TypeScript基础(一)——交替合并字符串题设:输入“abc”、“ef”,输出“aebfc”。1、第一次尝试functionmergeAlternately(word1:string,word2:string):string{//采用三元运算符letmax_len=word1.length<word2.length?word2.length:word1.length;/......
  • linux进程控制
    目录一、进程退出1.创建一批进程2.进程退出场景二、进程等待1.等待一个进程2.等待一批进程3.wait等待的进程一个都不退4.waitpid5.非阻塞轮询​编辑6.waitpid的原理三、进程替换 1.单进程的程序替换2. 多进程的程序替换3.execlp​编辑4.execle5.execv6.ex......
  • 2024-2025-1(20241321)《计算机基础与程序设计》第七周学习总结
    这个作业属于哪个课程<班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<了解并学习AI功能,回顾一周课程心得>作业正文...本博客链接https://www.cnblogs.com/guchua......
  • 【Linux】常用命令(2.6万字汇总)
    文章目录Linux常用命令汇总1.基础知识1.1.Linux系统命令行的含义1.2.命令的组成2.基础知识2.1.关闭系统2.2.关闭重启2.3.帮助命令(help)2.4.命令说明书(man)2.5.切换用户(su)2.6.历史指令3.目录操作3.1.切换目录(cd)3.2.查看目录(ls)3.3.创建目录(mkdir)3.4.删除目录......
  • 真题练习44-Word字处理-全国计算机等级考试一级计算机基础及MS Office应用考试【汪老
    第44组请根据题目要求,完成下列操作:在考生文件夹下,打开文档WORD.DOCX,按照要求完成下列操作并以该文件名(WORD.DOCX)保存文档。1.将标题段(“模型变量构建”)的文本效果设置为内置样式“渐变填充–灰色”,并修改其阴影效果为“透视/左上”、阴影颜色为蓝色(标准色);将标题段文字设置为......
  • 真题练习45-PowerPoint演示文稿-全国计算机等级考试一级计算机基础及MS Office应用考
    第45组1.新建演示文稿yswg.pptx,共4张幻灯片,每张幻灯片的页脚插入与其幻灯片编号相同的数字,例如第四张幻灯片,页脚内容为“4”。2.为整个演示文稿应用“丝状”主题,放映方式为“观众自行浏览(窗口)”。按各幻灯片页脚内容从大到小重排幻灯片的顺序。3.第一张幻灯片版式为“标题幻灯......
  • Linux 操作系统下 edquota 命令介绍和使用案例
    Linux操作系统下edquota命令介绍和使用案例edquota命令是Linux系统中用于管理用户或组的磁盘配额的工具。通过该命令,系统管理员可以设置和编辑用户或组在文件系统中使用的磁盘空间限制edquota命令简介功能:edquota允许管理员为指定用户或组设置磁盘配额,限制他们可以......
  • 分享一些数据库的基础题
    1.首先创建一个表格代码展示:createtablestudent(idintprimarykeyauto_incrementcomment'唯一标识',namevarchar(10)notnulluniquecomment'姓名',ageintcheck(age>0andage<=100)comment'年龄',genderenum(......
  • 数据库基础(11) . SQL脚本
    1.概述SQL脚本:是由一系列SQL命令组成在一起执行以完成特定的任务。SQL脚本通常用于执行批量操作,如创建数据库对象(表、视图、存储过程等)、插入数据、执行批处理更新等。1.1.标识符命名对象起名(变量、常量、函数等)、注意命名规则1.字符集和大小写敏感性字符集:标识符......