探索Linux世界:初次接触和基本指令(文件操作)


文章目录

  • 1.基本介绍和准备
  • 2.基本指令和Linux的基本操作
  • 3.几个重要基本指令
    • 3.1 `ls` - 列出文件和目录
      • 3.1.1文件的知识
      • 3.1.2 `.和..`文件
    • 3.2`pwd` - 显示当前工作目录
      • 3.2.1路径知识
    • 3.3 `cd` - 切换目录
    • 3.4 `touch` - 创建文件或更新时间戳
    • 3.5`mkdir` - 创建新目录
    • 3.6`rm` - 删除文件或目录
    • 3.7`man` - 显示命令手册页面
      • 3.7.1手册介绍
    • 3.8`cp` - 复制文件或目录
      • 3.8.1nano介绍
    • 3.9`mv` - 移动或重命名文件或目录


1.基本介绍和准备

Linux是一种开源、免费的类Unix操作系统内核,其开发始于1991年,由芬兰计算机科学家Linus Torvalds主导。Linux内核是操作系统的核心部分,而完整的操作系统则包括了Linux内核以及众多的软件工具和应用程序,形成了各种不同的Linux发行版(Distribution,简称"distro")

我们最为熟知的操作系统是Windows,它有着完整的图形界面化操作,而Linux则是使用各种指令(很有程序员的感觉)

这里我学习使用的是云服务器+xshell的组合:

  • 云服务器:市面上有很多,大家可按需选择。这里我使用的操作系统是CentOS 7.6(基于Linux内核的一个操作系统发行版)
  • xshell:Xshell 是一款 Windows 下的强大的终端模拟器和 SSH 客户端。它主要用于远程登录和管理服务器

Linux的历史发展也是极为庞大,这里我便不在继续赘述,更多空间留给知识的介绍


2.基本指令和Linux的基本操作

  1. 指令ssh root@[ip地址]:通过 SSH(Secure Shell)协议连接到远程服务器的命令

    • 输入后按下回车再输入密码就好啦
  2. 指令whoami:就是Who am I? 它用于显示当前登录用户的用户名

请添加图片描述

  1. 指令who显示当前登录到系统的用户信息。这个命令的输出包括登录用户的用户名、终端、登录时间等

指令12

  • 第一列就是用户名,我这里是root
  • 第二列是第二列是终端(tty 表示物理控制台,pts 表示伪终端,通常是通过SSH登录的)
  • 第三列是登录时间
  • 第四列可能显示IP地址或主机名,表示从哪里登录的
  1. 指令clear:除当前终端或控制台上的屏幕内容,将终端窗口滚动至顶部(人如其名,就是clear)

  2. 复制:Ctrl + insert

    粘贴:Shift + insert

    终止当前命令:Ctrl + C

    XShell全屏:Alt + Enter

  3. 利用上下键跳转之前输入的指令

指令13

3.几个重要基本指令

3.1 ls - 列出文件和目录

用法:ls [选项] [目录]

  • -a:列出目录下的所有文件,包括以 . 开头的隐含文件。隐含文件通常是系统文件或配置文件,以 . 开头表示隐藏。
  • -d:将目录本身像文件一样显示,而不是显示其下的文件。比如 ls -d 指定目录 将只显示指定目录的信息,而不会列出目录下的文件。
  • -l:以长格式(详细信息)列出文件。这将显示文件的权限、所有者、所属组、文件大小、创建或修改时间等详细信息。
  • -n:用数字的 UID(用户标识)和 GID(组标识)代替名称。这对于显示文件所有者和组的数字标识符而不是用户名和组名很有用。
  • -R:列出所有子目录下的文件,即递归显示目录结构。
  • -1:一行只输出一个文件。这个选项通常用于在命令行中以一列的形式列出文件。
  • -t:以时间排序。文件和目录按照它们的修改时间进行排序,最新的文件会显示在前面。
  • -s:在文件名后输出该文件的大小。这将以块为单位显示文件的大小。
  • -F:在每个文件名后附上一个字符,表示文件的类型。例如,* 表示可执行的普通文件,/ 表示目录,@ 表示符号链接,| 表示 FIFOs(命名管道),= 表示套接字(sockets)

