Linux命令学习笔记

本文详细介绍了Linux系统中的各种命令,包括目录管理、文件操作、用户和组管理、权限控制、压缩解压、磁盘管理、网络管理和系统管理等多个方面。从基础的ls、cd、mkdir到复杂的文件权限修改chmod、用户切换su、压缩工具tar、gzip等,全面覆盖了日常Linux使用中必备的命令知识。同时,文章还涉及到网络连接、文件传输、系统监控等实用技巧,适合Linux初学者和进阶者参考学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux命令学习笔记

1 前言

1.1 系统版本

  • 系统说明:本文使用的Linux系统是CentOS 7。

1.2 终端切换

  • 切换说明:用户即可以使用图形化桌面模式,也可以使用CLI控制台模式,切换方式如下所示:
    切换方式 切换快捷键
    图形化桌面 --> 控制台模式 Ctrl + Alt + F1
    控制台模式 --> 图形化桌面 Ctrl + Alt + F2 ~ F6

1.3 快捷键

  • 常用快捷键:
    快捷键 功能
    Ctrl + a 定位到行首字符
    Ctrl + e 定位到行尾字符
    Ctrl + d 删除光标后边的字符
    Ctrl + h 删除光标前边的字符
    Ctrl + l 清除屏幕
    Tab 命令自动补齐
    Ctrl + p 历史命令向上滚动一条
    Ctrl + n 历史命令向下滚动一条
    方向上键 历史命令向上滚动一条
    方向下键 历史命令向下滚动一条

1.4 帮助文档

  • 相关命令:可以使用 help 命令或 man 命令来查看具体的某个命令的帮助文档。
  • 命令语法:
    # 使用 help 命令查看指定命令的帮助文档
    命令名称 --help
    
    # 使用 man 命令查看指定命令的帮助文档
    man 命令名称
    
  • 命令示例:
    # 查看yum命令的帮助文档
    yum --help
    
    # 查看yum命令的帮助文档
    man yum
    

1.5 关机重启

  • 相关命令:shutdown(关机和重启)、reboot(重启)

  • 命令参数:shutdown 命令可以带有以下参数:

    参数 说明
    -h 关机
    -r 重启
    -t 秒数 发送警告信息和发送关机信号之间的间隔时间
    -k 仅送出警告信息,但并不会真正关机
    -f 重启时不执行fsck指令,即不检查档案系统
    -F 重启时执行fsck指令,即检查档案系统
    -c 取消前一个shutdown命令
  • 命令示例:

    # 立即关机
    shutdown -h now
    
    # 立即重启
    shutdown -r now
    
    # 设定5分钟后关机,同时发出警告信息给登录的Linux用户
    shutdown +5 "System whill shutdown after 5 minutes."
    
    # 重启
    reboot
    

2 目录命令

2.1 当前目录 pwd

  • 命令语法:

    pwd
    
  • 命令功能:显示当前所在目录。

  • 命令示例:

    # 查看当前所在目录(结果如下图所示)
    pwd
    
  • 示例结果:
    在这里插入图片描述

2.2 切换目录 cd

  • 命令语法:
    cd 目录
    
  • 命令功能:切换到指定目录。
  • 命令说明:目录可以是绝对路径的目录,也可以是相对路径的目录,也可以是特殊字符所表示的路径。
  • 命令示例:
    # 绝对路径:打开/home
    cd /home
    
    # 相对路径:打开当前目录下的admin目录
    cd admin
    
    # 特殊字符:打开当前目录
    cd .
    
    # 特殊字符:打开当前目录的上一级目录
    cd ..
    
    # 特殊字符:打开宿主目录
    cd ~
    
    # 特殊字符:打开上次访问的目录(用于在最近打开的两个目录之间切换)
    cd -
    

