一、文件编辑

1. 一般模式

  • yy 复制
    - yNy 复制N行
    - p 粘贴
    - u 撤销
    - dd 删除一行
    - dNd 删除N行
    - d^ 删除当前行光标前面的字符
    - d$ 删除当前行光标后面的字符
    - shift + ^ 移动到行头
    - shift + $ 移动到行尾
    - shift + g 跳转到最后一行
    - N + shift + g 跳到第N行 或者
    - / 查找字符串 n(查找下一处) N(查找上一处)

2. 编辑模式

  • i 进入编辑模式
    - o 进入下一行的编辑模式

3. 指令模式

  • w 保存
    - q 退出
    - ! 感叹号强制执行

二、文件目录类

  • pwd 显示当前工作路径
    - ll 列出目录内容
    - mkdir 创建新目录
    - mkdir -p 递归创建

  • touch 创建空文件
    - cd 切换目录
    - 绝对路径和相对路径
    - cd - 返回之前操作的目录
    - cp 复制文件或目录
    - cp -r 递归复制
    - rm 删除文件(在没有理解路径的情况下,不要乱用)
    - rm -rf 递归强制删除
    - mv 移动目录、改名
    - cat 查看文件
    - more 分页查看文件
    - 空格 向下翻页
    - ctrl + B 返回上一屏
    - tail -F 监控文件
    - echo 追加文件
    - ln -s [原文件][目标文件] 软连接
    - history 历史命令

三、时间日期类

  • date 显示当前时间
    - date -s 设置系统时间
    - date -s ‘2019-03-09 23:23:23’
    - cal 查看日历
    - tab 自动补充键

四、用户管理命令

  • useradd [用户] 添加新用户
    - userdel [用户] 删除新用户
    - passwd [用户] 设置用户密码
    - id [用户] 判断用户是否存在
    - su [用户] 切换用户
    - /etc/sudoers 设置普通用户具有root权限
    - usermod 修改用户
    - usermod -g group1 user1 把用户user1加入到group1用户组
    - groupadd itstar 新增用户组
    - groupdel 删除组
    - groupmod 修改组
    - cat /etc/group 查看创建了哪些组

五、文件权限类

  • chmod 改变权限 chmod -R 777 用户名
    - chown [最终用户][文件或目录]
    - chown -R user1:user1 [文件名]
    - su [用户] 切换用户

六、磁盘分区类

  • fdisk 在root用户下查看分区
    - df 查看硬盘
    - df -h
    - du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹)
    - free 显示内存情况
    - free -h 以M为单位显示内存使用情况
    - free -h -s 3 每隔 3 秒输出一次内存的使用情况,按下 ctrl + c 结束
    - -s 指定间隔的秒数
    - mount /unmount 挂载/卸载

    七、搜索查找类

  • find [搜索范围][匹配条件]
    - 按文件名
    - find /opt -name *.jar
    - 按拥有者
    - find /opt -user user1
    - 按文件大小(在某目录下查找大于1M的文件)
    - find /opt -size +1024
    - grep 管道符
    - grep + 参数 + 查找内容 + 源文件
    - rpm -qa|grep mysql 查找系统中是否有mysql的rpm包
    - grep “C|A” A 注:区分大小写
    - grep -i “C|A” A 是不区分大小写
  1. # 显示前关键字的前10行和后10行 -C = Center
  2. grep -C10 [查找关键字] [文件]
  3. # 显示前关键字的后10行 -A = After
  4. grep -A10 [查找关键字] [文件]
  5. # 显示前关键字的前10行 -B = Before
  6. grep -B10 [查找关键字] [文件]

八、进程线程类

  • ps -aux 查看系统中的进程
    - ps - ef | grep *
    - netstat -alp 查看监听的端口
    - top 查看系统的健康状态
    - kill 进程
    - kill -9 进程号 直接杀死进程
    - ip addr 查看IP地址

    如果没有netstat命令,使用yum install net-tools安装

九、压缩和解压缩

  • gzip + 文件 压缩文件 注:不能压缩目录
    - gunzip + 文件.gz 解压缩文件
    - zip + 文件名 + 要压缩的内容
    - unzip + *.zip 解压文件
    - zip a.zip a 把a压缩成zip格式的文件
    - tar –zcvf etc.gz /etc/ 打包并压缩
    - z:gzip压缩文件;c:创建tar包;v:显示tar执行过程;f:指定压缩文件名
    - tar –zxvf etc.gz 解压并拆包

