Linux 的基本使用

news2024/9/25 13:25:56

1、Linux 是什么

Linux 是一个操作系统. 和 Windows 是 "并列" 的关系

Linux 严格意义来说只是一个 "操作系统内核".

一个完整的操作系统 = 操作系统内核 + 配套的应用程序.

CentOS 和 RedHat 的关系

RedHat一直都提供源代码的发行方式,CentOS就是将RedHat发行的源代码去掉 RedHat 的 logo 商标, 重新编译一次.

CentOS可以得到RedHat的所有功能,甚至是更好的软件。但CentOS并不向用户提供商业 支持,当然也不负上任何商业责任。

2、Linux 环境搭建

2.1环境搭建方式

主要有四种:

1. 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好. [不推荐].

2. 使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在 一些 bug , 会导致环境上出现各种莫名其妙的问题, 比较折腾. [非常不推荐]

3. 使用 WSL (Windows Subsystem for Linux). 这个是 Windows 近几年开发的新功能, 在 Windows 系统内集成了一个 Linux. 但是目前这个技术还不够成熟. [暂时不推荐].

4. 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器. [墙裂推荐]

使用云服务器不仅环境搭建简单, 避免折腾, 同时还有一个最大的好处, 部署在云服务器上的项目可以直 接被外网访问到, 这个时候就和一个公司发布一个正式的网站没有任何区别. 也就能让我们自己写的程序 真的去给别人去使用.

3、Linux 常用命令

3.1 ls

语法: ls [选项] [目录或文件]

功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

常用选项:

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -l 列出文件的详细信息。
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -R 列出所有子目录下的文件。(递归)

3.2 pwd 

语法: pwd

功能:显示用户当前所在的目录

3.2 cd

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

 语法: cd 目录名

功能: 改变工作目录。将当前工作目录改变到指定的目录下.

举例:

cd .. : 返回上级目录
cd ~ :进入用户家目录
cd - :返回最近访问目录

3.3 粘贴与复制快捷键

粘贴:shift + fn + insert

复制: ctrl + fn + insert

Linux中ctrl + c 并不是复制,作用是终止输入当前行

3.4认识 Linux 目录结构

Linux 是一个树形目录结构.

几个特殊的目录:   

  • / 称为根目录   
  • . 称为当前目录 
  •  .. 称为当前目录的上级目录

绝对路径 vs 相对路径 

形如: /usr/share/tomcat/logs/ 以根目录开头的, 称为绝对路径.

形如: ./logs 以 . 或者 .. 开头的, 称为相对路径

使用 tab 键补全

我们敲的所有的 Linux 命令, 都可以使用 tab 键来尝试补全, 加快效率.

使用 ctrl + c 重新输入

如果命令或者目录敲错了, 可以 ctrl + c 取消当前的命令.

3.5 touch 

语法: touch [选项]... 文件...

功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的 文件。

举例:

touch hello.txt

  

3.6 cat

语法:cat [选项] [文件]

功能: 查看目标文件的内容

举例:

cat hello.txt

3.7 echo

语法: echo 内容

功能:写内容到标准输出。配合重定向操作把内容写道指定的文件中

 > :清空原有内容,写入指定的数据

>> : 追加指定数据

3.8 mkdir

语法:mkdir [选项] dirname...

功能:在当前目录下创建一个名为 “dirname”的目录

常用选项:-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统 将自动建立好那些尚不存在的目录,即一次可以建立多级目录

举例:

mkdir newtemp : 创建一个新的目录(新文件夹)

mkdir –p test/test1 : 递归建立多个目录

mkdir aaa bbb ccc : 在当前目录下创建多个目录

3.9  rm

语法:rm [-f-i-r-v] [dirName/dir]

功能:删除文件或目录

常用选项:

  • -f 即使文件属性为只读(即写保护),亦直接删除
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件

举例

rm test.txt

重要注意事项:

千万不要运行 rm -rf / 

3.10 cp

语法:cp [选项] 源文件或目录 目标文件或目录

功能: 复制文件或目录

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存 在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

常用选项:

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

举例: 

cp test1.txt temp/test1.txt   

cp test1.txt temp    //只指定了目标目录,就会以源文件名为目标文件名

