LINUX基础使用方法

  • 目录结构:

/ :根目录

/usr/share:存放说明文件,也可以防止文件共享

1.系统启动必须目录:

/boot :主要用于存放开机所需文件,内核、开机菜单的启动文件

/etc :存放着所有的系统需要的配置文件和子目录列表

/lib :存放系统最基本的动态连接共享库(存放着库和函数)

/lib64 :存放64位的库

/sys :虚拟文件系统

2.指令集合:

/bin :存放常用的程序和指令

/sbin :只有管理员root能使用的程序和指令

/usr/bin:系统用户使用的程序和指令

/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序

3.外部文件处理:

/dev :以文件的形式存放任何设备与接口

/mnt :临时挂载别的文件系统

/media :挂载设备文件

4.临时文件:

/run :临时文件系统,重启时该目录下的文件将会被清除

/tmp :存放临时文件(文件共享所有用户都可对其进行操作)

/list+found:无法关机时会存放一些文件

5.账号:

/home :存放除root用户以外的家目录

/root :是Linux管理员root的家目录

/usr :用户的很多应用程序和文件存放在目录下

6.运行过程中:

/var :用于存放日志文件

/proc :存放了一些虚拟的文件系统

7.扩展使用:

/opt :存放网络下载的安装包

/srv :存放一些服务启动之后需要提取的数据

  • 常用的文件配置:

1./etc目录:

网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33

网卡(不同系统):/etc/network/interfaces

更改源配置文件:/etc/apt/sources.list

DNS配置文件:/etc/resolv.conf

主机名配置文件:/etc/hostname

内核参数设置文件:/etc/sysctl.conf

配置环境变量文件:/etc/profile/

别名文件:/etc/bashrc.bashrc.bash_profile

设置开机自启动程序命令:/etc/fstab

/etc/ssh/sshd_config 文件修改ssh配置

/etc/profile 文件修改时间

/etc/pam.d/system-auth  系统认证配置文件(一般做本地认证)

/etc/pam.d/password-auth 密码认证配置文件(一般做远程认证)

/etc/login.defs 密码有效期

2./proc目录:

当前CPU信息:/proc/cpuinfo

当前内存信息:/proc/meminfo

当前系统平均负载信息:/proc/loadavg

当前系统中断信息:/proc/interrupts

当前谁被挂载列表:/proc/mounts

3./usr目录:

编译安装软件默认位置:/usr/local

源代码目录:/usr/src

4./var目录:

系统日志文件:/var/log/messages

有哪些用户登录:/var/log/lastlog

记录硬件信息加载情况的日志:/var/log/dmesg

5.密码:

密码存放在影子文件中:/etc/shadow

  由于/etc/passwd文件允许所有用户读取,易导致用户密码泄露,因此Linux系统将用户的密码分离出来单独存放到影子文件中

  /etc/shadow文件只有超级用户拥有权限查看

/etc/pam.d/system-auth  系统认证配置文件(一般做本地认证)

/etc/pam.d/password-auth 密码认证配置文件(一般做远程认证)

/etc/login.defs 密码有效期

三、密码

*passwd的镜子文件,两文件互补

root:$y$j9T$00oi15qRQJzZZvT4azWpl/$KKz.f1ZYtqE5jlQ0LkGIBVWCnVy03uZ3toUqZ6WniX7:19657:0:99999:7:::

“:”分隔为一个字段

第一字段:用户名(也称为登录名);

第二字段:密码(已被加密);

第三字段:上次修改口令时间;

第四字段:两次修改口令间隔最少天数;

第五字段:两次修改口令间隔最长天数;

第六字段:提前多少天警告用户口令将过期;

第七字段:在口令过期之后多少天禁用此用户;

第八字段:用户过期日期;

第九字段:保留字段,目前为空;

 *密码设置passwd

更改密码:passwd +用户名

#锁定用户密码:passwd -l +用户名

#解锁用户密码:passwd -u +用户名

#查看用户的密码状态:passwd -S +用户名

LK:密码被锁定

NP:没有设置密码

PS:密码已设置

#删除用户密码:passwd -d +用户名

 *修改账号和密码的有效期chage

#用法:chage [选项] +用户名

-M:密码保持有效的最大天数

-m:最小天数

-W:用户密码到期前,提前收到警告信息的天数