十、系统类

  • hostnamectl -set [计算机名称] 修改主机名称
    - hostname 查看主机名
    - vi /etc/sysconfig/network-scripts/ifcfg-ens33 修改主机IP
  1. TYPE="Ethernet"
  2. PROXY_METHOD="none"
  3. BROWSER_ONLY="no"
  4. BOOTPROTO="static"
  5. DEFROUTE="yes"
  6. IPV4_FAILURE_FATAL="no"
  7. IPV6INIT="yes"
  8. IPV6_AUTOCONF="yes"
  9. IPV6_DEFROUTE="yes"
  10. IPV6_FAILURE_FATAL="no"
  11. IPV6_ADDR_GEN_MODE="stable-privacy"
  12. NAME="ens33"
  13. UUID="e980e117-7ca1-4032-ae48-723d40125291"
  14. DEVICE="ens33"
  15. ONBOOT="yes"
  16. IPADDR=192.168.0.112
  17. GATEWAY=192.168.75.2
  18. NETMASK=255.255.255.0
  19. DNS1=8.8.8.8
  20. DNS2=8.8.4.4
  • service network restart 重启网卡
    - vi /etc/hosts 编辑主机域名映射

增加系统安全性

  • vim /etc/sudoers #编辑sudoers,给普通用户授予root所有命令权限权限 【可选】,否则,普通用户也是可以通过su命令切换到root身份。

    1. ## Allow root to run any commands anywhere
    2. root ALL=(ALL) ALL
    3. yourname ALL=(ALL) ALL
  • vim /etc/ssh/sshd_config ```bash

    如果要修改 SSH端口,在这里修改

    Port 22

取消注释并设置为30秒,以限制用户提供其凭据的时间

LoginGraceTime 30

向用户显示上次登录的时间和位置:

PrintLastLog yes

取消注释,并改为no,禁用Root用户登录,前提请添加一个普通用户用于登录

PermitRootLogin no

在登录提示之前显示警告,设置一个包含警告文本内容的文件路径

Banner /etc/banner

  1. - vim /etc/banner #创建banner警告信息

This computer system is for authorized use only. All activity is logged and monitored. Users accessing this system without authority, or in excess of their authority, may be subject to criminal, civil, and administrative action. Continuing to use this system indicates your consent to these terms and conditions of use. 此电脑系统仅供授权用户使用。所有活动都被记录和监视。未经授权或超过其权限访问该系统的用户可能会受到刑事、民事和行政行为的影响。继续使用本系统表示您同意这些使用条款和条件。

  1. - service sshd restart #重启ssh服务
  2. <a name="GXpyO"></a>
  3. ### 使用密钥连接远程主机
  4. - yum install openssh-server # 安装openssh-server
  5. - yum install openssh-client # 安装openssh-clients
  6. > 如果只是作为远程服务被登录只需安装openssh-server即可,如果需要本机作为客户端连接其他远程主机,则需要安装open-clients
  7. - service sshd start     # 临时开启sshd服务
  8. - chkconfig sshd on      # 永久开启sshd服务,服务器重启也生效
  9. - service sshd status     # 查看sshd服务运行状态
  10. - 生成密钥对 #使用哪个用户生成,则密钥对就会生成在家目录的哪个目录下
  11. ```bash
  12. [hjx@localhost ~]$ (umask 0077; ssh-keygen) #生成ssh密钥对,并将权限设置为600
  13. Generating public/private rsa key pair.
  14. Enter file in which to save the key (/home/hjx/.ssh/id_rsa): #回车
  15. Created directory '/home/hjx/.ssh'.
  16. Enter passphrase (empty for no passphrase): #回车
  17. Enter same passphrase again: #回车
  18. Your identification has been saved in /home/hjx/.ssh/id_rsa.
  19. Your public key has been saved in /home/hjx/.ssh/id_rsa.pub.
  20. The key fingerprint is:
  21. SHA256:J5CWAEmsQ5k4dr4RS7fvGCtC//sWOOB0gltvkcZE+JA hjx@localhost.localdomain
  22. The key's randomart image is:
  23. +---[RSA 2048]----+
  24. |.o=o=. |
  25. |o=oE + o |
  26. |oo= O B |
  27. |o. O X . |
  28. | .= O + S . |
  29. | o o * o o |
  30. |. . . * . |
  31. | . o o o |
  32. | . oo+. |
  33. +----[SHA256]-----+
  34. [hjx@localhost ~]$
  • 查看密钥对,将其导出到本地或其他主机(在远程登录时需要提供id_rsa私钥文件) ```bash [root@localhost .ssh]# pwd /home/hjx/.ssh [root@localhost .ssh]# ll total 8 -rw———-. 1 hjx hjx 1679 Jul 1 02:07 id_rsa -rw———-. 1 hjx hjx 407 Jul 1 02:07 id_rsa.pub
  1. - vim /etc/ssh/sshd_config #编辑SSH配置
  2. ```bash
  3. #不允许密码验证登录
  4. PasswordAuthentication no
  5. #允许公钥验证登录
  6. PubkeyAuthentication yes
  7. #指定公钥文件路径,使用哪个用户登录,就在/home/[username]/下
  8. AuthorizedKeysFile .ssh/id_rsa.pub
  • service sshd reload #重新加载sshd配置