2.3 查看目录 ls

  • 命令语法:

    ls [选项] [文件或目录]
    
  • 命令功能:显示指定目录下所包含的文件及子目录。

  • 命令说明:ls命令输出的列表是按字母排序的;如果没有指定选项,则只会输出文件和目录的名称;如果省略文件或目录,则表示的是当前目录,如果指定了文件或目录,则会过滤输出列表。

  • 选项说明:

    选项 说明
    -a 显示所有的文件及子目录,包括隐藏文件
    -d 只显示目录,不显示文件
    -l 显示长列表,包括类型、权限、硬链接数、属主、属组、大小 、修改时间、文件名或目录名等信息
    -s 在每个文件名后输出该文件的大小
    -k 以k字节的形式表示文件的大小
    -u 以文件上次被访问的时间排序
    -t 以时间排序
    -o 显示除组信息外的详细信息
    -r 对目录反向排序
    -m 横向输出文件名,并以 “,” 作为分隔符
    -S 以文件大小排序
    -R 列出所有子目录下的文件
  • 过滤输出:在指定文件或目录时,可以使用通配符来过滤。

    通配符 说明
    ? 表示一个字符
    * 表示0个或多个字符
    [] 表示一个范围
  • 命令示例:

    # 基本用法:显示当前目录下的文件或目录的名称
    ls
    
    # 基本用法:显示当前目录下的所有文件或目录的名称
    ls -a
    
    # 基本用法:只显示当前目录下的目录
    ls -d
    
    # 基本用法:显示当前目录下的文件和目录的长信息
    ls -l
    
    # 基本用法:显示当前目录下的admin目录下的文件或目录的长信息
    ls -l admin
    
    # 目录过滤:匹配任意一个字符
    ls -l scr*pt
    
    # 目录过滤:匹配任意0个或多个字符
    ls -l scr?pt
    
    # 目录过滤:只匹配a或i
    ls -l scr[ai]pt
    
    # 目录过滤:匹配a-i之间的任意一个字符
    ls -l f[a-i]ll
    
    # 目录过滤:不匹配a
    ls -l f[!a]ll
    

2.4 创建目录 mkdir

  • 命令语法:

    mkdir [选项] 目录
    
  • 命令功能:创建指定名称的目录。

  • 命令说明:如果没有指定选项,则只能创建单层目录;可以同时创建多个同级目录。

  • 选项说明:

    选项 说明
    -m 对新建目录设置存取权限,未指定时的默认权限为 rwxrwxr-x
    -p 创建多层目录:若路径中的某些目录不存在,则自动创建。
  • 命令示例:

    # 在当前目录下创建目录a
    mkdir a
    
    # 在当前目录下创建目录b和目录c
    mkdir b c
    
    # 在当前目录下创建目录d,并指定目录b的权限为rwxrwxrwx
    mkdir -m=777 d
    
    # 在当前目录下创建多层目录e/f/g
    mkdir -p e/f/g
    
    # 在当前目录下创建目录a_c、a_d、b_c、b_d
    mkdir {
         
         a,b}_{
         
         c,d}
    

2.5 删除目录 rm

  • 命令语法:

    # rmdir只能删除空目录
    rmdir 目录
    
    # rm可以删除非空目录和多层目录
    rm 选项 目录
    
  • 命令功能:删除指定目录。

  • 命令说明:rmdir命令只能删除空目录,而rm命令可以删除非空目录和多层目录,使用rm命令删除目录时必须指定选项 -r。

  • 选项说明:rm命令具有如下选项。

    选项 说明
    -r 递归删除指定目录下的子目录(删除目录时该选项必须指定)
    -f 强制删除,在删除之前不询问是否要删除
    -i 交互式删除,在删除之前询问是否要删除
  • 命令示例:

    # 删除当前目录下的空目录a
    rmdir a
    
    # 删除当前目录下的空目录a_c和a_d
    rmdir a_c a_d
    
    # 递归删除当前目录下的目录b
    rm -r b
    
    # 递归删除当前目录下的目录b_c和b_d
    rm -r b_c b_d
    
    # 递归强制删除当前目录下的目录c
    rm -rf c
    
    # 递归交互式删除当前目录下的目录d
    rm -ri d
    

