Skip to content

CentOS 常用工具及命令

centos 关机与重启命令

txt
Linux centos重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
Linux centos关机命令:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

ifconfig

bash
# ifconfig命令无法找到,提示bash: ifconfig: command not found
sudo yum install net-tools

wget

wget 命令用来从指定的 URL 下载文件。wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget 会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

bash
# 安装
yum -y install wget
bash
# 语法
wget [options] [URL...]

# 查看帮助
wget -h

# 下载指定文件到当前文件夹
wget http://abcd.com/aaa.zip

# 指定保存名字
wget -O wordpress.zip http://abcd.com/aaa.zip

# 断点续传
wget -c http://abcd.com/aaa.zip

# 后台下载
wget -b http://abcd.com/aaa.zip

# FTP下载
wget ftp-url
wget --ftp-user=USERNAME --ftp-password=PASSWORD url

OpenSSL: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

解决该问题可以使用以下参数,比如:

shell
wget --no-cookie --no-check-certificate https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

curl

curl 是一个非常实用的、用来与服务器之间传输数据的工具;支持的协议包括 (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP),curl 设计为无用户交互下完成工作;

curl 提供了一大堆非常有用的功能,包括代理访问、用户认证、ftp 上传下载、HTTP POST、SSL 连接、cookie 支持、断点续传...。

bash
# 安装
yum -y install curl
bash
# 语法
curl [options] [URL...]

# 查看帮助
curl -h

# 下载页面
curl -o index.html https://baidu.com

# 下载文件并显示简单进度条
curl -# -o centos6.8.iso http://mirrors.aliyun.com/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-minimal.iso

#继续完成上次终止的未完成的下载
curl -# -o centos6.8.iso -C - http://mirrors.aliyun.com/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-minimal.iso

echo

shell
# 覆盖写入内容到文件
echo "admin=123456" > test.properties

# 追加写入内容到文件
echo "admin=123456" >> test.properties

tee

shell
# 覆盖写入内容到 users.properties
tee /opt/users.properties <<-'EOF'

# Define Admin
admin=1qaz2wsx,1

# Define Users
#user1=1qaz2wsx

EOF

vim

Vim 是从 vi 发展出来的一个文本编辑器。

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:

命令模式

用户刚刚启动 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 键可随时退出底线命令模式。

安装

bash
yum -y install vim

语法

bash
# 打开文件
vim [fileName]

详细参考:https://www.runoob.com/linux/linux-vim.html

yum-config-manager

bash
# 安装
yum -y install yum-utils

# 使用示例添加 docker repo 源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 或者上面命令的功能也可以如下方式实现
cd /etc/yum.repos.d
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 lrzsz(上传/下载文件)

bash
yum install lrzsz -y

#上传文件
#进入要上传文件目的地目录,执行如下命令
rz -y
# 之后根据ssh工具(XShell/MobaXterm等)的不同显示选择框,选择要上传的文件,确定即可

#文件下载
sz 文件名
# 之后根据ssh工具(XShell/MobaXterm等)的不同显示选择框,选择要下载的目标目录,确定即可

安装 p7zip(7z 压缩工具)

bash
[root@localhost /]# yum install -y p7zip*

安装 unar 来解决解压 zip 中文乱码

bash
yum install unar -y

unar xxx.zip

mv xxx html

# 其他(旧版本支持,新版本可以打补丁包)
# 也有可能中文乱码是因为系统没有安装中文语言包,此时参考下一小节安装。
unzip -O GBK *.zip
unzip -O CP936 *.zip

安装并中文语言与中文输入法

bash
# 1. 查看当前字符集。如果没有就需要安装 langpacks-zh_CN 包
[root@localhost /]# locale
# 查看有没有zh_CN.utf8
[root@localhost /]# locale -a |grep CN

# 2. 安装 langpacks-zh_CN
[root@localhost /]# yum install -y langpacks-zh_CN

# 3. 配置中文环境,并立刻生效
[root@localhost /]# vi /etc/locale.conf
# 添加或修改依以下内容:
LANG=zh_CN.UTF-8
# 保存并退出。

# 4. 不重启的情况下使配置立即生效。
[root@localhost /]# source /etc/locale.conf

# 5. 检查中文是否已经正常
[root@localhost /]# date
2022年 12月 03日 星期五 18:12:25 CST

安装 SCIM 中文输入法

bash
[root@localhost /]# yum install "@Chinese Support"

ulimit -a:修改文件最大打开数

shell
# 查看系统默认值

# 只查看文件打开数限制
ulimit -n

# 查看所有( open files 默认=1024;max user processes 默认= 1024)
ulimit -a

core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 61963
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 61963
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

修改大一点:

shell
vi /etc/security/limits.conf

# 添加以下内容(如下示例:针对root用户,如果需要其他用户,自行再添加几行):

root  soft      nproc      65536
root  hard      nproc      65536
root  soft      nofile     65536
root  hard      nofile     65536

然后保存。使用 exit 命令退出终端,然后重新登录即可生效。

重新登录后,再次使用 ulimit -a 命令查询,检查是否已经生效。

端口占用

根据端口号,查询进程名称和进程 ID

shell
[root@localhost ~]# netstat -tunlp | grep 3306
tcp6       0      0 :::3306(端口号)     :::*      LISTEN      29520/mysqld(进程号/进程名称)

根据进程名称,查询进程 ID 和端口号

shell
[root@localhost ~]# netstat -tunlp | grep mysqld
tcp6       0      0 :::33060(端口号)    :::*     LISTEN      29520/mysqld(进程号/进程名称)
tcp6       0      0 :::3306 (端口号)    :::*     LISTEN      29520/mysqld(进程号/进程名称)

根据进程 ID,查询进程名称和端口号

shell
[root@localhost ~]# netstat -tunlp | grep 29520
tcp6       0      0 :::33060(端口号)    :::*     LISTEN      29520/mysqld(进程号/进程名称)
tcp6       0      0 :::3306 (端口号)    :::*     LISTEN      29520/mysqld(进程号/进程名称)

命令说明:

txt
netstat -tunlp

-t: 显示 TCP 连接
-u: 显示 UDP 连接
-n: 显示数字地址
-l: 列出状态是 LISTEN 的统计信息
-p: 显示程序的 PID 和名称

根据进程 ID 获取对应进程的信息

shell
[root@localhost ~]# ps -u --pid 29521
USER   PID     %CPU  %MEM   VSZ      RSS      TTY   STAT  START   TIME  COMMAND
root   29521   1.0   7.3    9992192  1161300  ?     Sl    14:48   1:29  java -jar demo.jar