当前位置: 首页 > news >正文

Linux学习笔记(清晰且清爽)

本文首次发布于个人博客
想要获得最佳的阅读体验(无广告且清爽),请访问本篇笔记

Linux安装

关于安装这里就不过多介绍了,安装版本是CentOS 7,详情安装步骤见下述博客
在VMware中安装CentOS7(超详细的图文教程)_vm安装centos7-CSDN博客

Linux的目录结构

目录含义
/bin存放二进制可执行文件
/boot存放系统引导时使用的各种文件
/dev存放设备文件
/etc存放系统配置文件
/home存放系统用户的文件
/lib存放程序运行所需的共享库和内核模块
/opt额外安装的可选应用程序包所放置的位置
/root超级用户目录
/sbin存放二进制可执行文件,只有root用户才能访问
/tmp存放临时文件
/usr存放系统应用程序
/var存放运行时需要改变数据的文件,例如日志文件

Linux常用命令

Linux命令常用技巧

  • Tab键自动补全
  • 连续按两次Tab键,给出操作提示
  • 使用上下箭头快速调出曾经使用过的命令
  • 使用Clear命令或者快捷键Ctrl+L实现清屏

Linux命令格式

  • Linux命令格式如下
command [-options] [parameter]

说明:

  • command:命令名
  • [-options]:选项,可用来对命令进行控制,也可以省略
  • [parameter]:传给命令的参数,可以是0个,1个或多个

注意:

  • []代表可选命令名
  • 选项,参数之间需要用空格进行分隔

文件目录操作命令

ls
  • 作用:显示指定目录下的内容
  • 语法:ls [-al] [dir]

说明:

  • -a:显示所有文件及目录(以.开头的隐藏文件也会列出)
  • -l:除文件名外,还会讲文件的形态、权限、拥有者、文件大小等详细信息列出

注意:由于我们使用ls命令时,经常会加上-l选项,所以Linux很人性化的为我们提供了ll命令来作为ls -l命令的简写,使用ll -a也可以替代ls -al

cd
  • 作用:用户切换当前工作目录,即进入指定目录
  • 语法cd [dirName]

说明:

  • ~表示用户的home目录
  • .表示当前所在的目录
  • …表示当前位置的上级目录

cat
  • 作用:用于显示文件内容
  • 语法:cat [-n] fileName

说明:

  • -n:由1开始对所有输出的行数编号

举例:

  • cat /etc/profile
    • 查看/etc目录下的profile文件内容
  • cat -n /etc/profile
    • 查看/etc目录下的profile文件内容,显示行号

more
  • 作用:以分页的形式显示文件内容
  • 语法:more fileName

说明:

  • 回车键:向下滚动一行

  • 空格键:向下滚动一屏

  • b:返回上一屏

  • q或者Ctrl+C:退出more

举例:

  • more /etc/profile
    • 以分页方式显示/etc目录下的profile文件内容

tail
  • 作用:查看文件末尾的内容
  • 语法:tail [-f] fileName

说明:

  • -f:动态读取文件末尾内容并显示,通常用于日志文件的内容输出

举例:

  • tail /etc/profile
    • 显示/etc目录下的profile文件末尾10行的内容
  • tail -20 /etc/profile
    • 显示/etc目录下的profile文件末尾20行的内容
  • tail -f /kyle/blog.log
    • 动态读取/kyle目录下的blog.log文件末尾内容并显示

mkdir
  • 作用:创建目录
  • 语法:mkdir[-p] dirName

说明:

  • -p:确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建

举例:

  • mkdir linuxCast
    • 在当前目录下,建立一个名为linuxCast的子目录
  • mkdir-p linuxCast/test
    • 在工作目录下的linuxCast目录中建立一个名为test的子目录,若linuxCast目录不存在,则建立一个

rmdir
  • 作用:删除空目录
  • 语法:rmdir [-p] dirName

说明:

  • -p:当子目录被删除后使父目录为空目录的话,则一并删除

举例:

  • rmdir linuxCast删除名为linuxCast的空目录
  • rmdir -p linuxCast/test删除linuxCast目录中名为test的子目录,若test目录删除后linuxCast目录变为空目录,则也被删除
  • rmdir linuxCast*删除名称以linuxCast开始的空目录

rm
  • 作用:删除文件或者目录
  • 语法:rm [-rf] name

说明:

  • -r:将目录及目录中所有文件(目录)逐一删除,即递归删除

  • -f:无需确认,直接删除

  • name:要删除的文件/目录,支持通配符

拷贝移动命令

cp

作用:用于复制文件或目录
语法:cp [-r] source dest

说明:

  • -r:如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
  • source:要复制的资源(文件/目录)
  • dest:要移动到的位置

