linux命令大全(自用,所以可能不太符合大家)

第一章:linux目录结构

第一节:基本介绍

1. 文件系统根目录(/)

在 Linux 系统中,所有文件和目录都是从根目录 / 开始的。根目录是整个文件系统的起点,所有其他目录和文件都位于根目录下或其子目录中。

2. 目录结构

Linux 目录结构是层次化的,采用树状结构来组织文件和目录。每个目录可以包含子目录和文件,每个子目录又可以包含更多的子目录和文件。这样的结构便于管理和维护系统文件。

3. 磁盘挂载

在 Linux 系统中,除了根目录外,其他磁盘分区、设备和网络挂载点都被视为目录,并且它们都被挂载到某个目录下。例如,/mnt/media 目录常用于挂载外部设备(如 USB 驱动器、CD-ROM 等)。

第二节:linux具体目录结构

  1. / (根目录)

    • 根目录是文件系统的起点。所有其他目录和文件都在这个目录下。
  2. /bin

    • 存放系统启动和运行所需的基本命令(如 ls, cp, mv, cat)。这些命令在系统启动时必须可用,因此存放在 /bin
  3. /boot

    • 包含启动加载程序(如 GRUB)的文件和内核映像。这个目录用于系统引导过程。
  4. /dev

    • 包含设备文件。这些文件代表系统中的各种硬件设备(如磁盘、终端、打印机)。例如,/dev/sda1 代表第一块硬盘的第一个分区。
  5. /etc

    • 存放系统配置文件和全局配置脚本。此目录下的文件通常控制系统和应用程序的配置,如 /etc/fstab/etc/passwd
  6. /home

    • 用户主目录的默认位置。每个用户在 /home 下有一个子目录,例如 /home/user1。用户的个人文件、配置和数据通常存储在这个目录下。
  7. /lib

    • 包含系统库文件,这些文件是系统和应用程序运行时所需的共享库。通常与 /bin/sbin 中的程序一起使用。
  8. /media

    • 用于自动挂载可移动媒体(如 USB 驱动器、CD-ROM 等)。系统插入设备时,这些设备会被挂载到 /media 下的子目录中。
  9. /mnt

    • 通常用于临时挂载文件系统。系统管理员可以在这个目录下挂载不同的文件系统进行临时访问。
  10. /opt

    • 用于安装附加应用程序包。这个目录常用于存放第三方软件包和应用程序。
  11. /proc

    • 虚拟文件系统,提供系统内核和进程信息。/proc 下的文件和目录不实际存在于硬盘上,而是由内核动态生成的。
  12. /root

    • 系统管理员(root 用户)的主目录。这个目录与普通用户的主目录(/home/username)不同,通常只有 root 用户可以访问。
  13. /sbin

    • 存放系统管理命令和工具(如 fsck, ifconfig, reboot)。这些命令通常需要系统管理员权限才能运行。
  14. /srv

    • 包含由系统提供的服务的数据。这个目录用于存放网站、FTP 服务器等服务的数据。
  15. /tmp

    • 用于存放临时文件。系统和应用程序在运行时可能需要创建临时文件,这些文件通常会在系统重启时删除。
  16. /usr

    • 包含用户程序和数据。这个目录通常包含系统中安装的大多数应用程序和库文件。例如,/usr/bin 包含大多数用户命令,/usr/lib 包含库文件。
  17. /var

    • 包含变化的文件,如日志文件、邮件、缓存和其他经常变化的数据。常见目录有 /var/log(日志文件)、/var/mail(邮件)等。

第二章:linux常用命令

早知道:命令格式

在 Linux 中,命令通常有以下基本格式:

command [options] [arguments]

  • command: 要执行的命令名称。
  • [options]: 可选的参数,用于修改命令的行为。例如,-l-a 等。
  • [arguments]: 命令的操作对象,例如文件或目录的名称。

例如,ls -l /home 命令中,ls 是命令,-l 是选项,/home 是参数。

