- 作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。
- 座右铭:低头赶路,敬事如仪
- 个人主页:网络豆的主页
前言
本章将会讲解Linux的常用命令。
一.常用命令
1.Linux的基本原则:
- 1.由目的单一的小程序组成;组合小程序完成复杂任务;
- 2. 一切皆文件;
- 3. 尽量避免捕获用户接口;(尽量不和用户进行交互,就是一个程序一但开始运行,就不需要用户进行任何操作,如ls命令,ifconfig命令)
- 4. 配置文件保存为纯文本格式
用户接口:
是一种独特的应用程序,能够为用户提供启动其他应用程序的机制
CLI :命令提示符,用户输入命令即可
shell:sh,csh,ksh,bash,zsh,tcsh
GUI : 图形界面用户接口,一般通过点击来启动应用程序
- GNOME:C语言
- KDE:C
- XFCE:轻量级
终端类型 : tty 命令可以查看
- 虚拟终端(tty1-6) /dev/tty# #号为数字号码
- 伪终端(ssh、Telnet连接称为伪终端或者在图形界面下打开的终端) /dev/pts/#
- 物理终端(console) /dev/console
- 串行终端(使用特定速率向外打印字符,通过串行接口连接)/dev/ttyS#
- 图形终端:可以使用startx命令启动 startx -- :2 可以启动第二个图形终端
2.命令形式
命令格式:
命令 选项 参数
选项:
- 短选项: - 输入快捷简单
- 多个选项可以组合:-a -b = -ab
- 长选项: -- 意思明了
参数:命令的作用对象
命令分为内部命令和外部命令
- 内部命令:是系统shell自带的命令
- 外部命令:是安装其他的程序产生的命令。
- 可以通过 type 查看命令是内部还是外部命令: type 命令关键字
帮助的方式:
- 1. 内部命令可以通过:help 命令 例子: help cd
- 2. 外部命令可以通过:命令 --help 例如:ls --help
- 3. 可以通过man命令获取命令帮助: 例如: man cd whatis 查看都有哪 些man章节
- 4. 可以通过info命令获取命令帮助: 例如: info cd
- 5. 通过百度google等搜索引擎 可以寻求帮助
- 6. 可以通过下载一个linux的中文命令大全
3.命令举例:ls
常用选项:
- -h:做单位转换
- -a: 显示以.开头的隐藏文件
- . 表示当前目录
- .. 表示父目录-A
- -d: 显示目录自身属性
- -i: index node, inode
- -r: 逆序显示
- -R: 递归(recursive)显示
ls -l:长格式
长格式查看结果
文件类型: 可使用 file 命令查看
- -:普通文件 (f)
- d: 目录文件
- b: 块设备文件 (block)就是存储数据以供系统存取的接口设备,简单而言就是硬盘
- c: 字符设备文件 (character)即串行端口的接口设备,例如键盘、鼠标等等
- l: 符号链接文件(symbolic link file)
- p: 命令管道文件(pipe)是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误
- s: 套接字文件(socket)这类文件通常用在网络数据连接。
- PS: 我们可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。
- 最常在 /var/run目录中看到这种文件类型。
文件权限: 9 位,每 3 位一组,每一组: rwx( 读,写,执行 ), r--文件硬链接的次数 文件的属主 (owner) 文件的属组 (group) 文件大小 (size) ,单位是字节
- 时间戳(timestamp):最近一次被修改的时间(mtime),可以使用stat命令可以看到
- 访问:access atime 是在读取文件或者执行文件时更改的
- 修改:modify, mtime 是在写入文件时随文件内容的更改而更改的改变:change, ctime metadata,元数据 状态改变 是在写入文件、更改所 有者、权限或链接设置时随inode 的内容更改而更改的。
4.文件系统
FHS: filesystem hierarchy standard 文件系统层级标准
rootfs () : 根文件系统 /
- /boot: 系统启动相关的静态文件,如内核、initrd或者initramfs,以及grub(bootloader)
- /dev: 所有设备的设备文件,设备文件也称为特殊文件(仅有元数据,没有数据,是设备的入口)
设备文件:
- 块设备:随机访问,数据块
- 字符设备:线性访问,按字符为单位
- 设备号:主设备号(major)和次设备号(minor) 主设备号相同的设备是同类设备(使用同一个驱动程序)
通过 cat /proc/devices 命令查看当前已经加载的设备驱动程序的主设备号 例如:
ls -l /dev/sr0 brw-rw---- 1 root cdrom 11, 0 4 月 1 08:59 /dev/sr0
11 为主设备号, 0 为次设备号
/etc : 配置文件
/home : 普通用户的家目录,每一个用户的家目录通常默认 为 /home/USERNAME
/root:管理员的家目录;
/lib :基本的共享库和内核模块 库文件 本质上来说库是一种可执行代码的二进制形式,可以被操作系统 载入内存执行。
静态库 , .a 静态库的代码在编译过程中已经被载入可执行程序,因此体积较 大
动态库, .dll, .so (shared object) 共享库的代码是在可执行程序运行时才 载入内存的,在编译过程中仅简单的引用,因此代码体积较小。
/lib/modules :内核模块文件
/media :为了移动设备的挂载点目录,例如光盘、 U 盘
/mnt :挂载点目录,额外的临时文件系统
/opt :可选目录,第三方程序的安装目录
/proc :内核及进程信息的虚拟文件系统,伪文件系统,内核映射文件,只 存在内存中,它以文件系统的方式为访问系统内核数据的操作提供接口。
/sys :伪文件系统,硬件设备信息虚拟文件系统接口,跟硬件设备相关的属 性映射文件,该目录下是全局设备结构体系,包含所有被发现的注册在各 种总线上的各种物理设备
/tmp :临时文件 , /var/tmp
/var : 可变化的文件(内容发生变化) /var/log 日志信息
/var/log 日志信息
/bin: 基础的用户命令二进制程序 , 为所有用户使用 /sbin :系统二进制程序,一般为管理命令 /bin 和
/sbin 系统自身启动和运行时可能会用到的核心二进制命令
/usr: shared, read-only ( Unix System Resource, 即 Unix 系统资源的缩 写),不适合放在 /bin 或 /etc 目录下的额外的工具
/usr/bin 大多数用户使用到的命令 /usr/sbin 非核心的系统命令 /usr/bin 和 /usr/sbin 系统运行时,用户为完成某种操作可能用到的命令 /usr/lib /usr/local :主要存放那些手动安装的软件
- /usr/local/bin
- /usr/local/sbin
- /usr/local/lib
- /usr/share/man /usr/share/doc 帮助文件
应用程序的组成部分:
二进制文件、库文件、配置文件、帮助文件
路径:
- 绝对路径:凡是以“/”开头的输入路径的方式都是绝对路径
- 相对路径:凡是以“.”或者“..”开头的都是相对路径
每个绝对路径都可以切割成 2 部分:
- 基名: basename /path/to/somewhere 结果为somewhere
- 目录名: dirname /path/to/somewhere 结果为/path/to
查看服务器基本信息
常用命令
代码语言:javascript复制命令含义
cat /proc/cpuinfo 查看cpu信息
cat /proc/meminfo 查看内存信息
free 查看内存使用情况
uptime 监控CPU情况
cat /etc/redhat-release 查看发行版信息
hostname 查看主机名
ip addr 查看ip信息
ifconfig 查看ip信息
netstat 查看网络连接信息、路由表等,常用来查看端口打开情况
fdisk -l 查看硬盘信息
df 查看设备挂载信息
创作不易,求关注,点赞,收藏,谢谢~