Linux系统基础操作指令(linux基础操作命令)
ccwgpt 2024-11-05 09:40 38 浏览 0 评论
摘要:Linux指令常用结构 :Command [-option] [argument]
Command:即是要运行的命令的本身,说白了就是一个程序;
Option:是选项(可选),选项是控制命令运行状态和行为的(可多个选项一起,如ls -al);
Argument:是参数(可选),是命令要操作对象如文件、路径、数据、目录等;
在指令的第一部分按[tab]键一下为[命令补全],两下为所有命令选择;
一、Linux系统操作指令
1、开关机
- shutdown -r now或reboot :立刻重启
- shutdown -h now :立刻关机
- shutdown -h 20:00 :预定时间关闭系统(晚上8点关机)
- shutdown -h +10 :预定时间关闭系统(10分钟后关机)
- shutdown -c :取消按预定时间关闭系统
2、查看系统信息
- who am i :查看当前使用的终端
- who 或 w : 查看所有终端
- uname -m :显示机器的处理器架构
- cat /proc/version :查看linux版本信息
- uname -r :显示正在使用的内核版本
- lsb_release -a :查看系统发行版本(如CentOS7)(没这个命令先安装yum install -y redhat-lsb-core)
- cat /etc/redhat-release :查看系统发行版本(如CentOS7)(这种方法只适合Redhat系的Linux)
- rpm -qa | grep kernel-devel :查看kernel-devel版本(安装软件时编译内核用,故需要保持内核版本一致性)
- yum install -y "kernel-devel-uname-r == $(uname -r)":安装和Linux内核版本匹配的kernel-devel
- hostnamectl set-hostname 主机名:修改主机名(包括静态、瞬态和灵活主机名,如有域名解析记得手动更新/etc/hosts)
- date :显示系统日期 (date +%Y/%m/%d : 显示效果如2018/01/01)
- date 070314592018.00 :设置时间(格式为月日时分年.秒 )
- clock -w :将时间修改保存到 BIOS
- cal 2018 :显示2018年的日历表
- ifconfig :显示或设置网卡(查ip等)(类似windows中ipconfig)
- ping -c 3 www.163.com :网易与本机的连接情况( -c 3表示测试3次)
- cat /proc/cpuinfo :显示CPU的信息
- cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l :查看物理CPU个数
- cat /proc/cpuinfo| grep "cpu cores"| uniq :查看每个物理CPU的核数
- cat /proc/cpuinfo| grep "processor"| wc -l :查看线程数
3、查看系统性能
- top :动态实时显示cpu、内存、进程等使用情况
- top -d 2 -p 7427 :-d为画面更新的秒数,-p为指定进程pid的信息
- vmstat 2 10 :每隔2秒采集一次服务器状态,采集10次
- free -h :查看系统内存及虚拟内存使用情况
- df -h :显示磁盘的空间使用情况
- iostat :可查io读写、cpu使用情况
- sar -u 3 5 :查看cpu使用情况(3秒一次,共5次)
- sar -d 2 3 :评估磁盘性能(2秒采样一次,连续采样3次)
- ps aux|grep mysql :获取mysql的进程号(PID)(可查看进程占用cpu、内存百分比及进程触发指令的路径)
- kill -9 进程号 :强制杀死进程
- systemctl :查看正在运行的服务(键入q退出查看界面)
- netstat -ntlp :查看服务器所有被占用端口
- netstat -lnp|grep 端口号/进程号/进程名 :根据查端口是否打开确认服务是否启动,配合ps命令可查服务占用的端口
- ps aux|grep 进程号/进程启动命令/服务名 :进程查看命令ps(可查进程状态;进程占用cpu、内存;配合netstat根据某服务端口查出进程号用于杀进程,查服务启动命令及服务路径 )
4、查看磁盘指标
- fdisk -l:查看磁盘信息(可查各个硬盘容量大小、可查各硬盘分区情况)
- fdisk /dev/sdb:对硬盘sdb创建分区
- mkfs.ext4 /dev/vdb1:修改格式化硬盘分区vdb1的文件系统类型为ext4
- df -TH:显示磁盘的空间使用情况、文件系统类型、挂载点
- df -h /var/log :(显示log所在分区、目录所在磁盘及可用的磁盘容量)
- du -sm /var/log/ | sort -rn* : 根据占用磁盘空间大小排序(MB)某目录下文件和目录大小
- mount /dev/sda1 /mnt :硬盘sda1挂载到/mnt目录
- mount -o loop /opt/soft/CentOS-7-x86_64-DVD-1708.iso /media/CentOS :挂载iso文件
- umount /dev/sda1 :取消挂载(umount装置文件名或挂载点)
二、Linux目录文件操作指令
1、目录文件
- cd :进入该用户的主目录 ~(root用户为/root,其他用户为/home/用户名)
- cd .. :返回上一级目录(注意要空格)
- cd - :返回上次所在目录
- cd / :返回根目录 (绝对路径)
- cd ./目录1 :进入当前目录下的子目录(相对路径)
- pwd :显示工作路径(Print Working Directory 的缩写)
- ls -a:列出文件下所有的文件,包括以“.“开头的隐藏文件
- ls -lh *.log:列出文件的详细信息(.log结尾,*为通配符代表任意多个字符)
- file 文件或目录 :显示文件的类型(目录、text、zip、shell脚本等)
- mkdir dir1:创建目录dir1(mkdir为make directory的缩写)
- mkdir -p ./dir1/dir2:递归创建目录(-p:父目录不存在时,同时建立)
- touch 1.txt:创建文件1.txt
- rm 文件 :删除文件
- rm -r 目录或文件 :删除目录(及目录下所有文件)(非空也可以)
- rm -rf 目录或文件 :强制删除,如:rm -rf * 为删除当前目录下的所有文件
- mv a b :移动或者重命名一个文件或者目录(存在即移动目录或覆盖文件,不存在即改名)
- mv /opt/git/g /opt/a :移动g到opt目录下并改名为a(a目录不存在,若存在则为移动g到a目录下)
- mv -t ./test a.txt b.txt :移动多个文件到某目录下
- cp -ai /opt/abc /opt/git/ :复制abc目录(或文件)到git目录下(选项a表示文件的属性也复制、目录下所有文件都复制;i表示覆盖前询问)
- ln -s /opt/1.txt /opt/git/ :对文件创建软链接(快捷方式不改名还是1.txt)
- ln -s /opt/a.txt /opt/git/b :(快捷方式改名为b)
- ln -s /opt/dir /opt/git/:对目录创建软链接
- ln /opt/1.txt /opt/git/:对文件创建硬链接
2、文件相关权限
- chmod [-R] 777文件或目录 :设置权限(chmod a+rwx a=chmod ugo +rwx a=chmod 777 a)
- 备注: r(read)对应4,w(write)对应2,x(execute)执行对应1;
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改) - chmod [{ugoa}{+-=}{rwx}][test.txt] :如chmod u-w,g+x,o=r test.txt为user(拥有者)去掉写权限,group(所属组)加上执行权限,other(其他人)权限等于只读
- chown [-R] admin:root /opt/ :变更文件及目录的拥有者和所属组(-R递归处理所有文件和文件夹,admin为拥有者,root为所属者)
- find /home -mtime -2 :在/home下查最近2*24小时内改动过的文件
- find . -size +100M :在当前目录及子目录下查找大于100M的文件
- find . -type f :f表示文件类型为普通文件(b/d/c/p/l/f 分别为块设备、目录、字符设备、管道、符号链接、普通文件)
- find . -mtime +2 -exec rm {} ; :查出更改时间在2*24小时以前文件并删除
- find . -name '*.log'|grep hello :在当前目录及子目录下查出文件名后缀为.log的文件并且文件名包含了hello字样(grep用来处理字符串)
- grep -i 'HELLO' . -r -n :在当前目录及子目录下查找文件内容中包含hello的文件并显示文件路径(-i表示忽略大小写)
- which java :在环境变量$PATH设置的目录里查找符合条件的文件,并显示路径
- cat [-n] 文件名 :显示文件内容,连行号一起显示
- less 文件名 :一页一页的显示文件内容
- head [-n] 文件名 :显示文件头n行内容,n指定显示多少行
- tail [-nf] 文件名 :显示文件尾几行内容,n指定显示多少行,f用于实时追踪文件的所有更新,常用于查阅正在改变的日志文件(如tail -f -n 3 test.log 表示开始显示最后3行,并在文件更新时实时追加显示,没有-n默认10行)
- less 1.txt |grep 搜索的关键词 :显示包括关键词所在行
- cat -n 1.txt |grep 搜索的关键词 :显示包括关键词所在行(连行号一起显示)
- cat /etc/passwd |grep abc –A2 :查看filename中含有abc所在行后2行(A2)、前2行(B2)内容
- cat /etc/passwd |awk -F ':' '{print $1}' :显示第一列
3、文本处理
- ls -l>file :输出重定向>(改变原来系统命令的默认执行方式):ls -l命令结果输出到file文件中,若存在,则覆盖
- cat file1 >>file :输出重定向之cat命令结果输出追加到file文件(>表示覆盖原文件内容,>>表示追加内容)
- sed -i '4,$d' a.txt :删除第四行到最后一行($表示最后一行)(sed可以增删改查文件内容)
- sed -i '$a 增加的字符串' a.txt :在最后一行的下一行增加字符串
- grep -o '关键词' test.log|wc -l :统计某个关键词在某个文件中出现的次数(如出现3次输出3)
- vi a.txt:编辑查看文件
三、Linux用户权限操作指令
- useradd 用户名 :创建用户
- userdel -r 用户名 :删除用户(-r表示把用户的主目录一起删除)
- usermod -g 组名 用户名 :修改用户的组
- usermod -aG 组名 用户名 :将用户添加到组
- groups test :查看test用户所在的组
- cat /etc/group |grep test :查看test用户详情:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
- passwd [ludf] 用户名 :用户改自己密码,不需要输入用户名,选项-d:指定空口令,-l:禁用某用户,-u解禁某用户,-f:强迫用户下次登录时修改口令
- groupadd 组名 :创建用户组
- groupdel 用户组 :删除组
- groupmod -n 新组名 旧组名 :修改用户组名字
- su - 用户名:完整的切换到一个用户环境
- su 用户名:切换到用户的身份(环境变量等没变,导致很多命令要加上绝对路径才能执行)
- sudo 命令 :以root的身份执行命令(输入用户自己的密码,而su为输入要切换用户的密码,普通用户需设置/etc/sudoers才可用sudo)
四、Linux压缩解压指令
- file 文件名 :查文件类型(可看是用哪一种方式压缩的)
- tar -zxvf a.tar.gz -C ./test :解压tar.gz到当前目录下的test目录
- tar -zcvf /opt/c.tar.gz ./a/ :压缩tar.gz(把当前目录下的a目录及目录下所有文件压缩为 /opt/目录下的c.tar.gz,这样tar -zxvf c.tar.gz解压出来的文件带有目录a)
- tar -jxvf a.tar.bz2 :解压tar.bz2(到当前目录)
- tar -jcvf c.tar.bz2 ./a/ :压缩tar.bz2(把当前目录下的a目录及目录下所有文件压缩到当前目录下为c.tar.gz2)
- unzip a.zip :解压zip(到当前目录)
- unzip -o mdmtest.war -d /opt/mdm :推荐使用unzip解压war包(-o覆盖原有文件,-d指定文件解压后存储的目录)
- zip -r c.zip ./a/ :压缩zip(把当前目录下的a目录及目录下所有文件压缩到当前目录下为c.zip
- bzip2 -k file1 : 压缩一个 'file1' 的文件(-k表示保留源文件)(bzip2格式,比gzip好)
- bzip2 -d -k file1.bz2 : 解压一个叫做 'file1.bz2'的文件
- gzip file1 : 压缩一个叫做 'file1'的文件(gzip格式)(不能保留源文件)
- gzip -9 file1 : 最大程度压缩
- gzip -d file1.gz : 解压缩一个叫做 'file1'的文件
五、Linux软件安装指令
- yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记;
- rpm 只能安装已经下载到本地机器上的rpm包。yum能在线下载并安装rpm包,能更新系统,且还能自动处理包与包之间的依赖问题,这个是rpm工具所不具备的;
- 手动编译软件,默认位置为/usr/local下不同子目录下,不用配置PATH直接用命令(手动指定安装路径需要加PATH),使得软件更新和删除变得很麻烦。
相关推荐
- 一个基于.Net Core遵循Clean Architecture原则开源架构
-
今天给大家推荐一个遵循CleanArchitecture原则开源架构。项目简介这是基于Asp.netCore6开发的,遵循CleanArchitecture原则,可以高效、快速地构建基于Ra...
- AI写代码翻车无数次,我发现只要提前做好这3步,bug立减80%
-
写十万行全是bug之后终于找到方法了开发"提示词管理助手"新版本那会儿,我差点被bug整崩溃。刚开始两周,全靠AI改代码架构,结果十万行程序漏洞百出。本来以为AI说没问题就稳了,结果...
- OneCode低代码平台的事件驱动设计:架构解析与实践
-
引言:低代码平台的事件驱动范式在现代软件开发中,事件驱动架构(EDA)已成为构建灵活、松耦合系统的核心范式。OneCode低代码平台通过创新性的注解驱动设计,将事件驱动理念深度融入平台架构,实现了业务...
- 国内大厂AI插件评测:根据UI图生成Vue前端代码
-
在IDEA中安装大厂的AI插件,打开ruoyi增强项目:yudao-ui-admin-vue31.CodeBuddy插件登录腾讯的CodeBuddy后,大模型选择deepseek-v3,输入提示语:...
- AI+低代码技术揭秘(二):核心架构
-
本文档介绍了为VTJ低代码平台提供支持的基本架构组件,包括Engine编排层、Provider服务系统、数据模型和代码生成管道。有关UI组件库和widget系统的信息,请参阅UI...
- GitDiagram用AI把代码库变成可视化架构图
-
这是一个名为gitdiagram的开源工具,可将GitHub仓库实时转换为交互式架构图,帮助开发者快速理解代码结构。核心功能一键可视化:替换GitHubURL中的"hub...
- 30天自制操作系统:第六天:代码架构整理与中断处理
-
1.拆开bootpack.c文件。根据设计模式将对应的功能封装成独立的文件。2.初始化pic:pic(可编程中断控制器):在设计上,cpu单独只能处理一个中断。而pic是将8个中断信号集合成一个中断...
- AI写代码越帮越忙?2025年研究揭露惊人真相
-
近年来,AI工具如雨后春笋般涌现,许多人开始幻想程序员的未来就是“对着AI说几句话”,就能轻松写出完美的代码。然而,2025年的一项最新研究却颠覆了这一期待,揭示了一个令人意外的结果。研究邀请了16位...
- 一键理解开源项目:两个自动生成GitHub代码架构图与说明书工具
-
一、GitDiagram可以一键生成github代码仓库的架构图如果想要可视化github开源项目:https://github.com/luler/reflex_ai_fast,也可以直接把域名替换...
- 5分钟掌握 c# 网络通讯架构及代码示例
-
以下是C#网络通讯架构的核心要点及代码示例,按协议类型分类整理:一、TCP协议(可靠连接)1.同步通信//服务器端usingSystem.Net.Sockets;usingTcpListene...
- 从复杂到优雅:用建造者和责任链重塑代码架构
-
引用设计模式是软件开发中的重要工具,它为解决常见问题提供了标准化的解决方案,提高了代码的可维护性和可扩展性,提升了开发效率,促进了团队协作,提高了软件质量,并帮助开发者更好地适应需求变化。通过学习和应...
- 低代码开发当道,我还需要学习LangChain这些框架吗?| IT杂谈
-
专注LLM深度应用,关注我不迷路前两天有位兄弟问了个问题:当然我很能理解这位朋友的担忧:期望效率最大化,时间用在刀刃上,“不要重新发明轮子”嘛。铺天盖地的AI信息轰炸与概念炒作,很容易让人浮躁与迷茫。...
- 框架设计并不是简单粗暴地写代码,而是要先弄清逻辑
-
3.框架设计3.框架设计本节我们要开发一个UI框架,底层以白鹭引擎为例。框架设计的第一步并不是直接撸代码,而是先想清楚设计思想,抽象。一个一个的UI窗口是独立的吗?不是的,...
- 大佬用 Avalonia 框架开发的 C# 代码 IDE
-
AvalonStudioAvalonStudio是一个开源的跨平台的开发编辑器(IDE),AvalonStudio的目标是成为一个功能齐全,并且可以让开发者快速使用的IDE,提高开发的生产力。A...
- 轻量级框架Lagent 仅需20行代码即可构建自己的智能代理
-
站长之家(ChinaZ.com)8月30日消息:Lagent是一个专注于基于LLM模型的代理开发的轻量级框架。它的设计旨在简化和提高这种模型下代理的开发效率。LLM模型是一种强大的工具,可以...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- mfc框架 (52)
- abb框架断路器 (48)
- beego框架 (52)
- java框架spring (58)
- grpc框架 (65)
- tornado框架 (48)
- 前端框架bootstrap (54)
- orm框架有哪些 (51)
- 知识框架图 (52)
- ppt框架 (55)
- 框架图模板 (59)
- 内联框架 (52)
- cad怎么画框架 (58)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)