【Linux】常用基础命令(一)

命令的提示符

[root@localhost: ~]#

  • []:这是提示符的分隔符号,没有特殊含义。
  • root:显示的是当前的登录用户
  • @:分隔符,没有特殊含义。
  • localhost:当前系统的简写主机名(完整主机名是 localhost.localdomain)。
  • ~:代表用户当前所在的目录
  • ::分隔符,没有特殊含义。
  • #:命令提示符。超级用户是#,普通用户是$

命令的基本格式

[root@localhost: ~]# 命令 [选项] [参数]

  • 选项:是用于调整命令的功能的
  • 参数:是命令的操作对象
  • 参数可以使用通配符(用于模糊搜索)
    • 什么是通配符:

      通配符是一种用于表示一类字符或字符串的特殊符号。通配符可以使字符串匹配操作更加高效、方便。通过使用通配符,我们可以在一大堆文本或数据中,快速地匹配到指定的信息或字符。日常生活中可能用处较少,但是在某些特定的场合下,它们会发挥非常重要的作用。比如,在编写批处理脚本、Linux Shell脚本等命令行程序时,通配符是必不可少的工具。

    • 常用的通配符:

      通配符含义
      *匹配任意个字符(包括0个)
      ?代表任意一个字符
      .匹配任意一个字符
      [abc]匹配a、b、c中的任意一个
      [!abc]匹配除了a、b、c中的任意一个
      [a-f]匹配从a到f范围内的任意一个字符
      [1-9]匹配从1到9范围内的任意一个字符
    • 注意事项

      1. 通配符的语法: 不同的环境和编程语言可能有不同的通配符语法。在使用通配符之前,务必查阅相关文档,了解正确的语法和用法。
      2. 文件路径中的通配符: 在文件系统中,通配符通常用于匹配文件名。在使用通配符时,确保了解文件路径中的上下文,以免意外匹配到不希望操作的文件。
      3. 转义特殊字符: 一些字符可能具有特殊含义,如在正则表达式中的.、``等。如果要匹配它们的字面意义,可能需要使用转义字符(例如,在正则表达式中使用\)。
      4. 大小写敏感性: 有些通配符匹配可能受到大小写敏感性的影响。在一些环境中,通配符可能区分大小写,而在其他环境中则可能不区分。确保你的模式与目标数据的大小写一致。
      5. 模糊匹配的风险: 使用通配符时,要注意可能的模糊匹配。例如,**``**通常匹配任意字符,包括空字符。确保你的模式不会导致不希望的匹配。
      6. 验证模式: 在使用通配符之前,可以通过测试和验证来确保模式的正确性。这可以通过编写测试代码、在终端中执行命令或使用相关工具进行验证。
      7. 文档参考: 始终参考相关的文档和资源,特别是关于所用语言、工具或操作系统的文档。这有助于理解通配符的细节和边界条件。
      8. 谨慎使用通配符删除操作: 在执行删除操作时要特别小心,确保你了解通配符将匹配的内容,并且不会意外删除重要文件。

ls命令

  • 功能描述:显示指定目录下的内容(默认是当前目录)

  • 常用选项(能连起来,-lh)

    • -a: 显示所有文件**,包括隐藏文件**
    • -l: 长格式显示 配合-h一起使用 -lh
    • -h: 人性化显示,按照我们习惯的单位显示文件大小
    • -t:按修改时间排序文件。
    • -r:反向排序。
  • 常用示例:

    # 示例 1: 列出当前目录中的所有文件和子目录
    ls# 示例 2: 列出指定目录中的文件和子目录
    ls /path/to/directory# 示例 3: 以长格式显示文件详细信息
    ls -l# 示例 4: 显示所有文件,包括隐藏文件
    ls -a# 示例 5: 以易读的格式显示文件大小
    ls -lh# 示例 6: 按修改时间反向排序文件
    ls -t -r
    
  • 注意:

    • 如果未提供目标目录路径,则默认使用当前工作目录。
    • 需要适当的文件和目录权限来执行。
    • 隐藏文件是以 . 开头的
    • 人性化显示是指让-l显示信息的字节大小以KB或MB为单位

