Linux常用操作补充

avatar
作者
筋斗云
阅读量:0

文章目录

yum

  • 基本使用

    • 安装:yum install 包名

      yum install telnet 
    • 卸载:需要借助rpm进行卸载

  • 换源

    参考https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b115Ci1Y6

    • 备份原有的源配置文件

      mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 
    • 从阿里官方网站下载对应系统版本的源配置文件

      wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 
    • 由于我们是非ECS用户,所以源配置文件中包含aliyuncs.com地址访问不了

    • 故对其进行移除

      sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo 
    • 重新构建本地缓存

          yum makecache 

systemctl

管理系统以及用户的服务

NetworkManager

network

防火墙:firewalld

系统服务都在:/usr/lib/systemd/system该目录中,都是以xxx.service形式存在

  • 启动:systemctl start firewalld
  • 停止:systemctl stop firewalld
  • 重启:systemctl restart firewalld
  • 查看状态:systemctl status firewalld
  • 开机自启:systemctl enable firewalld
  • 取消开机自启:systemctl disable firewalld

修改主机名

便于区分不同的虚拟机(主机)

修改完之后需要重新连接即可生效,不需要重启系统

hostnamectl set-hostname zs  # 修改文件的方式   需要重启 vim /etc/hostname # 将原内容删除后 修改为自己的主机名 master 

修改hosts

配置IP地址和名称的映射关系

后续如果要使用IP地址的时候,则可以直接使用名称代替

vim /etc/hosts # 增加内容 192.168.xxx.100 master 192.168.xxx.101 node1 
  • 同样在Windows中也能修改hosts

    进入C:\Windows\System32\drivers\etc目录 

修改环境变量

环境变量:本质上是很多路径

当系统执行命令时,会去环境变量中的路径里查找有无该命令,有即执行,没有就会提示命令找不到

配置环境变量就是告诉系统去哪些位置找我们需要的命令

vim /etc/profile  # 一般配置在文件的尾部 先配置一个XXX_HOME,然后再将其HOME下的bin目录配置在环境变量PATH中 MY_SCRIPTS_HOME=/root/scripts export PATH=$MY_SCRIPTS_HOME/bin:$PATH  # 配置完之后记得source 才能生效 source /etc/profile 
  • 安装JDK环境

    • 上传到虚拟机

      # 如果不能直接拖进去 yum install lrzsz 
    • 解压

      mkdir /usr/local/soft tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/soft 
    • 修改环境变量

      vim /etc/profile  # 在文件尾部加入以下内容 JAVA_HOME=/usr/local/soft/jdk1.8.0_171 [HADOOP_HOME=location] export PATH=$JAVA_HOME/bin:[$HADOOP/bin:$HADOOP/sbin:]$PATH  # 保存退出之后 记得source source /etc/profile 
    • 修改配置文件(省略)

    • 进行初始化工作(省略)

    • 测试

      # 查看当前系统中运行了哪些JAVA进程 jps  # 查看JAVA的版本号  java -version  # 输出 java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode) 

nohup

后台运行

nohup sh demo13.sh > a.log 2>&1 nohup command > file 2>&1 

crontab

定时调度

# 进入文件写定时任务 crontab -e # 以列表的形式展现定时任务 crontab -l   0 2 * */2 *  *    *    *    *    *   sh demo13.sh(command) -    -    -    -    - |    |    |    |    | |    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0) |    |    |    +---------- 月份 (1 - 12)  |    |    +--------------- 一个月中的第几天 (1 - 31) |    +-------------------- 小时 (0 - 23) +------------------------- 分钟 (0 - 59)  23 23 23 11 *  -> 11月23日23时23分执行这个定时任务 */5 */12 * * * -> 每隔十二小时的每五分钟执行一次 */30 6-12/3 * * * -> 6-12点每隔三个小时的三十分钟执行一次 0 1 * * 3  -> 每周三1点的定时任务 

ssh

  • 安装 SSH
    • 在大多数 Linux 发行版中,SSH 客户端和服务器(sshd)都已经预装了。如果没有,你可以通过包管理器安装它们。例如,在基于 Debian 的系统(如 Ubuntu)上,你可以使用以下命令安装 SSH 客户端和服务器:
      bash sudo apt update sudo apt install openssh-client openssh-server
    • 启动 SSH 服务
      • 在安装 SSH 服务器后,你需要确保它正在运行。你可以使用 systemctl 命令(对于使用 systemd 的系统)来启动、停止和检查 SSH 服务的状态:
          sudo systemctl start sshd     sudo systemctl enable sshd  # 设置为开机启动     sudo systemctl status sshd 
  • 远程登录
    • 使用 SSH 客户端,你可以通过命令 ssh 加上远程服务器的用户名和 IP 地址或主机名来远程登录。例如,如果你想要以用户名为 user 的身份登录到 IP 地址为 192.168.1.100 的服务器,你可以运行:
      ssh user@192.168.1.100 
    • 如果是第一次连接到该服务器,SSH 可能会询问你是否信任该服务器的公钥,并让你确认是否继续连接。
  • SSH 密钥认证
    • 为了提高安全性,建议使用 SSH 密钥对而不是密码进行认证。你可以使用 ssh-keygen 命令生成密钥对,并将公钥添加到远程服务器的 ~/.ssh/authorized_keys 文件中。
  • SSH 配置文件
    • SSH 的行为可以通过编辑 ~/.ssh/config 文件来定制。这个文件允许你定义别名、端口、密钥文件位置等选项,以简化 SSH 命令。
    • 注意事项
      • 确保 SSH 服务器的端口(默认是 22)没有被防火墙或网络策略阻止。
      • 始终使用最新的 SSH 版本,以利用最新的安全修复和特性。
      • 考虑使用更安全的认证方法,如基于密钥的认证。
      • 使用 SSH 时,请确保遵循最佳安全实践,如定期更新密码和密钥、限制登录尝试次数等。
  • 免密登录
    • 在同时拥有多台虚拟机时可以设置,可以方便操作(有需要的可以询问广大IT网友~~)

时区配置

  • 查看当前时区:timedatectl

  • 查看所有时区:

    cd /usr/share/zoneinfo/ ls 
  • 修改时区

    timedatectl set-timezone Asia/Shanghai 
  • 同步时间

    # 基于阿里云NTP服务器同步时间 ntpdate ntp.aliyun.com # 将时间写入硬件,避免重启失效 clock -w 

sed

sed 可依照脚本的指令来处理、编辑文本文件。

Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

  • 语法
sed [-hnV][-e<script>][-f<script文件>][文本文件] 
  • 参数说明
参数作用
-e</script/>或–expression=</script/>以选项中指定的script来处理输入的文本文件。
-f</script文件/>或–file=</script文件/>以选项中指定的script文件来处理输入的文本文件。
-h或–help显示帮助。
-n或–quiet或–silent仅显示script处理后的结果。
-V或–version显示版本信息。
-i直接在原文本上进行修改
  • 动作说明
    • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
    • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
    • d :删除,因为是删除啊,所以 d 后面通常不接任何东东;
    • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
    • p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
    • s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正则表达式!例如 1,20s/old/new/g 就是啦!

awk

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。

  • 语法
awk [选项参数] 'script' var=value file(s)awk [选项参数] -f scriptfile var=value file(s) 
  • 参数说明

    • -F fs or --field-separator fs
      指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。

    • -v var=value or --asign var=value
      赋值一个用户定义变量。

    • -f scripfile or --file scriptfile
      从脚本文件中读取awk命令。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!