一、Linux命令行基础

1. 基本语法

命令空格参数(可写可不写)空格文件,文件夹(可写可不写)
ls列出文件夹中的内容/opt 根目录下的opt文件夹
ls-a all显示出所有文件以及隐藏文件/opt
ls-a如果不写则输出一个点,当前文件夹的内容
ls

基本命令用法如上:

  • 一般情况下,Linux命令的参数,都是可选的,可写可不写,不同参数作用不一样
  • Linux命令之间,必须有一个或多个空格

2. 命令提示符

  • whoami,我是谁,显示当前登录的用户
  • hostname,显示当前机器的主机名
  • pwd,显示当前的工作目录绝对路径
  • $ :代表普通用户,#:代表超级用户

3. 目录结构

  • Windows的路径分隔符是反斜杠,和Linux正好相反
  • Linux目录分隔符特点:
    • 第一个斜杠,代表路径的起点,根目录
    • 第二个斜杠开始,就是目录之间的一个分割符号
  • Linux的目录是倒挂的树形结构,一切从根目录开始
  • 具体结构含义:
/bin   #bin是Binary的缩写, 这个⽬录存放着最经常使⽤的二进制命令。
/boot   #这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev   #dev是Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc   #这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home   #用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib   #这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
/lost+found   #这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media   #linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt   #系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容。
/opt   #这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下,默认是空的。
/proc   #这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息,这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:echo 1>/proc/sys/net/ipv4/icmp_echo ignore_all
/root   #该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin   #s就是SuperUser的意思,这里存放的是系统管理员使用的系统管理程序
/selinux   #这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的
/srv   #该目录存放一些服务启动之后需要提取的数据
/sys   #这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs,sysfs⽂件系统集成了下⾯3种⽂件系统的信息:针对进程信息的proc⽂件系统、针对设备的devfs⽂件系统以及针对伪终端的devpts⽂件系统。该⽂件系统是内核设备树的⼀个直观反映,当⼀个内核对象被创建的时候,对应的⽂件和⽬录也在内核对象⼦系统中被创建。
/tmp   #这个⽬录是⽤来存放⼀些临时⽂件的。
/usr   #这是⼀个⾮常重要的⽬录,⽤户的很多应⽤程序和⽂件都放在这个⽬录下,类似于windows下的program files⽬录。
/var   #这个⽬录中存放着在不断扩充着的东⻄,我们习惯将那些经常被修改的⽬录放在这个⽬录下,包括各种⽇志⽂件。

以上目录下比较重要的子目录:

  • /usr
/usr/bin     #系统用户使⽤的应⽤程序
/usr/sbin    #超级用户使⽤的⽐较高级的管理程序和系统守护程序
/usr/src     #内核源代码默认的放置⽬录
/usr/local   #源码编译安装软件默认安装目录
  • /var
/var/log     #目录中包含了大量记录系统及软件服务运行的日志文件,通过这些日志可以知道系统的运行状态及故障原因,文件夹内的文件经常不确定地增长,应该定期清除
/var/log/messages    #系统级别日志文件,统默认的日志文件,这个文件非常重要,当系统及软件遇到运行故障时,可以查看这个日志文件以获取故障信息,该文件按周自动轮循(一周来一刀,每周切割一次)
/var/log/secure     #用户登录信息日志文件,这是一个有关系统安全的日志文件,日志中会记录 “谁,在什么时候,从哪登录到系统,登录是否成功”等信息。ssh、telnet、ftp 等服务的用户登录信息都会记录在此
/var/log/dmesg     #记录硬件信息加载情况的日志文件,当硬件及系统内核出现问题时,可以查看这个日志文件,也可以通过dmesg命令收集相关信息,为懂的人提供解决问题的依据
  • /proc
