centos常用知识和命令

news2024/10/3 18:12:14

linux目录及结构

/etc #存配置文件

/var #存日志文件

/home #用户家目录

/root #root用户家目录

/bin #命令文件目录

/sbin #超级管理员命令目录

/dev #设备文件目录

/boot #系统启动核心目录

/lib #库文件目录

/mnt #挂载目录

/tmp #临时文件目录

/usr #用户程序存放目录

命令入门

  1. uname 查看系统信息

    [root@localhost /]# uname	#查看系统信息
    [root@localhost /]# uname	#查看系统信息包括内核
    
  2. ls列出文件命令

    [root@localhost /]# ls -h	#以便于阅读的形式列出文件信息
    [root@localhost /]# ls -l	#以列表的形式列出文件信息
    [root@localhost /]# ls -a	#列出文件所有信息,包括隐藏文件
    [root@localhost /]# ls /tmp #列出tmp下所有文件信息
    
    
  3. pwd 打印当前目录

    [root@localhost /]# pwd	#获取当前在哪个目录下
    
  4. cd 目录切换

    [root@localhost /]# cd /	#切换到根目录
    [root@localhost /]# cd ../	#切换到上一级目录
    [root@localhost /]# cd test	#切换到当前目录下的test目录
    
  5. clear 清空屏幕

    [root@localhost /]# clear	#清空当前屏幕信息
    
  6. whoami 打印当前用户

    [root@localhost /]# whoami	#打印当前是哪个用户
    
  7. reboot 重启

    [root@localhost /]# reboot	#重启系统命令
    
    1. shutdown 关机
    [root@localhost /]# shutdown	#重启系统命令,默认是60s后关机
    [root@localhost /]# shutdown now	#立即关机
    [root@localhost /]# shutdown -h 20	#20分钟后关机
    [root@localhost /]# shutdown -c	#取消系统关机
    
  8. type 查看命令是内部命令还是外部命令

    [root@localhost /]# type cd  #查看cd命令是内部命令还是外部命令
    cd 是 shell 内嵌
    [root@localhost /]# type ping	#查看ping是内部命令还是外部命令
    ping 是 /usr/bin/ping
    
    
  9. history 查看历史命令

    [root@localhost /]# history
    
  10. hostnamectl 更改主机名

    [root@localhost /]# hostnamectl set-hostname localhost #更改主机名为localhost
    

命令帮助

[root@localhost /]# help cd #查看内嵌命令帮助,这里的cd的是命令
[root@localhost /]# ping --help #查看外部命令帮助,这里的ping是命令

