【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(一)

2024-05-29 15:20

本文主要是介绍【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

      • 🚀Linux基础命令
        • ⭐1. 查看目录命令
        • 💥2. 切换目录
        • 👊3. 创建目录
        • ❤️4. 删除目录/文件
        • 🚲5. 修改目录/文件
        • 🌈6. 拷贝目录/文件

🚀Linux基础命令

在这里插入图片描述

⭐1. 查看目录命令

在Linux中,查看目录的常用命令是ls。这个命令可以显示指定目录下的内容,包括文件和子目录。

  ls                   //查看当前目录下的所有目录和文件ls -a                //查看当前目录下的所有目录和文件(包括隐藏的文件)ls -l                //列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样

在这里插入图片描述

在这里插入图片描述
除了ls命令,还可以使用tree命令以树状结构查看目录,但请注意不是所有系统默认安装了tree,你可能需要先安装它。安装方法根据你的Linux发行版有所不同,通常可以使用包管理器如apt或yum来安装。

cat 文件名   # 查看指定文件内容
pwd          # 查看当前所属文件位置--绝对路径

cat 命令(concatenate)

  • 功能:主要用于查看文件内容,也可以用于将多个文件合并成一个文件。当你想要快速浏览一个文本文件的内容时,cat 命令非常方便。此外,通过重定向,它可以用于创建新文件或将输出内容追加到现有文件中。

  • 基本用法:cat [选项] [文件名]

  • 常用选项

    • -n:显示行号,包括空白行。
    • -b:显示行号,但不包括空白行。
    • -s:当遇到连续的多个空行时,只显示一个空行。
  • 示例:cat myfile.txt 会显示 myfile.txt 的内容。

pwd 命令(print working directory)

  • 功能:用于显示当前工作目录的绝对路径。当你在复杂的目录结构中操作,想要确认当前所处的位置时,这个命令非常有用。
  • 基本用法:pwd [选项]
  • 常用选项
    • 在大多数情况下,pwd 命令不需要任何选项,直接运行即可显示当前目录的绝对路径。

示例:仅需输入 pwd,它就会输出类似于 /home/user/Documents 的当前目录路径。

💥2. 切换目录

cd 命令是 “change directory”的缩写,是用于在Linux和Unix及其衍生系统中切换当前工作目录的基本命令。这个命令让你能够在文件系统中移动,而不必使用图形界面。

cd /                 //切换到根目录
cd ~                 //切换到home目录
cd -                 //切换到上次访问的目录
  • 绝对路径与相对路径

    • 绝对路径从根目录 / 开始。
    • 相对路径相对于当前目录。

cd命令是命令行操作中最为频繁使用的命令之一,掌握其用法对于高效地在Linux环境中工作至关重要。

👊3. 创建目录

mkdir 命令是 “make directories” 的缩写,是Linux和类UNIX系统中用于创建新目录的命令。下面是关于mkdir命令的基本使用方法和一些常用选项:

mkdir [选项] 目录名

常用选项

  • -p (parents):递归创建目录,如果没有父目录,也会一并创建,不会因为中间的目录不存在而报错。
  • -m (mode):设置创建目录的权限模式,如 mkdir -m 755 dir_name 会在创建目录时直接赋予指定的权限(在这里是755)。
  • -v (verbose):在创建每个目录时显示信息,便于了解创建过程。
❤️4. 删除目录/文件

在Linux中,删除目录或文件主要使用rm和rmdir命令。这些命令操作是永久性的,因此在执行删除操作前,请务必确认无误,并考虑做好数据备份。