举例:

  • cp hello.txt linuxCast/
    • 将hello.txt复制到linuxCast目录中
  • cp hello.txt ./ hi.txt
    • 将hello.txt复制到当前目录,并改名为hi.txt
  • cp -r linuxCast/ ./blog/
    • 将linuxCast目录和目录下所有文件复制到blog目录下
  • cp -r linuxCast/* ./blog/
    • 将linuxCast目录下所有文件复制blog目录下

mv

作用:为文件或目录改名、或将文件或目录移动到其它位置
语法:mv source dest

说明:

  • source:要移动的资源(文件/目录)
  • dest:要移动到的位置

举例:

  • mv hello.txt hi.txt
    • 将hello.txt改名为hi.txt
  • mv hi.txt blog/
    • 将文件hi.txt移动到blog目录中
  • mv hi.txt blog/hello.txt
    • 将hi.txt移动到blog目录中,并改名为hello.txt
  • mv linuxCast/ blog/
    • 如果blog目录不存在,将linuxCast目录改名为blog
  • mv linuxCast/ blog/
    • 如果blog目录存在,将linuxCast目录移动到blog目录中

打包压缩命令

tar

作用:对文件进行打包、解包、压缩、解压
语法:tar [-zcxvf] fileName [files]
包文件后缀为.tar表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩,也可以用.tgz作为简写

说明:

  • -z: 代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
  • -c: 代表的是create,即创建新的包文件
  • -x: 代表的是extract,实现从包文件中还原文件
  • -v: 代表的是verbose,显示命令的执行过程
  • -f: 代表的是file,用于指定包文件的名称
  • c和x是互斥的,解压和压缩不能同时进行

举例 :

  • tar -cvf hello.tar ./*
    • 将当前目录下所有文件打包,打包后的文件名为hello.tar
  • tar -czvf hello.tar.gz ./*
    • 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
  • tar -zxvf hello.tar.gz
    • 将hello.tar.gz中的文件解压缩

文本编辑命令

vi

作用:vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于windows中的记事本
语法:vi fileName

说明:

  1. vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。
  2. 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装:yum install vim

vim

作用:对文件内容进行编辑,vim其实就是一个文本编辑器
语法:vim fileName

说明:

  1. 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。
  2. vim在进行文本编辑时共分为三种模式,分别是命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。

针对vim中的三种模式说明如下:

  1. 命令模式
    命令模式下可以查看文件内容、移动光标(上下左右箭头、gg(开头)、G(末尾))
    通过vim命令打开文件后,默认进入命令模式
    另外两种模式需要首先进入命令模式,才能进入彼此
  2. 插入模式
    插入模式下可以对文件内容进行编辑
    在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现INSERT字样
    在插入模式下按下ESC键,回到命令模式
  3. 底行模式
    底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
    在命令模式下按下[:,/]任意一个,可以进入底行模式
    通过 / 方式进入底行模式后,可以对文件内容进行查找
    通过 : 方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)

查找命令

find

作用:在指定目录下查找文件
语法:find dirName -option fileName

说明:

  • dirName:指定目录
  • -option:一般指定-name(根据文件名称来查找)
  • fileName:可以使用通配符的方式

举例:

  • find / -name helloworld.log
    • 在所有文件夹下查找helloworld.log文件
  • find . -name “*.java”
    • 在当前目录及其子目录下查找.java结尾文件
  • find /linuxCast -name “*.java”
    • 在/linuxCast目录及其子目录下查找.java结尾的文件

grep

作用:从指定文件中查找指定的文本内容
语法:grep word fileName

说明:

  • word:查找的文本
  • fileName:从哪个文件中种找

举例:

  • grep Hello Helloworld.java
    • 查找Helloworld.java文件中出现的Hello字符串的位置
  • grep hello *.java
    • 查找当前目录中所有.java结尾的文件中包含hello字符串的位置

Linux软件安装

软件安装方式

  1. 二进制发布包安装
    • 软件已经针对具体平台编译打包发布,只要解压,修改配置即可
  2. rpm安装
    • 软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题
  3. yum安装
    • 一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题
  4. 源码编译安装
    • 软件以源码工程的形式发布,需要自己编译打包

相关文章:

  • Streamsets-JDBC模式使用更新时间字段数据同步
  • 6/1 第十五届蓝桥杯国赛pb组 真题本人答案 仅供参考
  • AJAX基础知识
  • Java大厂面试题第2季
  • Vue使用axios实现调用后端接口
  • 智慧商砼搅拌车安监运营管理的创新实践
  • 【python008】excel表格转markdown文档表格
  • 【WEEK14】 【DAY4】Swagger Part 2【English Version】
  • ubuntu18.04 报错:fatal error: execution
  • 浏览器修改后端返回值
  • NKCTF 2024 webshell_pro
  • CI/CD:持续集成/持续部署
  • java web爬虫
  • 【OpenHarmony】TypeScript 语法 ③ ( 条件语句 | if else 语句 | switch case 语句 )
  • [数据集][目标检测]老鼠检测数据集VOC+YOLO格式4107张1类别
  • [case10]使用RSQL实现端到端的动态查询
  • Cookie 在前端中的实践
  • golang 发送GET和POST示例
  • iOS 颜色设置看我就够了
  • js继承的实现方法
  • Koa2 之文件上传下载
  • redis学习笔记(三):列表、集合、有序集合
  • spring boot下thymeleaf全局静态变量配置
  • supervisor 永不挂掉的进程 安装以及使用
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 初识 beanstalkd
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 工程优化暨babel升级小记
  • 基于web的全景—— Pannellum小试
  • 普通函数和构造函数的区别
  • 全栈开发——Linux
  • 探索 JS 中的模块化
  • 我的业余项目总结
  • 自定义函数
  • AI算硅基生命吗,为什么?
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 仓管云——企业云erp功能有哪些?
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #vue3 实现前端下载excel文件模板功能
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (十一)图像的罗伯特梯度锐化
  • (一)基于IDEA的JAVA基础12
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)为C# Windows服务添加安装程序
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .NET学习全景图
  • .project文件
  • 。Net下Windows服务程序开发疑惑
  • /var/log/cvslog 太大