第一节:目录处理命令

  1. cd:切换目录

    1. 语法:cd 【目录】
    2. 参数:
      1. 目录:切换到对应目录
      2. ..:切换到上一级
      3. /:切换到下一级
  2. pwd:显示当前目录

    1. 语法:pwd
    2. 功能:显示当前工作目录的绝对路径
  3. ls:显示目录中的文件

    1. 语法:ls 【选项】【目录】
    2. 参数:
      1. -l: 以长格式显示文件信息,包括权限、所有者、大小和修改时间。(简化为ll)
      2. -a: 显示所有文件,包括隐藏文件(以 . 开头的文件)。
      3. -h: 以人类可读的格式显示文件大小(与 -l 一起使用)。
      4. -R: 递归显示子目录中的内容。
      5. -t: 按时间排序显示文件(最新的文件在前面)。
  4. mkdir:创建目录

    1. 语法:mkdir 【选项】目录
    2. 常用参数:
      1. -p: 创建多级目录(即使中间目录不存在)。
      2. -v: 显示每个目录创建的详细信息。
  5. rmdir:删除目录

    1. 语法:rmdir 空目录
    2. 功能:删除指定空目录,如果目录不为空,将会报错
  6. rm -r:递归删除目录及其内容

    1. 语法:rm 【选项】目录
    2. 常用参数:
      1. -r: 递归删除目录及其内容。
      2. -f: 强制删除文件或目录,不提示确认。
  7. lsblk:列出块设备

    1. 语法:lsblk 【选项】
    2. 常用参数:
      1. -f: 显示文件系统类型。
      2. -o: 自定义输出列。

第二节:文件处理命令

  1. cat:连接并查看文件内容

    1. 语法:cat 【选项】【文件】
    2. 常用参数:
      1. -n: 显示行号。
      2. -b: 显示行号,但不为空行。
      3. -E: 在行尾显示 $
  2. cp:复制文件或目录

    1. 语法:cp 【选项】源文件 目标文件
    2. 常用参数:
      1. -r: 递归复制目录及其内容。
      2. -i: 提示确认覆盖文件。
      3. -u: 仅在源文件比目标文件新时复制。
  3. mv:移动或者重命名文件和目录

    1. 语法:mv 【选项】源文件 目标文件
    2. 常用参数:
      1. -i: 提示确认覆盖文件。
      2. -u: 仅在源文件比目标文件新时移动。
  4. rm:删除文件

    1. 语法:rm 【选项】文件
    2. 常用选项:
      1. -r: 递归删除目录及其内容。
      2. -f: 强制删除文件,不提示确认。
      3. -i: 删除前提示确认。
  5. touch:创建新文件或更新文件的时间戳

    1. 语法:touch 【选项】文件
    2. 常用选项:
      1. -c: 不创建新文件,只更新文件的时间戳。
  6. find:查找文件

    1. find 【路径】【选项】【条件】
      1. 路径:就是在对应目录内查找
      2. 条件:就是查找的特点
    2. 创建参数:
      1. -name: 根据名称查找文件。
      2. -type: 根据文件类型查找(例如 f 为普通文件,d 为目录)。
      3. -size: 根据文件大小查找。(-、+数字单位表示小于或大于多少字节的文件)
  7. head:显示文件的开头部分

    1. 语法:head 【选项】【文件】
    2. 常用参数:
      1. -n: 显示前 N 行。
  8. tail:显示文件的结尾部分

    1. 语法:tail 【选项】【文件】
    2. 常用参数:
      1. -n: 显示最后 N 行。
      2. -f: 实时跟踪文件内容的变化(常用于日志文件)。
  9. chmod:修改文件权限

    1. 语法:chmod 【选项】模式 文件
      1. 模式:
        1. ugo表示对应用户,个人,组,其他,后跟+、-表示添加或删除权限
        2. all表示所有,就是ugo,后跟+、-表示添加或删除权限
        3. rwx表示文件权限,r读-4,w写-2,x执行-1。可以用数字替换
    2. 常用选项:
      1. -R: 递归更改目录及其内容的权限。

