当前位置: 首页 > news >正文

Linux命令进阶

Linux的用户和用户组相关

  • 用户相关

    # 创建用户, 如果不指定用户组, 则默认会创建1个和该用户名一样的组.
    useradd [-g 组名] 用户名
    ​
    # 设置用户组的密码
    passwd 用户名
    ​
    # 查看所有的用户
    getent passwd
    ​
    # 查看某个用户的具体信息
    id 用户名
    ​
    # 给用户添加新组
    usermod -aG 用户组名 用户名
    ​
    # 删除用户
    userdel [-r] 用户名    # 加上-r会连同 /home目录的账号目录一并删除

  • 用户组相关

    # 查看所有的用户组
    getent group
    ​
    # 添加用户组
    groupadd 组名
    ​
    # 删除用户组, 如果当前的组是某个账号的主组, 则: 该组无法被删除.
    groupdel 组名

  • 案例图解(参考)

Linux权限介绍

Linux_修改用户权限

  • 图解

  • 具体的Linux命令-修改用户权限

    # 修改用户权限的命令.
    ​
    # 方式1: 传统写法
    chmod [-R] u=用户权限,g=用户组权限,o=其它用户权限 文件或者文件夹路径.
    # 例如:
    chmod u=rx,g=w,o=x 1.txt
    chmod -R +x aa
    ​
    # 方式2: 引入数字权限, r:4, w:2, x:1  -:0
    chmod -R 777 1.txt
    chmod -R 567 1.txt

  • 具体的Linux命令-修改用户和用户组

    # 格式
    chown [-R] [用户][:][用户组] 文件或者文件夹路径
    ​
    # 例子
    chown zhangsan 1.txt        # 改变 用户
    chown :zhangsan 1.txt        # 改变 用户组

Linux_常用快捷键

ctrl + c 强制停止

ctrl + d 退出, 登出

history 查看历史命令

!命令前缀 自动匹配上一个命令

ctrl + r 搜索历史命令

ctrl + a | e 光标移动到命令开始或结束

ctrl+ ← | → 左右跳单词

ctrl + l 清屏, 这里是字母L, 也可以写: clear命令

Linux安装软件介绍

  • 方式1: 手动下载安装包, 并手动安装.

    例如: MySQL数据库软件.

  • 方式2: rpm包管理器(RedHat Packet Management, 小红帽的包管理器)

    会帮助我们自动下载包, 但是不会帮我们解决依赖.

  • 方式3: yum方式, 可以理解为Linux的应用商店

    会帮助我们自动下载包, 会帮我们解决依赖.

    格式:

    yum [-y] install | search | remove 命令名

Linux的服务控制命令

# 命令格式
systemctl start | stop | restart | status | enable | disable 服务名
​
# 如果你的虚拟机的IP突然变成了127.0.0.1这种情况, 解决方案如下:
[root@mynode1 ~]# systemctl stop NetworkManager         # 关闭主网络服务
[root@mynode1 ~]# systemctl disable NetworkManager      # 禁用主网络服务开机自启动
[root@mynode1 ~]# systemctl restart network             # 重启副网络服务
[root@mynode1 ~]# ifconfig                             # 重新查看IP