-E:账号到期的日期,会禁止此账户

-d:上一次更改的日期

-l:列出当前的设置(显示账号年龄信息)

-R:chroot到的目录

#设置密码永久有效(5个9):chage -M 99999 +用户名

#设置过期时间是2024-01-01:chage -E '2024-01-01' +用户名

*修改 /etc/login.defs 修改密码时间

PASS_MAX_DAYS   99999   // 密码最长的使用天数

PASS_MIN_DAYS   0       // 密码最小的使用天数

PASS_MIN_LEN    5       // 密码最小长度

PASS_WARN_AGE   7       // 密码过期前警告天数

 *使用openssl生成密码

#查看支持的加密算法:openssl passwd --help

#使用sha512算法生成密码:openssl passwd -6

XFS、SWAP文件系统的作用:

EXT4:第四代日志文件系统,openEuler、kali系统默认使用,在根分区及其他数据分区;

XFS:高级日志文件系统,CentOS7、RHEL7系列默认使用,用在根分区及其他数据分区;

SWAP:交换空间(虚拟内存)

、Linux常用命令:

cat   :显示文件的全部内容

less  :可以分页显示长文件(内容很多行)

mkdir :创建目录 mkdir -p [路径]目录名

touch :创建文件 touch 文件名

cp    :复制文件 cp [选项] 源文件路径 目标路径

rm    :删除文档 rm [选项] 文件或目录

mv    :移动、修改文件名 mv [选项] 原文件 目标路径

vi    :linux/unix 默认编辑器

vim   :vi编辑器的增强版

vim

查找关键词:/关键词  (按n键查询下一个查询的结果)

显示行数:set number

用户权限管理:

类型:超级用户(ID为0)、系统用户(不能登陆,ID为1-999)

      普通用户(ID为1000-60000)

1.添加新用户:

useradd +用户名

id +用户名 检查用户的id信息

用户设置密码: passwd +用户名

删除用户: userdel -r +用户名

添加组: groupadd +组名

为组添加、删除用户:gpasswd [-a、-d 用户名] 组名

删除组: groupdel 组名

2.更改文档归属chown命令:

格式:

chown 属主 文档路径

chown :属组 文档路径

chown 属主:属组 文档路径

3.更改访问权限chmod命令:

格式:

chmod [ugo][+,=][rwx] 文档路径

chmod g+rwx,o-rx 文档路径

访问权限:

读取:允许查看内容-read

写入:允许修改内容-write

可执行:允许运行和切换-excute

4.提权sudo

sudo:visudo-*-编辑sudo授权表

默认授权列表:

root ALL=(ALL) ALL

规则:

授权用户   主机=(用户身份)   授权的命令

开启sudo日志功能:

添加此行-*- Defaults logfile=/var/log/sudo

Defaults:默认

logfile:日志文件

查看当前用户权限命令:sudo -l

Su:对应的日志文件:/var/log/secure的日志

使用su -l 关键词查看

5.SUID-*-属主特权

格式:chmod u+s 路径

附加位置:属主的X位

适用对象:可执行文件

用途:向执行者传递文档属主的身份/权限

6.SGID-*-属组继承

格式:chmod g+s 文件路径

附加位置:属组的X位

适用对象:目录

用途:是目录下新增的文档自动属于此目录的属组

7.SBit-*-粘滞位

在一个其他人有W权限的目录中,如果该目录有粘滞位的特殊权限,自己只能删除自己创建的文件,不能删除他人的文件

格式:chmod o+t 文件路径

六、关于设备文件:

分区:一般是/dev/sda1、/dev/sda2

U盘:一般是/dev/sdb1

光盘:一般是/dev/cdrom,指向/dev/sr0等设备

  1. 挂载设备:挂载光盘

(可以有n个挂载点,但是同一时间只能挂载一个)

准备挂载点 :mkdir /mnt/dvd

挂载光盘 :mount /dev/cdrom /mnt/dvd

作用:Linux系统无法识别的文件系统都需要挂载。

卸载挂载的光盘:

umount /mnt/dvd

2.配置开机自动挂载:

创建挂载文件 :mkdir -p /repos/openEiler

将文件写入开机自启文件中:vim /etc/fstab

/dev/cdrom /repos/openEiler iso9660 ro 0 0

检查开机自启 :mount -a

