说明:本资料来源于平时工作收集及整理于网络资料

  • Ubuntu安装源命令: apt-get
  • CentOS安装源命令: yum

    yum常用命令

    1. 列出所有可更新的软件清单命令:yum check-update
    1. 更新所有软件命令:yum update
    1. 仅安装指定的软件命令:yum install
    1. 仅更新指定的软件命令:yum update
    1. 列出所有可安裝的软件清单命令:yum list
    1. 删除软件包命令:yum remove
    1. 查找软件包命令:yum search
    1. 清除缓存命令:
      • yum clean packages: 清除缓存目录下的软件包
      • yum clean headers: 清除缓存目录下的 headers
      • yum clean oldheaders: 清除缓存目录下旧的 headers
      • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

        apt 常用命令

  • 列出所有可更新的软件清单命令:sudo apt update

  • 升级软件包:sudo apt upgrade列出可更新的软件包及版本信息:apt list —upgradeable升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade
  • 安装指定的软件命令:sudo apt install 安装多个软件包:sudo apt install
  • 更新指定的软件命令:sudo apt update
  • 显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show
  • 删除软件包命令:sudo apt remove
  • 清理不再使用的依赖和库文件: sudo apt autoremove
  • 移除软件包及配置文件: sudo apt purge
  • 查找软件包命令: sudo apt search
  • 列出所有已安装的包:apt list —installed
  • 列出所有已安装的包的版本信息:apt list —all-versions
  • 删除apt缓存 sudo apt-get autoclean

    Vmware和主机交互

Ubuntu

  1. sudo apt-get autoremove open-vm-tools
  2. sudo apt-get install open-vm-tools
  3. sudo apt-get install open-vm-tools-desktop

CentOS

  1. sudo yum autoremove open-vm-tools
  2. sudo yum install open-vm-tools
  3. sudo yum install open-vm-tools-desktop

systemdctl

查systemd可管理的服务

  1. systemctl list-units --type=service

或者

  1. systemctl --type=service

FG{2~I2@U)DF20YMRMDZO4Q.png

查已加载且开机自启服务

  1. systemctl list-units --type=service --state=active

或者

  1. systemctl --type=service --state=active

查所有正在运行的服务

  1. systemctl list-units --type=service --state=running

或者

  1. systemctl --type=service --state=running

启动某服务

  1. systemctl start sshd.service

重启某服务

  1. systemctl restart sshd.service

关闭某服务

  1. systemctl stop sshd.service

查看某服务状态

  1. systemctl status sshd.service

查是否开机启动

  1. systemctl is-enable sshd.service

查是否在启动状态

  1. systemctl is-active sshd.service

重载某服务

reload也叫平滑重启,正在连接的用户是没有感觉的,只有当用户再次连接时,会启用新的配置。

  1. systemctl reload sshd.service

设置某服务开机启动

  1. systemctl enable sshd.service

设置某服务开机不启动

  1. systemctl disable sshd.service

重载systemd服务列表

  1. systemctl daemon-reload

目录文件

Linux常用命令 - 图2

修改主机名

  1. vi /etc/hostname

配置IP

  1. # 存放目录
  2. cd /etc/sysconfig/network-scripts/
  3. # 编辑某一配置文件
  4. vi /etc/sysconfig/network-scripts/ifcfg-ens160

配置好后,需要重启网卡服务

  1. systemctl restart network

配置SSH

  1. cd /etc/ssh
  2. vim /etc/ssh/sshd_config

对配置文件进行如下修改

  1. Port 22 # 默认使用22端口,也可以自行修改为其他端口,但登录时要打上端口号
  2. #ListenAddress # 指定提供ssh服务的IP,这里我注释掉。
  3. PermitRootLogin # 禁止以root远程登录
  4. PasswordAuthentication yes # 启用口令验证方式
  5. PermitEmptyPassword # 禁止使用空密码登录
  6. LoginGraceTime 1m # 重复验证时间为1分钟
  7. MaxAuthTimes 3 # 最大重试验证次数
  8. # 保存修改好的配置,退出。

重启服务sshd

  1. systemctl restart sshd.service

用户信息文件

  1. cd /etc/passwd

日志文件的管理文件

众所周知,Linux中的日志文件,存放在/var/log,但是管理这个文件的文件,存放在哪里呢?
这个管理日志文件的文件,可以决定,日志文件存放的位置,可以完成日志服务器的搭建,等等功能。
当我们要对日志进行管理的时候,需要进入到一个目录这个目录就是

  1. /etc/rsyslog.conf