cp test1.txt temp/test2.txt  //指定了目标文件名

3.11 mv

语法: mv [选项] 源文件或目录 目标文件或目录

功能:

1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。

2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

举例: 

mv test1.txt test2.txt

3.12 man

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。

语法: man [选项] 命令

常用选项:

  • -k 根据关键字搜索联机帮助
  • num 只在第num章节找
  • man man 能够看到 man 手册中的若干个章节及其含义.

举例

man ls

3.13 less

相当于Windows中的记事本打开文件

语法: less [参数] 文件

功能:查看文件内容. 不会立刻把所有文件内容加载到内存中. 也能进行查找.

选项:

  • j k / 方向键: 向上向下滚动屏幕.
  • -N  显示每行的行号
  • /字符串:向下搜索“字符串”的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • q: 退出

3.14 head

语法:head [参数]... [文件]... 

功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。从文件第一行开始加载

选项: -n 显示的行数

举例:

head test.txt

head -n50 test.txt

3.15 tail

语法: tail [必要参数] [选择参数] [文件] 

功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

从文件的最后一行开始加载

选项:

  • -f 循环读取
  • -n 显示行数
tail test.txt

tail -n50 test.txt

tail -100 test.txt

3.16 date

date 指定格式显示时间: date +"%Y-%m-%d %H:%M:%S"

date 用法:date [OPTION]... [+FORMAT]

1. 在显示方面,使用者可以设定预显示的格式,格式设定为一个加号后接数个标记

  • %H : 小时(00..23)
  • %M : 分钟(00..59)
  • %S : 秒(00..61)
  • %X : 相当于 %H:%M:%S
  • %d : 日 (01..31)
  • %m : 月份 (01..12)
  • %Y : 完整年份 (0000..9999)
  • %F : 相当于 %Y-%m-%d

2. 时间戳

  • 时间->时间戳:date +%s
  • 时间戳->时间:date -d@1508749502

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日 (UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

3.17 vim

vim 是一个知名的文本编辑器. 前面学习的 cat, less, head, tail 等命令只能查看文本, 不能编辑文本. 使 用 vim 就可以进行编辑了.

vim 就相当于 Windows 的记事本. 只不过功能比记事本强大一些.

1) 创建文件 / 打开文件 

vim [文件名]

2) 进入插入模式

vim 打开文件后默认是普通模式. 普通模式下键盘的按键表示一些特殊功能的快捷键. (例如按下 j 并不是 输入字母 "j", 而是表示光标往下移动一行). 需要进入插入模式才能进行文本编辑. 使用 i 键可以进入到插入模式. (左下角提示 --INSERT-- ) 然后就可以像记事本一样正常编辑了.

3) 保存

在插入模式下不能保存文件, 需要先回到普通模式 . 按下 Esc 回到普通模式. 在普通模式下输入 :w , 再按下回车, 即可保存文件.

4) 退出

在插入模式下不能退出, 需要先回到普通模式.

在普通模式下输入 :q , 再按下回车, 即可退出

也可以直接使用 :wq 同时执行保存和退出.

参考资料

3.18 grep

语法:grep [参数]... [文件]... 

功能:用于查找文件中是否包含指定字符串, 并显示对应的行.

选项:

  • -n 显示的行数
  • -w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
  • -r 递归查找. 可以搜索多级目录下的所有文件.
  • --color 高亮查找到的结果
  • --include 指定查找某些文件
  • --exclude 指定排除某些文件

举例: 

grep "hello" Hello.java

3.19 ps

语法:ps [参数]...

功能:用于查看当前系统上运行的进程

选项:

  • a 显示一个终端的所有进程
  • u 以用户为主的格式来显示程序状况
  • x 显示所有程序,不以终端机来区分

举例:

ps aux   # 显示系统上所有的进程
ps aux | grep "进程名"
ps aux | grep "进程id"

3.20 netstat

语法:netstat [参数]...

功能:查看系统上的网络状态.

选项:

  • -a 显示所有正在或不在侦听的套接字
  • -n 显示数字形式地址而不是去解析主机、端口或用户名
  • -p 显示套接字所属进程的PID和名称

举例:

netstat -anp
netstat -anp | grep "进程名"
netstat -anp | grep "端口号"