Linux的软连接和硬链接介绍

  • 软连接

    # 格式
    ln -s 要被连接的文件或者目录路径 软连接名
    ​
    # 软连接 类似于 Mac, Windows系统的 快捷方式.
    # 例如
    ln -s /etc/sysconfig/network-scripts/ifcfg-ens33 ip
    ​
    # 效果如下
    [root@mynode1 ~]# ll
    总用量 36
    -rw-r--r--. 1 root root 35893 1月  13 2022 eca78af053f1b46c.jpg
    drwxr-xr-x. 4 root root    36 12月 14 01:29 export
    lrwxrwxrwx. 1 root root    42 12月 14 12:01 ip -> /etc/sysconfig/network-scripts/ifcfg-ens33

  • 扩展_如何修改IP.

    1. 打开ip所在的文件, 按下字母i, 进入编辑模式修改, 然后保存退出即可.

      TYPE="Ethernet"
      PROXY_METHOD="none"
      BROWSER_ONLY="no"
      BOOTPROTO="none"                # ip分配方式, none, static, dhcp
      DEFROUTE="yes"
      IPV4_FAILURE_FATAL="no"
      IPV6INIT="yes"
      IPV6_AUTOCONF="yes"
      IPV6_DEFROUTE="yes"
      IPV6_FAILURE_FATAL="no"
      IPV6_ADDR_GEN_MODE="stable-privacy"
      NAME="ens33"
      UUID="df73d9da-f16b-4a80-beac-e4e5602703f7"
      DEVICE="ens33"
      ONBOOT="yes"
      IPV6_PRIVACY="no"
      ​
      IPADDR="192.168.88.77"          # ip地址
      PREFIX="24"                    # 子网掩码, 或者写为 NETMASK="255.255.255.0"
      GATEWAY="192.168.88.1"          # 网关, 要和: Vmware软件的虚拟网络编辑器 和 本地VMNet8网卡保持一致.
      DNS1="8.8.8.8"                 # DNS服务器1
      DOMAIN="114.114.114.114"        # DNS服务器2
    2. 重启副网络服务, 查看IP即可.

      [root@mynode1 ~]# systemctl restart network             # 重启副网络服务
      [root@mynode1 ~]# ifconfig                             # 重新查看IP

  • 扩展_硬链接

    # 格式
    ln 要被链接的文件路径 硬链接名
    ​
    # 作用: 动态备份.
    ln 1.txt 3.txt      # 则: 无论是修改1.txt 还是 3.txt的内容, 另一个也会同步改变.
    ​
    # 回顾: 修改文件名
    mv 3.txt 1.txt

Linux网络相关

  • 查看本机IP地址

    ifconfig

  • 查看本机的主机名

    hostname

  • 修改本机的主机名

    hostnamectl set-hostname 修改后的主机名

  • 配置域名解析

    #目的: 将来可以直接写域名, 就不用再写IP地址了.

    #step1: 配置Linux虚拟机的域名映射.

    vim /etc/hosts

    #step2: 添加内容如下.

    你的虚拟机的ip 映射的主机名

    #例如: 192.168.88.100 mynode1 mynode1.itcast.cn

    #step3: 修改windows系统的域名映射.

    #step4: 去Finalshell中, 把之前写的IP, 换成配置好的域名, 测试即可.

Linux网络相关

# 测试网络连接
ping [-c 次数] 域名或者ip
​
ping -c 3 www.baidu.com
​
# wget命令, 可以根据url地址, 联网下载资源.
wget url地址
​
wget https://img11.360buyimg.com/n7/jfs/t1/76757/8/26517/109318/66b079a4Ffee857eb/80e24b4fb8569f54.jpg
​
​
# curl命令, Linux向url地址发起请求, 获取响应信息, 模拟爬虫.
curl url地址
​
curl https://www.itcast.cn/
curl https://www.itcast.cn/ >> itcast.txt

查看Linux的端口号

# 端口号 = 程序在设备上的唯一标识. 
​
端口号的范围: 0 ~ 65535
​
# Linux中, 查看端口号.
netstat -anp        # all network port
​
netstat -anp | grep 3306    # 结合管道符 和 过滤命令一起用.
netstat -anp | grep ssh

Linux的进程相关

# 查看本机所有的进程
ps -ef 
​
# 过滤出指定的进程
ps -ef | grep 进程名 或者 进程id
​
# 强制杀死(关闭)进程.
kill -9 pid值        # 进程id(pid)

