linux命令pp,Linux常用命令整理

Linux常用命令

1.echo:输出一行文字

-n:输出但不换行

-e:使"\"所引用的转义序列生效

2.cd

shell提供了两个变量

PWD:当前工作目录

OLDPWD:前一个工作目录

可以使用 cd$OLDPWD 跳转到上一个工作目录

cd ~USERNAME,将工作目录切换至指定用户“USERNAME”的家中,仅限于root用户使用

cd~,将工作目录切换为家目录

cd-,等同于cd$OLDPWD

3.pwd:

-L,打印 $PWD 变量的值(默认情况下,`pwd' 的行为和带 `-L' 选项一致)

-P,打印当前的物理路径,不带有任何的符号链接(类似于快捷方式)

4.ls:列出当前目录下所有文件

目录的内容是文件名,有大小

-a,--all:显示所有项目

-A,--almost-all:除了"."和".."之外的所有文件

-h,显示文件大小的时候,显示为更加宜读的格式,通常与-l一同使用

-l,对于设备文件有特殊的属性,没有大小

主设备号:用于标识设备类型,进而确定需要加载何种驱动

次设备号:用于标识同一种设备类型中的不同的设备

设备号默认使用8位二进制标识,所以默认的设备号范围是0-255

-Z,显示文件的SElinux安全上下文标签

5.mkdir:创建目录

-p,创建目录时,连同父目录一同创建

6.rm:删除文件

-f:强制删除

-r,-R:递归删除目录以及目录中的内容

7.touch:修改文件的时间戳,也有创建文件的功能

-c,--no-create:不创建任何文件

-a,仅修改文件的访问时间戳

-m,仅修改文件的修改时间戳

-t,使用指定的STAMP替换文件的时间戳,STAMP格式为[[CC]YY]MMDDhhmm[.ss]

8.stat:显示文件或文件系统的状态

-c,--format=FORMAT:以指定的格式显示文件的指定状态属性

9.nano:文本模式下的全屏编辑工具

^:脱字符,表示ctrl键

10.cat:连接文件并在标准输出显示,输出到显示器:标准输出

-b,--number-nonblank:对非空白行进行编号输出

-n,对所有行编号输出

-s,--squeeze-blank:合并重复空白行

-E,--show-ends:在结尾用$显示

一行:是否用Enter键进行换行

tac,倒序显示

注意:cat或者tac如果没有给出参数,则所有的内容需要通过标准输入完成,完成后可用"^c"或者"^d"退出。

11.head:输出文件的起始部分,默认显示前十行

-c,--bytes=[-]K:以字节为单位显示相应长度的内容

-n,--lines=[-]K:以行为单位显示相应长度的内容

可以使用-#方式替换-n #

12.tail:输出文件的最终部分,默认显示最后十行

-c,同head

-n,同head

-f,--follow[={name|descriptor}]:监控文件末尾的变化

13.more:分页显示文档内容,过滤

通过"/"(自上而下)或者"?"(自上而下)根据后续给出的字符串组合进行查找过滤,通过"N"和"n"查找下一个

使用"q"退出more模式

使用回车可以向下翻一行

使用space键可以向下翻一页

14.less:同more,但是可以用下箭头来翻页

日期和时间相关的命令:

15.date:操作系统时间,简称系统时间;使用软件模拟的时钟记录的时间

-s,--set=STRING:设置系统时间为指定的时间

两种格式:

1)MMDDHHmm[[CC]YY][.ss]

2)"CCYY-MM-DD HH:mm:ss"或者"CCYY/MM/DD HH:mm:ss"

+FORMAT:

%F:表示完整的年月日格式,即:YY-MM-DD

%T:表示完整的时分秒格式,即:HH:mm:ss

%Y:表示完整年份

%m:月份

%d:日期

%H:小时

%M:分钟

%S:秒钟

%s:1970年1月1日作为unix元年;从1970-01-01 00:00:00到当前时间系统时间所经历的秒数

此时间戳是由32位2进制数表示

16.clock/hwclock

-s,-hctosys:根据硬件时钟来设置系统时间

-w,-systohc:根据系统时间还设置硬件时钟(不推荐)

17.cal:显示日历

18.cp:复制

cp[OPTION]...[T] SOURCE DEST:单元复制

cp[OPTION]...SOURCE...DIRECTORY:多元复制

注意:

1)cp命令至少要接两个参数

2)最后一个参数,通常是此次复制的目标

3)如果在复制时给出的目标是目录,则直接将文件复制到指定的目录中,保留源文件名;如果在复制非目录文件时,给出的目标是非目录的文件,则此次操作是复制并改名

cp命令默认不能复制目录

-r,-R,--recuisive:递归的复制目录文件

-d,保存链接,复制的文件是符号链接文件时,该选项可以保留该符号链接文件作为此次的源文件被复制,而不会复制该符号链接文件所指向的那个文件

-p,复制源文件中的权限位、所有权及时间戳属性会保留下来

-a,相当于-dpr的组合

-f,强制复制,像使其生效需在cp前加"\"

19.mv:移动

-f,移动文件并强制覆盖

-n,重名则不移动