DNS的管理文件

  1. # 主配置文件:
  2. /etc/named.conf
  3. # 区域配置文件:
  4. /var/named/named.empty

/etc目录

  1. /etc/rc.local 存放开机自启动内容的文件。chkconfig -一般用来管理yum/rpm包装的服务。
  2. /etc/fstab 开机自动挂载文件
  3. /etc/inittab 运行级别的配置文件
  4. /etc/profile 环境变量配置文件
  5. /etc/bashrc 配置命令别名
  6. /etc/motd 登陆系统后显示文件内容
  7. /etc/issue /etc/issue.net 登陆系统前显示
  8. /etc/locale.conf 字符集配置文件
  9. /etc/passwd 账号信息文件
  10. /etc/shadow 账号密码信息文件
  11. /etc/sudoers 可以执行sudo命令的配置文件(权限提升)
  12. /etc/rsyslog.conf 日志设置文件,限C6.X

/var目录

  1. /var/log/messages 默认的系统日志文件,非常重要
  2. /var/log/secure 记录系统登陆信息
  3. /var/spool/cron/root 定时任务crontab的默认路径,按用户名命令的文件。
  4. /var/spool/clientmqueqe sendmail临时文件目录,需定时清理clientmqueue目录垃圾文件防止占满磁盘空间。

/proc目录

  1. /proc 虚拟目录,是内存的映射,内核和进程的虚拟文件系统目录
  2. /proc/version 内核版本
  3. /proc/cupinfo 关于处理器的信息,如类型,型号和性能等
  4. /proc/meminfo 系统内存信息
  5. /proc/interrupts 正在使用的中断。
  6. /proc/loadavg 系统负载的信息。

/usr目录

  1. /usr/local 自编译安装软件存放目录
  2. /usr/src 内核源码存放目录

/dev目录

  1. /dev/sda磁盘
  2. /dev/urandom (生成输出随机内容文件)
  3. /dev/urandom 生成随机内容 tr + head
  4. /dev/zero 不断输出信息
  5. /dev/null (黑洞 把东西放进去就没了)
  6. /dev/urandom 生成输出随机内容

系统相关

shutdown -h now:表示立即关机
shutdown -h 1:表示1分钟后关机
shutdown -r now:表示立即重启
logout:注销用户,在 xshell 上面有效

修改主机名

  1. # 查看主机名称
  2. hostname
  3. # 设置主机名称(临时生效,重启后失效)
  4. hostname Anolisos8.4.1

1655977888477.png

  1. vi /etc/hostname

1655978265828.png
退出vim并保存后,重启。

查服务器时间

  1. date

设定系统日期时间

date -s “日期、时间字符串”

  1. date -s "2022-03-07 09:00:00"

目录相关

cd

cd 进入用户主目录
cd ~ 进入用户主目录
cd - 返回进入此目录之前所在目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd !$ 把上个命令的参数作为cd参数使用
cd / 进入根目录
cd . 当前目录
cd /(目录名)改变工作目录

切换目录

  1. cd

回到家目录

  1. cd ~

回到上一级目录

  1. cd ...

显示当前目录

  1. ll