目录文件相关命令

  1. 创建目录 mkidr

    [root@localhost tmp]# mkdir test	#在当前目录下创建一个名为test的目录
    [root@localhost /]# mkdir /tmp/test1 #用绝对路径的方式创建目录
    [root@localhost tmp]# mkdir test2 test3	#同时创建 test2和test3目录
    [root@localhost tmp]# mkdir test{4..6}	#创建test4和test5和test6目录,{这里面表示有规律的新增}
    [root@localhost tmp]# mkdir -p a/b/c	#在当前目录下递归创建 a/b/c目录
    
    
  2. 删除目录 rmdir(必须是空目录)

    [root@localhost tmp]# rmdir test6	#删除test6目录
    [root@localhost tmp]# rmdir -p a/b/c	#递归删除a/b/c空目录
    
    
  3. 文件创建 touch

    [root@localhost tmp]# touch 1.txt	#创建1.txt文件
    [root@localhost tmp]# touch 2.txt 3.txt	#同时创建多个目录
    [root@localhost tmp]# touch {4..6}.txt	#有规律的创建多个目录
    
  4. 文件删除

    [root@localhost tmp]# rm 1.txt	#删除文件
    rm:是否删除普通空文件 "1.txt"?y
    [root@localhost tmp]# rm -f 2.txt  #忽略提示直接删除文件,-f忽略提示
    [root@localhost tmp]# rm -rf test	#递归删除test目录及test目录下所有文件,-r 表示递归,-f忽略提示
    [root@localhost tmp]# rm -rf *.txt	#删除当前目录下所有以txt结尾的文件,这里的*表示任意多个字符
    
  5. 复制操作

    [root@localhost tmp]# cp test1 /	#将test1目录拷贝到根目录下,拷贝文件也是一样的操作
    [root@localhost tmp]# cp test1 /test2 #拷贝并重命名
    
  6. 剪切操作

    [root@localhost tmp]# mv test1 /	#将test1目录剪切到根目录下,剪切文件也是一样的操作
    [root@localhost tmp]# mv test1 /test2 #剪切并重命名
    
  7. 打包操作与解压操作

    [root@localhost tmp]# touch 1.txt 2.txt 3.txt #先创建三个文件准备打包
    [root@localhost tmp]# tar -cvf 123.tar 1.txt 2.txt 3.txt #将1.txt 2.txt 3.txt打包成123.tar,-c表示打包,-f表示文件名,-v显示打包进度
    [root@localhost tmp]# tar -xvf 123.tar #将文件解压到当前目录
    
    ######下面是.gz文件打包和解压
    tar -zcf 名称.tar.gz 要打包的文件  #打包
    tar -zxf 名称.tar.gz				#解压
    
  8. 查看文件命令

    cat 1.txt #查看文件
    tail -n 5 1.txt #查看最后5行
    tail -f 1.txt #动态监听文件变化
    head -n 5 1.txt #查看文件前5行
    less 1.txt #查看大文件
    
  9. wc 命令统计文件行数,单词数,字节数

    wc -l 1.txt #统计行数
    wc -w 1.txt #统计单词数
    wc -c 1.txt #统计字节数
    
  10. du 统计文件或文件夹大小

    du -s 1.txt #总大小
    du -sh 1.txt #以便于阅读的形式统计
    
  11. find 查找文件命令

    find /tmp -name 1.txt	#查询/tmp下名为1.txt的文件,-name按名称查
    find /tmp -type f    #查询/tmp下类型为普通文件的文件
    find /tmp -size +1M  #查询/tmp下大于1M的文件
    
  12. grep 过滤命令

    grep -n root /etc/passwd #查询/etc/passwd文件有包含root的行,并显示行号 -n表示显示行号
    
  13. echo 标准输出,在终端中输入指定的内容,并输出

    echo "hello word" #输出hello word
    
  14. > 或 >> 重定向

    “>” 标准输出重定向:覆盖输出,会覆盖原先的文件内容

    “>>”追加重定向:追加输出,不会覆盖原始文件内容,只会在原始内容末尾继续添加

    echo "hello word" > a.txt  #输出heloo word 到a.txt文件,会覆盖原来的内容
    echo "hello word" >> a.txt  #追加heloo word 到a.txt文件,不会覆盖原来的内容
    
  15. ln 建立软链接

    软链接会产生新的inode和block,而硬链接不会

    软链接可以链接目录,而硬链接只能链接文件

    软链接源文件被删除软链接无法找到,而硬链接不会

    ln -s  /tmp/pass   /opt/pass_soft  #为/tmp/pass文件建立一个/opt/pass_soft的软链接
    ln   /tmp/pass   /opt/pass	 #为/tmp/pass文件建立一个/opt/pass的硬链接
    

文件管理vim

vim有4种模式

  1. 命令行模式,默认使用vim进入的是命令行模式
  2. 编辑模式,输入i或者a从命令行模式进入编辑模式,按esc键退回命令行模式
  3. 末行模式:输入: 冒号进入末行模式,末行模式可以按wq保存退出,q!不保存退出,按两下esc键退回命令行模式
  4. 可视化模式,可以进行复制粘贴,和批量注释等操作

命令行模式下的常用操作

gg  #定位到首行
GG #定位到末行
4G #定位到第4行
yy #复制当前行
p	#粘贴到下一行
dd #剪切或删除当前行

末行模式下常用操作

#按:冒号进入末行模式
:wq	#保存退出
:q! #不保存退出
:set nu #显示行号
:set nonu #取消显示行号
:s/c/3   #替换当前行第一个c字符替换为3   s表示替换当前行 c要被替换的字符  3替换后的字符
:s/c/3/g #替换当前行所有c字符替换为3   s表示替换当前行 c要被替换的字符  3替换后的字符 g表示所有
:%s/c/3/g #替换整个文档所有c字符替换为3   %s表示替换整个文档 c要被替换的字符  3替换后的字符 g表示所有
/abc	#查找abc字符,按n向下查找,按N向上查

