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

文章目录

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

  1. 查看ip地址

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

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

Linux基础文件操作指令

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

语法

cpp 复制代码
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 一行只输出一个文件。

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

mkdir:创建新目录。

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

文件和目录管理

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

cpp 复制代码
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 :仅移动比目标文件更新的文件。

常用示例:

cpp 复制代码
mv oldname.txt newname.txt   // 重命名文件
mv file.txt /new/path/       // 移动文件

功能:

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

rm:删除文件或目录。

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

常用示例:

cpp 复制代码
rm file.txt              // 删除文件
rm -r directory/         // 删除目录

文件内容查看与文本处理

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

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

more:逐页显示文件内容。

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

cpp 复制代码
more filename.txt

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

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

基本用法

cpp 复制代码
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 系统中用于在终端上输出文本或变量内容。它可以用来打印消息、查看变量的值、生成输出到文件等。

cpp 复制代码
echo "Hello, World!"   // 输出文本
echo "Hello, World!" > file.txt   // 输出到文件

系统信息和时间管理

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

在 Linux 中,data 通常并不是一个单独的命令,而是指代与数据相关的内容,如文件数据、时间数据、环境变量数据等。
date 命令

date 命令用于显示和设置系统的日期和时间。它非常常见,用于在脚本中记录时间戳或生成特定格式的时间信息。

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

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

cpp 复制代码
df -h

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

cpp 复制代码
du -sh /path/to/directory

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

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

cpp 复制代码
cal       // 显示当前月的日历
cal 2024  // 显示2024年的日历

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

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

cpp 复制代码
who -u

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

uname:查看系统信息。

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

cpp 复制代码
uname -a    // 查看所有系统信息
uname -r    // 查看内核版本

shutdown:关机或重启。

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

搜索与查找

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

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

cpp 复制代码
grep "keyword" filename.txt

find:查找文件或目录。

常用参数:-name 按名称查找,-type 按类型查找。

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

cpp 复制代码
find /path -name "filename.txt"

压缩与解压缩

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

zip 命令

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

基本用法

cpp 复制代码
zip archive_name.zip file1 file2 file3

这会将 file1、file2 和 file3 压缩到 archive_name.zip 文件中。

压缩目录

要压缩整个目录及其内容,可以使用 -r 选项(递归压缩)。

cpp 复制代码
zip -r archive_name.zip directory_name

unzip:解压 .zip 文件。

unzip 命令

unzip 用于解压 .zip 文件。

基本用法

cpp 复制代码
unzip archive_name.zip

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

解压到指定目录

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

cpp 复制代码
unzip archive_name.zip -d /path/to/destination

zip:用于压缩文件或目录,使用 -r 选项递归压缩整个目录。

unzip:用于解压 .zip 文件,可以用 -d 选项指定解压路径。

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

-c:创建归档。

-x:解压归档。

-z:使用 gzip 压缩。

-j:使用 bzip2 压缩。

cpp 复制代码
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,进入一个交互式计算模式:

cpp 复制代码
bc

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

相关推荐
Fleshy数模6 分钟前
CentOS7 安装配置 MySQL5.7 完整教程(本地虚拟机学习版)
linux·mysql·centos
a413244711 分钟前
ubuntu 25 安装vllm
linux·服务器·ubuntu·vllm
Configure-Handler18 分钟前
buildroot System configuration
java·服务器·数据库
津津有味道34 分钟前
易语言TCP服务端接收刷卡数据并向客户端读卡器发送指令
服务器·网络协议·tcp·易语言
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.1 小时前
Keepalived VIP迁移邮件告警配置指南
运维·服务器·笔记
Genie cloud2 小时前
1Panel SSL证书申请完整教程
服务器·网络协议·云计算·ssl
一只自律的鸡2 小时前
【Linux驱动】bug处理 ens33找不到IP
linux·运维·bug
17(无规则自律)2 小时前
【CSAPP 读书笔记】第二章:信息的表示和处理
linux·嵌入式硬件·考研·高考
!chen2 小时前
linux服务器静默安装Oracle26ai
linux·运维·服务器
莫大3302 小时前
2核2G云服务器PHP8.5+MySQL9.0+Nginx(LNMP)安装WordPress网站详细教程
运维·服务器·nginx