【Linux系统编程】——Linux入门指南:从零开始掌握操作系统的核心(指令篇)

news2024/10/28 6:00:02

文章目录

  • 查看 Linux 主机 ip以及登录主机
  • Linux基础文件操作指令
    • man:查看命令的手册页,了解命令的详细用法。
    • pwd:显示当前目录路径。
    • cd:切换目录。
    • ls:列出当前目录下的文件和文件夹。
    • mkdir:创建新目录。
  • 文件和目录管理
    • touch:创建一个空文件或更新文件的时间戳。
    • cp:复制文件或目录。
    • mv:移动文件或目录,或重命名文件。
    • rm:删除文件或目录。
  • 文件内容查看与文本处理
    • cat:查看文件内容,合并文件。
    • more:逐页显示文件内容。
    • less:更高级的文件查看工具,支持前后滚动。
    • head:显示文件的前几行内容。tail:显示文件的后几行内容。
    • echo:在终端显示信息或将信息写入文件。
  • 系统信息和时间管理
    • date:显示或设置系统的日期和时间。
    • cal:显示当前或指定月份的日历。
    • who:查看当前登录的用户信息。
    • uname:查看系统信息。
    • shutdown:关机或重启。
  • 搜索与查找
    • grep:在文件中搜索指定字符串。
    • find:查找文件或目录。
  • 压缩与解压缩
    • zip:用于创建压缩文件(.zip)。
    • unzip:解压 .zip 文件。
    • tar:可以将多个文件或目录打包成一个文件,并支持压缩解压。
  • 计算与其他工具
    • bc:进行浮点运算。

查看 Linux 主机 ip以及登录主机

  1. 查看ip地址

在终端下敲 ifconfig 指令, 查看到 ip 地址

  1. 使用 XShell 登陆主机
    在 XShell 终端下敲 ssh [ip]

Linux基础文件操作指令

man:查看命令的手册页,了解命令的详细用法。

语法

man [命令名称]
  • -k 根据关键字搜索联机帮助
  • num 只在第num章节找
  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按 下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

解释一下,面手册分为8章

  1. 是普通的命令
  2. 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文 件)
  3. 是库函数,如printf,fread
  4. 是特殊文件,也就是/dev下的各种设备文件
  5. 是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义
  6. 是给游戏留的,由各个游戏自己定义
  7. 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
  8. 是系统管理用的命令,这些命令只能由root使用,如ifconfig

pwd:显示当前目录路径。

cd:切换目录。

. .切换到上级目录。
. 切换到当前目录。

在这里插入图片描述

作用:功能:改变工作目录。将当前工作目录改变到指定的目录下。

ls:列出当前目录下的文件和文件夹。

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表
示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。

最常用的: 	   		
		ls -l//显示全部文件    也可以写成ll
		ls -a//显示隐藏文件

mkdir:创建新目录。

-p:创建父目录并一起创建。

文件和目录管理

touch:创建一个空文件或更新文件的时间戳。

touch filename.txt
同时可以配合其他选项更新文件的时间。

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

cp:复制文件或目录。

-f:强制覆盖同名文件。
-i:交互模式,复制前提示。
-R:递归复制目录及其内容。

mv:移动文件或目录,或重命名文件。

-f:强制覆盖。
-i:交互模式。
-u:仅移动比目标文件更新的文件。
常用示例:

mv oldname.txt newname.txt   // 重命名文件
mv file.txt /new/path/       // 移动文件

功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的
    目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它
    将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至
    目标目录中。

rm:删除文件或目录。

-f:强制删除。
-i:删除前确认。
-r:递归删除目录。

常用示例:

rm file.txt              // 删除文件
rm -r directory/         // 删除目录

文件内容查看与文本处理

cat:查看文件内容,合并文件。

-b:显示非空行行号。
-n:显示所有行行号。
-s:压缩空行。

more:逐页显示文件内容。

more 命令用于按页查看长文件内容,按 Enter 查看下一行,按 空格 查看下一页。

more filename.txt

less:更高级的文件查看工具,支持前后滚动。

在 Linux 中,less 是一个用于查看文件内容的命令行工具。与 more 命令类似,但功能更为强大,它可以让你滚动、搜索并查看文件内容,而不需要将整个文件加载到内存中。这对于查看大型文件非常有用。

基本用法

less filename