2.6 复制目录 cp

  • 命令语法:

    cp 选项 源目录 目标目录
    
  • 命令功能:把源目录及其子目录中的内容全部复制到目标目录中,如果目标目录不存在,则创建目标目录。

  • 命令说明:使用cp命令复制目录时必须指定选项 -r ,源目录和目标目录都可以绝对路径和相对路径的目录。

  • 命令选项:

    选项 说明
    -r 递归复制源目录及其子目录中的内容(复制目录时该选项必须指定)
    -a 递归复制目录时保留所有的信息,包括文件链接、文件属性等
  • 命令示例:

    # 把/home/user1目录及其子目录下的内容全部复制到/home/user1目录下
    cp -r /home/user1 /home/user2
    

2.7 移动目录 mv

  • 命令语法:

    mv 选项 源目录 目标目录
    
  • 命令功能:把源目录及其子目录中的内容全部移动到目标目录中。

  • 命令说明:如果目标目录已存在,则为移动,否则为重命名。

  • 命令选项:

    选项 说明
    -f 强制移动,如果目标目录下存在与源目录同名的目录,则直接覆盖(没有指定选项时默认就是直接覆盖)
    -i 交互式移动,如果目标目录下存在与源目录同名的目录,则询问是否要覆盖
    -n 如果目标目录下存在与源目录同名的目录,则不移动也不覆盖
  • 命令示例:

    # 把/home目录下的use1目录移动到user2目录中,如果目录user2中已存在目录user1,则直接覆盖
    mv /home/user1 /home/user2
    
    # 把/home目录下的user1目录移动到user2目录中,如果目录user2中已存在目录user1,则强制覆盖
    mv -f /home/user1 /home/user2
    
    # 把/home目录下的use1目录移动到user2目录中,如果目录user2中已存在目录user1,则交互式询问是否要覆盖
    mv -i /home/user1 /home/user2
    
    # 把/home目录下的use1目录移动到user2目录中,如果目录user2中已存在目录user1,则不移动也不覆盖
    mv -n /home/user1 /home/user2
    

2.8 改名目录 mv

  • 命令语法:

    mv 源目录 新目录
    
  • 命令功能:把源目录重命名为新目录。

  • 命令说明:如果新目录不存在,则为重命名,否则为移动。

  • 命令示例:

    # 把目录/home/user1重命名为/home/user2
    mv /home/user1 /home/user2
    

2.9 链接目录 ln

  • 命令语法:

    ln [选项] 源目录 链接名
    
  • 命令功能:给源目录创建一个链接。

  • 命令说明:没有指定选项的情况下创建的是硬链接。硬链接不占用磁盘空间,通过文件的inode来进行链接,而软链接需要占用磁盘。如果源目录是绝对路径的目录,则创建的链接移动了位置之后仍能使用,如果源目录是相对路径的目录,则只能在链接创建的目录下使用,移动位置之后则不能使用。

  • 命令选项:

    选项 说明
    -s 进行软链接
    -f 如果在目标位置存在与链接名相同的文件,则删除这个文件
    -d 允许系统管理员硬链接自己的目录
    -b 对将在链接时会被覆盖或者删除的文件进行备份
  • 命令示例:

    # 创建软链接:使用的是绝对路径,ln_user1_1文件移动位置之后仍能正常使用。
    ln -s /home/user1 ln_user1_1
    
    # 创建软链接:使用的是相对路径,ln_user1_2文件移动位置之后不能正常使用。
    ln -s user1 ln_user1_2
    
    # 创建硬链接:使用的是绝对路径,ln_user1_3文件移动位置之后仍能正常使用。
    ln /home/user1 ln_user1_3
    
    # 创建硬链接:使用的是相对路径,ln_user1_4文件移动位置之后不能正常使用。
    ln user1 ln_user1_4
    

