Linux系统编程(基础指令)上

1.Linux常见目录介绍

Linux目录为树形结构

  • **/:**根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入"/home",你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。
  • /bin: 是Binary的缩写,这个目录存放着经常使用的命令
  • /usr/bin: 系统用户使用的应用程序
  • **/boot:**放置linux系统启动时用到的一些文件。
  • **/dev:**该目录存放的是Linux外部设备,在Linux中访问设备的方式和访问文件的方式是相同的,即把设备当作文件来使用
  • /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件。
  • **/home:**系统默认的用户主(家)目录,新增用户账号时,用户的家目录都存放在此目录下。
  • **/lib:**系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。
  • **/lost+fount:**系统异常产生错误时,会将一些遗失的片段放置于此目录下。
  • **/mnt:/media:**光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。
  • **/opt:**给主机额外安装软件所摆放的目录。
  • /proc:这个目录是一个虚拟目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里。
  • **/root:**系统管理员root的家目录。
  • **/sbin:/usr/sbin:/usr/local/sbin:**放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。
  • /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。
  • **/srv:**服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。
  • /usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录。
  • **/var:**放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。

2.Linux命令解析器

Bash解析器常用快捷键

(1) Tab键

  • 补齐命令
  • 补齐路径
  • 显示当前目录下的所有目录

(2) 清屏

clear作用为清除终端上的显示,也可使用快捷键:Ctrl + L 。

(3)中断进程

ctlr+c的作用是中断终端的操作。

(4) 遍历输入的历史命令

  • 从当前位置向上遍历:ctrl + p (
  • 从当前位置向下遍历: ctrl + n(

(5) 光标相关操作

  • 光标左移: ctrl + b (
  • 光标右移: ctrl + f (
  • 移动到头部: ctrl + a(Home
  • 移动到尾部: ctlr + e(End

(6) 字符删除

  • 删除光标前所有内容:ctrl + u

  • 删除光标后所有内容:ctrl + k

3.Linux系统相关快捷键

终端相关快捷键

Ctrl + Shift + N 新建一个终端

Ctrl + Shift + T 在终端里新建一个标签

Ctrl + Shift + W 关闭标签页

Ctrl + Shift + Q 关闭窗口

Ctrl + Shift + C 复制

Ctrl + Shift + V 粘贴

Alt + [1 - 9] 标签之间切换

Ctrl + Shift + = 放大终端字体

Ctrl + - 缩小终端字体

F11 全屏 再次按F11退出全屏

Ctrl + D 关闭当前一个终端

Alt + F4 关闭整个终端

4.内建命令和外部命令

内建命令是指bash(或其它版本)工具中集成的命令。一般都会有一个与之同名的系统命令,比如bash中的echo命令与/bin/echo是两个不同的命令,尽管他们行为大体相仿。当在bash中键入一个命令时系统会先看他是否是一个内建命令,如果不是才会查看是否是系统命令或第三方工具。所以在bash中键入echo命令实际上执行bash工具集中的bash命令也就是内建命令,而不是/bin/echo这个系统命令。

外部命令就是由Shell副本(新的进程)所执行的命令。

命令类型查看方法:type [-aftp] 名称

举例:

5.帮助文档查看方法

man 是 Linux 提供的一个手册,包含了绝大部分的命令、函数使用说明。

该手册分成很多章节(section),使用 man 时可以指定不同的章节来浏览不同的内容。

man中各个section意义如下

man使用格式:man [选项] 命令名

例:例如我们想查看ls的用法

1代表第一个章节

内建命令(help)

内建命令是指那些由 shell 自己提供的简单、基础的命令,而不是独立的程序。这些命令不需要从磁盘上加载代码,因此执行速度更快

使用示例:

外部命令(--help)

外部命令则需要shell创建一个新的进程来执行,这会增加系统开销,导致执行速度相对较慢。

6.绝对路径和相对路径

绝对路径:

  • 绝对路径是从目录树的树根"/"目录开始往下直至到达文件所经过的所有节点目录。
  • 下级目录接在上级目录后面用"/"隔开。
  • 注意:绝对路径都是从"/"开始的,所以第一个字符一定是"/"。

相对路径:

  • 相对路径是指目标目录相对于当前目录的位置。
  • 如果不在当前目录下,则需要使用两个特殊目录"."和".."了。目录"."指向当前目录,而目录".."是返回上级目录。
相关推荐
小O_好好学14 分钟前
Linux帮助命令
linux·运维·服务器
莫泽Morze25 分钟前
VMware安装rustdesk服务器
运维·服务器
卡戎-caryon35 分钟前
【操作系统】01.冯·诺伊曼体系结构
服务器·笔记·操作系统·冯·诺伊曼体系结构
OH五星上将36 分钟前
OpenHarmony(鸿蒙南向开发)——标准系统方案之瑞芯微RK3568移植案例(下)
linux·驱动开发·嵌入式硬件·harmonyos·openharmony·鸿蒙开发·系统移植
周湘zx1 小时前
k8s中的微服务
linux·运维·服务器·微服务·云原生·kubernetes
Jack黄从零学c++1 小时前
自制网络连接工具(支持tcpudp,客户端服务端)
linux·c语言·开发语言·网络协议·tcp/ip·udp·信息与通信
-杀意感知-2 小时前
Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解
linux
周湘zx2 小时前
k8s中的存储
linux·运维·云原生·容器·kubernetes
Linux猿2 小时前
828华为云征文 | 云服务器Flexus X实例:one-api 部署,支持众多大模型
服务器·大模型·llm·华为云·flexus云服务器x实例·华为云服务器·one-api