如果在使用 ls 命令时不指定目录或文件名,它将默认列出当前工作目录下的文件和子目录,相当于ls .

示例:ls -l

在这里插入图片描述

total 4 表示当前目录下所有文件的总块数。这个总块数是当前目录下所有文件所占用磁盘空间的总和,以块(block)为单位

3.1.1文件的知识

指令15

这样的一个大小为0的文件,是不是就说明没有占用空间呢?

在Windows上创建一个文本文件,即使文件大小为0KB,实际上也会占用一些磁盘空间。这是因为文件系统会为每个文件分配一个簇(Cluster)作为存储单位,而簇的大小通常是4KB。即便文件内容为空,文件系统也需要至少一个簇来存储文件的元数据和分配信息

文件 = 文件属性 + 文件内容,我们对文件的操作要么对文件内容进行操作,要么对文件属性进行操作

  1. 文件属性: 包括文件的元数据,如文件名、大小、创建时间、修改时间、权限等。这些属性描述了文件的基本信息和特征。
  2. 文件内容: 是文件的实际数据,通常是以二进制形式存储的。这是文件的实际内容,可以是文本、图像、音频等不同类型的数据。

在进行文件操作时,我们可以执行以下两类主要操作:

  • 对文件内容的操作: 包括读取、写入、追加等操作,实际上是对文件中的二进制数据进行处理。这是我们通常所说的文件读写操作。
  • 对文件属性的操作: 包括修改文件名、更改权限、设置时间戳等。这类操作更多地关注文件的元数据。

3.1.2 .和..文件

Linux和Unix系统中,隐藏文件以 . 开头,例如 .example.txt。这样的文件在默认情况下不会被 ls 命令列出。如果想要显示所有文件,包括隐藏文件,可以使用 ls -a 命令,其中 -a 选项表示显示所有文件,包括以 . 开头的隐藏文件

指令16

  1. .(当前目录):
    • . 代表当前目录。在命令行或文件系统中,使用 . 表示当前所在的目录。例如,如果你执行 ls .,它将列出当前目录下的文件和子目录。这对于明确指定当前工作目录是很有用的。
  2. ..(上级目录):
    • .. 代表上一级目录。在文件系统中,使用 .. 表示当前目录的父目录。例如,如果你执行 cd ..,它将把当前目录切换到上一级目录。这在导航文件系统时很有用

3.2pwd - 显示当前工作目录

语法: pwd

功能pwd (print working directory)命令用于显示当前工作目录的完整路径

在这里插入图片描述

3.2.1路径知识

  1. 绝对路径

绝对路径是从文件系统的根目录开始描述文件或目录的路径。在Linux中,根目录用斜杠 / 表示,而在Windows中,每个驱动器都有自己的根目录,例如 C:\。绝对路径可以唯一地标识文件系统中的某个位置,不受当前工作目录的影响。

/home/user/documents/file.txt
  1. 相对路径

相对路径是相对于当前工作目录或其他已知位置的路径。相对路径不包含根目录信息,而是描述如何从当前位置导航到目标文件或目录。在相对路径中,使用 . 表示当前目录,使用 .. 表示上级目录

../images/picture.jpg

这个示例中,.. 表示上级目录,因此路径指向当前目录的上一级目录下的 images 目录中的 picture.jpg 文件

  1. 文件路径和目录路径

路径可以是文件路径或目录路径,具体取决于路径的最后一部分是指向文件还是目录。

  1. 分隔符

在Linux中,路径分隔符是正斜杠 /,而在Windows中,路径分隔符是反斜杠 \。大多数现代操作系统和文件系统能够接受使用正斜杠或反斜杠表示的路径。

  1. 绝对路径 vs. 相对路径
  • 绝对路径:
    • 完整指定文件或目录的位置,不依赖于当前工作目录。
    • 在不同系统上通常具有更好的可移植性。
    • 更适合用于脚本和程序中,确保稳定性。
  • 相对路径:
    • 相对于当前工作目录或其他已知位置,更简洁。
    • 在文件移动或项目结构变化时可能更易维护。
    • 相对路径可能会受到当前工作目录的变化而产生影响。
  1. 特殊目录表示法
  • . 表示当前目录。
  • .. 表示上级目录