Linux环境变量相关

  • 环境变量介绍

    # 类似于windows的Path环境变量, Linux中, 也是有环境变量概念的.
    ​
    配置path环境变量的目的是: 让用户在任何的地方 都可以使用 配置好的内容. 
    ​
    # 如下是Linux命令.
    [root@mynode1 ~]# env           # 查看Linux系统的环境配置
    [root@mynode1 ~]# echo $PATH     # 输出path环境变量的值.
    ​
    [root@mynode1 ~]# vim /etc/profile      # 修饰PATH环境变量的值.

  • 变量的介绍

    # 和Python一样, Linux也是支持 变量的. 
    ​
    # 定义变量
    [root@mynode1 ~]# name=zhangsan
    [root@mynode1 ~]# age=23
    ​
    # 打印变量值
    [root@mynode1 ~]# echo $name
    [root@mynode1 ~]# echo ${name}
    ​
    [root@mynode1 ~]# echo ${name}is a good man!
    [root@mynode1 ~]# echo 姓名: ${name}, 年龄: ${age}

Linux中文件上传和下载

  • 方式1: rz 和 sz命令

    #安装lrzsz包

    yum -y install lrzsz

    rz 上传

    sz 下载

  • 方式2: 直接拖拽即可.

    FinalShell支持拖拽的方式直接上传,

    然后选在要下载的文件, 右键, 选择下载即可.

Linux的压缩和解压缩

  • 方式1: tarball 归档方式

    # 压缩
    tar -zcvf 压缩包名.tar.gz 要被压缩的文件
    ​
    tar -zcvf my.tar.gz *.txt
    ​
    # 解压缩
    tar -zxvf 压缩包名.tar.gz -C 要解压到的路径
    ​
    tar -zxvf my.tar.gz -C aa/

  • 方式2: zip 和 unzip

    # 压缩
    zip -r 压缩包名.zip 文件 目录的路径
    ​
    # 解压
    unzip 压缩包名.zip -d 解压到的目录

扩展_Shell编程

# step1: 查看Linux默认用的Shell解析器
echo $SHELL

# step2: 编辑1个Shell脚本(例如: 1.sh), 对后缀名无要求, 但一般是: .sh
# 定义变量
name='张三'
age=23

# 输出变量值.
echo 姓名:${name}, 年龄:${age}

# step3: 执行shell脚本.
# 方式1: 对文件 无 执行权限要求.
sh 1.sh

# 方式2: 对文件 无 执行权限要求.
source 1.sh

# 方式3 和 方式4 分别是 绝对路径和相对路径写法, 要求对文件有: 执行权限.
chmod 777 1.sh
/root/1.sh
./1.sh

相关文章:

  • Scikit-learn 学习思维导图
  • Linux中如果一个可执行程序位于系统的环境变量目录中(比如/bin、/usr/sbin/、/sbin),想找到它的位置可以用which命令来找到
  • AI 浪潮下,职场的变与不变
  • 【Python 的发展历史】
  • YOLO+OpenCV强强联手:高精度跌倒检测技术实战解析
  • SQLark中如何进行数据筛选与排序
  • VS工具:dumpbin的查看Lib,dll等,Dependencies查看dll、exe的依赖。
  • 计算机网络——总结
  • YOLOv8模型修改与CA注意力机制详解
  • 基于springboot+vue的调查问卷平台
  • Java Stream API 全面指南(完整版)
  • Debian 系统命令集合 |Debian 和 CentOS常见命令的异同
  • uni-app集成保利威直播、点播SDK经验FQ(二)|小程序直播/APP直播开发适用
  • Linux 安装apache服务
  • Java面试易忽略知识点
  • 每天记录一道Java面试题---day34
  • Cesium三维地图和leaflet二维地图卷帘分屏联动
  • python的部分有趣语法
  • 13-动态规划-最长公共子序列
  • 头文件与源文件声明类型的区别
  • 媒体:黑话烂梗包围小学生,“有话好好说”很难吗?
  • 白云山一季度营收净利双降,此前称今年将挖掘盘活自身资源
  • 深入贯彻中央八项规定精神学习教育中央指导组培训会议召开
  • 成都世运会倒计时100天,中国代表团运动员规模将创新高
  • 卡尼领导的加拿大自由党在联邦众议院选举中获胜
  • 牛市早报|国家发改委:将推出做好稳就业稳经济推动高质量发展若干举措