【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。

相关推荐
风吹落叶花飘荡4 分钟前
从零开始的 vue项目部署到服务器详细步骤(vue项目build打包+nginx部署+配置ssl证书)
服务器·vue.js·nginx
很楠不爱6 分钟前
Qt——信号和槽
服务器·数据库·qt
神技圈子9 分钟前
【linux经典工具】作为一个合格的开发人员怎能不会tmux
linux·运维·服务器
Bold!22 分钟前
最新ubuntu22.04 下列软件包有未满足的依赖关系 解决方案
linux·运维·服务器
itachi-uchiha1 小时前
Linux特种文件系统--tmpfs文件系统
linux·运维·服务器
、十一、1 小时前
Linux中FTP安装
linux·服务器·网络
ahardstone1 小时前
Vim的简单使用
linux·编辑器·vim
huhy~1 小时前
基于centos7.9搭建MariaDB10.5高可用集群
linux·mariadb
陌夏微秋1 小时前
02 Linux常用软件——vi、vim
linux·运维·vim
黑不溜秋的1 小时前
C++ 在项目中使用vim
linux·编辑器·vim