用户和用户组管理

linux系统可以有多个用户同时登录,一个用户有一个主组和多个副组,用户拥有主组和副组的权限

  1. 用户组操作

    groupadd g1 #新增一个叫g1的用户组
    groupadd -g 1002 g2 #新增一个编号为1002 的g2用户组
    tail -5 /etc/group  #查看用户组
    groupmod -n g3 g1 #把g1用户组改名为g3
    
  2. 用户操作

    useradd u1 	#创建u1用户
    useradd -g g2 u2 #创建u2用户并添加到g2组
    usermod -g g2 u1 #修改u1的主组为g2
    usermod -l u3 u1 #将用户u1改名为u3
    id u1 #查看u1的信息
    cat /etc/passwd #每创建一个用户都会在/etc/passwd文件添加一行信息
    
    
  3. 用户文件信息

    cat /etc/group #查看用户组
    cat /etc/passwd #查看用户
    cat /etc/shadow #用户密码文件
    
    
  4. 设置用户密码

    passwd u2 #设置u2密码,按提示操作
    
    echo "123" | passwd --stdin u2 #将u2密码设置为123
    
  5. 切换用户

    su u2 #切换到u2用户
    
    
  6. wheel组

    只有wheel组中的用户,才可以通过su命令切换到root账户,默认wheel组不生效,需要配置开启wheel组

    vim /etc/pam.d/su  #编辑切换用户的配置文件
    
    #%PAM-1.0
    auth            sufficient      pam_rootok.so
    # Uncomment the following line to implicitly trust users in the "wheel" group.
    #auth           sufficient      pam_wheel.so trust use_uid
    # Uncomment the following line to require a user to be in the "wheel" group.
    auth           required        pam_wheel.so use_uid   #将这一行注释打开则为wheel组才能切换用户操作
    auth            substack        system-auth
    auth            include         postlogin
    account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
    account         include         system-auth
    password        include         system-auth
    session         include         system-auth
    session         include         postlogin
    session         optional        pam_xauth.so
    
    
  7. 用户删除

    userdel u1 #删除u1用户但不删除u1的家目录
    userdel -r u2 #删除u2用户同时删除u2的家目录
    
    

权限管理

权限基本概念

drwxr-xr-x. 2 root root       6 10月  3 10:42 test1
drwxr-xr-x #第一位表示文件类型,d为目录,-为普通文件
		   #第2,3,4表示所属用户的权限
		   #第5,6,7表示所属用户组的权限
		   #第8,9,10表示其他用户权限
#第一个root表示所属root用户
#第二个root表示所属root用户组

d表示目录
r可读  4
w可写  2
x可执行 1

linux的文件类型

-: 普通文件

d:目录文件

s:套接字文件

l:链接文件

c:字符设备文件

p:管道文件

b:block,块设备文件

chmod 修改文件权限

chmod -R u+x test #对test及test下的文件的所属用户添加可执行权限,-R表示递归,一般用于目录
chmod -R g+x test #对test及test下的文件的所属用户组添加可执行权限,-R表示递归,一般用于目录
chmod -R o+x test #对test及test下的文件的其他用户添加可执行权限,-R表示递归,一般用于目录
chmod 777 test    #对test目录的用户及所属组及其他用户的权限设为可读可写可执行

chown 修改文件所属用户和所属组

chown root:user01 a.txt  #将 a.txt文件的所属用户改为root,所属组为user01

特殊权限suid

只能设置在可执行文件上,任何人执行可执行文件都可以拥有该文件所属用户的权限

 chmod u+s /usr/bin/cat #为cat命令添加suid权限
 chmod u-s /usr/bin/cat #取消suid权限

特殊权限sgid

SGID 属性可运用于文件或者目录,运用该文件可拥有可属组权限

 chmod g+s /tmp/dir_sgid  #添加sgid权限
 chmod g-s /tmp/dir_sgid  #取消sgid权限

特殊权限sticky

