Hello World

行走即是圆梦,回望亦是前行。

0%

Linux(CentOS 7)常用命令

前言

这里简单记录下Linux(CentOS 7)常用的基本命令

安装环境

阿里云服务器 CentOS 7.7 64位

1
2
$ uname -a
Linux 3.10.0-1062.18.1.el7.x86_64 #1 SMP Tue Mar 17 23:49:17 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

基本命令

查看服务状态

1
$ service firewalld status / systemctl status firewalld.service

服务启动/停止/重启

1
2
3
$ service firewalld start / systemctl start firewalld.service
$ service firewalld stop / systemctl stop firewalld.service
$ service firewalld restart / systemctl restart firewalld.service

服务开机自启

1
$ systemctl enable firewalld.service

禁止服务开机自启

1
$ systemctl disable firewalld.service

查看已启动的服务

1
$ systemctl list-units --type=service

查看开机自启的服务

1
$ systemctl list-unit-files | grep enabled

docker相关

启动容器

1
$ docker start redis

停止容器

1
$ docker stop redis

删除容器

1
$ docker rm redis

查看容器状态/id

1
$ docker ps -a

设置容器自启

1
$ docker update --restart=always redis / docker update --restart=always 81bcb97c4f5e

防火墙开放端口

防火墙开放端口(开放端口后需要重启防火墙firewall-cmd --reload)

1
$ firewall-cmd --zone=public --add-port=8080/tcp --permanent

防火墙移除端口

1
$ firewall-cmd --zone=public --remove-port=8080/tcp --permanent

查看端口是否开放

1
$ firewall-cmd --query-port=8080/tcp

查看已开放端口

1
$ firewall-cmd --list-port / firewall-cmd --zone=public --list-ports

定时任务

  1. 编辑/etc/crontab文件

    /etc/crontab
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # Example of job definition:
    # .---------------- minute (0 - 59)
    # | .------------- hour (0 - 23)
    # | | .---------- day of month (1 - 31)
    # | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
    # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # | | | | |
    # * * * * * user-name command to be executed

    # 定时任务的每段为:分,时,日,月,周,用户,命令

    0 4 * * * root reboot # 每天凌晨四点执行
    */1 * * * * root echo "this is a test, date: "$(date) > /root/date.log # 每分钟执行

    重启服务

    1
    2
    # 重启crontab, 使配置生效
    $ service crond restart

    注:/etc/crontab的默认权限为755,增加定时任务,重启服务后发现不生效

    1
    2
    3
    4
    5
    6
    7
    # 查看log
    $ tail -f /var/log/cron
    crond[6463]: (CRON) INFO (Shutting down)
    crond[6463]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 5% if used.)
    crond[6463]: (root) BAD FILE MODE (/etc/crontab)
    crond[6463]: (CRON) INFO (running with inotify support)
    crond[6463]: (CRON) INFO (@reboot jobs will be run at computer's startup.)

    参考教程修改/etc/crontab权限为644重启服务,定时任务生效

  2. 命令crontab

    1
    2
    3
    4
    5
    6
    # 编辑定时任务
    $ crontab -e
    # 查看定时任务
    $ crontab -l
    # 重启crontab, 使配置生效
    $ service crond restart

    注:crontab -e编辑格式,不需要指定用户

    1
    2
    # * * * * * command
    0 4 * * * /usr/sbin/reboot

查看文件占用

查看磁盘占用(大文件占用)

1
$ df -h

查看当前目录文件大小

1
$ du -sh *

查看某个目录的文件大小并排序

1
du -hm --max-depth=1 /var/ | sort -n

yum缓存路径/var/cache/yum
清空yum缓存

1
$ yum clean all

journal日志

查看日志占用

1
$ journalctl --disk-usage

用echo命令清空日志文件

1
$ echo "" > system.journal

ps. 该方法只会清空一次,后面还是需要手动清空,这里建议使用以下命令让journalctl自动维护空间
只保留近一周的日志

1
$ journalctl --vacuum-time=1w

只保留500MB的日志

1
$ journalctl --vacuum-size=500M

直接删除/var/log/journal/目录下的日志文件

1
$ rm -rf /var/log/journal/20200220105402131453637367482142/system.journal

挂载共享文件夹

  1. 设置选项开启共享
  2. 安装VMWare Tools
  3. 查看共享文件夹
    1
    $ vmware-hgfsclient
  4. 挂载共享文件linuxworkspace
    1
    $ vmhgfs-fuse .host:/linux ~/workspace/
  5. 若出现错误Error: cannot mount filesystem: No such device,安装open-vm-tools-devel
    1
    $ yum install open-vm-tools-devel -y
  6. 重复步骤4即可