自学内容网 自学内容网

Linux运维常用指令讲解(持续更新)

软件管理

软件源配置

RedHat系列:Redhat、Centos、Fedora等

  • 在线下载更新
# 1. 本身的yum源进行备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 2. 更新镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 3. 清理缓存
yum clean all
# 4. 重新建立缓存(时间较长)
yum makecache
  • 修改源文件更新
# 1. 本身的yum源进行备份
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 2. 修改镜像源
vi /etc/yum.repos.d/CentOS-Base.repo

[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#released updates 
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

# 3. 清理缓存
yum clean all
# 4. 重新建立缓存(时间较长)
yum makecache

Debian系列:Debian、Ubuntu等

  1. 本身的apt源进行备份
cd /etc/apt/ && cp -a sources.list sources.list.bak
  1. 更新镜像源(选其一)阿里、网易、清华大学、中科大
sed -i 's/http:\/\/.*.ubuntu.com/https:\/\/mirrors.aliyun.com/g' /etc/apt/sources.list
sed -i 's/http:\/\/.*.ubuntu.com/https:\/\/mirrors.163.com/g' /etc/apt/sources.list
sed -i 's/http:\/\/.*.ubuntu.com/https:\/\/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sed -i 's/http:\/\/.*.ubuntu.com/https:\/\/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list

安装、更新、删除、查询

RedHat系列:Redhat、Centos、Fedora等

rpm

(Red Hat Package Manager):这是Red Hat、Fedora、CentOS等基于Red Hat的系统的包管理工具。它是以一个单一的文件为基础,并且在文件中包含了所有的安装信息。
安装、更新、删除、模糊查询

rpm -ivh {package-name}.rpm
rpm -Uvh {package-name}.rpm
rpm -e {package-name}
rpm -qa | grep {package-name}
yum

(Yellowdog Updater Modified):这是基于RPM的包管理器,用于解决RPM包依赖问题,能够自动处理依赖关系,并且可以从网络仓库中安装和更新RPM包。
安装、更新、删除、模糊查询

yum install {package-name}
yum update {package-name}
yum check-update
yum remove {package-name}
yum list installed | grep {package-name}
dnf

(Dandified YUM):这是Fedora系统的包管理工具,它尝试克服YUM包管理器中存在的一些问题。
安装、更新、删除

dnf install {package-name}
dnf update {package-name}
dnf remove {package-name}

Debian系列:Debian、Ubuntu等

apt

(Advanced Package Tool):这是Debian和基于Debian的系统(如Ubuntu)的包管理工具。
安装、更新一个包列表、更新所有包、删除一个包、模糊查询一个包

apt-get install {package-name}
apt-get update
apt-get upgrade
apt-get remove {package-name}
apt list --installed | grep {package-name}
dpkg

DPKG (Debian Package Management System):这是Debian系统及其衍生系统中的包管理工具。
安装、删除、查询

dpkg -i {package-name}.deb
dpkg -r {package-name}
dpkg --list | grep {package-name}

文件类

权限

每个文件或目录都有一个所有者(owner)、一个组(group),以及全局的读(r)、写(w)、执行(x)权限。

检查文件或目录的权限。

ls -l

修改文件的权限

chmod u+x filename

查询、拷贝、移动、删除

拷贝

SCP拷贝(若目标目录不存在,则会自动创建)
  1. 本地到远程

没有指定用户名,命令执行后需要输入用户名和密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;

scp local_file remote_ip:remote_folder
scp local_file remote_ip:remote_file

命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;

scp -r -p 22 /local_dirname/ root@x.x.x.x:/remote_dirname/
scp -r -p 22 /local_filename/ root@{serverName}:/remote_filename/
  1. 远程到本地

将本地到远程的后2个参数调换顺序即可

scp remote_ip:remote_folder local_file
scp remote_ip:remote_file local_file
scp -r -p 22 root@x.x.x.x:/remote_dirname/ /local_dirname/
scp -r -p 22 root@{serverName}:/remote_filename/ /local_filename/

参数详解:

-p:保留原文件的修改时间,访问时间和访问权限。
-r: 递归复制整个目录。

其他:

-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-q: 不显示传输进度条。
-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c:cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F:ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i:identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l:limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o:ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P:port:注意是大写的P, port是指定数据传输用到的端口号
-S:program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
CP拷贝

拷贝

cp /path/to/source/file /path/to/destination/directory

移动

mv移动
mv /path/to/source/file /path/to/destination/directory/

系统服务、进程、端口

服务

  • systemctl disable:
    禁用服务,但仍然允许手动启动和停止。不影响服务的其他依赖关系。允许通过其他服务依赖它。

  • systemctl mask:
    屏蔽服务,阻止其被systemctl启动。将服务单元文件链接到/dev/nu11,使其无法被启动。彻底阻止服务的启动,包活手动启动。

  • 检查服务是否被禁用或屏蔽

systemctl is-enabled {service-name}
  • 屏蔽服务
sudo systemctl mask {service-name}
  • 取消屏蔽
sudo systemctl unmask {service-name}
  • 禁用服务
sudo systemctl disable {service-name}
  • 查看正在运行的服务
systemctl list-units --type=service --state=running
  • 查看服务状态
systemctl status {service-name}
  • 启用服务
systemctl enable {service-name}
  • 重新加载系统的服务配置文件或Docker守护进程
systemctl daemo-reload

端口

端口占用查询

ss -tunlp | grep ':22'
-t: 显示TCP端口
-u: 显示UDP端口(但在这个命令中通常不需要同时使用-t和-u,除非你想要同时查看TCP和UDP端口)
-n: 以数字形式显示地址和端口号
-l: 只显示监听状态的端口
-p: 显示进程信息

进程

进程名查找进程ID, -l 同时显示进程名和PID

pgrep -l {progress name}

进程ID查询进程名
comm=选项告诉ps只输出命令名(即进程名)

ps -p {PID} -o comm=

看进程的CPU占用率和内存占用率,可以使用aux
看进程的父进程ID和完整的COMMAND命令,可以使用ef

ps -ef

显示所有进程的完整格式

ps -ef
UID:用户ID、但输出的是用户名
PID:进程的ID
PPID:父进程ID
C:进程占用CPU的百分比
STIME:进程启动到现在的时间
TTY:该进程在那个终端上运行,若与终端无关,则显示?  
CMD:命令的名称和参数

ps -aux

列出当前正在运行的所有进程

ps -aux
USER:用户名
PID:进程ID
%CPU:进程占用的CPU百分比
%MEM:占用内存的百分比
VSZ:该进程使用的虚拟內存量(KB)
RSS:该进程占用的固定內存量(KB)(驻留中页的数量)
STAT:进程的状态
START:该进程被触发启动时间
TIME:该进程实际使用CPU运行的时间
COMMAND:命令的名称和参数

实时进程监视器 top

系统版本及内核查看

  • 内核版本
cat /proc/version
uname -r
  • 系统版本
cat /etc/os-release

RedHat系列:Redhat、Centos、Fedora等

cat /etc/centos-release

Debian系列:Debian、Ubuntu等

lsb_release -a

防火墙

RedHat系列:Redhat、Centos、Fedora等

Debian系列:Debian、Ubuntu等

安装

sudo apt update
sudo apt install ufw

使用以下命令来启用ufw:

sudo ufw enable

要关闭ufw防火墙,可以使用以下命令:

sudo ufw disable

要检查ufw的状态(即,它是启用还是禁用,以及当前有哪些规则),可以使用以下命令:

sudo ufw status verbose

配置ssh免密登录

ssh-keygen
ssh-copy-id username@remote_host
ssh username@remote_host

定时任务

crontab -e
0 3 * * * /path/to/backup_to_serverB.sh >> /path/to/backup_log.log 2}&1

查看开机及运行时间记录

last  reboot
方法一
service network restart
sudo systemctl restart NetworkManager

解包

tar -xzvf {packagename}

手动设置开机自启服务,放置软连接

  • /usr/lib/systemd/system/
ln -s 源文件名 目标文件名
systemctl enable {ServiceFileName}.service(等同于 ln -s 源文件 /etc/systemd/system/)
  • /etc/systemd/system/(优先级更高)
ln -s 源文件名 目标文件名
systemctl enable {ServiceFileName}.service(等同于 ln -s 源文件 /etc/systemd/system/)

原文地址:https://blog.csdn.net/admin_233/article/details/142413991

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!