常用操作

  • 向下滚动:按下 Space 或 Page Down
  • 向上滚动:按下 b 或 Page Up
  • 逐行向下:按下 Enter
  • 逐行向上:按下 k
  • 跳转到文件开头:按下 g
  • 跳转到文件结尾:按下 G
  • 搜索文本:输入 /关键词,然后按 Enter。按 n 跳到下一个匹配项。
  • 退出:按下 q

实用技巧

  • 按行号跳转:输入 行号 后按 G,例如 50G 跳到第 50 行。
  • 在多个文件中切换:使用 :n 查看下一个文件,:p 查看上一个文件(如果用 less file1 file2 打开多个文件)。
  • 忽略大小写搜索:使用 -I 选项,例如 less -I filename。
    less 非常适合在终端中查看文件内容,尤其是在处理日志或大型文本文件时。

head:显示文件的前几行内容。tail:显示文件的后几行内容。

head 和 tail 是 Linux 中用于查看文件内容的命令,分别用于查看文件的开头结尾部分,非常适合快速预览文件内容。

head 命令
head 默认显示文件的前 10 行内容。可以通过指定行数来显示更多或更少的行。
tail 命令
tail 默认显示文件的最后 10 行内容,同样可以通过参数调整行数。这个命令特别适合监控日志文件的更新内容。

echo:在终端显示信息或将信息写入文件。

echo 是一个简单而常用的命令,在 Linux 和其他 Unix 系统中用于在终端上输出文本或变量内容。它可以用来打印消息、查看变量的值、生成输出到文件等。

echo "Hello, World!"   // 输出文本
echo "Hello, World!" > file.txt   // 输出到文件

系统信息和时间管理

date:显示或设置系统的日期和时间。

在 Linux 中,data 通常并不是一个单独的命令,而是指代与数据相关的内容,如文件数据、时间数据、环境变量数据等。
date 命令
date 命令用于显示和设置系统的日期和时间。它非常常见,用于在脚本中记录时间戳或生成特定格式的时间信息。

  • 显示当前日期和时间:
date
  • 自定义日期格式:
date +"%Y-%m-%d %H:%M:%S"

df:显示磁盘空间使用情况,查看文件系统的数据存储情况。

df -h

du:查看特定目录或文件的磁盘使用情况。

du -sh /path/to/directory

cal:显示当前或指定月份的日历。

cal [month] [year]:显示特定月份的日历。
-y:显示当前年的日历。
-3:显示上月、当月和下月的日历。
df:查看磁盘空间使用情况。

cal       // 显示当前月的日历
cal 2024  // 显示2024年的日历

who:查看当前登录的用户信息。

who 命令用于查看当前登录的用户信息,包括用户名、登录终端、登录时间等。

who -u

使用 -u 参数可以看到用户登录的更多详细信息。

uname:查看系统信息。

uname 命令用于查看系统的内核和硬件信息。
-a:显示所有信息。

uname -a    // 查看所有系统信息
uname -r    // 查看内核版本

shutdown:关机或重启。

-t [time]:延迟关机。
-h:关机。

搜索与查找

grep:在文件中搜索指定字符串。

grep 命令用于在文件中查找包含特定字符串的行。

grep "keyword" filename.txt

find:查找文件或目录。

常用参数:-name 按名称查找,-type 按类型查找。
find 命令用于查找文件或目录,支持按名称、类型、大小等多种条件查找。

find /path -name "filename.txt"

压缩与解压缩

zip:用于创建压缩文件(.zip)。

zip 命令
zip 用于将文件或目录压缩成 .zip 文件格式。

基本用法

zip archive_name.zip file1 file2 file3

这会将 file1、file2 和 file3 压缩到 archive_name.zip 文件中。
压缩目录
要压缩整个目录及其内容,可以使用 -r 选项(递归压缩)。

zip -r archive_name.zip directory_name

unzip:解压 .zip 文件。

unzip 命令
unzip 用于解压 .zip 文件。

基本用法

unzip archive_name.zip

这会将 archive_name.zip 解压到当前目录。

解压到指定目录
可以使用 -d 选项指定解压目标目录:

unzip archive_name.zip -d /path/to/destination

zip:用于压缩文件或目录,使用 -r 选项递归压缩整个目录。
unzip:用于解压 .zip 文件,可以用 -d 选项指定解压路径。