第三节:链接命令

  1. ln:创建连接

    1. 语法:ln 【选项】源文件 目标连接
    2. 常用参数:
      1. -s: 创建符号链接(软链接)。如果不指定此选项,将创建硬链接。
      2. -f: 强制创建链接,覆盖已存在的目标链接。
      3. -i: 提示确认覆盖目标链接。
  2. ls -l:查看文件连接

    1. 语法:ls -l 【目录】
    2. 功能:
      1. 显示文件的详细信息,包括文件类型、权限、所有者、文件大小和修改时间。符号链接会显示为 -> 后跟目标文件的路径。软连接才有。
  3. find:查找连接

    1. 语法:find 【路径】【选项】【条件】
    2. 常用参数:
      1. -type l: 查找符号链接(软链接)。
      2. -type f: 查找普通文件。
      3. -type d: 查找目录。
  4. 连接的区别

    1. 硬链接
      1. 硬链接是文件系统级别的链接,它直接指向文件的 inode(文件的存储结构),不同的硬链接实际上是相同文件的不同路径。
      2. 硬链接不能跨文件系统创建。
      3. 删除原文件不会影响硬链接,因为它们共享相同的 inode。
    2. 软链接(符号链接)
      1. 符号链接是一个特殊类型的文件,它包含对另一个文件或目录的路径引用。
      2. 符号链接可以跨文件系统创建。
      3. 如果原文件被删除,符号链接将成为一个无效的“悬挂链接”。