3 文件命令

3.1 创建文件 touch

  • 命令语法:

    touch [选项] [设定的时间] 文件
    
  • 命令功能:touch命令用来改变文件的访问时间和修改时间。

  • 命令说明:如果指定文件不存在则创建此文件,如果没有指定时间,则使用当前时间。

  • 命令选项:

    选项 说明
    -a 改变文件的访问时间为系统当前时间,无须设置时间选项
    -m 改变文件的修改时间为系统当前时间,无须设置时间选项
    -c 如果文件不存在,不创建也不提示
    -d 或 -t 使用指定的时间或日期
    -r<参考文件或目录> 使用指定的时间或日期
  • 命令示例:

    # 在当前目录下创建一个名为test.txt的文件
    touch test.txt
    
    # 把当前目录下的test.txt文件的访问时间改为系统当前时间
    touch -a test.txt
    
    # 把当前目录下的test.txt文件的修改时间改为系统当前时间
    touch -m test.txt
    
    # 把当前目录下的test.txt文件的访问时间改为系统当前时间,如果test.txt文件不存在,则不创建该文件
    touch -ac test.txt
    
    # 把当前目录下的test.txt文件的修改时间设置为2019年8月19日14点39分
    touch -d "20190819 14:36" test.txt
    
    # 把当前目录下的test.txt文件的访问时间修改为test2.txt文件的访问时间
    touch -a -r test.txt test2.txt
    

3.2 删除文件 rm

  • 命令语法:

    rm [选项] 文件
    
  • 命令功能:删除指定文件。

  • 命令说明:

  • 选项说明:

    选项 说明
    -f 强制删除,在删除之前不询问是否要删除(没有指定选项时默认就是直接删除)
    -i 交互式删除,在删除之前询问是否要删除
  • 命令示例:

    # 删除当前目录下test.txt文件,直接删除
    rm test.txt
    
    # 删除当前目录下test.txt文件,直接删除
    rm -f test.txt
    
    # 删除当前目录下test.txt文件,删除之前询问是否要删除
    rm -i test.txt
    

3.3 复制文件 cp

  • 命令语法:

    cp [选项] 源文件 目标文件或目标目录
    
  • 命令功能:把源文件复制一份。

  • 命令说明:如果指定目标文件,则把源文件复制一份并命令为目标文件的名称,如果目标文件已存在,则覆盖;如果指定目录,则把源文件复制到目标目录中,如果目标目录不存在,则创建的不是目标目录,而是文件。

  • 命令选项:

    选项 说明
    -d 复制时保留链接,这样不会失去链接文件
    -p 保留文件的修改时间和存储权限
    -i 如果已经有相同文件名的文件,则提示用户是否覆盖
  • 命令示例:

    # 把当前目录下的test.txt复制一份放在当前目录下,并命名为test2.txt
    cp test.txt test2.txt
    
    # 把当前目录下的test.txt文件复制到/home/admin目录下
    cp test.txt /home/admin
    
    # 把当前目录下的test.txt文件复制到/home/admin目录下,如果存在同名的文件,则询问是否要覆盖
    cp -i test.txt /home/admin
    

3.4 移动文件 mv

  • 命令语法:

    mv [选项] 源文件 目标目录
    
  • 命令功能:把源文件移动到目标目录中。

  • 命令说明:如果目标目录已存在,则为移动,否则为重命名。

  • 命令选项:

    选项 说明
    -f 强制移动,如果目标目录下存在与源文件同名的文件,则直接覆盖(没有指定选项时默认就是直接覆盖)
    -i 交互式移动,如果目标目录下存在与源文件同名的文件,则询问是否要覆盖
    -n 如果目标目录下存在与源文件同名的文件,则不移动也不覆盖
  • 命令示例:

    # 把当前目录下的test.txt文件移动到/home/admin目录中,如果目录目录中已存在同名文件,则直接覆盖
    mv test.txt /home/admin
    
    # 把当前目录下的test.txt文件移动到/home/admin目录中,如果目标目录中已存在同名文件,则强制覆盖
    mv -f test.txt /home/admin
    
    # 把当前目录下的test.txt文件移动到/home/admin目录中,如果目标目录中已存在同名文件,则交互式询问是否要覆盖
    mv -i test.txt /home/admin
    
    # 把当前目录下的test.txt文件移动到/home/admin目录中,如果目标目录中已存在同名文件,则不移动也不覆盖
    mv -n test.txt /home/admin
    