sticky 权限只能运用于目录上,限制普通用户在此目录下只能删除自己的文件

chmod o+t /tmp/dir_sticky  #添加sticky权限
chmod o-t /tmp/dir_sticky  #取消sticky权限

通信IP配置

ifconfig #查看IP信息

配置静态IP,配置后需要重启网络 systemctl restart network

 vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet    #类型Internet
BOOTPROTO=none		#IP的获取方式 none静态IP
IPADDR=192.168.10.128 #设置的静态IP地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.10.254 #网关
DNS1=114.114.114.114  #dns解析服务器
DNS2=8.8.8.8 #dns解析服务器
DEVICE=ens33 #网卡设备名
ONBOOT=yes   #开机自启

配置动态ip

vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=dhcp #ip获取方式为动态获取
DEVICE=ens33
ONBOOT=yes

安装软件包的几种方式

通过源码编译安装

通过官网下载*.tar.gz文件

解压 tar -zxvf 文件

./configure 配置安装路径

make 编译

make install 安装

通过RPM安装

rpm -qa |grep firefox #查询firefox,-q表示查询,-a表示所有
rpm -ivh 软件包的名称.rpm  #安装rmp,需要从官网下载上传到服务器,-i表示安装 -v表示显示进度 -h表示以#显示进度
rpm -e 软件名称  #卸载软件包,后面加--nodeps 表示强制卸载
rpm -Uvh firefox-91.11.0-2.el7.centos.x86_64.rpm #软件升级

通过yum 安装

yum的主配置文件在/etc/yum.conf,yum的子配置文件的路径在/etc/yum.repos.d/ 以.repo结尾的文件

yum安装直接使用

yum -y install 软件包 
配置网络yum源

进入阿里云的镜像官网,找到指定的网络yum源的下载路径,https://developer.aliyun.com/mirror/

下载网络yum源配置文件到指定的/etc/yum.repos.d/ 路径下

yum clean all #清理缓存

配置本地yum源

必须配置本地yum仓库

yum的子配置文件必须是以.repo结尾的文件(/etc/yum.repos.d)

准备本地仓库

mkdir /mnt/iso
mount  /dev/sr0  /mnt/iso
###### 配置本地源
cat > /etc/yum.repos.d/iso.repo << EOF
[iso]
name=centos7
baseurl=file:///mnt/iso  #表示从本地的/mnt/iso仓库下载
enabled=1
gpgcheck=0
EOF
#备份原有的yum子配置文件
 mkdir /etc/yum.repos.d/bak 
 mv /etc/yum.repos.d/CentOS-*  /etc/yum.repos.d/bak/
 # 清理yum源,并建立元数据缓存
 yum clean all 
 yum makecache fast

进程管理

进程就是一个运行中的程序,每个进程的数据互不影响,一个进程可以有多个线程,多个线程共享进程的资源

进程管理命令

ps 命令查看

ps -e #查看所有进程
ps -ef #输出全格式
ps -a #显示现行终端机下的所有进程

top命令动态查进程

top # -p 可以查看指定pid的进程
	# -c 显示命令参数
	# -u	显示指定用户

top 运行中界面中,按钮

1 显示所有CPU占用情况

P 以 CPU 占用率大小的顺序排列进程列表

M 以内存占用率大小的顺序排列进程列表

n 设置在进程列表所显示进程的数量

q 退出 top

netstat命令和ss命令

两个命令一样,ss比较快

 netstat -r      # 显示:本机路由表
 netstat -tunp  # 显示:网络连接,即:socket网络套接字
 netstat -tunlp  # 显示:侦听端口,即:socket网络套接字 -t表示tcp ; -u 表udp ; -l 表示监听端口 ;

lsof命令列出进程打开的文件

lsof -u user01 #以user01用户身份运行的进程所打开的文件
lsof -i:22  #列出:指定port端口的进程信息

控制进程前台、后台运行

ctrl + z 将正在执行的任务暂停放入后台

jobs -l 查看后台任务

fg 任务编号 将任务调回前台

bg 任务编号 在后台继续运行任务

将进程放入后台运行并脱离终端

语法:

nohup 命令 &

杀死进程的方式

