【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//显示全部文件    也可以写成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。

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

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

相关文章

第三讲、C的运算符和表达式

一、运算符分类: (1)按运算对象的数目: 单目运算符 双目运算符 三目运算符 (2)按运算对象的数目: 算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、自增自减运算符、…

菜叶子芯酸笔记3:GPU、GPGPU、CUDA之间的关系;CUDA之外;Tensor Core

我今天看到B站一个up主很好的资料【云计算科普研究所的个人空间-云计算科普研究所个人主页-哔哩哔哩视频】,结合我这周的积累整理了这份我觉得相比之前逻辑更加完善的笔记。 先是GPU到GPGPU 到CUDA之间进化关系部分,然后CUDA之外的友商竞品部分&#xf…

orbslam安装

1.linux操作命令 pwd:查看终端所在路径 cd:切换路径 cd ..:跳回到上级目录 ls: 列出当前路径下的所有文件夹 touch:创建新的文件 mv :移动文件(在该文件所在目录的路径下执行此操作) 例如:mv test_file /ho…

vue3中mitt和pinia的区别和主要用途,是否有可重合的部分?

在 Vue 中,Mitt 和 Pinia 是两个不同的工具,它们的主要用途和功能有所不同,但在某些方面也存在重合的部分。 区别 Mitt: Mitt 是一个简单而强大的事件总线库,用于在组件之间进行事件的发布和订阅。 它提供了一种简洁…

讲一讲 kafka 的 ack 的三种机制?

大家好,我是锋哥。今天分享关于【K讲一讲 kafka 的 ack 的三种机制?】面试题?希望对大家有帮助; 讲一讲 kafka 的 ack 的三种机制? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Kafka的消息确认机制&…

python实战项目46:selenium爬取百度新闻

python实战项目46:selenium爬取百度新闻 一、项目简介二、完整代码一、项目简介 思路是首先使用selenium打开百度新闻页面,然后实现翻页操作,获取每条新闻的标题和链接。接下来的问题是,在遍历标题和链接,对每一个链接发送请求时,发现会弹出百度安全验证,本文的思路是使…

远程root用户访问服务器中的MySQL8

一、Ubuntu下的MySQL8安装 在Ubuntu系统中安装MySQL 8.0可以通过以下步骤进行1. 更新包管理工具的仓库列表: sudo apt update 2. 安装MySQL 8.0,root用户默认没有密码: sudo apt install mysql-server sudo apt install mysql-client 【…

动态规划 - 背包问题 - 01背包

01背包问题 二维数组 1. 确定dp数组(dp table)以及下标的含义:dp[i][j]-下标为[0,i]的物品,任取放容量为j的背包中的最大价值 2. 确定递推公式:dp[i][j] max(dp[i-1][j](不放物品i), dp[i-1][j-weight[i]]…

研发效能DevOps: Vite 使用 Vue Router

目录 一、实验 1.环境 2.初始化前端项目 3.安装vue-router 4.Vite 使用 Vue Router 二、问题 1.运行出现空页面 2.Vue Router如何禁止页面回退 一、实验 1.环境 (1)主机 表1 主机 系统 软件版本备注Windows11VS Code1.94.2Node.jsv18.20.4(LT…

Redis 篇-深入了解在 Linux 的 Redis 网络模型结构及其流程(阻塞 IO、非阻塞 IO、IO 多路复用、异步 IO、信号驱动 IO)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 用户空间与内核空间概述 2.0 Redis 网络模型 2.1 Redis 网络模型 - 阻塞 IO 2.2 Redis 网络模型 - 非阻塞 IO 2.3 Redis 网络模型 - IO 多路复用 2.3.1 IO 多路复…

WPF LiveChart控件基础属性介绍

WPF LiveChart控件基础属性介绍 在Nuget添加方法如下&#xff1a; 然后在xaml中添加引用&#xff1a; xmlns:lvc"clr-namespace:LiveCharts.Wpf;assemblyLiveCharts.Wpf"调用控件&#xff1a; <lvc:CartesianChart Name"chart" Margin"40"…

Java应用程序的服务器有哪些

1.Tomcat、Jetty 和 JBoss 区别&#xff1f; Apache Tomcat、Jetty 和 JBoss都是用于部署Java应用程序的服务器&#xff0c;它们都支持Servlet、JSP和其他Java EE&#xff08;现在称为Jakarta EE&#xff09;技术。尽管它们有一些相似的功能&#xff0c;但它们之间还是存在一些…

DownUnderCTF web sniffy

题目中给了源码 在index.php中将flag的值赋给了session[flag] session[theme]接收GET传入的theme参数。。。??是PHP中的空合并运算符它的作用是检查左侧的值是否存在且不为null。如果存在&#xff0c;则返回左侧的值&#xff1b;如果不存在&#xff0c;则返回右侧的值。 …

用友U8接口-采购管理(8)

概括 本文的操作需要正确部署U8API主要讲述采购管理接口的使用&#xff0c;以采购订单为例&#xff0c;其他单据接口都是大同小异的&#xff01;许多时候先在ERP做个单&#xff0c;然后仿造ERP单据参数&#xff0c;构造接口JSON参数是不错的做法哦 ERP单据金额计算 在ERP的许…

3DCAT亮相2024中国国际消费电子博览会,引领AI潮流

2024年10月18日-20日&#xff0c;备受瞩目的2024中国国际消费电子博览会&#xff08;以下简称“电博会”&#xff09;在青岛国际会展中心&#xff08;红岛馆&#xff09;盛大开幕。作为消费电子领域的盛会&#xff0c;本次电博会吸引了国内外300多家企业参展&#xff0c;展示了…

android openGL ES详解——缓冲区VBO/VAO/EBO/FBO/离屏渲染

目录 一、缓冲区对象概念 二、分类 三、顶点缓冲区对象VBO 1、概念 2、为什么使用VBO 3、如何使用VBO 生成缓冲区对象 绑定缓冲区对象 输入缓冲区数据 更新缓冲区中的数据 删除缓冲区 4、VBO应用 四、顶点数组对象VAO 1、概念 2、为什么使用VAO 3、如何使用VAO…

Django-中间件(切面编程AOP)

自定义中间件 官网&#xff1a;中间件 | Django 文档 | Django 中间件使用多就在主应用创建&#xff0c;仅限于子应用就在子引用中创建中间件文件.py 之后在settings.py文件中去配置中间件,运行的时候会自动调用中间件 def simple_middleware(get_response):def middleware…

数据结构和算法-动态规划(1)-认识动态规划

认识动态规划 什么是动态规划 Dynamic Programming is a method used in mathematics and computer science to solve complex problems by breaking them down into simpler subproblems. By solving each subproblem only once and storing the results, it avoids redundan…

centos-LAMP搭建与配置(论坛网站)

文章目录 LAMP简介搭建LAMP环境安装apache&#xff08;httpd&#xff09;安装mysql安装PHP安装php-mysql安装phpwind LAMP简介 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写&#xff1a;Linux操作系统&#xff0c;网页服务器Apache&#xff0c;…

网络文件系统nfs实验1

服务端&#xff1a; 这个指令是搜索nfs相关的软件包 安装nfs相关的软件包&#xff1a; 列出已安装的nfs-utils软件包中的文件列表&#xff1a; 写配置文件&#xff1a;允许192.168.234.0/24这个网段的客户端能读写这个路径 重新导出所有当前已导出的文件系统&#xff1a; 启动…