七、systemctl工具:

systemctl-*-系统控制器

system-*-系统

基本用法:

启动某个服务 :systemctl start 服务名

停止某个服务 :systemctl stop  服务名

重启某个服务 :systemctl resatrt 服务名

检查服务状态 :systemctl status 服务名

active--运行中 inactive--已停止

允许开机自启 :systemctl enable 服务名 -now立即启动

禁止开机自启 :systemctl disable 服务名

SELinux状态控制

1.开机时自动切换:

修改 /etc/selinux/config配置,重启生效

三种运行状态

强制 :Enforcing

宽松 :Permissive

禁用 :Disabled

  1. 查看当前SELinux运行状态 :getenforce

getenforce   获取当前SELinux状态

理解切换强制与宽松:

宽松 :setenforce 0

强制 :setenforce 1

(可在命令行直接输入 setenforce 0/1 命令进行修改 SELinux)

九、查看ACL访问控制

1.查看ACL策略

格式:getfacl -p 文档路径

2.设置ACL策略

格式:

setfacl -m u:用户名:权限组合 文档路径

setfacl -m g:组名:权限组合 文档路径

3.删除ACL策略:

删除用户策略:setfacl -x u:用户名 文档路径

删除组策略:setfacl -x g:组名 文档路径

清空所有策略:setfacl -b 文档路径

十、Linux加固:

1.ssh:

修改 /etc/ssh/sshd_config 文件修改ssh配置

禁止root用户登录:

PermitRootLogin no/yes   yes允许no拒绝

允许某些用户在某些主机上远程连接:

AllowUsers 用户名@IP地址 用户名@IP地址

(只允许以上用户通过指定的IP地址来连接)

修改端口号:

Post 12345

修改单词连接最多验证次数为2次:

MaxAuthTries 2

修改验证时长为1分钟:

LoginGraceTime 1M

2.命令行超时退出设置

修改 /etc/profile 文件修改时间

export TMOUT=30 设置时间为300秒测试时间可以设置为30秒

3.密码复杂性:

/etc/pam.d/system-auth  系统认证配置文件(一般做本地认证)

 修改此行

password requisite pam_pwquality.so minlen=8 minclass=3 retry=3 enforce_for_root

添加此行

password required pam_pwhistory.so use_authtok remember=5 enforce_for_root

/etc/pam.d/password-auth 密码认证配置文件(一般做远程认证)

修改此行

password requisite pam_pwquality.so minlen=8 minclass=3 retry=3 enforce_for_root

 添加此行

password required pam_pwhistory.so use_authtok remember=5 enforce_for_root

minlen=8 -*- 长度至少8个字符

minclass=3 -*- 密码字符组合至少三种

retry=3 -*- 每次修改最多可以尝试三次

enforce_for_root -*- 对root用户同样适用

remember=5 -*- 不能使用过去5次的旧密码

4.登错锁定时间

/etc/pam.d/system-auth   系统认证配置文件(一般做本地认证)

auth        required      pam_faillock.so preauth audit deny=3 unlock_time=900 even_deny_root

auth        [default=die] pam_faillock.so authfail audit deny=3 unlock_time=900 even_deny_root 

auth        sufficient    pam_faillock.so authsucc audit deny=3 unlock_time=900 even_deny_root

/etc/pam.d/password-auth  密码认证配置文件(一般做远程认证)

auth        required      pam_faillock.so preauth audit deny=3 unlock_time=900 even_deny_root

auth        [default=die] pam_faillock.so authfail audit deny=3 unlock_time=900 even_deny_root

auth        sufficient    pam_faillock.so authsucc audit deny=3 unlock_time=900 even_deny_root

deny=3 表示如果一个用户在一段时间内连续认证失败3次,那么该用户账户将被锁定。

unlock_time=900 是一个参数,表示锁定的用户账户在多少秒后将被自动解锁。在这个例子中,用户账户将在900秒(即15分钟)后自动解锁。

even_deny_root 表示这个规则甚至对 root 用户也有效。也就是说,如果 root 用户连续3次登录失败,那么 root 用户也会被锁定 900 秒。

十一、查看命令(三剑客)

1.管道符(|)

格式 :cat /etc/passwd | wc -l

将前面命令的执行结果交给后面命令进行执行

(cat查看文件执行后面的wc命令查看文件有多少行)