tar:可以将多个文件或目录打包成一个文件,并支持压缩解压。

-c:创建归档。
-x:解压归档。
-z:使用 gzip 压缩。
-j:使用 bzip2 压缩。

tar -cvf archive.tar /path/to/directory      // 创建归档
tar -xvf archive.tar                         // 解压归档
tar -czvf archive.tar.gz /path/to/directory  // 创建 gzip 压缩归档
tar -xzvf archive.tar.gz                     // 解压 gzip 归档

计算与其他工具

bc:进行浮点运算。

bc 是 Linux 中的一个命令行计算器,常用于执行基本和高级的数学运算。bc 支持浮点运算、变量、函数定义,并且可以处理复杂的表达式。它非常适合在脚本或终端中进行计算。
基本用法
可以直接在命令行中运行 bc,进入一个交互式计算模式:

bc

退出交互模式时,按 Ctrl + D。

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

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

相关文章

ArrayList和Array、LinkedList、Vector 间的区别

一、ArrayList 和 Array 的区别 ArrayList 内部基于动态数组实现,比 Array(静态数组) 使用起来更加灵活: ArrayList 会根据实际存储的元素动态地扩容或缩容,而 Array 被创建之后就不能改变它的长度了。ArrayList 允许…

el-table相关的功能实现

1. 表格嵌套表格时&#xff0c;隐藏父表格的全选框 场景&#xff1a;当table表格设置复选&#xff08;多选&#xff09;功能时&#xff0c;如何隐藏表头的复选框&#xff0c;不让用户一键多选。 <el-table :header-cell-class-name"cellClass">// 表头复选框禁…

102. 管道漫游案例

通过一个轨迹线生成一个管道几何体&#xff0c;然后相机沿着该轨迹线移动&#xff0c;注意相机的方向要沿着轨迹线的切线方向&#xff0c;这样会形成一个管道漫游的效果。 管道几何体TubeGeometry、纹理贴图相机对象Camera的.position属性和.lookAt()方法 管道模型 课件源码“…

动态规划算法专题(九):完全背包问题

目录 1. 【模板】完全背包 1.1 算法原理 1.2 算法代码 1.3 空间优化 1.4 空间优化版本代码 2. 零钱兑换 2.1 算法原理 2.2 算法代码 3. 零钱兑换 II 3.1 算法原理 3.2 算法代码 4. 完全平方数 4.1 算法原理 4.2 算法代码 完全背包问题的初始化与 01 背包的初…

电动汽车与软件定义汽车(SDV)时代的汽车行业变革

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

LeetCode437. 路径总和 III(2024秋季每日一题 50)

给定一个二叉树的根节点 root &#xff0c;和一个整数 targetSum &#xff0c;求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始&#xff0c;也不需要在叶子节点结束&#xff0c;但是路径方向必须是向下的&#xff08;只能从父节点到子节点&am…

.NET Core WebApi第3讲:第一个Web Api项目

一、.NEt Core 1、运行模板项目 1&#xff09;仍然有controllers&#xff0c;说明WebApi是基于MVC模式的&#xff0c;只是对比之下这里没有MVC中的views。 因为WebApi只会向前台发送数据&#xff0c;不会向前台发送HTML页面。 2、验证模板项目的api 1&#xff09;法1&#xf…

第12次CCF CSP认证真题解

1、最小差值 题目链接&#xff1a;https://sim.csp.thusaac.com/contest/12/problem/0 100分代码&#xff1a; #include <iostream> #include <algorithm> using namespace std; int main(int argc, char *argv[]) {int n;cin >> n;int a[1010],b[1010];f…

【模型学习】

https://zhuanlan.zhihu.com/p/522344841 from transformers import AutoTokenizer tokenizer AutoTokenizer.from_pretrained(model_checkpoint) tokenizer("男女主角亦有专属声优这一模式是由谁改编的&#xff1f;", "任天堂游戏谜之村雨城") { input_…

数通自学——计算机网络基础知识IP地址、局域网、广域网、NAT、端口映射、子网掩码、网关、IPV4、IPV6

计算机网络基础知识IP地址、局域网、广域网、NAT、端口映射、子网掩码、网关、IPV4、IPV6 一、IP地址1、概念引入2、概念3、组成及分类 二、局域网和广域网1、局域网2、广域网 三、NAT与端口映射四、公网IP、私网IP五、IPV4与IPV6 一、IP地址 1、概念引入 现在思考一个问题&a…