kill -9 进程id #根据进程id杀死进程
 pkill -9 httpd #根据命令名杀死进程

调整进程的优先级

renice -10 1220 #renice调整优先级,-10表示优先级 1220是进程id
nice -n -15 crond  #nice调整优先级 -15表示优先级 crond是进程名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2186655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT学习笔记3.1(建立项目、执行_建立第一个工程)

QT学习笔记3.1&#xff08;建立项目、执行_建立第一个工程) 建立第一个工程&#xff0c;使用widget模板 使用的版本是 Qt Creator 4.11.0 Based on Qt 5.14.0 (MSVC 2017, 32 bit) 1.选择Application-》QT Widget Application&#xff08;最常使用&#xff09; 2.项目保存位…

使用Pytorch构建自定义层并在模型中使用

使用Pytorch构建自定义层并在模型中使用 继承自nn.Module类&#xff0c;自定义名称为NoisyLinear的线性层&#xff0c;并在新模型定义过程中使用该自定义层。完整代码可以在jupyter nbviewer中在线访问。 import torch import torch.nn as nn from torch.utils.data import T…

LSM6DSV16X基于MLC智能笔动作识别(2)----MLC数据采集

LSM6DSV16X基于MLC智能笔动作识别.2--MLC数据采集 概述视频教学样品申请源码下载输出速率执行流程速率设置量程设置检测状态数据单位采集数据静止(Steady)闲置(Idle)书写(Writing)其他(other) 概述 MLC 是“机器学习核心”&#xff08;Machine Learning Core&#xff09;的缩写…

全球购的智能引擎:AI与RPA如何重塑跨境电商帝国?

在全球化的大潮中&#xff0c;跨境电商已成为连接世界的桥梁。随着人工智能&#xff08;AI&#xff09;和机器人流程自动化&#xff08;RPA&#xff09;技术的飞速发展&#xff0c;跨境电商领域的运作模式正在经历一场革命性的变革。 一、跨境电商的挑战 随着互联网技术的普及…

D3.js中国地图可视化

1、项目介绍 该项目来自Github&#xff0c;基于D3.js中国地图可视化。 D3.js is a JavaScript library for manipulating documents based on data. It uses HTML, SVG, and CSS to display data. The full name of D3 is "Data-Driven Documents," which means it a…

在VirtualBox中安装OpenEuler操作系统保姆级教程

前言 OpenEuler是一个由中国华为公司主导开发和维护的开源操作系统项目&#xff0c;旨在打造一个开放、可信且可扩展的企业级操作系统&#xff0c;适用于多种应用场景。 该项目致力于通过开放和协作的方式推动操作系统的创新与发展。OpenEuler采用开源软件模型&#xff0c;允…

多模态:Florence2论文详解

文章目录 前言一、介绍二、方法1.模型结构1&#xff09;Vision encoder2&#xff09;Multi-modality encoder decoder3&#xff09;Optimization objective 2.数据工程1&#xff09;Image Collection2&#xff09;Data Annotation3&#xff09;Data filtering and enhancement4…

spring学习日记-day8-声明式事务

一、学习目标 声明式事务是Spring框架提供的一种事务管理方式&#xff0c;其主要特点是通过声明&#xff08;而非编程&#xff09;的方式来处理事务。这种方式让事务管理不侵入业务逻辑代码&#xff0c;从而提高了代码的可维护性和可读性。 定义&#xff1a;声明式事务…

[3.4]【机器人运动学MATLAB实战分析】PUMA560机器人逆运动学MATLAB计算

PUMA560是六自由度关节型机器人,其6个关节都是转动副,属于6R型操作臂。各连杆坐标系如图1,连杆参数如表1所示。 图1 PUMA560机器人的各连杆坐标系 表1 PUMA560机器人的连杆参数 用代数法对其进行运动学反解。具体步骤如下: 1、求θ1 PMUMA56

【数据结构笔记13】

408数据结构答题规范 原视频 视频参考&#xff0c;以下为视频的笔记 需要写的部分 如果题目要求了函数名、参数列表、返回值类型就按题目的来 函数的类型可以是返回值类型或者void类型&#xff0c;如果函数名不清楚里面的功能是什么&#xff0c;在函数title下面最好写一行注…