3.3 cd - 切换目录

语法:cd 目录名

功能:改变工作目录。将当前工作目录改变到指定的目录下(绝对和相对路径都行)

指令18

Linux的目录结构是一个多叉树

指令19


3.4 touch - 创建文件或更新时间戳

语法:touch [选项] 文件

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

  • -a 或 --time=atime 或 --time=access 或 --time=use:只更改文件的访问时间。
  • -c 或 --no-create:不建立任何文档。
  • -d:使用指定的日期时间,而非当前时间。
  • -f:此参数将忽略不予处理,仅负责解决BSD版本 touch 指令的兼容性问题。
  • -m 或 --time=mtime 或 --time=modify:只更改文件的修改时间。
  • -r:把指定文档或目录的日期时间,设成和参考文档或目录的日期时间相同。
  • -t:使用指定的日期时间,而非当前时间

3.5mkdir - 创建新目录

语法:mkdir [选项] dir_name

功能:在当前目录下创建一个名为 dir_name的目录

  • -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录

在这里插入图片描述

  1. 创建单个目录:

    mkdir new_directory
    
  2. 创建多个目录:

    mkdir dir1 dir2 dir3
    
  3. 递归创建目录及其父目录:

    mkdir -p parent_directory/child_directory
    

3.6rm - 删除文件或目录

语法:rm [选项] [dir_name/dir]

功能:删除文件或目录

  • -f 即使文件属性为只读(即写保护),亦直接删除

  • -i 删除前逐一询问确认

  • -r 删除目录及其下所有文件(r代表递归)

示例:

  1. 删除单个文件:

    rm file.txt
    
  2. 删除多个文件:

    rm file1.txt file2.txt
    
  3. 递归删除目录及其内容:

    rm -r directory
    
  4. 强制删除,不提示:

    rm -f file.txt
    

指令111

3.7man - 显示命令手册页面

语法: man [选项] 命令

功能:Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助

  • -k 根据关键字搜索联机帮助

  • num 只在第num章节找

  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕

3.7.1手册介绍

Unix/Linux 系统手册页的八个主要部分的简要说明:

  1. 第一章(1):普通命令
  • 包含了系统中可供一般用户使用的常规命令的手册页。这包括各种常见的命令,如 lscpmv 等。
  1. 第二章(2):系统调用
  • 包含了系统调用的手册页,系统调用是应用程序与操作系统内核之间的接口。这些手册页通常提供有关如何使用系统调用以及调用所需的头文件信息。
  1. 第三章(3):库函数
  • 包含了 C 库函数的手册页,这些函数由标准 C 库提供。这包括如 printfscanfmalloc 等函数的详细信息。
  1. 第四章(4):特殊文件
  • 包含有关特殊文件(通常在 /dev 目录下)的手册页。这些文件代表设备,手册页描述了如何与这些设备文件进行交互。
  1. 第五章(5):文件格式
  • 包含有关文件格式的手册页。这包括配置文件、数据文件等,如 /etc/passwd,其中说明了文件中各字段的含义。
  1. 第六章(6):游戏
  • 预留给游戏使用,包含了与游戏相关的手册页。
  1. 第七章(7):附录和杂项
  • 包含一些附加信息,如全局变量的说明,以及一些其他杂项。
  1. 第八章(8):系统管理命令
  • 包含了仅供系统管理员(root 用户)使用的系统管理命令的手册页。这包括诸如 ifconfigmountshutdown 等命令的详细信息。

每个章节都包含了对应类型的手册页,通过 man 命令可以方便地访问和阅读这些手册页,以获取有关命令、函数、文件和系统的详细信息

3.8cp - 复制文件或目录

语法:cp [选项] 源文件或目录 目标文件或目录

功能: 复制文件或目录

  • cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,

    则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存

    在的目录,则会出现错误信息

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在

  • -i 或 --interactive 覆盖文件之前先询问用户

  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

指令112

  • 我们还可以进行重命名

在这里插入图片描述

3.8.1nano介绍

nano - 文本编辑器

用法:nano [选项] 文件名

常用选项:

  • -c,–const:禁用控制键位。
  • -r,–restricted:限制访问,避免执行危险操作。
  • -w,–nowrap:禁用自动换行。