3.21 Linux命令大全网站

Linux 命令大全 | 菜鸟教程

4.Linux 权限

4.1用户操作

Linux下有两种用户:超级用户(root)、普通用户。

  • 超级用户:可以再linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

1. 创建用户

命令:  useradd [用户名]

功能:  创建新的用户

示例 :

useradd zrs

2. 配置密码 

命令:  passwd [用户名]

功能: 设置或修改用户密码

示例:

passwd zrs

 

 注意, 输入密码的时候, 在控制台中不会有提示. 但实际上已经输入进去了

3. 切换用户 

命令:su [用户名]

功能:切换用户。

例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的 口令。

 

4.2 三种角色

访问一个文件的人可能分成三种类别.

  • 文件和文件目录的所有者:u---User
  • 文件和文件目录的所有者所在的组的用户:g---Group
  • 其它用户:o---Others

4.3 文件类型和访问权限

命令 ll 显示了一个文件的详细信息. 解读如下图:

a) 文件类型

  •  d:文件夹
  • -:普通文件
  • l:软链接(类似Windows的快捷方式)
  • b:块设备文件(例如硬盘、光驱等)
  • p:管道文件
  • c:字符设备文件(例如屏幕等串口设备)
  • s:套接口文件

b) 基本权限 

  • 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权 限
  • 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件 的权限
  • 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限 “-” 表示不具有该项权限

4.4 修改文件权限

功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

常用选项

  • R -> 递归修改目录文件的权限
  • 说明:只有文件的拥有者和root才可以改变文件的权限

chmod命令权限值的格式 

① 用户表示符+/-=权限字符

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限

用户符号:

  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户

举例:

# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt
# chmod a=x /home/abc.txt

②三位8进制数字

举例:

# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL系列】表约束的学习