2.通配符

*:匹配多个字符

Ls /usr/bin/c*

列出目录下所有以C开头的文件

?:匹配一个字符

Ls /usr/bin/?at

列出目录下除第一个字母后面为at的文件

如果系统禁止一个命令(如cat)无法使用可以使用通配符绕过限制:

/usr/bin/?at hello.txt 仍可以查看

awk、sed、grep并称为Linux系统中的文本三剑客

3.awk命令其功能是用于对文本和数据进行处理的编程语言。

格式:awk [参数] '{print 变量}' [文件名]

常用参数:-F 设置输入时的字段分隔符

例:

1.仅显示指定文件中的第一、第二列的内容(默认以空格为间隔符):

awk '{print $1,$2}' +文件名

2.以冒号(:)为间隔符,仅显示指定文件中第一列的内容

awk -F : '{print $1}' +文件路径

3.以冒号为间隔符,显示系统中所有UID号码大于500的用户信息(第3列):

awk -F : '$3>=500' + 文件名

4.仅显示指定文件中含有指定关键词root的内容:

awk '/root/{print}' +文件名

5.以冒号为间隔符,仅显示指定文件中最后一个字段的内容:

awk -F : '{print $NF}' +文件路径

4.sed命令其功能室用于利用语法/脚本对文本文件进行批量的编辑操作

格式:sed [参数] [文件名]

常用参数:

-e 使用指定脚本来处理输入的文本文件

-f 使用制定脚本文件处理输入的文本文件

-n 仅显示脚本处理后的结果

例:

1.查找指定文件中带有某个关键词的行

cat -n 文件名| sed -n '/root/p'

2.读取指定文件,删除所有带有某个关键词的行

sed '/root/d' 文件名

3.读取指定文件,删除第2-5行的内容:

cat -n 文件名 | sed '2,5d'

4.读取指定文件,替换第2-5行的内容:

sed '2,5c 修改的内容' 文件名

5.指定读取某个文件的第3-7行:

sed -n '3,7p' 文件名

5.grep命令用于全面搜索的正则表达式,并将结果输出。

格式:grep [参数] [文件名]

常用参数:

-h 搜索多文件时不显示文件名

-c 只显示匹配的行数

-n 显示所有匹配行及其行号

-l 只显示符合匹配条件的文件名

例:

1.搜索指定文件中包含某个关键词的内容行

grep root(关键词) 文件名

2.搜索文件指定关键词开头的内容行

grep ^root(关键词) 文件名

3.搜索多个文件中包含某个关键词的行

grep root(关键词) 文件路径 文件路径

4.显示指定文件中包含某个关键词行的数量:

grep -c root(关键词) 文件路径 文件路径

5.搜索当前工作目录中包含某个关键词内容的文件,未找到则提示:

grep -l root(关键词) *.

^ : 代表一行的开头,查找ab开头的行 ^ab 查找以#开头的行 ^#

$ : 代表一行的结尾,查找ab结尾的行 ab$ 以hello 结尾的行 hello$

# : 配置文件中的注释,一般是在一行开头