IntelliJ IDEA 查看类class的结构Structure轮廓outline窗口, 快捷键是Alt+7

IntelliJ IDEA 查看类class的结构Structure轮廓outline窗口, 快捷键是Alt7 idea的结构Structure窗口相当于Eclipse的outline 快捷键是: Alt7 或者点击左上角主菜单面包屑,打开主菜单 然后菜单找到-视图&#xff08;View&#xff09;→ 工具窗口&#xff08;Tool Windows&…

鸿蒙开发--点击下拉菜单,同时最下面出现遮罩层的实现方法

效果展示 实现 除去最上面的Naviation标题&#xff08;房源列表&#xff09;&#xff0c;该页面有两个SearchFilter搜索筛选&#xff08;包括其中的下拉菜单&#xff09;&#xff0c;RoomList房源列表 根目录容器 显然&#xff0c;两个组件之间存在覆盖关系&#xff0c;所以…

【密码学】全同态加密张量运算库解读 —— TenSEAL

项目地址&#xff1a;https://github.com/OpenMined/TenSEAL 论文地址&#xff1a;https://arxiv.org/pdf/2104.03152v2 TenSEAL 是一个在微软 SEAL 基础上构建的用于对张量进行同态加密操作的开源Python库&#xff0c;用于在保持数据加密的状态下进行机器学习和数据分析。 Ten…

ssm旅游网页开发与设计+jsp

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码请私聊我 需要定制请私聊 目 录 摘 要 I 目 录 III 第1章 绪论 1 1.1 研究背景 1 1.2目的和意义 1 1.3 论文研究内容 1 第2章 程序…

银河麒麟V10系统下libopenblas.so.0和libllmlmf库的安装

1、当前linux服务器系统是银河麒麟V10&#xff0c;具体的内核和cpu型号如下&#xff1a; 2、使用:uname -a来进行查询 Linux localhost.localdomain 4.19.90-89.16.v2401.ky10.x86_64 #1 SMP Sat Sep 14 13:09:47 CST 2024 x86_64 x86_64 x86_64 GNU/Linux 3、在部署QT开发的应…

vue通过JSON文件生成KML文件源码

可以使用封装的json解析器进行JSON数据获取&#xff0c;读取点的经度、维度、高程等数据&#xff0c;再使用对应的KML文件生成函数使用该源码下载KML文件&#xff08;固定KML生成&#xff1a;js模板式生成大疆上云kml文件&#xff08;含详细注释&#xff0c;已封装成函数&#…

从病理AI的基础模型发展历程,看未来的医学AI发展趋势|个人观点·24-10-23

小罗碎碎念 在临床相关的人工智能&#xff08;AI&#xff09;模型发展方面&#xff0c;传统上需要大量标注数据集&#xff0c;这使得AI的进步主要围绕大型中心和私营企业展开。所以&#xff0c;在这期推文中&#xff0c;我会介绍一些已经商用的模型&#xff0c;并且为计划进军…

Minio文件服务器:SpringBoot实现文件上传

在Minio文件服务器部署成功后(参考上篇文章Minio文件服务器&#xff1a;安装)接下来我们通过SpringBoot框架写一个接口&#xff0c;来实现文件的上传功能&#xff1a;文件通过SpringBoot接口&#xff0c;上传到Minio文件服务器。并且&#xff0c;如果上传的文件是图片类型&…

裴蜀定理与欧几里得算法——蓝桥杯真题中的应用

目录 裴蜀定理&#xff08;Bzouts Theorem&#xff09;1、定义2、推论3、欧几里得算法4、多个整数的裴蜀定理扩展 真题挑战解题思路代码实现与详细注释代码解析 裴蜀定理&#xff08;Bzout’s Theorem&#xff09; 1、定义 对于任意两个整数 a 和 b &#xff0c;如果它们的最…

Gateway 统一网关

一、初识 Gateway 1. 为什么需要网关 我们所有的服务可以让任何请求访问&#xff0c;但有些业务不是对外公开的&#xff0c;这就需要用网关来统一替我们筛选请求&#xff0c;它就像是房间的一道门&#xff0c;想进入房间就必须经过门。而请求想要访问微服务&#xff0c;就必须…