image.pngimage.pngimage.pngimage.pngimage.png

十一、定时任务

ubuntu:
- 添加定时任务:

  1. #方式一
  2. vim /etc/crontab=
  3. #方式二
  4. crontab -e
  • 定时任务命令格式
  1. # 使用方式一时:
  2. * * * * * username command
  3. 用户名 命令
  4. # 使用方式二时:
  5. * * * * * command
  6. 命令
  • 选择编辑器
  1. [root@wang ~]# select-editor
  2. Select an editor. To change later, run 'select-editor'.
  3. 1. /bin/ed
  4. 2. /bin/nano <---- easiest
  5. 3. /usr/bin/vim.basic
  6. 4. /usr/bin/vim.tiny
  7. Choose 1-4 [2]: 3 #选择3即可切换 crontab -e 命令使用的编辑器为vim
  • 查看运行状态
  1. pgrep cron
  2. #或
  3. service cron status
  • 启动、停止与重启cron
  1. service cron start
  2. service cron stop
  3. service cron restart
  4. #或
  5. sudo /etc/init.d/cron start
  6. sudo /etc/init.d/cron stop
  7. sudo /etc/init.d/cron restart
  1. #每1分钟同步一次时间
  2. */1 * * * * root ntpdate 0.asia.pool.ntp.org

以下为时间服务器
time.nist.gov

time.nuri.net

0.asia.pool.ntp.org

1.asia.pool.ntp.org

2.asia.pool.ntp.org

3.asia.pool.ntp.org

十二、网络相关

scp 命令 : 拷贝文件或目录到远程计算机

yum list | grep ssh yum install -y openssh-clients

  1. scp -r /opt/module/hbase-1.3.1/ root@hostname:/opt/module/

一、防火墙的开启、关闭、禁用命令
(1)设置开机启用防火墙:systemctl enable firewalld.service
(2)设置开机禁用防火墙:systemctl disable firewalld.service
(3)启动防火墙:systemctl start firewalld
(4)关闭防火墙:systemctl stop firewalld
(5)检查防火墙状态:systemctl status firewalld
二、使用firewall-cmd配置端口
(1)查看防火墙状态:firewall-cmd —state
(2)重新加载配置:firewall-cmd —reload
(3)查看开放的端口:firewall-cmd —list-ports
(4)开启防火墙端口:firewall-cmd —zone=public —add-port=9200/tcp —permanent
  命令含义:
  –zone #作用域
  –add-port=9200/tcp #添加端口,格式为:端口/通讯协议
  –permanent #永久生效,没有此参数重启后失效
  注意:添加端口后,必须用命令firewall-cmd —reload重新加载一遍才会生效
(5)关闭防火墙端口:firewall-cmd —zone=public —remove-port=9200/tcp —permanent

ubuntu系统:

(1)安装:sudo apt-get install ufw
(2)查看状态:sudo ufw status
(3)开启:sudo ufw enable
(4)关闭: sudo ufw disable
(5)重启: sudo ufw reload
(6)默认拒绝外部主机访问本机:sudo ufw default deny //拒接所有外来访问,本机能正常访问外部
(7)默认允许外部主机访问本机:sudo ufw default allow
(8)开放端口: sudo ufw allow 80
(9)开放指定协议端口: sudo ufw allow 8001/tcp
(10)关闭端口:sudo ufw delete 80
(11)关闭指定协议端口: sudo ufw delete allow 8001/tcp
(12)对指定IP开放所有端口:sudo ufw allow from 192.168.121.1
(13)关闭指定IP开放的端口:sudo ufw delete allow from 192.168.121.1
(14)对指定IP开放指定端口:sudo ufw allow from 192.168.121.2 to any port 3306
(15)关闭指定IP开放的指定端口:sudo ufw delete allow from 192.168.121.2 to any port 3306