第四节:权限管理命令

  1. chmod:修改文件或目录权限

    1. 语法:chmod 【选项】模式 文件
      1. 模式:
        1. u: 文件所有者(user)。
        2. g: 文件所在组(group)。
        3. o: 其他用户(others)。
        4. a: 所有用户(all)。
        5. r: 读取权限(read)。
        6. w: 写入权限(write)。
        7. x: 执行权限(execute)。
        8. +: 添加权限。
        9. -: 移除权限。
        10. =: 赋予权限(覆盖现有权限)。
    2. 常用参数:
      1. -R: 递归更改目录及其内容的权限。
      2. --reference=文件: 使用指定文件的权限作为参考。
  2. chown:修改文件或目录拥有者

    1. 语法:chown 【选项】用户:组 文件
    2. 常用参数:
      1. -R: 递归更改目录及其内容的所有者和组。建议:root用户
  3. chgrp:修改文件或目录拥有组

    1. 语法:chgrp 【选项】组 文件
    2. 常用参数:
      1. -R: 递归更改目录及其内容的组。建议:root用户
  4. umask:设置与查看文件或目录默认权限

    1. 语法:umask 【掩码】
    2. 功能:
      1. 设置默认文件权限掩码,用于控制新创建文件和目录的默认权限。掩码是一个八进制数,指定了要从默认权限中去除的权限。不写掩码就是查看。
  5. ls -l:查看文件或目录权限

    1. 语法:ls -l 【目录】
    2. 功能:
      1. 显示文件的详细信息,包括权限、所有者、组、大小和修改时间。
      2. ls -l 命令的输出格式
        1. 比如:-rwxr-xr-- 1 owner group size date time filename
        2. 文件权限(-rwxr-xr--
          1. 第一个字符表示文件类型:
            1. -:普通文件
            2. d:目录
            3. l:符号链接
            4. 其他类型(例如,c 代表字符设备,b 代表块设备)
          2. 接下来的九个字符表示权限:
            1. 前三位(rwx):文件所有者的权限
              1. r:读权限(Read)
              2. w:写权限(Write)
              3. x:执行权限(Execute)
            2. 中间三位(r-x):文件所在组的权限
              1. r:读权限
              2. -:没有写权限
              3. x:执行权限
            3. 最后三位(r--):其他用户的权限
              1. r:读权限
              2. -:没有写权限
              3. -:没有执行权限
        3. 硬链接数(1
          1. 文件的硬链接数量。对于目录,表示该目录下的子目录数量(包括 ...)。
        4. 文件所有者(owner
          1. 文件的所有者用户名。
        5. 文件所属组(group
          1. 文件所在组的组名。
        6. 文件大小(size
          1. 文件的大小,单位为字节(bytes)。对于目录,这表示目录的大小(通常较小,因为它只存储目录项)。
        7. 修改日期(date
          1. 文件的最后修改日期,格式通常为 月 日 年
        8. 修改时间(time
          1. 文件的最后修改时间,格式通常为 小时:分钟
        9. 文件名(filename
          1. 文件的名称。对于目录,显示目录名称。对于符号链接,显示链接的目标。

第五节:文件搜索命令

  1. find:查找文件与目录

    1. 语法:find 【路径】【选项】【条件】
    2. 常用参数:
      1. -name: 按文件名搜索,支持通配符。
      2. -iname: 忽略大小写的文件名搜索。
      3. -type: 按文件类型搜索。
        • f:普通文件
        • d:目录
        • l:符号链接
      4. -size: 按文件大小搜索。
        • +100M:大于 100 MB
        • -10k:小于 10 KB
        • 500:等于 500 字节
      5. -mtime: 按文件修改时间搜索。
        • +7:修改时间超过 7 天
        • -30:修改时间在过去 30 天内
        • 0:今天
      6. -exec: 对查找到的文件执行命令。
      7. -print: 默认行为,输出找到的文件路径。
  2. locate:快速查找文件

    1. 语法:locate 【选项】模式
    2. 常用参数:
      1. -i: 忽略大小写。
      2. -r: 使用正则表达式。
      3. 注意: locate 依赖于预建的数据库,因此速度快,但可能不是最新的。可以使用 updatedb 命令更新数据库。
  3. grep:查找文件内容

    1. 语法:grep 【选项】 模式 【文件】
    2. 常用参数:
      1. -r: 递归搜索目录及其子目录。
      2. -i: 忽略大小写。
      3. -l: 仅输出包含匹配模式的文件名。
      4. -n: 显示匹配的行号。

第六节:帮助命令

  1. man:查看手册页

    1. 语法:man 【选项】【命令】
    2. 常见参数:
      1. -k: 搜索手册页中的关键字。
      2. -f: 显示命令的简要说明。
      3. -a: 显示所有匹配的手册页(通常按顺序显示)。
  2. info:查看info文档

    1. 语法:info 【选项】【命令】
    2. 常用参数:
      1. --apropos: 搜索 Info 文档中的关键字。
  3. --help:获取命令的帮助信息

    1. 语法:命令 --help
      1. 几乎所有的命令都支持 --help 选项,用于显示该命令的简要使用说明及选项说明
  4. whatis:显示命令的简要说明

    1. 语法:whatis 【命令】
  5. apropos:搜索手册页中的关键字

    1. 语法:apropos 【关键字】
  6. help:获取内置命令的帮助

    1. help 【内置命令】

第七节:用户管理命令(建议root)

  1. useradd:添加用户

    1. 语法:useradd 【选项】用户名
    2. 常用参数:
      1. -m: 创建用户主目录(/home/用户名),不写默认就有。
      2. -d: 指定用户主目录。
      3. -s: 指定用户的默认 Shell。
      4. -G: 将用户添加到指定的组中(多个组用逗号分隔)。
  2. usermod:修改用户属性

    1. 语法:usermod 【选项】用户名
    2. 常用参数:
      1. -aG: 将用户追加到指定的组中。
        1. usermod -aG groupname username
      2. -s: 修改用户的默认 Shell。
        1. usermod -s /bin/zsh username
      3. -d: 修改用户的主目录。
        1. usermod -d /new/home/dir username
  3. userdel:删除用户

    1. 语法:userdel 【选项】用户名
    2. 常用参数:
      1. -r: 删除用户的主目录及其内容。一定要用,不然不会删除目录
  4. passwd:修改密码

    1. 语法:passwd 【选项】【用户名】
    2. 常用参数:
      1. -d: 删除指定用户的密码(使其无法登录)。
        1. passwd -d username
          
      2. -l: 锁定用户账户。
        1. passwd -l username

      3. -u: 解锁用户账户。
        1. passwd -u username

    3. 不演示了,因为改了密码我怕忘了,passwd不加任何命令就是为新用户添加密码

  5. groups:显示用户所属组

    1. 语法:groups 【用户名】
    2. 不写用户名就是当前用户
  6. id:显示用户uid和gid

    1. 语法:id 【用户名】
    2. 不写用户名就是当前用户
  7. who:显示当前登录用户

    1. 语法:who
    2. 显示当前系统上所有登录用户
  8. w:显示系统上当前登录用户及其活动信息

    1. 语法:w 【选项】【用户名】
    2. 常用参数:
      1. -h: 不显示标题行。
      2. -s: 显示简洁的输出,不包括所有列。
    3. 输出字段说明
      1. USER: 当前登录的用户名。
      2. TTY: 用户登录的终端设备(如 tty1, pts/0 等)。
      3. FROM: 用户登录的源(IP 地址或主机名)。
      4. LOGIN@: 用户登录的时间。
      5. IDLE: 用户自上次活动以来的空闲时间。
      6. JCPU: 当前终端的所有进程所消耗的 CPU 时间。
      7. PCPU: 当前用户正在运行的进程所消耗的 CPU 时间。
      8. WHAT: 用户当前正在执行的命令或程序。
  9. su:用户切换

    1. 语法:su 【选项】【用户名】
    2. 常用参数:
      1. ---login: 启动一个登录 shell,模拟用户登录时的环境变量。这是最常用的选项,它会读取目标用户的登录环境设置,例如 .profile.bash_profile.bashrc 文件。
        1. su - 用户名
      2. -c: 执行指定的命令并退出。例如,使用 root 权限执行 ls 命令:
        1. su -c 'ls /root'
      3. -s: 使用指定的 shell。例如,使用 /bin/bash 作为 shell:
        1. su -s /bin/bash 用户名

第八节:用户组管理命令

  1. groupadd:添加组

    1. 语法:groupadd 【选项】 组名
    2. 常用参数:
      1. -g: 指定组 ID(GID)。
        • groupadd -g 1001 groupname
          
  2. groupmod:修改组信息

    1. 语法:groupdel 【选项】组名
    2. 常用参数:
      1. -g: 修改组 ID(GID)。
        1. groupmod -g 1002 groupname
      2. -n: 修改组名。
        1. groupmod -n newgroupname oldgroupname
  3. groupdel:删除组

    1. 语法:groupdel 组名
  4. gpasswd:管理组成员

    1. 语法:gpasswd 【选项】组名
  5. getent:获取组信息

    1. 语法:getent group 【组名】
    2. 最好是添加组名,不然一串我不知道的东西出来了
  6. id:显示uid与gid

    1. 语法:id 【用户名】

第九节:压缩与解压

  1. tar:归档与解归档

    1. 语法:tar 选项 【-zcf】 【归档后的文件】【要归档文件的目录】
    2. targzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz
    3. 常用参数:
      1. -c:打包                
      2. -v:显示详细信息                
      3. -f:指定文件名           
      4. -z:打包同时压缩,用了z就可以不用gzip了,这是告诉tar调用gzip
      5. -x:解包,这个时候加z就是解包和解压
        1. 语法:tar 选项 【-zcf】 【归档后的文件】
  2. gzip和gunzip:压缩于解压缩

    1. gzip:压缩
      1. 语法:gzip 【文件】
      2. 压缩后文件格式:.gz,不可以压缩目录、链接
    2. gunzip:解压
      1. 语法:gunzip 【文件.gz】
      2. gunzip=gzip -d用别名替换了
  3. zip与unzip:(源文件存在,复制+压缩)

    1. 语法:zip 【选项】 【压缩后的文件名】【文件或目录】
    2. 常用参数:
      1. -r:压缩目录
    3. unzip 【压缩后的文件名】
  4. xz:

    1. 不写了,够用了
  5. bzip2:

    1. 不写了,够用了

第十节:网络命令

  1. ping:测试网络连通性

    1. 语法:ping 【选项】主机名或ip地址
    2. 常用参数:
      1. -c: 指定发送的请求数量。
        1. ping -c 4 example.com
      2. -i: 设置发送请求的时间间隔(秒)。
        1. ping -i 2 example.com
  2. ifconfig:配置网络接口

    1. 语法:ifconfig 【接口】【地址】【选项】
    2. 常用参数:
      1. up::启用网络接口。
        1. ifconfig 接口名 up
      2. down:禁用网络接口。
        1. ifconfig 接口名 down
  3. ip:现代网络接口配置

    1. 语法:ip 【选项】【参数】
    2. 常用参数:
      1. addr: 显示或配置 IP 地址。
        1. ip addr show
          ip addr add 192.168.1.100/24 dev eth0
      2. link: 显示或配置网络接口状态。
        1. ip link show
          ip link set eth0 up
      3. a:显示所有内容
  4. netstat:网络统计

    1. 语法:netstat 【选项】
    2. 常见参数:
      1. -t: 显示 TCP 连接。
      2. -u: 显示 UDP 连接。
      3. -l: 显示监听的套接字。
      4. -a: 显示所有连接和监听的套接字。
  5. ss:更现代的网络统计工具

    1. 语法:ss 【选项】
    2. 常用参数:
      1. -t: 显示 TCP 连接。
      2. -u: 显示 UDP 连接。
      3. -l: 显示监听的套接字。
      4. -a: 显示所有连接和监听的套接字。
  6. traceroute:追踪网络路径

    1. 语法:traceroute 【选项】 主机名或ip地址
    2. 常用参数:
      1. -m: 设置最大跳数。
      2. traceroute -m 20 example.com
  7. curl:下载或发送数据

    1. 语法:curl 【选项】【url】
    2. 常用参数:
      1. -O: 保存到文件(O泡果奶不是零)。
        1. curl -O http://example.com/file.txt
      2. -I: 仅获取 HTTP 头信息。
        1. curl -I http://example.com

第十一节:关机重启命令

  1. shutdown:关机或重启

    1. 语法:shutdown 【选项】【时间】【消息】
    2. 常用参数:
      1. -h: 关机。
      2. -r: 重启。
      3. -P: 在关机时关闭电源(通常为默认设置)。
      4. -c: 取消计划的关机或重启。
  2. reboot:重启系统

    1. 语法:reboot [选项]
    2. 没什么常用选项单独用reboot,不演示了
  3. poweroff:

    1. 语法:poweroff [选项]
    2. 没什么常用选项单独用poweroff ,不演示了
  4. halt:

    1. 语法:halt [选项]
    2. 没什么常用选项单独用halt ,不演示了
  5. init:重启或关机

  6. 语法:reboot [选项]
    1. 语法:init 【级别】
    2. 常用参数:
      1. 0: 关机。
      2. 6: 重启。

第三章:文本编辑器vim

第一节:vim的常用操作

第四章:软件安装

第一节:软件包管理简介

第二节:rpm命令管理

第三节:yum在线管理

第五章:shell基础

第一节:shell的概述

第二节:shell脚本执行方式

第三节:bash的基本功能

第四节:bash的变量

第五节:bash运算符

第六节:环境变量

第六章:shell编程

第一节:正则表达式

  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值