Linux日常学习或工作中的一些简单命令

131 阅读5分钟
  1. rpm -q xx 查询xx是否安装
  2. yum install xx 安装xx软件包
  3. yum remove xx 卸载xx软件包
  4. vim /路径 读写文件
    • i:编辑模式
    • Exc:退出到命令模式
    • :wq:保存并退出Vim
  5. startx (一次性地)从命令行切换到桌面环境
  6. systemctl get-default 获取当前启动模式
  7. systemctl set-default graphical.target 修改启动模式为图形化
  8. systemctl set-default multi-user.target 修改启动模式为命令行
  9. 安装桌面环境 安装桌面环境(这里安装 GNOME)
  10. systemctl start xx 启动xx服务
  11. systemctl enable xx 开机自启动xx服务
  12. firewall-cmd --permanent --zone=public --add-port=3389/tcp 防火墙开放3389端口
  13. firewall-cmd --reload 重启防火墙
  14. systemctl stop firewalld 关闭防火墙
  15. systemctl disable firewalld

禁止防火墙开机启动

  1. cp /路径 复制文件
  2. systemctl daemon-reload

让服务文件修改生效

  1. netstat -lnpt|grep xx 查看xx的服务端口

  2. sudo yum update -y 更新服务器地软件包

  3. sudo yum install java-1.8.0-openjdk -y 安装 OpenJRE

  4. java -version 检测jre是否安装成功

  5. sudo useradd -m halo 创建一个低权限地用户halo

  6. sudo su halo 登录用户halo

  7. wget url 下载xx安装包

  8. useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户

    主要参数

    • -c:加上备注文字,备注文字保存在passwd的备注栏中。

    • -d:指定用户登入时的主目录,替换系统默认值/home/<用户名>

    • -D:变更预设值。

    • -e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。

    • -f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.

    • -g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。

    • -G:指定用户所属的附加群组。

    • -m:自动建立用户的登入目录。

    • -M:不要自动建立用户的登入目录。

    • -n:取消建立以用户名称为名的群组。

    • -r:建立系统账号。

    • -s:指定用户登入后所使用的shell。默认值为/bin/bash。

    • -u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。

    www.cnblogs.com/irisrain/p/…

  9. w # whoami 查看当前登陆用户

     12:10:27 up 21:13,  1 user,  load average: 0.00, 0.01, 0.08
    USER          TTY      FROM                 LOGIN@   IDLE   JCPU   PCPU WHAT
    root            pts/0    ***.**.***.**    11:33    0.00s  0.08s  0.00s   w
    tmp_3254  ps1       ***.**.***.**     11:33    0.00s  0.08s  0.00s   ls
    
  10. su xxx # 或者直接 exit 退出当前用户登录,进入一个有管理员权限的用户

  11. pkill -kill -t [TTY] 强制退出已经登陆用户

     0pkill -kill -t ps1
    
  12. ls -a # ls --all 查看当前目录下的所有文件

  13. service xx restart 重启xx应用

  14. curl -o /路径 --create-dirs url 下载配置文件、模板等文件

  15. sudo nginx -t 检查Nginx配置是否有误

  16. sudo nginx -s reload 重载Nginx配置

  17. sudo service xx status 查看xx的运行状态

  18. sudo service halo stop 停止xx

  19. sudo service halo restart 重启xx

  20. sudo service halo start 启动xx

  21. sudo systemctl daemon-reload 修改service文件之后需要刷新Systemd

  22. sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 添加软件源信息

  23. sudo yum makecache fast 更新yum缓存

  24. 镜像加速

    # 新建 daemon.json 文件
    sudo vim /etc/docker/daemon.json
    

    将下面的配置复制进去即可:

    {
      "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
    

    注意:修改完配置文件之后需要执行 service docker restart 才可生效。

  25. sudo docker pull ruibaby/xx 拉取xx的最新镜像

  26. docker run --rm -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo ruibaby/halo 创建容器并运行halo

    • --rm:停止之后自动删除容器。
    • --name:容器名。
    • -p:占用端口,前者为宿主机端口,后者为 Halo 的运行端口,可在 application.yaml 配置。
    • -v:目录映射,一般不要修改。
  27. netstat -tln # netstat -tln | grep 8080 查找被占用的端口(可接特定端口号)

  28. netstat -ntlp 查看其他端口

  29. lsof -i:8060 查看端口属于哪个程序、端口被哪个进程占用

  30. kill -9 进程id 杀掉占用端口的进程 根据pid杀掉

  31. shutdown -h now 立即关机

  32. shutdown -r now # reboot 立即重启

  33. docker run --name some-wordpress --link some-mysql:mysql -d wordpress 参数说明:

    • --name 容器的的名字
    • --link 和其他容器做连接
    • -d/--detach 后台运行
  34. docker run -d --privileged=true --name myMysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 33306:3306 mysql:5.6 参数解释:

    • -p: 端口映射,33306表示宿主,3306表示容器中的端口。 这里表示将宿主机的33306映射给镜像的3306.
    • -e: 环境变量, 环境变量和具体的Docker容器制作时设置有关,这里表示设置镜像中MySQL的root 密码时123456
    • -v: 指定数据卷,也就是将我们MySQL容器的/var/lib/mysql映射到宿主机的/data/mysql
    • --privileged=true: CentOS系统下的安全Selinux禁止了一些安全权限,导致MySQL容器在运行时会因为权限不足而报错,所以需要增加该选项
  35. docker ps -a 查看MySQL是否正常运行

  36. docker stop 容器名 停止运行

  37. docker rm 容器名 删除容器(之后去掉-d选项重新运行排查错误)

  38. 快速批量删除docker镜像或容器

    Docker本身并没有提供批量删除的功能,当有大量的镜像或者容器需要删除的时候,手动的一个一个删就比较麻烦了。

    # 直接删除所有镜像或容器
        # 直接删除所有镜像
        docker rmi `docker images -q`
    
        # 直接删除所有容器
        docker rm `docker ps -aq`
        
    # 按条件筛选之后删除
        # 按条件筛选之后删除镜像
        docker rmi `docker images | grep xxxxx | awk '{print $3}'`
    
        # 按条件筛选之后删除容器
        docker rm `docker ps -a | grep xxxxx | awk '{print $1}'`