![VBP09DCWDBE$${)M{5OB%I.png

mkdir

tree

文件相关

新建文件

  1. touch test.txt

删除文件

  1. rm test.txt

Vim相关

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式

在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

    底线命令模式

    在命令模式下按下:(英文冒号)就进入了底线命令模式。
    底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
    在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序

  • w 保存文件

按ESC键可随时退出底线命令模式。
简单的说,我们可以将这三个模式想成底下的图标来表示:
Linux常用命令 - 图5
图片来源于

IP相关

查看公有IP

  1. curl http://ifconfig.io

$BQAUR%U7SL`]8EY7ULAZ1K.png

  1. curl ident.me

C`GJODY0OC)OTL85H52TOS1.png
或者其他的命令

  1. curl ipinfo.io/ip/
  2. curl api.ipify.org
  3. dig ANY +short @resolver2.opendns.com myip.opendns.com

(NYG$YZTWH2BK_OS8U7F%X1.png

查看私有IP

系统命令

在Linux中,一般情况下没有安装任何工具包的情况下可以通过ip addr或者ip a 或者ip address来查看本机的ip地址

  1. ip addr
  2. ip a
  3. ip address

net-tools

  1. ifconfig -a

D14MTIK($FDW~V6FNKHV0MU.png

hostname

  1. hostname -I | awk '{print $1}'

ip route

  1. ip route get 1.2.3.4 | awk '{print $7}'

nmcli

  1. nmcli -p device show

端口相关

列出所有端口

  1. netstat -npl

查看端口状态

  1. netstat -nap

检查端口被占用情况

  1. netstat -lnp|grep 88

查看进程详细信息

  1. ps 24525

启动端口

写入修改
保存修改
重启防火墙,修改生效

  1. /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入修改
  2. /etc/init.d/iptables save 保存修改
  3. service iptables restart 重启防火墙,修改生效

vi /etc/sysconfig/iptables 打开配置文件加入如下语句:

  1. -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

重启防火墙,修改完成

关闭端口

  1. /sbin/iptables -I INPUT -p tcp --dport 80 -j DROP 写入修改
  2. /etc/init.d/iptables save 保存修改
  3. service iptables restart 重启防火墙,修改生效

vi /etc/sysconfig/iptables 打开配置文件加入如下语句:

  1. -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j DROP

重启防火墙,修改完成。

设置端口

web api预使用8001端口,需要对外开放8001端口,端口配置步骤如下:

防火墙相关命令

  1. # 查看防火墙状态
  2. systemctl status firewalld
  3. # 启动防火墙
  4. systemctl start firewalld
  5. # 重新启动防火墙
  6. firewall-cmd --reload
  7. # 关闭防火墙命令:
  8. systemctl stop firewalld

开放端口

  1. firewall-cmd --zone=public --add-port=8001/tcp --permanent

重启防火墙

  1. firewall-cmd --reload
  • 命令含义:
    – zone #作用域
    – add-port=1935/tcp #添加端口,格式为:端口/通讯协议
    – permanent #永久生效,没有此参数重启后失效

    查看端口状态

    1. firewall-cmd --query-port=8001/tcp
    1657700103798.png
    yes 表示已开启 no表示未开启
    配置好开放的端口后,建议重新关闭并停止防火墙服务。
    1. systemctl stop firewalld

    解压命令

    tar 解压

    1. tar -zxvf Python-2.7.5.tgz

    tar 压缩

    1. tar -zcvf abcde.tar.gz abcdeFile/

    zip 解压

    1. unzip mydata.zip -d mydatabak

    解压并覆盖

    解压OA.SyncData.Core.zip到/root/DataSync/OA.SyncData.Core
  1. cd /root/DataSync/OA.SyncData.Core
  2. 执行 unzip -o OA.SyncData.Core.zip -d /root/DataSync
    1. unzip -o OA.SyncData.Core.zip -d /root/DataSync

    zip 压缩

    1. zip -r mydata.zip mydata

    合并压缩

    1. zip mydata.zip mydata01 mydata02.txt

    直接解压

    1. unzip mydata.zip

    查看压缩包内容

    1. unzip -v mydata.zip

    主要参数


    -c:将解压缩的结果
    -l:显示压缩文件内所包含的文件
    -p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
    -t:检查压缩文件是否正确
    -u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中
    -v:执行是时显示详细的信息
    -z:仅显示压缩文件的备注文字
    -a:对文本文件进行必要的字符转换
    -b:不要对文本文件进行字符转换
    -C:压缩文件中的文件名称区分大小写
    -j:不处理压缩文件中原有的目录路径
    -L:将压缩文件中的全部文件名改为小写
    -M:将输出结果送到more程序处理
    -n:解压缩时不要覆盖原有的文件
    -o:不必先询问用户,unzip执行后覆盖原有文件
    -P<密码>:使用zip的密码选项
    -q:执行时不显示任何信息
    -s:将文件名中的空白字符转换为底线字符
    -V:保留VMS的文件版本信息
    -X:解压缩时同时回存文件原来的UID/GID

    远程连接

    安装ssh

    1. sudo apt-get update
    2. sudo apt-get install openssh-server

    cent OS

    1. sudo yum update
    2. sudo yum install openssh-server

    查看IP

    1. ip address

    开启sshp

    1. sudo service sshd start

    查看sshp服务

    1. service sshd status

    修改sshd的配置

    1. sudo vim /etc/ssh/sshd_config
    在文件后面添加:
    1. AllowUsers 用户名(多用户时,用空格分隔的用户名)
    如果希望能使用root用户登录,则还需要增加一行
    1. PermitRootLogin yes
    退出并保存vim,:qw

    编译打包

    编译linux-arm64

    1. dotnet publish -r linux-arm64 -c Debug --nologo --self-contained