【知识讲解】 Linux漫漫长路的起始--基础命令的了解


目录

前言

[Part1. Linux 文件系统基础逻辑](#Part1. Linux 文件系统基础逻辑)

[Part1.1. 文件结构规则](#Part1.1. 文件结构规则)

[Part1.2. 路径两大分类](#Part1.2. 路径两大分类)

[Part1.3. 家目录与波浪号 ~](#Part1.3. 家目录与波浪号 ~)

[Part2. 最常用基础目录操作命令](#Part2. 最常用基础目录操作命令)

[Part2.1. 基础查看类命令](#Part2.1. 基础查看类命令)

[Part2.2. 目录切换、创建命令](#Part2.2. 目录切换、创建命令)

[Part2.3. 文件创建、删除命令](#Part2.3. 文件创建、删除命令)

[Part3. 文件读写、查看与编辑命令](#Part3. 文件读写、查看与编辑命令)

[Part4. 拷贝、别名、编译相关命令](#Part4. 拷贝、别名、编译相关命令)

[Part4.1. 拷贝命令 cp](#Part4.1. 拷贝命令 cp)

[Part4.2. 命令别名 alias](#Part4.2. 命令别名 alias)

[Part4.3. C语言编译命令 gcc](#Part4.3. C语言编译命令 gcc)

[Part5. 手册查看、系统时间](#Part5. 手册查看、系统时间)

[Part5.1. man 手册](#Part5.1. man 手册)

[Part5.2. 文件时间 stat](#Part5.2. 文件时间 stat)

[Part6. 其他知识](#Part6. 其他知识)

[Part7. 结语](#Part7. 结语)


前言

Linux作为当代最重要的操作系统之一,了解他是必要的,所以接下来跟随小编的视角来看看吧。


let's go!!!!!!!!


Part1. Linux 文件系统基础逻辑

Part1.1. 文件结构规则

<1> Linux 一切皆文件:硬件、目录、普通文件、设备都被抽象为文件。

<2> 命名规则:文件名可以使用 x、y、数字等;. 开头的文件是隐藏文件。

<3> 文件两大组成:文件内容 + 文件属性,我们操作文件本质就是操作内容或者属性。

<4> 文件类型判断:ls -l 列出的第一字符标识类型

◦ -:普通文件(文本、可执行程序等)

◦ d:目录(文件夹)


Part1.2. 路径两大分类

<1> 绝对路径:从根目录 / 开始写完整路径,配置文件、脚本里优先使用,保证路径永远不会出错。
示例:/home/ubuntu/test.c

<2> 相对路径:从当前所在目录开始书写,日常手动敲命令最常用。

◦ . 代表当前目录

◦ .. 代表上一级目录

◦ ../../ 可以跨多层目录向上跳转

P.S. Linux 路径分隔符是 /,Windows 是 \,不要混用。


Part1.3. 家目录与波浪号 ~

<1> ~ 是当前登录用户的家目录缩写,普通用户一般是 /home/用户名,root 用户家目录是 /root。

<2> 登录终端默认会处在自己的家目录下。

<3> cd -:可以在最近两个访问过的目录之间快速来回跳转。


Part2. 最常用基础目录操作命令

Part2.1. 基础查看类命令

<1> clear 清空终端屏幕 快捷键 Alt+Enter 可以切换全屏

<2> pwd 打印当前所在目录的绝对路径 看自己现在在哪

<3> whoami 查看当前登录的用户名 判断是普通用户还是root

<4> ls 列出当前目录下的文件名 默认只显示名称

<5> ls -l 列出文件+完整属性(权限、大小、时间、所有者) 最常用参数

<6> ls -a 显示所有文件,包含隐藏文件(.开头) 可以组合:ls -al / ls -la

<7> ls -d 只查看目录本身属性,不打开目录看内部文件 ls -ld /etc 查看目录属性


Part2.2. 目录切换、创建命令

<1> cd 目录名:切换进入指定目录

<2> cd .. 回到上级目录

<3> cd / 直接进入 Linux 根目录

<4> cd ~ 回到自己的家目录

<5> mkdir 目录名:创建单层目录

<6> mkdir -p a/b/c/d:递归创建多级嵌套目录,不用逐层手动创建


Part2.3. 文件创建、删除命令

<1> touch 文件名:创建一个空普通文件(哪怕是空文件也会拥有属性)

<2> rm 文件名:删除普通文件(会有确认提示)

<3> rm -f 文件名:强制删除文件,不弹出确认询问

<4> rm -r 目录名:删除目录(目录是树形结构,必须加-r递归删除)

!!!高危警告:rm -rf * 会清空当前目录所有内容,不要在根目录随便执行!


Part3. 文件读写、查看与编辑命令

<1> cat 文件名:查看文件内部文本内容(不能用来打开目录)


<2> vim 文件名:调用 Vim 编辑器编写/修改代码文本(C语言写代码必备)


<3> ./可执行文件名:运行当前目录下的编译好的程序(C/C++编译后的程序用这个运行)

->前提:文件拥有可执行权限,并且系统能检索到这个文件


Part4. 拷贝、别名、编译相关命令

Part4.1. 拷贝命令 cp

<1> cp 源文件 目标位置:拷贝文件,目标不存在则自动创建,支持绝对/相对路径

<2> cp -r 源目录 目标位置:拷贝文件夹,目录是递归结构,必须加 -r 参数递归拷贝

<3> cp -f:强制覆盖已有文件,不询问


Part4.2. 命令别名 alias

<1> 作用:给长命令起一个简短别名,简化输入

<2> 示例:alias ll='ls -l --color=auto',之后输入 ll 就等价于 ls -l

<3> 缺点:临时生效,系统重启/重新登录后别名会消失,想要永久生效需要写入配置文件


Part4.3. C语言编译命令 gcc

gcc code.c -o mycmd
<1> 作用:把 .c 源代码编译成 Linux 可执行程序 mycmd(类似Windows的exe)

<2> 编译完成后可以用 ./mycmd 运行程序

<3> 进阶用法:cp mycmd /usr/bin/,把自制程序放到系统命令目录,全局任意目录都能直接输入名字运行(相当于自制系统命令)


Part5. 手册查看、系统时间

Part5.1. man 手册

<1> man 命令名:查看该命令的官方完整文档、参数、用法(按 q 退出手册页面)

<2> man x y:可以在手册页里交叉查阅其他命令,相当于C语言的函数调用查阅

<3> 区分两个容易混淆的 printf:

◦ C语言代码里的 printf:标准库函数(man 3 printf)

◦ shell 终端命令里的 printf:系统shell命令(man 1 printf)


Part5.2. 文件时间 stat

stat 文件名:查看文件三个核心时间戳

<1> Access(atime):文件最后一次被读取访问的时间

<2> Modify(mtime):文件内容最后一次被修改的时间

<3> Change(ctime):文件属性最后一次被修改的时间(权限、所有者、链接数改变都会更新ctime,改内容也会顺带改ctime


Part6. 其他知识

<1> 通配符 *:模糊匹配,test* 匹配所有以 test 开头的文件

<2> Ctrl + c:终止当前卡住、死循环、异常运行的命令/程序

<3> 目录不能直接 rm 删除,必须加 -r;强制删除加 -f


Part7. 结语

这篇文章我们认识到了Linux命令相关知识,接下来,小编还会带来更多有关的知识,敬请期待~
最后,祝大家可以:春风得意马蹄疾,一日看尽长安花!

最后的最后,要是觉得本文还可以的话,可以点点赞,关注小编一波,谢谢大家!~

相关推荐
草莓熊Lotso1 小时前
【Linux网络】从0手写Reactor反应堆(二):完善核心细节——ET非阻塞读写、分层架构与回调机制
linux·运维·服务器·网络·c++·tcp/ip·架构
mounter6251 小时前
深度解析 eBPF LSM:如何利用 eBPF 构建安全的 Linux 内核纵深防御体系
linux·安全·ebpf·linux kernel·kernel
Brilliantwxx2 小时前
【Linux】 第一个程序终端进度条
linux·运维·服务器
AI创界者2 小时前
【网络安全运维】Kali Linux 下 Medusa(美杜莎)工具的高效部署、故障排查与安全测试实战
linux·运维·web安全
FinelyYang2 小时前
CentOS 7.6 自建 LiveKit 部署指南
linux·运维·centos
Huangjin007_2 小时前
【Linux 系统篇(十四)】进程 (二) :PCB、task_struct、fork系统调用
linux·运维·服务器
深念Y3 小时前
hotspot-adb-research
linux·数据库·adb·emmc·随身wifi·移动终端
雨田言炎3 小时前
十、QThread多线程
linux·服务器·开发语言·前端·qt
海兰3 小时前
云原生持续交付平台 Zadig 在 Ubuntu 24.04 上的部署及使用指南
linux·ubuntu·云原生