<think>嗯,用户现在问的是关于SELinux运行状态的查看和设置命令,以及配置文件的作用。首先,我需要回忆一下SELinux的基本知识,确保自己理解正确。SELinux是安全增强型Linux,主要提供访问控制安全策略。用户可能在使用CentOS或者其他基于RHEL的系统时遇到了相关的问题,需要管理SELinux的状态。 用户的问题分为两部分:查看和设置运行状态的命令,以及配置文件的作用。首先,我应该先整理常用的命令,比如getenforce和sestatus用于查看状态,setenforce用于临时修改,还有修改配置文件/etc/selinux/config的方法。要确保这些命令的准确性,可能需要回忆或者快速查阅资料确认,避免给出错误的信息。 接下来是配置文件的作用。用户可能想知道/etc/selinux/config文件中各个参数的意义,比如SELINUX=enforcing、permissive、disabled,以及SELINUXTYPE=targeted等。需要解释每个选项的作用,以及修改后需要重启系统生效的原因,因为有些配置更改需要重新加载内核。 同时,用户可能有更深层的需求,比如在遇到SELinux导致的服务无法启动或者权限问题时,如何临时禁用或者调整策略。这时候可能需要提到setenforce 0这样的临时命令,以及如何通过审计日志排查问题。此外,用户可能对SELinux的工作模式不太清楚,需要解释enforcing、permissive和disabled的区别,以及何时使用这些模式。 还要考虑到用户可能是在生产环境中操作,所以需要强调直接禁用SELinux可能带来的安全风险,建议使用permissive模式进行调试,而不是完全关闭。同时,配置文件修改后的重启步骤也是关键点,需要提醒用户注意。 另外,用户可能对SELinux的布尔值设置和策略模块管理感兴趣,但问题中没有提到这部分,所以是否需要简要提及?或者保持答案专注于用户的问题范围?根据用户的问题,可能不需要深入布尔值,但可以稍微提一下semanage和getsebool作为扩展知识,供用户进一步学习。 还要检查是否有常见的错误,比如混淆setenforce和配置文件的作用,临时修改与永久修改的区别。需要明确说明setenforce只在当前会话有效,重启后会失效,而配置文件则是永久性的。同时,sestatus命令提供的详细信息,比如策略类型、模式、挂载点等,对用户解决问题可能有帮助,需要详细说明输出内容的意义。 最后,总结部分需要强调正确管理SELinux的重要性,平衡安全性和便利性,避免因配置不当导致的安全漏洞或服务故障。可能还需要提醒用户修改配置前备份文件,以防万一。 整个过程需要确保信息准确,步骤清晰,语言通俗易懂,避免使用过多专业术语,或者在必要时解释术语。同时,考虑到用户可能是系统管理员或有一定Linux基础的用户,适当提供进阶建议,比如日志分析和策略调整,可以帮助他们更有效地解决问题。</think>### **SELinux 运行状态查看与配置详解** SELinux(Security-Enhanced Linux)是 Linux 系统的强制访问控制(MAC)安全模块,通过限制进程和用户的权限来增强系统安全。以下为关键操作命令及配置文件解析: --- #### **一、查看 SELinux 运行状态** 1. **当前运行模式** ```bash getenforce ``` - **输出示例**: `Enforcing`(强制模式) `Permissive`(宽松模式,仅记录不拦截) `Disabled`(完全禁用) 2. **详细状态信息** ```bash sestatus ``` - **输出示例**: ``` SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing ... ``` --- #### **二、设置 SELinux 运行状态** 1. **临时修改模式(重启失效)** ```bash # 切换为强制模式 sudo setenforce 1 # 切换为宽松模式(推荐调试用) sudo setenforce 0 ``` 2. **永久修改模式(需编辑配置文件)** ```bash sudo vi /etc/selinux/config ``` - **关键参数**: ```bash # SELINUX= 可设置为 enforcing, permissive, disabled SELINUX=enforcing # SELINUXTYPE= 指定策略类型(默认 targeted) SELINUXTYPE=targeted ``` - **生效条件**:修改后需重启系统 ```bash sudo reboot ``` --- #### **三、配置文件 `/etc/selinux/config` 解析** | **参数** | **作用** | |------------------|-------------------------------------------------------------------------| | `SELINUX` | 定义全局模式:<br>- `enforcing`:强制执行策略<br>- `permissive`:仅记录违规行为<br>- `disabled`:完全关闭 SELinux(不推荐) | | `SELINUXTYPE` | 指定策略类型:<br>- `targeted`:默认策略,仅保护关键服务<br>- `mls`:多级安全策略(高安全环境) | | **依赖关系** | 若 `SELINUX=disabled`,则所有策略模块不加载,需重启生效。 | --- #### **四、典型场景与操作** 1. **调试服务权限问题** - 临时设为宽松模式: ```bash sudo setenforce 0 ``` - 测试服务是否正常,再通过 `audit2why` 分析日志: ```bash sudo ausearch -m avc -ts recent | audit2why ``` 2. **禁用 SELinux(仅限特殊需求)** - 修改配置文件后重启: ```bash sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config sudo reboot ``` - **风险提示**:禁用 SELinux 会显著降低系统安全性! 3. **恢复误操作** - 若因配置错误导致系统无法启动,可添加内核参数临时绕过: ``` # 在 GRUB 启动菜单按 'e' 编辑,追加 selinux=0 linux ... selinux=0 ``` --- #### **五、进阶管理工具** 1. **查看布尔值(策略开关)** ```bash getsebool -a # 列出所有布尔值 getsebool httpd_can_network_connect # 查看特定项 ``` 2. **修改布尔值** ```bash sudo setsebool -P httpd_can_network_connect on # -P 永久生效 ``` 3. **策略模块管理** ```bash semodule -l # 列出已加载策略 semodule -i mypolicy.pp # 安装自定义策略 ``` --- ### **总结** - **核心原则**:优先使用 `enforcing` 模式,通过 `audit2allow` 或布尔值调整策略,而非直接禁用。 - **配置文件作用**:控制 SELinux 的全局行为和策略类型,需谨慎修改。 - **操作建议**:生产环境避免禁用 SELinux,调试阶段可临时切换至 `permissive` 模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值