6.查找/etc/selinux/config文件哪些内容被注释(内容中以#开头的行)

grep "^#" /etc/selinux/config

6.which命令程序的查找

格式:which  程序名

echo  $PATH   // 输出环境变量$PATH,里面存放了命令所在的路径

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

sbin:系统管理的命令

bin:普通命令

local:用户后期安装软件提供的命令

7.find文件查找

格式:find  //快速列出当前目录下所有文档

在根目录下查找文件名的后缀是.conf的普通文件

find  /  -name "*.conf" -a -type f   

在/boot目录下查找大于10M的文件

find  /boot/  -size +10M  -type f  

在/boot目录下查找大于2M,小于10M的文件

find /boot -size +2M -size -10M -type f

查找根目录下.repo结尾的文件

find / -name "*.repo" -type f

在/var/log/查找超过30天未修改的文档

find  /var/log/  -mtime +30  

mtime : m modify 修改  time 时间   修改时间

在/var/log/查找超过30天未修改的普通文件

find  /var/log/  -mtime +30 -type f

f:file 文件

d:directory 文件夹/目录

l:link 链接文件

在根目录下查找其他用户具有r权限的文件

u:user 属主

g:group 属组

o:other 其他用户

r:read :读权限

w:write 写权限

x:可执行权限

find / -perm -o=r -type f

  • 进程管控:

1.查看进程:pstree-*-查看进程树

:top -*- 查看进程占用的资源(动态)

PID:进程标识号,这是每个进程的唯一标识符。

USER:该进程的所有者的用户名。

PR:进程优先级。该值越小,进程的优先级越高。

NI:进程的「nice」值,这是用户控制进程优先级的一个方式。该值越小,进程的优先级越高。

VIRT:进程使用的虚拟内存总量,单位是千字节 (KB)。

RES:进程使用的、未被换出的物理内存大小,单位是千字节 (KB)。

SHR:进程使用的共享内存大小,单位是千字节 (KB)。

S:进程的状态。可能的值有:

S 表示休眠 (sleeping)

R 表示运行中 (running)

T 表示停止 (traced)

Z 表示僵尸状态 (zombie)

%CPU:该进程使用的 CPU 时间百分比。

%MEM:该进程使用的物理内存百分比。

TIME+:该进程使用的总 CPU 时间,格式为 [dd-]hh:mm:ss。

COMMAND:启动进程的命令行名称。

2.查找进程:pgrep 关键词 -*-查找进程

:pgrep -l 关键词 -*-列出进程名称

3.杀死进程:kill -9 进程ID

:Pkill  -9 进程名

  • 下载,解压,安装

Wget命令下载

Wget是一个非常常用命令行下载工具,多数Linux发行版本都默认包含这个工具。

  1. Wget常用参数

-b:后台下载,Wget默认的是把文件下载到当前目录。

-O:将文件下载到指定的目录中。

-P:保存文件之前先创建指定名称的目录。

-t:尝试联接次数,当Wget未能与服务器构建联接时,尝试联接多少次。

-c:断点续传,假如下载中断,这么联接恢复时会从先前断点开始下载。

-r:使用递归下载

apt-get命令下载软件

在Linux系统中,apt-get命令是最常用的下载软件命令之一。它可以从Ubuntu和Debian的软件仓库中下载、安装和卸载软件。

1.更新源列表

在使用apt-get之前,需要更新源列表。

sudo apt-get update

2.搜索软件包

如果你不知道下载那个软件包,可以搜索

sudo apt-cache search 软件名

3.安装软件包

当你找到需要下载的软件包后Linux下载软件命令

sudo apt-get install 软件包名

4.卸载软件包

当卸载一个安装的软件包时使用

sudo apt-get remove 软件名

dpkg命令安装.deb文件

dpkg是Debian和Ubuntu中最常用的下载.deb文件的命令。它可以从本地硬盘上的.deb文件中安装和卸载软件包。

1.安装.deb文件

终端输入来安装

sudo dpkg -i <软件包名>.deb

2.卸载.deb文件

卸载已安装的.deb文件时

sudo dpkg -r 文件名

3.列出所有已安装的软件列表

dpkg -l

4.显示指定软件包内的文件信息

dpkg -c <软件包名>.deb

rpm命令安装.rpm文件

用于在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作

1.安装.rpm文件

sudo rpm -ivh 文件名.rpm

2.卸载.rpm文件

sudo rpm -evh 文件名

3.显示系统已安装过的全部rpm软件包

rpm -qa

4.查询某个软件的安装路径

rpm -ql 软件名

5.升级某个软件包

rpm -Uvh 软件包名.rpm

unzip解压命令

unzip命令用于解压缩zip格式文件,压缩包内原有的文件会被提取并输出保存到当前工作目录下。

格式:unzip [参数] 压缩包名

1.解压到当前目录中

unzip <压缩包名>.zip

2.解压到指定目录中

unzip <压缩包名>.zip -d /指定目录名

3.测试压缩包文件是否完整,文件有无损坏

unzip -t <压缩包名>.zip

tar命令-压缩和解压文件

格式:tar [参数] 压缩包名 [文件名或目录名]

1.使用gzip压缩格式对指定目录进行打包

tar czvf <压缩名>.tar.gz /目录名

2.解压到当前文件夹

tar xvf <压缩包名>.tar

3.解压到指定目录中

tar xvf <压缩包名>.tar /指定的目录名

4.查看某个压缩包内文件信息(无需解压)

tar tvf <压缩包名>.tar

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值