cd命令

  • 功能描述:切换所在目录,不能对文件使用

  • 常用选项:

    • -P:使用物理路径,而非链接路径。
    • -L:强制进入链接路径。
  • 常用示例:

    # 示例 1: 进入用户主目录
    cd# 示例 2: 使用绝对路径进入指定目录
    cd /path/to/directory# 示例 3: 使用相对路径进入指定目录
    cd ../test  # 进入上一级目录下的test目录
    cd ./test   # 进入当前目录下的test的目录# 示例 4: 进入家目录
    cd ~# 示例 5: 进入上一次工作目录
    cd -# 示例 6: 使用选项
    cd -P /path/to/symlink   # 使用物理路径
    cd -L /path/to/symlink   # 强制进入链接路径
    
  • 注意:

    • 如果未提供目标目录路径,则 cd 将返回用户的主目录。

    • 当你使用相对路径时,它是相对于当前工作目录的。

    • 相对路径与绝对路径

      • 绝对路径:路径的写法“一定由根目录 / 写起”,例如: /home/linux/test 这个目录。
      • 相对路径:路径的写法“不是由 / 写起”,如果要到 /home/linux/test 下面时,可以写成: “cd ../test”。相对路径意指“相对于目前工作目录的路径!”
      • 相对路径有 相对当前目录. 和 相对上一级目录..

pwd命令

  • 功能描述:显示当前所在目录的绝对路径

  • 常用选项:

    无常用选项

  • 常用示例:

    # 示例 1: 直接在控制台输入显示
    pwd# 示例 2: 显示当前工作目录的路径
    current_directory=$(pwd)
    echo "当前工作目录:$current_directory"# 示例 3: 在脚本中使用
    script_directory=$(dirname "$0")
    echo "脚本所在目录:$script_directory"
    
  • 注意

    • pwd 不接受目录路径作为参数,它始终显示当前工作目录的路径。
    • 可以在脚本中使用反引号 `` 或 $() 来捕获 pwd 命令的输出。

mkdir命令

  • 功能描述:创建新的空目录

  • 常用选项:

    • -p: 递归建立目录
    • --mode:创建时指定权限
  • 常用示例:

    # 示例 1: 创建单级目录
    mkdir my_directory# 示例 2: 创建多级目录
    mkdir -p path/to/my_directory# 示例 3: 创建目录并设置权限
    mkdir --mode=755 secure_directory# 示例 4: 一下创建多个目录(不同于多级目录)
    mkdir dir1 dir2       # 当前文件下创建
    mkdir ../{dir1,dir2}  # 上一个目录下创建(注意目录分割为逗号,且没有空格)
    

注意:

  • 创建目录名不能与当前目录中的其他文件或目录重名,若重名则会报错
  • 默认情况下,mkdir 只能创建一级目录,如果要递归创建多级目录,使用 p 选项。
  • 创建目录时可以指定适当的权限,其默认权限是由umask设置,可以通过chmod修改

touch 命令

  • 功能描述:

    touch 命令用于创建空文件或更新文件的访问和修改时间

  • 常用选项:

    • -c:如果文件不存在,则不创建新文件。
    • -t:使用指定的时间戳,格式为 [[CC]YY]MMDDhhmm[.ss]
  • 常用示例:

    # 示例 1: 创建空文件
    touch new_file.txt# 示例 2: 如果文件不存在,则不创建新文件
    touch -c existing_file.txt# 示例 3: 使用指定的时间戳创建文件
    touch -t 202203091200.00 timestamped_file.txt# 示例 4: 创建多个文件
    touch 1.txt 2.txt       # 当前文件下创建
    touch ../{1.txt,2.txt}  # 上一个目录下创建(注意文件分割为逗号,且没有空格)
    
  • 使用时注意事项:

    • 如果文件不存在,touch 命令将创建一个空文件;如果文件已经存在,它将更新文件的访问和修改时间。
    • touch 命令常用于创建占位文件或更新时间戳。

rmdir命令(不推荐)

  • 功能描述:删除空目录

  • 选项:

    • -p:递归删除目录及其上级空目录。
  • 常用示例:

    # 示例 1: 删除空目录
    rmdir empty_directory# 示例 2: 递归删除目录及其上级空目录
    rmdir -p path/to/empty_directory
    
  • 注意

    • rmdir 只能删除空目录,如果目录中包含文件或其他子目录,则需要使用 rm 命令。
    • 删除目录时需要适当的权限,权限不够就无法执行该命令(其实大部分命令权限不够时都无法执行)