/proc/cpuinfo   # 系统cpu信息,如类型、厂家、型号和性能等
/proc/meminfo   # 系统内存信息
/proc/loadavg   # 系统负载(系统繁忙程度)
/proc/mounts    # 系统挂载信息
  • 几个重要的配置文件:

    • /etc/sysconfig/network-scripts/ifcfg-ens33:网卡配置文件,其中启动时加载的ONBOOT参数一定要为yes,否则计算机没有IP,无法被远程操控

    • /etc/resolv.conf:DNS客户端的配置文件,其中需要要nameserver参数,机器就无法做域名解析了

    • 键入命令hostname,即弹出/etc/hostname目录,存放的主机名相关配置文件

    • /etc/hosts文件将域名与IP对应,非常重要

    • /etc/motd文件,开机即显示的文本内容

    • /etc/os-release,储存计算机系统版本信息

二、核心命令与文件管理

1. cd命令

  • 切换目录,更改目录的意思,即:change directory
  • 语法:cd + 可选参数 + 文件夹
.    #当前的工作目录,./users/
..   #上一级的工作目录
-    #上一次的工作目录
~    #当前系统登录的用户家目录
#例如:cd ..

2. ls命令

  • 查看目录下的文件,全称list
  • 语法:ls + 可选参数 + 可选对象
#可选参数意义:
-a  			#all的意思,显示出所有的文件内容
-l  			#详细输出文件夹中的内容
-h (human read) #以人类可阅读的形式输出文件大小(UTF-8)
-t				#根据最后修改的时间排序文件
-F				#查看文件类型,以“/”结尾的是文件夹,“*”结尾的是可执行文件,“@”结尾的是软连接即快捷方式,普通文件类型结尾啥也没有,“|”表示FIFOS(队列系统),“=”表示套接字
-d 				#显示目录本身的信息 ⽽不是显示目录的内容
-r, --reverse   #逆序排列
-S 				#根据⽂件⼤⼩排序,默认从大到小排序
-i 				#显示索引节点信息(索引节点相当于身份证号)
--full-time 	#以完整的时间格式输出(也就是按照中国的时间⽇期显示)
参数可选择多个,注意空格,可选择完整写出,如-l -h或是简写 -lh
#例子:
ls  test.txt     #查看test.txt是否存在
ls  *.txt        #查看以txt结尾的所有文件
ls  -1           #以一行一个文件的方式显示
ls  -a           #查看所有文件,包括隐藏文件
ls -a -1         #查看所有文件,以一行一个来显示
ls -l            #以长格式查看文件

文件开头含义:

'''
如上图所示,开头的-rw-rw-r–这一字符串标识文件权限,这个字符串有10位,可以分为4段来解读。注:r可读,w可写,x可执行。
第一段(第1位)表示是目录还是文件,-表示是文件,d表示是目录;
第二段(第2-4位,共3个字符串)表示文件所属用户对它的权限;
第三段(第5-7位,共3个字符串)表示文件所属用户组用户对它的权限;
第四段(第8-10位,共3个字符串)表示其他用户对它的权限;
'''

3. mkdir命令

  • 创建文件夹:若指定目录不存在则创建⽬录
⽤法:
mkdir  alex   ./sam   #在后者目录下创建前者目录加参数:
-m  	   			#--mode=模式,设置权限模式(类似chmod),⽽不是rwxrwxrwx 
-p   				#--parents如果上级目录不存在则创建所有的目标上层目录
mkdir {1..3}		#加花括号创建连续的⽬录,⽤..隔开 花括号内可以是连续的数字#案例:
mkdir {alex,pyyu,mjj} 		#创建三个⽂件夹,逗号隔开
mkdir alex{1..5} 			#创建连续的目录
mkdir cunzhang longting 	#创建少量连续目录

4. touch命令

  • 创建文件或修改文件时间戳
⽤法:
touch  alex.txt  #将每个⽂件的访问时间和修改时间改为当前时间。
#不存在的⽂件将会被创建为空⽂件,除⾮使⽤-c 或-h 选项。
touch {连续数字或字母} #创建多个⽂件序列
touch {1..10}
touch {a..z}-c  			#--no-create,不创建任何⽂件-t 			#STAMP,使⽤[[CC]YY]MMDDhhmm[.ss] 格式的时间替代当前文件-r  			#--reference=文件,使⽤指定文件的时间属性替代当前文件时间

5. cp命令

  • 复制文件