「前言」文章内容大致是MySQL的表的约束。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、MySQL表的约束1.1 空属性1.2 默认值(default)1.3 列描述(comment)1.4 zerofill1.5 主键(primary ke…

新型网络安全:从过程到明确结果

内容 过去的情况网络安全是理论性的,结果才是实际性的。这可能吗?我们现在的努力方向结论 本文讲述了为什么企业必须重新思考其网络安全方法:旧方法是否足够有效,是否可以完全适用?公司应采取哪些行动来实现内部信息…

【Spring Boot】构建RESTful服务 — RESTful简介

RESTful简介 本节将从基础的概念开始介绍什么是RESTful、RESTful的特点、RESTful中的资源、HTTP Method、HTTP Status,还将介绍RESTful和SOAP到底有哪些区别。 1.什么是RESTful RESTful是目前流行的互联网软件服务架构设计风格。REST(Representationa…

HCIA---路由器--静态路由

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.路由器简介 路由器是一种网络设备,用于将数据包从一个网络发送到另一个网络…

系统架构设计师-系统可靠性分析与设计

目录 一、可靠性相关基本概念 二、可靠性指标 1、串联系统与并联系统可靠性指标计算 2、混合系统 三、可靠性设计 1、影响软件可靠性的主要因素: 2、增加可靠性的解决方案 2.1 避错技术 2.2 降低复杂度设计 2.3 检错技术 2.4 容错技术 3、双机容错 一、可靠性相关…

当涉及到Python计算结果的责任时,谁来负责呢?

代码质量和测试:在发布之前,通常会进行代码测试以确保基本的错误被避免。对于广泛使用的库和框架,如numpy、scipy和pandas,其代码正确性经过了充分的测试和验证,用户可以放心使用。社区维护和开发者:Python…

自编码器的学习

先奉上视频 https://www.bilibili.com/video/BV1Vx411j78H/?spm_id_from333.788.recommend_more_video.-1&vd_sourceeb433c8780bdd700f49c6fc8e3bd0911

MySQL — MVCC

文章目录 MVCCMVCC 实现原理隐藏字段undo logundo log的用途undo log类型 版本链ReadView MVCC InnoDB是一个多版本的存储引擎。它保留有关已更改行的旧版本的信息,以支持并发和回滚等事务性特性。这些信息存储在undo表空间中的数据结构称为回滚段。InnoDB使用回滚…

三天吃透Java面试八股文(2023最新整理),面试通过率高达90%

什么样的求职者能够获得面试官的青睐?求职者需要准备哪些内容来面对形形色色的面试官?这两份资料是我在几十场面试中被面试官问到的问题,比其他复制粘贴的面试题强一百倍,堪称全网最强(我不太喜欢“全网最强”这样的字…

《连锁零售超市经营数据分析实战》学习笔记

这篇文章整理自 接地气的陈老师 x 和鲸社区 | 连锁零售超市经营数据分析实战 活动业务讲解会【接地气的陈老师】的讲解 更多数据分析动手实践活动欢迎访问>>和鲸社区活动 活动背景 现在你是某零售企业的商业数据分析师,你为管理层提供日常经营数据。到一年年…

【JAVA开发工具系列】Git

Git常用功能整理 1.自动打包1.1 第一步安装git 服务1.1.1 查看版本1.1.2 安装1.1.3 配置秘钥 1.2 第二步 配置maven1.2.1 下载1.2.2解压1.2.3 配置环境变量1.2.4刷新环境变量文件1.2.5测试环境1.2.6 修改数据源 1.3 部署项目1.3.1拉取项目 1.4 jar 重启tomcat 2.SmartGit合并主…

Gpt微信小程序搭建的前后端流程 - 前端小程序部分-2.确定交互所需的后端API(二)

Gpt微信小程序搭建的前后端流程 - 前端小程序部分-2.确定交互所需的后端API(二) 参考微信小程序-小柠AI智能聊天,可自行先体验。 根据上一节的小程序静态页面设计,需要从后端获取数据的主要4个点: 登录流程;获取今日已提问次数&a…

财税数字化时代,RPA在多大程度上为财务部门实现降本增效?

企业数字化转型,财务是一个重要的切入点。随着数字化业务不断展开,新的系统、流程和数据源被不断引入,财务部门面临的是不断暴增的对账、处理报表、审计等日常工作。 如此大的工作量,即使是经验丰富的资深财务,也难免…

无服务器、Rust,都是旧技术的二次创业!

原文标题:​​Serverless Is the New Timeshare​​,作者:Shai Almog 还记得大型机吗?无服务器就好比如:我们拥有这台机器,你来我这里租借。创新往往都是在踩在巨人肩膀上诞生! 分时度假是一种…

Maven基础总结

前言 Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。 基本要求掌握 配置Maven环境直接查。 得会在IDEA创建Maven的java项目吧、会创建Maven的web项目吧、会创建多模块项目吧。 得会配置插件pligin、依赖dependency吧 一、Maven四大特性 1、…

利用Google Docs的评论功能投递钓鱼链接

情报背景 利用Google drive等可信云服务进行的网络钓鱼攻击活动日益增长,这种攻击手段利用了高可信度的云服务骗取受害者的信任,并且可以绕过基于域名的安全策略。 近期Avanan公司发现了一种新的邮件钓鱼方式,攻击者利用Google docs的评论功…

【CAS定制】定制化密码编码器--支持密码组合编码或加密 PasswordEncoder

CAS中,默认支持的PasswordEncoder只能通过一种密码算法进行编码或加密,但是日常场景经常存在组合编码的需求,这就需要我们去定制一种支持密码组合编码或加密的编码器。 文章目录 场景定制目标定制方案定制代码 场景 一般项目中有很多需要进行…

HTTP协议讲解

HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。 HTTP的发展是由蒂姆伯纳斯-李于1989年在欧洲核…

贝锐蒲公英:智能组网助力企业智慧工地信息化建设

随着现代信息化技术的不断发展,为了让企业工地施工管理、监督更为高效、精准,及时发现并处理工地单位施工中的安全和质量问题,视频监控已成为“智慧工地”建设中不可或缺的重要环节。 视频监控系统主要通过安装摄像头对施工现场进行实时监控和…

RK3568蓝牙程序开发过程

1、搭建蓝牙开发环境 蓝牙开发可以使用C语言开发或python语言开发,使用的是蓝牙开发库为bluez库。 本文开发使用python语言开发,安装bluez库,可以使用pip install PyBluez来安装。 如果安装不上的话,可以使用sudo apt install pyt…