基本操作:

  • Ctrl + O:保存文件。
  • Ctrl + X:退出编辑器。
  • Ctrl + G:获取帮助。

示例:

  1. 打开或创建文件进行编辑:

    nano filename.txt
    
  2. 保存文件并退出:

    • Ctrl + O,然后按 Enter 保存文件。
    • Ctrl + X 退出编辑器。

nano 是一个简单易用的文本编辑器,适用于终端环境。它提供了基本的编辑功能,适合快速查看和编辑文本文件

3.9mv - 移动或重命名文件或目录

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

语法: mv [选项] 源文件或目录 目标文件或目录

功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中

  2. 第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

  • 移动

指令114

  • 改名

指令115


这次Linux就先到这里啦,也是开始学Linux啦,关心大家支持!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基本运算符

参考C Primer Plus进行C语言学习 文章目录 基本运算符 除法运算符:/其他运算 1、除法运算符 在C语言中,整数除法结果的小数部分被丢弃,这一过程被称为截断。 2.其他运算符 (1)sizeof运算符和size_t类型 回顾一下&…

C++ 前缀和

目录 例1 例2 例3 例4 例5 例6 例7 例8 例1 DP34 【模板】前缀和 分析:dp和arr的大小并不是固定的,就是有没有偏移量,这里的n是从1开始,不如直接放到下标1处,在最后的减法时,如果用第一个参考代码会…

单调栈的理解

单调栈的理解 核心代码场景思考 完整代码环形数组循环数组 单调栈&#xff1a; 单调递增或 单调递减的栈 核心代码 while (!s.empty()&&s.peek()<nums[i]){s.pop(); } s.push(nums[i]);将要放入的元素&#xff0c;与栈内元素依个比较&#xff0c;小于的都出栈&am…

设计模式(含7大原则)面试题

目录 主要参考文章 设计模式的目的 设计模式的七大原则 设计模式的三大分类及关键点 1、创建型模式&#xff08;用于解耦对象的实例化过程&#xff09; 2、结构型模式 3、行为型模式 23种设计模式&#xff08;乱序--现学现写&#xff0c;不全面--应付面试为主&#xff…

BUUCTF------[HCTF 2018]WarmUp

开局一个表情&#xff0c;源代码发现source.php <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whitelist ["source">"source.php","hint">"hint.php"];if (! isset($page) |…

web坦克大战小游戏

H5小游戏源码、JS开发网页小游戏开源源码大合集。无需运行环境&#xff0c;解压后浏览器直接打开。有需要的订阅后&#xff0c;私信本人&#xff0c;发源码&#xff0c;含60小游戏源码。如五子棋、象棋、植物大战僵尸、贪吃蛇、飞机大战、坦克大战、开心消消乐、扑鱼达人、扫雷…

基于小红书评论的文本词语频数挖掘和词云图

import pandas as pd df pd.read_csv(小红书评论.csv) # 读取小红书评论数据 text .join(df[内容].astype(str)).strip() # 将内容列所有数据合成字符串 print(text) 使用jieba库&#xff0c;对文本数据进行分词&#xff0c;并统计出现频数 import jieba from collectio…

JMeter Body Data模拟10000个字符串

方法 **这个表达式使用了JMeter中的Groovy函数&#xff0c;目的是生成一个包含10000个字符 "s" 的字符串。在Groovy语言中&#xff0c;使用 "s" * 10000 可以生成包含10000个 "s" 的字符串。${__groovy("s" * 10000,)} 这个表达式在J…

财报解读:基本盘稳定后,联想如何进一步抢占AI时代?

从2021年下半年开始&#xff0c;受诸多因素影响&#xff0c;消费电子行业始终处在承压状态&#xff0c;“不景气”这一关键词屡次被市场提及。 但寒气没有持续&#xff0c;可以看到&#xff0c;消费电子行业正在逐渐回暖。国金证券在今年1月的研报中就指出&#xff0c;从多方面…

数字人解决方案——阿里EMO音频驱动肖像生成能说话能唱歌的逼真视频