用法:  
cp   alex.txt    ./sam  			#将前者复制到后者文件夹中/
cp   alex.txt    ./sam/bill.txt    #将前者复制到后者文件夹中并改名
cp   alex.txt     bill.txt			#将前者文件夹覆盖后者文件夹'''
-r 递归式复制目录,即复制目录下的所有层级的子目录及文件 
-p 复制的时候保持其属性不变
-d 复制的时候保持软连接(快捷方式)
-a 等于-pdr
-p 等于--preserve=模式,所有权,时间戳,复制文件时保持源文件参数
-i, 等于--interactive 覆盖前询问提示,系统默认会加此alias参数
'''

6. mv命令

  • 即move,作用是移动或重命名文件
用法:
mv  ./alex.txt  ./sam 	 #将前一个文件移入后一个文件中
mv  alex*  ./sam 		 #将与alex有关的文件全部移入指定文件夹中
mv  alex.txt  sam.txt	 #将前者文件重命名为后者文件参数:
-f,--force  					 	#覆盖前不询问
-i,即--interactive 					#覆盖前询问
-n,即--target-dicrectory=DIRECTORY	#所有参数属性都覆盖
-u,即--update 						#只在目标文件比较旧的情况下覆盖

7. rm命令

  • 即remove,删除命令
用法:
rm   alex.txt  			 #删除单个普通文件,默认添加了-i参数,询问是否删除
rm   alex.txt  sam.txt   #删除多个文件,写入多个名字,空格分隔参数:
-i 					#删除前询问
-d,--dir			#删除空目录
-f					#强制删除文件夹中的文件,不能删除文件夹,若想删除包括文件夹的所有内容,加-rf
-r、-R,--recursive	#递归删除目录及其内容,逐步进入删除
-v,--verbose		#详细显示进行的步骤--help			#显示此帮助信息并退出--version		#显示版本信息并退出注意:
.   #当前目录
/   #根目录
./  #当前目录下的某内容
rm -rf  / #强制删除根目录下所有内容,非常危险,严谨敲打
rm -rf  ./ #强制删除当前目录下所有内容,非常容易与根目录混淆,慎用

8. 帮助命令

man  +想查看的命令,q退出
想查看的命令  --hlep
info +命令
man ls  #在线获取帮助信息

9. 开关机命令

  • 重启
#用法:shut down + 参数  +时间
-r  -reboot   	 #重启
shutdown
shutdown -r 10 	 #十分钟后重启
shutdown -r now  #立刻重启
#或:
直接使用reboot
poweroff
  • 关机
#用法:shutdown -h  --halt +时间
shutdown -h 10  #十分钟后关机
shutdown -h  0
shutdown -h now #马上关机
#或:
直接使用poweroff
halt
  • 注销退出当前账户:logout, exit

10. 常用快捷键

ctrl + c cancel		#取消当前操作
ctrl + l 			#清空屏幕内容
ctrl + d 			#退出当前用户
ctrl + a 			#光标移到行首
ctrl + e 			#光标移到行尾
ctrl + u 			#删除光标到行首的内容

三、环境变量

  • echo命令:普通echo直接输出,echo$PATH显示环境变量,注意大写

  • PATH(一定是大写的),这个变量是由一堆目录组成,⼀分隔符是":"号,不同于

    于windows的";"号

  • 绝对路径:由根目录”/“为开头的文件名或者目录名称

  • 相对路径:相对于目前路径的文件名写,开头不是”/“则为相对路径

四、vim的使用

1. vim的工作模式

  • vim即代码编写工具

  • 使用流程:

    • vim机器默认是不安装的,需要手动安装,命令apt install vim(centos为yum命令)
    • 打开文件,若没有自动创建:vim alex.txt
    • 输入字母i,进入编辑模式,代表insert
      • 输入字母o,在光标下一行开始编辑
    • 写完代码后按esc,退出编辑模式
    • 此时输入冒号(必须为英文模式的冒号),进入底线命令模式,输入:wq!,表示强制写入文件内容且退出vim,“!”代表强制性的;:q:不保存直接退出

2. vim快捷键

  • 方向快捷键:需退出insert模式进入命令模式
h  		#向左
j  		#向下
k  		#向上
l  		#向右
w  		#移动到下一个单词
b  		#移动到上一个单词
数字0 	#移动到行首
字符$ 	#移动到行尾
g 		#移动到文章的开头
G 		#移动到文章的结尾
H 		#移动到屏幕的开头
L 		#移动到屏幕的结尾
M 		#移动到屏幕的中间
  • 命令模式的查找
向下查找:/+要找的内容,按n跳转下一个单词
向下查找:?+要找的内容,按n跳转上一个单词
  • 命令模式下的复制,粘贴,删除
yy 		#复制光标所在行
4yy 	#复制4行内容
p		#打印粘贴内容
dd		#删除光标当前行
D		#删除光标当前位置到行尾的内容
x		#删除光标当前字符,向后删除x		#删除光标当前字符,向前删除
u 		#撤销上一步动作
  • 快捷操作
C		#删除光标所在位置到行尾的内容,且进入编辑模式
o		#在当前光标的下一行开始编辑
O		#在当前光标的上一行开始编辑
A		#快速进入行尾且进入编辑模式
ZZ		#快速保存退出
  • 批量快捷操作
#快捷删除(如多行注释)
输入ctrl+v进入可视块模式
用上下左右命令选中操作内容
选中块后,输入d,删除内容
#快捷插入多行
选中块后,输入大写的I,写代码
按下两次esc,会自动生成多行代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/97736.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/97736.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/97736.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 的整数集合:像分类收纳盒一样的整数专属存储

目录 一、先懂定位:为什么需要整数集合?(衔接哈希表) 二、整数集合的结构:像 “贴了规格标签的收纳盒” 1. encoding:收纳盒的 “规格标签”(核心:决定格子大小) 2. …

Linux 进程状态 — 僵尸进程

🎁个人主页:工藤新一 🔍系列专栏:C面向对象(类和对象篇) 🌟心中的天空之城,终会照亮我前方的路 🎉欢迎大家点赞👍评论📝收藏⭐文章 文章目录进…

React 中 key 的作用

React 中 key 的作用是什么? Date: August 31, 2025 Area: 原理key 概念 在 React 中,key 用于识别哪些元素是变化、添加或删除的。 在列表渲染中,key 尤其重要,因为它能提高渲染性能和确保组件状态的一致性。key 的作用 1&#x…

wpf之附加属性

前言 附加属性是 WPF 中一个非常强大和独特的概念。简单来说,它允许一个对象为另一个在其本身类定义中未定义的属性赋值。 1、定义附加属性 定义一个Watermark的附加属性,该属性的作用是将TextBox的附加属性改变时,TextBox的字体颜色改成灰…

深入浅出 RabbitMQ-消息可靠性投递

大家好,我是工藤学编程 🦉一个正在努力学习的小博主,期待你的关注实战代码系列最新文章😉C实现图书管理系统(Qt C GUI界面版)SpringBoot实战系列🐷【SpringBoot实战系列】SpringBoot3.X 整合 Mi…

数字化时代,中小企业如何落地数字化转型

大数据时代,各行各业的行业龙头和大型集团都已经开始了数据管理,让数据成为数据资产。但是在我国,中小企业的数量巨大,很多管理者忽视了这一点,今天我们就来聊一聊中小企业的数字化转型。中小企业需要数字化转型首先要…

Unity笔记(九)——画线功能Linerenderer、范围检测、射线检测

写在前面:写本系列(自用)的目的是回顾已经学过的知识、记录新学习的知识或是记录心得理解,方便自己以后快速复习,减少遗忘。这里只记录代码知识。十一、画线功能Linerenderer画线功能Linerenderer是Unity提供的画线脚本,创建一个空…

刷题记录(8)string类操作使用

一、仅反转字母 917. 仅仅反转字母 - 力扣(LeetCode) 简单来说输入字符串,要求你返回所有仅字母位置反转后的字符串。 简单看一个样例加深理解: 前后互换,我想思路基本很明显了,双指针,或者说…

用好AI,从提示词工程到上下文工程

前言 随着 AI 大模型的爆发,提示词工程(prompt engineering ) 一度是用户应用 AI ,发挥 AI 能力最重要、也最应该掌握的技术。 但现在,在 “提示词工程”的基础上,一个更宽泛也更强力的演化概念被提出,也就是本文我们要介绍的 “上下文工程(Context Engineering)” …

计算机Python毕业设计推荐:基于Django+Vue用户评论挖掘旅游系统

精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻 💖🔥作者主页:计算机毕设木哥🔥 💖 文章目录 一、项目介绍二、…

⸢ 肆 ⸥ ⤳ 默认安全:安全建设方案 ➭ a.信息安全基线

👍点「赞」📌收「藏」👀关「注」💬评「论」 在金融科技深度融合的背景下,信息安全已从单纯的技术攻防扩展至架构、合规、流程与创新的系统工程。作为一名从业十多年的老兵,将系统阐述数字银行安全体系的建设…

如何用AI视频增强清晰度软件解决画质模糊问题

在视频制作和分享过程中,画质模糊、细节丢失等问题常常影响观看体验。无论是老旧视频的修复还是低分辨率素材的优化,清晰度提升都成为用户关注的重点。借助专业的AI技术,这些问题可以得到有效解决。目前市面上存在多种解决方案,能…

Linux92 shell:倒计时,用户分类

问题 while IFS read -r line;doootweb kk]# tail -6 /etc/passwd user1r4:x:1040:1040::/home/user1r4:/bin/bash useros20:x:1041:1041::/home/useros20:/bin/bash useros21:x:1042:1042::/home/useros21:/bin/bash useros22:x:1043:1043::/home/useros22:/bin/bash useros23…

LinkedList源码解析

1. 数据结构设计 (1) 节点结构 LinkedList 的核心是双向链表节点 Node&#xff1a; private static class Node<E> {E item; // 存储的元素Node<E> next; // 后继节点Node<E> prev; // 前驱节点Node(Node<E> prev, E element, Node<E&g…

语雀批量导出知识库

使用工具&#xff1a;yuque-dl 参考文档&#xff1a; GitHub - gxr404/yuque-dl: yuque 语雀知识库下载 Yuque-DL&#xff1a;一款强大的语雀资源下载工具_语雀文档怎么下载-CSDN博客

电子电气架构 --- 当前企业EEA现状(下)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

flink中的窗口的介绍

本文重点 无界流会源源不断的产生数据,有的时候我们需要把无界流进行切分成一段一段的有界数据,把一段内的所有数据看成一个整体进行聚合计算,这是实现无界流转成有界流的方式之一。 为什么需要窗口 数据是源源不断产生的,我们可能只关心某个周期内的统计结果。比如电费…

自建es 通过Flink同步mysql数据 Docker Compose

资源es:7.18 kibana:7.18 flink:1.17.2目录mkdir -p /usr/project/flink/{conf,job,logs} chmod -R 777 /usr/project/flink #资源情况 mysql8.0 Elasticsearch7.18 自建# 目录结构 /usr/project/flink/ /usr/project/flink/ ├── conf/ │ ├── flink-conf.yaml │ └…

AI浏览器和钉钉ONE是不是伪需求?

最近两则新闻格外引起了我的注意&#xff1a;一是Claude推出了官方浏览器插件&#xff0c;二是钉钉发布了钉钉ONE。前者说明AI浏览器未必有必要&#xff0c;后者则描绘了一幅“刷刷手机就能完成工作”的未来办公图景。这几天我经常在思考&#xff0c;AI浏览器是不是没有必要&am…

从结构化到多模态:RAG文档解析工具选型全指南

在RAG系统建设中&#xff0c;文档解析质量直接决定最终效果上限&#xff0c;选择合适的解析工具已成为避免"垃圾进&#xff0c;垃圾出"&#xff08;GIGO&#xff09;困境的关键决策。一、文档解析&#xff1a;RAG系统的基石与瓶颈 当前企业知识库中超过80%的信息存储…