Linux运维基础 本节介绍关于Linux的基本操作。 以CentOS为主要操作版本。 文件目录 Linux系统特性:一切皆文件。 主要目录结构: Bin:全称binary,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。 Dev:该目录中主要存放的是外界设备,例如硬盘、光盘等。在其中的外接设备不能直接被使用,需要挂载(类似windows下的分配盘符)。 Etc:该目录主要存储一些配置文件。 Home:表示“家”,除了root用户以外其他用户的家目录,类似于windows下的User用户目录。 Proc:process,表示进程,该目录中存储的是Linux运行时候的进程。 Root:该目录是root用户自己的家目录。 Sbin:全称super binary,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。 Tmp:表示“临时”的,当系统运行时产生的临时文件会在这个目录存放。 Usr:存放的是用户自己安装的软件,类似于windows下的program files。 Var:存放程序/系统的日志文件的目录。 Mnt:当外挂设备需要挂载的时候,就需要挂载到mnt目录下。 指令和选项 一个完整的指令的标准格式,Linux通用格式 指令 [选项] [操作对象] 一个指令可以包含多个选项。 操作对象也可以是多个。 基本指令 1、ls指令 用法1:ls 含义:列出当前工作目录下的所有文件/文件夹的 名称。 用法2:ls 路径 含义:列出指定路径下的所有文件夹和文件的名称。 用法3:ls 选项 路径 含义:在列出指定路径下的文件/文件夹名称,并以指定的格式进行显示。 常见的语法: ls -l 路径 ls -la 路径 ls -lh 路径 选项解释: -l:表示list,表示以详细列表的形式进行展示。 -a:表示显示所有的文件/文件夹(包含隐藏文件/文件夹)。 -h:表示显示文档大小的时候以可读性较高的形式显示。 PS: 关于路径: 路径可以分为两种:相对路径、绝对路径。 相对路径:相对首先得有一个参照物(一般就是当前的工作路径)。 相对路径的写法:在相对路径中通常会用到2种符号"./"[表示当前目录下],"../"[表示上一级目录下]。 绝对路径:绝对路径不需要参照物,直接从根"/"开始寻找对应路径。 2、pwd指令 用法:pwd 含义:print working directory打印当前工作目录。 3、cd指令 用法:cd 路径 含义:change directory 改变目录。 作用:用于切换当前的工作目录。 PS: 在Linux中有一个特殊的符号"~",表示当前用户的家目录。 使用方式:cd ~ 4、mkdir指令 用法1:mkdir 路径 (路径可以是文件夹名称也可以是包含名称的一个完整路径)。 含义:make directory 创建目录。 用法2:mkdir -p 路径 含义:当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错。 用法3:mkdir 路径1 路径2 路径3 含义:一次性创建多个目录。 5、touch指令 用法1:touch 文件路径 (路径可以是直接的文件名也可以是路径)。 含义:创建指定文件。 用法2:touch 文件路径1 文件路径2 含义:创建多个文件。 PS: 创建文件时输入文件的类型,例如txt。 6、cp指令 用法1:cp 被复制的文件路径 文件被复制到的路径 含义:copy 复制文件到指定位置。 用法2:cp -r 被复制的文件夹路径 文件夹被复制到的路径 含义:复制文件夹到指定位置。 参数解释: -r 表示递归复制。 PS: Linux在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保存前后名称一致。 7、mv指令 用法:mv 需要移动的文档路径 需要保存的位置路径 含义:移动文档到新的位置。 PS: 在Linux中重命名的命令也是mv,语法和移动语法一样。 8、rm指令 用法1:rm 需要移除的文件路径 含义:remove 移除指定文件。 用法2:rm -f 需要移除的文件路径 含义:强制移除指定文件不显示询问。 用法3:rm -r 需要移除的文件夹路径 含义:移除指定文件夹。 用法4:rm -rf 需要移除的文件夹路径 含义:强制移除指定文件夹不显示询问。 用法5:rm -rf 需要移除的文档路径1 需要移除的文档路径2 含义:强制移除多个指定文档不显示询问。 用法6:rm -f 公共特性的字符的文件路径 例如:rm -f /root/liunx* 含义:强制移除在root目录下所有以liunx开头的文件。 9、vi指令 vi是一款文本编辑器。 用法:vi 文件的路径 含义:打开一个文件(可以存在,也可以不存在)。 退出打开的文件,在没有按下其他命令的时候,按下shift+英文冒号,输入q,按下回车即可。 后面会具体介绍vim的使用。 10、输出重定向 一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析、统计,则这时候需要使用到输出重定向。 > 覆盖输出,会覆盖掉原先的文件内容。 >> 追加输出,不会覆盖原文件内容,会在原内容末尾继续追加。 例如:ls -la > test.txt 含义:将ls -la命令的执行结果保存到test.txt中。 PS: 如果文件不存在,则会创建该文件。 11、cat指令 用法1:cat 文件的路径 含义:直接打开一个文件的内容。 用法2:cat 待合并的文件路径1 待合并的文件路径2 待合并的文件路径3 > 合并之后的文件路径 含义:将多个文件合并成一个文件。 进阶指令 1、df指令 用法:df 含义:查看磁盘空间。 常见语法: df -h 参数解释: -h:表示显示文档大小的时候以可读性较高的形式显示。 2、free指令 用法:free 含义:查看内存使用情况。 常见语法: free -m 参数解释: -m:表示以mb为单位进行查看。 3、head指令 用法:head -n 文件路径 含义:查看一个文件的前n行,如果不指定n,则默认显示前10行。 4、tail指令 用法:tail -n 文件路径 含义:查看一个文件的后n行,如果不指定n,则默认显示后10行。 常用语法: tail -f 文件路径 参数解释: -f:查看一个文件的动态变化内容。 PS: 使用-f参数查看时,变化的内容不能是用户手动添加的。 常用于查看日志。 5、less指令 用法:less 文件路径 含义:查看文件,以较少的内容进行输出,按下辅助功能键(数字、回车、空格、上下方向键)查看更多。 退出时只需要输入q键。 6、wc指令 用法:wc 文件路径 含义:统计文件内容信息(行出、单词数、字节数)。 常用语法: wc -lwc 文件路径 参数解释: -l:表示文件行数。 -w:表示单词数(根据空格判断单词数)。 -c:表示字节数。 7、date指令 用法1:date 含义:操作时间日期(读取、设置)。 用法2:date +%F 等价于:date "+%Y-%m-%d" 含义:输出年月日。 用法3:date "+%F %T" 等价于:date "+%Y-%m-%d %H:%M:%S" 含义:输出年月日时分秒。 用法4:date -d "-1 day" "+%Y-%m-%d %H:%M:%S" 含义:获取前一天的某个时间。 符号的可选值:+(之后)或者 -(之前) 单位的可选值:day(天)month(月)year(年) 参数解释: %F:表示完整的年月日。 %T:表示完整的时分秒。 %Y:表示四位年份。 %m:表示两位月份(带前导0)。 %d:表示日期(带前导0)。 %H:表示小时(带前导0)。 %M:表示分钟(带前导0)。 %S:表示秒数(带前导0)。 8、cal指令 用法1:cal 等价于:cal -1 含义:直接输出当前月份的日历。 用法2:cal -3 含义:输出上一个月+本月+下个月的日历。 用法3:cal -y 年份 含义:输出某一年份的日历。 9、clear/CTRL+L指令 用法:clear 快捷键:ctrl+L (不需要大写,方便查看) 含义:清除终端中已经存在的命令和结果。 10、管道 管道符:| 含义:管道一般可以用于"过滤"、"特殊"、"扩展处理"。 过滤用法:ls / | grep y 含义:显示根目录下包含y的文档。 说明:以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是前面的输出就是后面指令的输入。 特殊用法:cat 路径 | less 含义:和less效果相同,仅作了解。 扩展处理用法:ls / | wc -w 含义:统计根目录下的文档数量。 PS: 管道不能单独使用,必须配合前面所讲的命令来一起使用,其作用主要是辅助作用。 高级指令 1、hostname指令 用法1:hostname 含义:表示输出完整的主机名。 用法2:hostname -f 含义:表示输出当前主机名中的FQDN(全限定域名)。 2、id指令 用法1:id 含义:查看用户的基本信息(用户ID、用户组ID、附加组ID),如果不指定用户则默认当前用户。 用法2:id 用户名 含义:查看指定用户的基本信息。 PS: 验证用户信息:通过文件/etc/passwd 验证用户组信息:通过文件/etc/group 3、whoami指令 用法:whoami 含义:显示当前登录的用户名。一般用于shell脚本,用于获取当前操作的用户名方便记录日志。 4、ps指令 用法:ps 含义:用于查看服务器的进程信息。 常用语法: ps -ef ps -ef | grep 进程名称 参数解释: -e:等价于-A,表示列出全部的进程。 -f:显示全部的列(显示全字段)。 PS: UID:该进程的执行的用户ID。 PID:进程ID。 PPID:该进程的父进程ID,如果一个程序的父进程找不到,该程序的进程称之为僵尸进程。 C:cpu的占用率,其形式是百分数。 STIM:进程的启动时间。 TTY:终端设备。发起该进程的设备识别符号,如果显示?则表示该进程并不是有终端设备发起的。 TIME:进程的执行时间。 CMD:该进程的名称或者对应的路径。 5、top指令 用法: top:进入 q:退出 M:将结果按照内存从高到低进行降序排列 p:将结果按照CPU使用率从高到低进行降序排列 1:当服务器拥有多个CPU的时候可以使用1快捷键来切换是否展示显示各个CPU的详细信息 含义:查看服务器的进程占的资源。 PS: PID:进程ID。 USER:该进程对应的用户。 PR:优先级。 NI:用户进程空间内改变过优先级的进程占用CPU百分比。 VIRT:虚拟内存。 RES:常驻内存。 SHR:共享内存。 计算一个进程实际使用的内存=常驻内存(RES)- 共享内存(SHR)。 S:表示进程的状态(sleeping,其中S表示睡眠,R表示运行)。 %CPU:表示CPU的占用百分比。 %MEM:表示内存的占用百分比。 TIME+:执行时间。 COMMAND:进程的名称或者路径。 6、du指令 用法:du -sh 目录路径 含义:查看目录的真实大小。 参数解释: -s:只显示汇总的大小。 -h:表示以高可读性的形式进行显示。 PS: 使用ls命令时,目录的大小均为4.0k,无法获取真实大小。 7、find指令 用法:find 路径范围 选项 选项的值 含义:用于查找文件。 常用语法: find 路径范围 -name 选项的值 find 路径范围 -type 选项的值 参数解释: -name:按照文档名称进行搜索(支持模糊搜索) -type:按照文档的类型进行搜索 PS: 文档类型:"-"表示文件(在使用find的时候需要用"f"来代替),"d"表示文件夹。 8、service指令 用法:service 服务名 start/stop/restart/status 含义:用于控制一些软件的服务启动/停止/重启/运行状态。 PS: 在centos7.x以上版本中使用systemctl命令。 用法:systemctl start/stop/restart/status 服务名 含义:与service相同,但比service强大。 9、kill/killall指令 用法:kill 进程PID 含义:表示杀死指定进程(配合ps使用)。 用法:killall 进程名称 含义:与kill类似,但是比kill更加好用的杀死进程的命令。 10、ifconfig指令 用法:ifconfig 含义:用于操作网卡相关的指令。 PS: eth0表示linux中的一个网卡,eth0是其名称,lo(loop,本地回环网卡,其ip地址一般都是127.0.0.1)也是一个网卡名称。 11、reboot指令 用法1:reboot 含义:重启计算机。 用法2:reboot -w 含义:模拟重启,但不重启(只写关机与开机的日志信息)。 12、shutdown指令 用法1:shutdown -h now 含义:立即关机。 用法2:shutdown -h 时间 "关机提示" 含义:定时关机。 PS: 如果想要取消关机计划,则可以按照以下方式去尝试:
除了shutdown关机以外,还有以下几个关机命令: init 0 halt poweroff 13、uptime指令 用法:uptime 含义:输出计算机的持续的时间(计算机从开机到现在运行的时间)。 14、uname指令 用法:uname 含义:获取计算机操作系统相关信息。 常用语法: uname -a 参数解释: -a:显示全部信息。 15、netstat指令 用法:netstat 含义:产看网络连接状态。 常用语法: netstat -tnlp 参数解释: -t:表示只列出tcp协议的连接。 -n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示。 -l:表示过滤出"state(状态)"列中其值为LISTEN(监听)的连接。 -p:表示显示发起连接的进程PID和进程名称。 16、man指令 用法:man 命令 含义:manual,手册(包含了Linux中全部命令的手册)。 PS: 退出按q键。 总结 本节中简单的介绍了一些常用命令的使用,但并不完全,有兴趣的小伙伴可以访问https://man.linuxde.net网站了解更多的Linux命令及参数。 THE END ---------------------------------------------------------------------------------------------------------------------- 我们尊重原创,也注重分享,文章来源于微信公众号:放飞的不只是理想,建议关注公众号查看原文。如若侵权请联系qter@qter.org。 ---------------------------------------------------------------------------------------------------------------------- |