rm 命令

  • 功能描述:

    rm 命令用于删除文件或目录。

  • 常用选项:

    • -r:递归删除目录及其内容。
    • -f:强制删除,不提示确认。
    • -i:交互模式,删除前进行确认提示。
  • 常用示例:

    # 示例 1: 删除文件
    rm filename.txt# 示例 2: 递归删除目录及其内容
    rm -r directory_name# 示例 3: 强制删除文件,不提示确认
    rm -f filename.txt# 示例 4: 交互模式,删除前进行确认
    rm -i filename.txt# 示例 5: 移除多个文件
    rm 1.txt 2.txt
    
  • 注意事项:

    • 谨慎使用 rm 命令,因为删除的文件无法恢复(linux是没有回收站这一概念的)。
    • rm可以完全代替rmdir;删除目录时,通常需要使用 r 选项,除非目录是空的。
    • 使用 f 选项时,删除操作将不会提示确认,可能导致意外数据丢失。

cat 命令

  • 功能描述:

    cat 命令用于连接文件并打印到标准输出,通常用于查看文件内容。

  • 常用选项:

    • -n:显示行号。
    • -b:显示行号,但不对空行编号。
    • -A:显示所有字符,包括控制字符和行尾符。
  • 常用示例:

    # 示例 1: 显示文件内容
    cat filename.txt# 示例 2: 显示文件内容并显示行号
    cat -n filename.txt# 示例 3: 连接多个文件的内容并显示
    cat file1.txt file2.txt# 示例 4: 将 cat 命令的输出重定向到文件
    cat file1.txt > output.txt  # 覆盖原文件内容
    cat file1.txt >> output.txt  # 追加到原文件内容之后
    
  • 注意事项:

    • cat 不仅仅用于显示文本文件,也可以用于连接和显示二进制文件。
    • 可以使用 >cat 命令的输出重定向到文件。
    • 适合显示小文件内容,若文件过大,整个屏幕输出信息一闪而过,不适合查阅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/742450.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

校园兼职无忧网-创业计划书(附下载)

校园兼职无忧网是一个致力于为在校大学生提供兼职工作机会的平台,旨在搭建一个便捷、高效、安全的信息对接服务。该平台通过整合校内外各类兼职资源,包括但不限于家教、促销、实习等岗位,帮助学生找到适合自己的兼职工作,同时为用…

PostGIS 中的 K-Means 聚类操作及应用

K-Means算法: K-means 是数据科学和商业的基本算法。让我们深入了解一下。 1. K-means是一种流行的用于聚类的无监督机器学习算法。它是用于客户细分、库存分类、市场细分甚至异常检测的核心算法。 2. 无监督:K-means 是一种无监督算法,用于…

【Git】git pull fatal: refusing to merge unrelated histories

本地项目add到远程仓库后 git remote add origin https://gitee.com/xxx/git-test.git[仓库地址]通过 git pull 拉取远程仓库 显示 fatal: refusing to merge unrelated histories git fetch 没问题git merge 显示:fatal: refusing to merge unrelated histories …

leetcode刷题(javaScript)——分治思想(二分查找、快速排序)相关场景题总结

分治思想是一种将问题分解成更小的子问题,然后解决子问题并将结果合并的算法设计策略。二分查找、快速排序和折半查找都属于分治思想的经典算法。在leetcode里,分治思想一般结合其他场景出现,构成复合型题目。但是在看题时一定要了解能否用分…

C语言分析基础排序算法——计数排序

目录 计数排序 计数排序基本思路 计数排序改进思路 计数排序 计数排序又称为鸽巢原理,是对哈希直接定址法的变形应用。具体思路为: 统计相同元素出现次数根据统计的结果将序列回收到原来的序列中 计数排序基本思路 基本思路分析: //以…

Qt的定时器QTimer

定时器Qtimer:用于重复执行或延迟执行函数的类。它可以在一定的时间间隔内发出信号。 使用它,只需要创建一个QTimer类对象,然后调用start()函数开启定时器即可。 定时器的信号 当定时器超时后,就会发出一个timeout的信号函数。 …

安卓项目:app注册/登录界面设计