3.5 改名文件 mv

  • 命令语法:

    mv 源文件 新文件
    
  • 命令功能:把源文件重命名为新文件。

  • 命令说明:如果新文件不存在,则重命名,如果新文件已存在,则直接覆盖。

  • 命令示例:

    # 把当前目录下的test.txt文件重命名为test2.txt
    mv test.txt test2.txt
    

3.6 链接文件 ln

  • 命令语法:

    ln [选项] 源文件 链接名
    
  • 命令功能:给源文件创建一个链接。

  • 命令说明:没有指定选项的情况下创建的是硬链接。硬链接不占用磁盘空间,通过文件的inode来进行链接,而软链接需要占用磁盘。如果源文件是绝对路径的文件,则创建的链接移动了位置之后仍能使用,如果源文件是相对路径的文件,则只能在链接创建的目录下使用,移动位置之后则不能使用。

  • 命令选项:

    选项 说明
    -s 进行软链接
    -f 如果在目标位置存在与链接名相同的文件,则删除这个文件
    -d 允许系统管理员硬链接自己的目录
    -b 对将在链接时会被覆盖或者删除的文件进行备份
  • 命令示例:

    # 创建软链接:使用的是绝对路径,ln_test1_1文件移动位置之后仍能正常使用。
    ln -s /home/user1/test1.txt ln_test1_1
    
    # 创建软链接:使用的是相对路径,ln_test1_2文件移动位置之后不能正常使用。
    ln -s test1.txt ln_test1_2
    
    # 创建硬链接:使用的是绝对路径,ln_test1_3文件移动位置之后仍能正常使用。
    ln /home/user/test1.txt ln_test1_3
    
    # 创建硬链接:使用的是相对路径,ln_test1_4文件移动位置之后不能正常使用。
    ln test1.txt ln_test1_4
    

3.7 查看文件 cat

  • 命令语法:

    # 查看文件
    cat [选项] 文件
    
    # 合并文件
    cat 文件1 文件2 > 文件3
    
  • 命令功能:cat命令用来把文件的内容输出到标准输出,或用来连接合并文件。

  • 命令说明:cat命令一般用于查看比较小的文件。

  • 命令选项:

    选项 说明
    -A 将文件中的制表符显示为 “^I” ,同时将第行的换行符显示为 “$”
    -b 将文件中的所有非空行按顺序编号,编号从1开始
    -n 将文件中的所有行按顺序编号,编号从1开始
    -T 将文件中的制表符显示为 “^I”
  • 命令示例:

    # 把当前目录下的test.txt文件的内容输出到标准输出
    cat test.txt
    
    # 把当前目录下的test.txt文件的内容输出到标准输出,并对制表符和换行符进行转换
    cat -Ab test.txt
    
    # 把当前目录下的test.txt和test2.txt这两个文件的内容合并到存放在当前目录下的test3.txt文件中
    cat test.txt test2.txt > test3.txt
    

3.8 查看文件 more

  • 命令语法:

    more [选项] 文件
    
  • 命令功能:more命令用于分页查看文件的内容,每次显示一屏,并且每屏后暂停。

  • 命令说明:

    快捷键 说明
    回车键 往前翻一行
    空格键 往前翻一页
    q 退出
  • 命令选项:

    选项 说明
    -d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值