磁盘存储和文件系统管理【1.9】

磁盘存储和文件系统管理【1.9】 12、磁盘存储和文件系统12.1.管理存储12.1.1.新加10G硬盘并识别12.1.2.备份查看MBR分区表二进制信息12.1.3.删除破坏分区表12.1.4.恢复MBR分区表12.1.5.完整步骤12.1.6.fdisk分区12.1.7.gdisk分区12.2.文件系统12.2.1.查看支持的文件系统格式12.…

音视频入门基础:FLV专题(11)——FFmpeg源码中,解析SCRIPTDATASTRING类型的ScriptDataValue的实现

一、引言 从《音视频入门基础&#xff1a;FLV专题&#xff08;9&#xff09;——Script Tag简介》中可以知道&#xff0c;根据《video_file_format_spec_v10_1.pdf》第80到81页&#xff0c;SCRIPTDATAVALUE类型由一个8位&#xff08;1字节&#xff09;的Type和一个ScriptDataV…

Java类的生命周期-连接阶段

Java类的生命周期-连接阶段 上篇讲述了类的加载阶段&#xff0c;通过类加载器读取字节码文件后在方法区与堆区生成对应的存放类信息的对象&#xff0c;本篇将讲解他的下一阶段-连接阶段 上篇说到类加载的五大阶段&#xff1a; #mermaid-svg-6YmaEnIO4rCKbIZg {font-family:&quo…

Cpp::STL—vector类的模拟实现(11)

文章目录 前言一、各函数接口总览二、默认成员函数vector();vector(size_t n, const T& val T( ));template< class InputIterator> vector(InputIterator first, InputIterator last);vector(const vector<T>& v);vector<T>& operator(const v…

腾讯云SDK基本概念

本文旨在介绍您在使用音视频终端 SDK&#xff08;腾讯云视立方&#xff09;产品过程中可能会涉及到的基本概念。 音视频终端 SDK&#xff08;腾讯云视立方&#xff09; 应用 音视频终端 SDK&#xff08;腾讯云视立方&#xff09;通过应用的形式来管理您的项目&#xff08;Ap…

C/C++进阶(一)--内存管理

更多精彩内容..... &#x1f389;❤️播主の主页✨&#x1f618; Stark、-CSDN博客 本文所在专栏&#xff1a; 学习专栏C语言_Stark、的博客-CSDN博客 其它专栏&#xff1a; 数据结构与算法_Stark、的博客-CSDN博客 ​​​​​​项目实战C系列_Stark、的博客-CSDN博客 座右铭&a…

免费录屏软件工具:助力高效屏幕录制

录屏已经成为了一项非常实用且广泛应用的技术。无论是制作教学视频、记录游戏精彩瞬间&#xff0c;还是进行软件操作演示等&#xff0c;我们都常常需要一款可靠的录屏软件。今天&#xff0c;就让我们一起来探索那些功能强大录屏软件免费版&#xff0c;看看它们是如何满足我们多…

ARTS Week 42

Algorithm 本周的算法题为 2283. 判断一个数的数字计数是否等于数位的值 给你一个下标从 0 开始长度为 n 的字符串 num &#xff0c;它只包含数字。 如果对于 每个 0 < i < n 的下标 i &#xff0c;都满足数位 i 在 num 中出现了 num[i]次&#xff0c;那么请你返回 true …

【数据结构强化】应用题打卡

应用题打卡 数组的应用 对称矩阵的压缩存储 注意&#xff1a; 1. 2.上三角的行优先存储及下三角的列优先存储与数组的下表对应 上/下三角矩阵的压缩存储 注意&#xff1a; 上/下三角压缩存储是将0元素统一压缩存储&#xff0c;而不是将对角线元素统一压缩存储 三对角矩阵的…

接口隔离原则在前端的应用

什么是接口隔离 接口隔离原则&#xff08;ISP&#xff09;是面向对象编程中的SOLID原则之一&#xff0c;它专注于设计接口。强调在设计接口时&#xff0c;应该确保一个类不必实现它不需要的方法。换句话说&#xff0c;接口应该尽可能地小&#xff0c;只包含一个类需要的方法&am…