当前位置: 首页 > news >正文

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

文章目录

  • 查看 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//显示全部文件    也可以写成llls -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.mrgr.cn/news/59958.html

相关文章:

  • RT8H8K001_RT6809CNN01/RT8889CNN03_SPI-4参考程序
  • 算法的学习笔记—左旋转字符串(牛客JZ58)
  • 前端SSE-EventSource message事件执行异常问题
  • 华为OD机试真题-考勤信息
  • LDR6328:助力小家电实现TYPE-C接口快充输入
  • MQ 该怎么选择? 怎么选择适合自己?
  • 基于SpringBoot的中药材进存销管理系统设计与实现
  • 在浏览器中运行 Puppeteer:解锁新能力
  • React 中组件通信的几种主要方式
  • Python实现摇号系统
  • 还没想好说什么
  • Linux:指令再认识
  • 【在WindoWs 10 cmd查询管理目录下所有文件及其相对位置】
  • C语言基础题(大合集2)
  • 重学SpringBoot3-Spring WebFlux之SSE服务器发送事件
  • Rust中常用的命令工具
  • 存储期类别
  • Autosar 启动过程-基于ETAS工具
  • StringBuilder——练习
  • Java | ReentrantLock 锁和 synchronized 锁的区别和共同特点是什么?
  • redis详细教程(2.List教程)
  • IllegalMonitorStateException:Illegal Monitor Operation 完美解决方法 ⚙️
  • Vue2 关于指令
  • 面向对象编程中类与类之间的关系(一)
  • git的学习之远程进行操作
  • 我的世界方块改进版