前言 数字可以分为3D数字人和2D数字人。3D数字人以虚幻引擎的MetaHuman为代表&#xff0c;而2D数字人则现有的图像或者视频做为输入&#xff0c;然后生成对口型的数字人&#xff0c;比如有SadTalker和Wav2Lip。 SadTalker&#xff1a;SadTalker是一种2D数字人算法&#xff0c;…

什么是网络安全、信息安全、计算机安全,有何区别?

这三个概念都存在&#xff0c;一般人可能会混为一谈。 究竟它们之间是什么关系&#xff1f;并列&#xff1f;交叉&#xff1f; 可能从广义上来说它们都可以用来表示安全security这样一个笼统的概念。 但如果从狭义上理解&#xff0c;它们应该是有区别的&#xff0c;区别在哪呢&…

基于XTuner微调书生·浦语大模型

1 概述 XTuner 是一个傻瓜式、轻量级的大语言模型微调工具箱&#xff0c;由MMRazor和MMDeploy联合开发。其以配置文件的形式封装了大部分微调场景&#xff0c;0基础的非专业人员也能一键开始微调&#xff1b;对于 7B 参数量的LLM&#xff0c;微调所需的最小显存仅为 8GB。 常…

day11_oop_fianl_satic_多态

今日内容 零、 复习昨日 一、final 二、static 三、多态 四、向上转型&向下转型 五、多态应用 零、 复习昨日 0 类封装步骤 属性私有private提供setget方法 1 继承关键词,继承的好处 extends减少代码重复为多态做准备 2 子类可以使用父类什么 非私有的属性和方法 3 方法重写…

网络机顶盒哪个好?数码小编分享网络机顶盒排名

每次在挑选网络机顶盒的时候&#xff0c;很多朋友会咨询我的意见&#xff0c;最近每天都会收到相关的咨询&#xff0c;不知道网络机顶哪个好&#xff0c;我这次要分享的就是业内公认网络机顶盒排名&#xff0c;入围的几个品牌都是非常出色的&#xff0c;想买网络机顶盒的可以从…

亚信安慧AntDB:数智化转型的可持续动能

AntDB致力于为企业提供可持续发展的数据支持&#xff0c;其使命在于助力企业更好地适应不断变化的数智化时代。作为一款性能出色、可靠稳定的分布式数据库系统&#xff0c;AntDB为企业打造了一个高效、安全、灵活的数据管理平台&#xff0c;不仅拥有强大的数据处理和分析能力&a…

谁才是“内卷”之王?众多洗地机品牌哪家清洁力最强?清洁最干净?

在如今快节奏的生活中&#xff0c;家庭清洁工作愈发显得繁琐而耗时。添可洗地机凭借其高效的一体化清洁功能和智能化操作&#xff0c;为现代家庭生活带来了极大的便利。面对众多款品牌洗地机型号&#xff0c;消费者不禁会问&#xff1a;哪家洗地机清洁力最强&#xff1f;在性能…

IO(Linux)

文件系统 前言1. 回顾关于C文件部分函数2. 一些文件知识的共识3. 相对路径4. fwrite中的\0 一、文件描述符fd1. 概念2. 系统调用① open 和 close② write③ read 和 lseek 3. 缺省打开的fd 二、重定向1. 原理2. 系统调用dup23. stdout和stderr的区别4. 进程替换和原来进程文件…

百度AI,能否“投”出未来?

图片&#xff5c;freeflo.ai ©自象限原创 作者丨程心、罗辑 2月28日&#xff0c;百度发布了2023年四季度财报及全年未经审计的财务报告&#xff0c;AI大模型带来的收入和利润成为最大的亮点。 财报显示&#xff0c;2023年百度集团总营收达1345.98亿元&#xff0c;同比增…

java数据结构与算法刷题-----LeetCode337. 打家劫舍 III

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 动态规划深度优先1.1 解题思路和细节2.2 代码实现 很多人觉得…

告别信息搜寻烦恼:用fastgpt快速部署国内大模型知识库助手

Docker Compose 快速部署 使用 Docker Compose 快速部署 FastGPT 推荐配置 环境最低配置&#xff08;单节点&#xff09;推荐配置测试2c2g2c4g100w 组向量4c8g 50GB4c16g 50GB500w 组向量8c32g16c64g 200GB 部署架构图 1. 准备好代理环境&#xff08;国外服务器可忽略&…