目录 第一步:设计视图xml 第二步:编写登录和注册逻辑代码 运行效果展示: 总结: 提前展示项目结构: 第一步:设计视图xml 在layout目录下面创建activity_login.xml和activity_main.xml文件 activity_lo…

数据库(一):基本语法一

数据库第二次作业 姓名:~~~,学号:~~~,专业:~~~ 2.66 书写SQL查询来获取以下结果: A.星期五的 ChangeClose。 SELECT ChangeClose FROM NDX WHERE TDayOfWeek Friday;B.星期五的最小、最大和平均 ChangeClose。 …

19.创建帖子

文章目录 一、建立路由二、开发CreatePostHandler三、编写logic四、编写dao层五、编译测试运行 一、建立路由 这里要稍微注意的是:需要登录后才可以发表帖子,所以需要用到我们之前写的鉴权中间件。中间件对用户携带的token解析成功后,便会将…

String、StringBuilder、StringBuffer 有什么区别?

1、典型回答 String、StringBuilder 和 StringBuffer 都是 Java 语言中,用于操作字符串的类,但它们在性能、可变性和线程安全性方面有一些区别 1、String:不可变字符串类,也就是说一旦创建,它的值就不可变。每次对 S…

Spring boot 集成netty实现websocket通信

一、netty介绍 Netty 是一个基于NIO的客户、服务器端的编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty相当于简化和流线化了网络应用的编程开发过程,例如:基于TCP和U…

Loader、source

Loader 是在 QML 中用于动态加载和创建其他 QML 文件或组件的元素。它允许您根据需要在运行时加载和实例化其他的 QML 文件,以实现动态性和灵活性。 以下是一个简单的示例,展示了如何在 QML 中使用 Loader: Loader {sourceComponent: MyCom…

数码管的动态显示(二)

1.原理 这个十六进制是右边的dp为高位。 数码管的动态显示,在第一个计数周期显示个位,在第二个周期显示十位,在第三个周期显示百位由于人眼的视觉和数码管的特性,感觉就是显示了234,每个数码管的显示需要从输入的数据里…

Go语言必知必会100问题-23 判断空切片最佳方法

前言 在Go语言必知必会100问题-22 空切片与nil切片有区别吗?中分析了空切片和nil切片是有区别的,那如何正确的判断一个切片是否为空切片呢? 案例引入 下面通过一个具体的例子进行说明,getOperations 函数返回一个float32类型的…

Flutter第四弹:Flutter图形渲染性能

目标: 1)Flutter图形渲染性能能够媲美原生? 2)Flutter性能优于React Native? 一、Flutter图形渲染原理 1.1 Flutter图形渲染原理 Flutter直接调用Skia。 Flutter不使用WebView,也不使用操作系统的原生控件,而是…

Java学习笔记14——常量与变量

曾和儿子分享过所谓计算机程序,都是编写代码进行“数据处理和处理数据”而已。任何编程语言编写何种应用,数据都必须以某种方式表示。掌握变量和常量的用法,可以使代码的可维护性、可读性大大提高。 一、常量 常量就是在程序中固定不变的量…

C语言scandir函数获取文件夹内容

scandir 函数用于列举指定目录下的文件列表,并将结果存储在一个动态分配的数组中。 函数原型: int scandir(const char *dirpath, struct dirent ***namelist,int (*filter)(const struct dirent *),int (*compar)(const struct dirent **, const stru…

labview中6种机械动作的区别

1.单击时转换:单击时转换,需要手动转换或者赋值回复原来状态; 2.释放时转换:释放时时转换,需要手动转换或者赋值回复原来状态; 3.单击时转换保持到鼠标释放:触发两次,自动恢复原来状…

Python互斥锁实例(包含超时解锁)

Python互斥锁实例(包含超时解锁) 文章目录 前言正文1 锁被占用直接返回2 拿不到锁则一直等待3 拿不到锁等待直到超时 总结 前言 最近遇到一个小需求,大概是请求机器人&自动化设备执行某些功能,这些功能之间有共同操作资源或在…

Linux:导出环境变量命令export

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 Linux中的内建命令export命令用于创建一个环境变量,或将一个普通变量导出为环境变量,并且在这个过程中,可以给该环境变量赋值。 下面…