rm 文件名              # 删除当前目录下的文件
rm -f 文件名           # 删除当前目录的的文件(不询问)
rm -r 文件夹名         # 递归删除当前目录下此名的目录
rm -rf 文件夹名        # 递归删除当前目录下此名的目录(不询问)
rm -rf *              # 将当前目录下的所有目录和文件全部删除
rm -rf /*             # 将根目录下的所有文件全部删除【慎用!相当于格式化系统】

删除文件

  • 基本命令:rm 文件名
    • 示例:rm file.txt 将删除名为 file.txt 的文件。
  • 交互模式:添加 -i 选项会在删除每个文件前提示用户确认。
    • 示例:rm -i file.txt
  • 强制删除:添加 -f 选项会强制删除文件,不提示确认。
    • 示例:rm -f file.txt

删除目录

  • 使用 rmdir 命令删除空目录
    • 示例:rmdir directory
  • 使用 rm 命令删除目录
    • 递归删除:添加 -r 或 -R 选项可以递归删除目录及其内容(包括子目录和文件)。
      • 示例:rm -r directory
    • 强制递归删除:添加 -rf 或 -Rf 选项会强制递归删除,不提示确认,这是危险操作,需谨慎使用。
      • 示例:rm -rf directory

注意事项

  • 使用rm -rf命令时要特别小心,因为这会立即且不可逆地删除指定目录及其所有内容,没有后悔药。
  • 对于重要操作,建议先使用ls或tree命令查看目录内容,确保要删除的是正确的对象。
  • 考虑使用mv命令将文件或目录移到一个临时的“回收站”目录,作为安全删除的额外步骤。

总之,删除操作应谨慎进行,特别是涉及重要数据时,采取预防措施避免数据丢失。

🚲5. 修改目录/文件

在Linux中,修改目录或文件主要涉及到重命名、修改权限、更改所有权等操作。

重命名目录/文件

  • 命令:mv
    • 基本用法:mv 旧名称 新名称
    • 示例:mv oldfile.txt newfile.txt 会将文件 oldfile.txt 重命名为 newfile.txt。
    • 移动并重命名:mv path/to/file /new/path/newfile.txt 可以将文件移动到新的位置并重命名。
mv --- 移动文件或目录,也可用于重命名文件或目录。mv 当前目录名(文件名) 新目录名(文件名)    # 修改目录名(文件名),同样适用与文件操作
mv  原目录(文件)  移动位置目录
mv -r 原目录(文件)  移动位置目录   # 递归移动

修改文件权限

  • 命令:chmod
    • 数字模式:chmod 权限值 文件/目录
      • 权限值由三位八进制数表示,分别对应所有者、所属组、其他人权限。如 755 表示所有者可读写执行,所属组和其他人只能读和执行。
      • 示例:chmod 755 myfile.txt
    • 符号模式:chmod ugo±rwx 文件/目录
      • u 用户(所有者)、g 组、o 其他人,+ 添加权限,- 移除权限,r 读、w 写、x 执行。
      • 示例:chmod u+x,g-w,o=r file.txt 给文件所有者添加执行权限,从组成员移除写权限,给其他人只读权限。

更改文件/目录所有权

  • 命令:chown
    • 基本用法:chown 用户名:组名 文件/目录
      • 示例:chown user1:group1 myfile.txt 将文件 myfile.txt 的所有者改为 user1,所属组改为 group1。
    • 只改变所有者:chown 用户名 文件/目录
    • 只改变所属组:chown :组名 文件/目录

修改目录
对于目录,上述命令同样适用,但需要注意的是,使用chmod、chown时,如果不加上递归选项,操作可能仅应用于目录本身,而不是其内容。要递归应用到目录下的所有文件和子目录,可以加上 -R 选项。

  • 递归修改权限:chmod -R 755 mydir
  • 递归更改所有权:chown -R user1:group1 mydir

这些命令提供了修改Linux系统中目录和文件属性的基本手段,使用它们时要确保具有相应的权限,并且操作要谨慎,以免造成数据丢失或权限混乱。

🌈6. 拷贝目录/文件

在Linux中,拷贝(复制)目录或文件主要使用cp命令。

cp 原目录(文件)  移动位置目录  
cp -r 原目录(文件)  移动位置目录   # 递归剪复制目录中所有文件和文件夹

拷贝文件

  • 基本命令:cp 源文件 目标位置

    • 示例:cp myfile.txt /home/user/documents/ 将 myfile.txt 复制到 /home/user/documents/ 目录下。
  • 备份并覆盖:默认情况下,如果目标文件已存在,使用cp命令会直接覆盖原文件。若希望在覆盖前创建备份,可以使用-i(interactive,交互式)或-b(backup,备份)选项。

    • 示例:cp -i source.txt destination.txt 如果目标文件存在,会提示是否覆盖。
    • 示例:cp -b source.txt destination.txt 如果目标文件存在,会在覆盖前自动为原文件创建一个备份(通常是在文件名后添加.1作为后缀)。

拷贝目录

  • 递归拷贝:要拷贝目录及其内容,需要使用-r或-R(recursive,递归)选项。
    • 示例:cp -r sourcedir destinationdir 将整个sourcedir目录及其内容复制到destinationdir目录中。如果destinationdir不存在,需要确保目标路径的最后一部分是一个目录名,否则会报错。
  • 保持权限和时间戳:使用-p(preserve,保持)选项可以在拷贝时保留源文件的权限和最后修改时间戳。
    • 示例:cp -rp sourcedir destinationdir

注意事项

  • 使用cp命令时,确保你有源文件或目录的读取权限以及目标位置的写入权限。
  • 当拷贝大量文件或大文件时,可以考虑使用rsync命令,它提供了更高级的功能,如增量拷贝,能更有效地处理大文件和网络传输。

cp命令是非常实用的文件和目录管理工具,通过不同的选项可以灵活控制拷贝操作的行为。

这篇关于【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013902

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

java中ssh2执行多条命令的四种方法

《java中ssh2执行多条命令的四种方法》本文主要介绍了java中ssh2执行多条命令的四种方法,包括分号分隔、管道分隔、EOF块、脚本调用,可确保环境配置生效,提升操作效率,具有一定的参考价值,感... 目录1 使用分号隔开2 使用管道符号隔开3 使用写EOF的方式4 使用脚本的方式大家平时有没有遇到自

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信