• Linux命令大全(超详细版)


    Linux命令大全(超详细版)

    1.简单系统命令

    # 查看ip地址
    	ip a
    	ip addr
    # ping网络(测试网络连通)
    	ip 目标机器的ip
    # 查看系统时间
    	date
    # 注销
    	logout
    # 关机
    	shutdown now
    # 重启
    	reboot
    # 清屏
    	clear
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2.Linux文件系统

    • 核心

    1.Linux一切皆文件

    2.只有一个顶级目录,不像windows分C盘、D盘、E盘

    • 目录结构

    在这里插入图片描述

    • 文件含义

    Linux

    含义

    windows

    /bin

    所有用户可用的基本命令存放的位置

    windows没有固定的命令存放目录

    /sbin

    需要管理员权限才能使用的命令

    /boot

    linux系统启动的时候需要加载和使用的文件

    /dev

    外设连接linux后,对应的文件存放的位置

    类似Windows中的U盘,光盘的符号文件。

    /etc

    存放系统或者安装的程序的配置文件,注册服务等

    类似windows中的注册表,

    /home

    家目录,linux中每新建一个用户,会自动在home中为该用户分配一个文件夹

    类似windows中的"我的文档",每个用户有自己的目录。

    /root

    root账户的家目录,仅供root账户使用

    类似windows中的Administrator账户的"我的文档"

    /lib

    linux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar

    /usr

    很多系统软件的默认安装路径

    类似windows中的C盘下的Program Files目录。

    /var

    系统和程序运行产生的日志文件和缓存文件放在这里

    3. 文件管理命令

    注意事项:命令区分大小写

    # 1. 查看文件列表
    	ls [-参数1参数2] [目标文件夹]
    
    
    # 查看当前目录下的文件列表
    	ls
    # 查看指定目录下的文件
    	ls /
    # 查看详细信息,元数据信息(用户、组、大小、创建时间、权限信息、文件类型)
    	ls -l
    # 查看隐藏文件
    	ls -a 
    # 参数并用
    	ls -la
    
    
    # 2. 切换目录
    	cd 目标文件夹
    
    
    # 绝对路径切换
    	cd 绝对路径
    # 绝对路径切换
    	cd 相对路径
    # 例子:切换到/etc/sysconfig/networks-scripts 目录下
    
    
    # 3. 查看当前命令所在的目录
    
    
    [root@centos7 network-scripts]# pwd
    /etc/sysconfig/network-scripts
    # 特殊目录符号
    	~ 当前用户的home目录
    	. 当前目录
    	.. 上一级目录
    
    
    # 4. 新建文件夹及文件
    
    
    # 在当前位置新建文件夹
    	mkdir 文件夹名
    # 在指定目录位置,创建文件夹,并创建父文件夹
    	mkdir -p /a/b/文件夹名
    # 在当前目录下新建文件
    	touch 文件名
    
    
    # 5. 删除文件
    
    
    # 删除文件
    	rm 文件
    # 删除文件夹
    	rm -r 文件夹
    # 强制删除不询问
    	rm -rf 文件
    
    
    # 6. 拷贝文件
    
    
    # 拷贝文件
    	cp 原文件  新文件
    # 拷贝文件夹
    	cp -r 源文件夹 新文件夹
    
    
    # 7. 移动文件或修改文件名
    
    
    # 移动源文件到目标文件夹中
    	mv 文件  文件夹
    # 修改文件A的名字为文件B
    	mv 文件A 文件B
    
    
    # 8. 获取文件的md5指纹(数字签名)
    
    
    md5sum 文件名
    # 简介
    1. 数字签名,又称数字指纹
    2. 可以验证文件是否被修改
    3. 一个文件通过计算得到的一串字符串,文件内容的唯一标记(文件内容不变,指纹不会变)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86

    4. 文本内容查看命令

    # cat命令
    
    
    # 查看文件中的全部信息(适合查看小文档)
    	cat 文件名
    
    
    # less命令
    
    
    # 以分页的方式浏览文件信息(适合查看大文档),进入浏览模式
    	less 文件名
    # 浏览模式快捷键
    	↑ #上一行
        ↓ #下一行
        G #最后一页
        g #第一页
        空格 #下一页
        /关键词 #搜索关键词
    # 退出浏览模式,回到Linux命令行模式
        q #退出
    
    
    # tail 命令
    
    
    # 实时滚动显示文件的最后10行信息(默认10行)
    tail -f 文件名
    # 显示文件的最后20行信息
    tail -n 20 文件名
    tail -n -20 文件名
    # 显示文件信息从第20行至文件末尾
    tail -n +20 文件名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    5. 文件查找

    1. 文件名查找

      # 语法
      	find 搜索路径 -name "文件名关键词"
      # 例子
      	find / -name "passwd"
      	find / -name "ifcfg-*"
      
      • 1
      • 2
      • 3
      • 4
      • 5
    2. 文件内容查找

      # 语法
      	grep -参数 要查找的目录范围
      	# 参数
      	-n 显示查找结果所在行号
      	-R 递归查找目录下的所有文件
      # 例子
      	grep aries /etc
      	grep aries /etc/passwd
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8

    6. 文件链接

    1. Linux文件管理
    • 模型图

    在这里插入图片描述

    • 说明

      # 文件名
      	该文件的名字
      # inode
      	该文件的元数据
      # datablock
      	该文件真正保存的数据
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      注意:

      1、inode中保存的是文件的元数据

      2、ls命令查看的都是linux的元数据信息

      3、数据块中才是文件的真正数据

    1. 硬链接

    在这里插入图片描述

    • 命令

      ln 源文件 硬链接文件
      
      • 1
    1. 软连接

    在这里插入图片描述

    • 命令

      ln -s 目标文件或文件夹 软连接名字
      
      • 1

    7. 系统管理

    # 静态查看系统进程
    	ps -aux
    
    
    # 实时查看系统进程
    	top
    	# 快捷键
    		↑ 下翻
    		↓ 上翻
    		q 退出
    
    
    # 关闭进程
    	kill 进程id 
    # 强制关闭进程(谨慎使用)
    	kill -9 进程id
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    8. 输出

    # 覆盖输出
    
    
    # 将命令1的执行结果,输出到后面的文件中。
    `覆盖写入`
    	命令1 > 文件
    # 例子
    	date > date.log
    
    
    # 追加输出
    
    
    # 将命令1的执行结果,输出到后面的文件中。
    `追加写入`
    	命令1 >> 文件
    # 例子
    	date >> date.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    9. 管道

    # 管道
    
    
    # 语法,将命令1的输出结果,作为命令2的输入
    命令1 | 命令2
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    # 例子
    查找aries用户:cat /etc/passwd | grep -n “baizhi”
    查找aries组:cat /etc/group | grep -n “baizhi”
    查找sshd进程:ps -aux | grep sshd
    
    • 1
    • 2
    • 3
    • 4

    9. 文件编辑

    配置MobaXterm的默认文本编辑器

    免去vim命令的麻烦

    系统权限

    用户组

    在这里插入图片描述

    • 相关命令

      1. 创建组
        `groupadd 组名`
      2. 删除组
        `groupdel 组名`
      3. 查找系统中的组
        `cat /etc/group | grep -n “组名”`
        说明:系统每个组信息都会被存放在/etc/group的文件中
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

    用户

    • 相关命令

      1. 创建用户
        `useradd -g 组名 用户名`
      2. 设置密码
        `passwd 用户名`
      3. 查找系统账户
        说明:系统每个用户信息保存在`/etc/passwd`文件中
      4. 切换用户
        `su 用户名`
      5. 删除用户
        `userdel -r 用户名`
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10

    权限

    • 问题

      linux系统未来可能有程序员、用户、数据库管理员、项目经理等各种角色各种级别人使用,甚至还有身份不明的人链接到linux,控制不好权限容易导致系统崩溃、数据丢失等问题。

    • 权限含义

      权限字母

      含义

      对文件

      代表命令

      对文件夹

      代表命令

      R

      查看文件内容和复制文件

      more cat less cp head tail

      查看文件夹下的文件

      ls

      W(w)

      编辑文件

      vi

      在文件夹内创建和删除文件

      rm touch

      X(x)

      执行

      执行该文件(执行必须具备r权限)

      -

      切换到文件夹

      cd

    • 权限访问控制列表(ACL access controll list)

    在这里插入图片描述

    • 命令

      # 查看权限
      
      
      ls -la 文件
      ll 文件
      
      
      # 设置文件所有者
      
      
      语法:chown [-R] user名:group名 文件名
      参数:-R 如果是文件夹,需要使用这个参数,可以将文件夹及其内部所有文件的所有者和组全部修改
      注意:命令权限需要root
      ## 修改文件所有者
      	chown 用户名 文件名
      ## 修改文件所属组
      	chown :组名 文件名
      ## 修改文件所有者和所属组
      	chown 用户名:组名 文件名
      ## 修改文件夹的所有者和所属组
      	chown [-R] 用户名:组名 文件夹
      
      
      # 权限设置1
      
      
      语法:chmod u±rwx,g±rwx,o±rwx 文件名
      运算符:
      	- 删除权限
      	+ 添加权限
      	= 赋值权限
      ## 给文件的所有者添加执行权限
      chmod u+x 文件名
      ## 给文件的其他人删除所有权限
      chmod o-rwx 文件名
      ## 给文件的所属组设置读写权限
      chmod g=wx 文件名
      
      
      # 权限设置2
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
      • 38
      • 39
      • 40

    在这里插入图片描述

    # 文件的每个归属方的权限的值使用rwx之和计算出来的。
    # 语法
    	`chmod [-R] nnn 文件` 
    	-R 递归设置文件夹内所有文件
    # 设置文件的权限为(所有者可读可写可执行,所属组可读可写,其他人可读)
    	chmod 764 文件名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    系统软件管理

    压缩解压缩

    压缩语法:tar -zcvf 压缩后文件名 被压缩文件

    解压缩语法 tar -zxvf 压缩文件名 -C 解压后文件所在目录

    参数1:

    参数

    描述

    -z

    操作tar.gz文件需要使用

    -x

    解压缩

    -c

    压缩

    -v

    显示压缩或者解压缩的执行过程信息

    -f

    要处理的文件file,必须放在最后

    参数2:-C 指定解压后的文件存放的位置

    rpm软件

    简介:类似于windows中的.exe程序

    1. 安装rpm软件
      语法:`rpm -ivh xxx.rpm`
    2. 查看系统中是否已安装的过该rpm软件
      语法:`rpm -qa 软件名`
    3. 卸载rpm软件
      语法:`rpm -e 软件名`
    4. 例子:安装tree工具
      作用:查看某个目录下的文件信息
      # 以树状结构查看2层文件信息
      tree -L 2 要查看的路径
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    yum

    yum基于rpm实现的,提供了除了rpm的安装软件、卸载软件等功能以外还有,自动查找、下载软件并自动处理软件的彼此之间的依赖关系,下载并安装依赖包。

    ## 列出所有可以安装的软件包
    	yum list
    ## 安装软件
    	yum install -y 软件名
    ## 卸载软件
    	yum remove 软件名
    ## 查找软件包
    	yum search all 软件名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Linux服务

    # 例如:sshd network firewalld 等
    
    
    # 服务器管理命令
    	systemctl status 服务名
    # 启动服务
    	systemctl start 服务名
    # 重启服务
    	systemctl restart 服务名
    # 停止服务
    	systemctl stop 服务名
    # 禁止服务随linux启动。
    	systemctl disable 服务名
    # 设置服务随linux启动。
    	systemctl enable 服务名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    ip设置

    服务名:network

    [root@centos7 dirnew]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
    ----------------网卡对应的文件内容---------------------
        TYPE="Ethernet"
        PROXY_METHOD="none"
        BROWSER_ONLY="no"
        BOOTPROTO="none"
        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="0bd5d8a5-fe1b-42de-82bd-bfa7d2984b95"
        DEVICE="ens33"
        ONBOOT="yes"
        IPADDR="192.168.199.8" # 修改这里的ip地址即可
        PREFIX="24"
        GATEWAY="192.168.199.2"
        DNS1="192.168.199.2"
        DNS2="8.8.8.8"
        IPV6_PRIVACY="no"
    [root@centos7 dirnew]# systemctl restart network #重启网卡服务
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    防火墙

    服务名:firewalld

    # 开启防火墙
    systemctl start 服务名
    # 关闭防火墙(服务器重启后还会自动开启防火墙)
    systemctl stop firewalld
    # 禁止防火墙开机启动
    systemctl disable firewalld
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    主机名

    # 查看主机名
    hostname
    # 设置主机名
    hostnamectl set-hostname 主机名
    
    • 1
    • 2
    • 3
    • 4

    ip映射

    • 域名解析

    • 本地hosts编辑

      [root@centos7 ~]# vim /etc/hosts
      --------------下面是文件------------------
      	192.168.199.8 centos7
      
      • 1
      • 2
      • 3

    SSH

    # 远程登录linux
    ssh 远程linux的ip或者映射域名
    
    • 1
    • 2

    免密登录

    # 简介
    ssh登录远程linux,免去输入密码的麻烦
    
    
    # 生成公钥和私钥
    [root@centos7 ~]# ssh-keygen
    ------------执行结果-----------
        [root@centos7 ~]# tree .ssh
        .ssh
        ├── id_rsa # 私钥
        ├── id_rsa.pub # 公钥
        └── known_hosts
    # 发送公钥
    	`保存公钥的文件为/root/.ssh/authorized_keys`
    [root@centos7 .ssh]# cat id_rsa.pub > authorized_keys
    # 发送公钥
    [root@centos7 .ssh]# ssh-copy-id 目标主机的ip
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    远程拷贝

    scp 本地的文件 root@远程linuxip:/远程linux的文件路径
    scp -r 本地的目录 root@远程linuxip:/远程linux的文件路径
    
    • 1
    • 2

    必要软件安装

    1. vim(vi编辑器增强版)

      vim 文件
      
      • 1
    2. wget(下载器)

      wget url
      
      • 1
    3. tree(目录树状显示)

      # 以tree结构,递归显示当前文件下所有文件
      	tree
      # 显示目标文件夹下的文件
      	tree 目标目录
      
      • 1
      • 2
      • 3
      • 4
    4. psmisc(高级进程管理工具)

      # 以tree形式显示系统目前进程
      	pstree
      # 杀死进程
      	killall 进程名
      # 显示该文件被哪个进程使用
      	fuser /目标文件
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    5. jdk安装

  • 相关阅读:
    杭电多校七 1003-Counting Stickmen(组合数学)
    Web&Http&Servlet&Request&Response(完整知识点汇总)
    MATLAB基础应用精讲-【基础知识篇】条件和循环控制语句
    能否绝地反击
    Android APP 隐藏系统软键盘的方法
    二进制代码反汇编逆向工具:IDA Pro(Win&Mac)v7.7 汉化版
    Redis并发问题(雪崩、击穿、穿透)
    Linux 进程概念
    AI初识--LLM、ollama、llama都是些个啥?
    ADSO主数据检查,到底检查什么--master data check
  • 原文地址:https://blog.csdn.net/bsegebr/article/details/126595955