linux篇(一)linux快速上手

2023-10-27

作者介绍:

关于作者:东条希尔薇,一名喜欢编程的在校大学生
主攻方向:c++和linux
码云主页点我
本系列仓库直通车
作者CSDN主页地址

这是新坑的第一篇文章,也是我年前的最后一篇,作者先在这里和大家拜个早年啦!

在这里插入图片描述
这个系列,我们将通过linux详细的介绍操作系统和计算机网络,以及linux下的数据库操作

因为linux是纯命令的一种操作系统(xshell上),当然也有图形化的界面(虚拟机上的centos系列等),但因为以后去公司使用linux系统的话都是纯指令操作,所以我们在本篇文章中重点使用xshell纯命令模式来介绍linux

要了解linux,首先要了解怎么操作linux,以及简单的代码编写等

坐好,我们开始喽!

在这里插入图片描述

linux热键

ctrl+c立刻结束当前程序
ctrl+d有exit的意思,也象征键盘的输入结束
tab命令自动补全(重要),例如你想打开一个test的文件夹,你可以直接输入t后再输入tab,可以直接补全文件夹名
**ctrl+insert(可能还需要加fn)**复制
**shift+insert(可能还需要加fn)**粘贴

linux用户操作

adduser添加用户

需要在root权限下使用

使用示例:adduser dtxew(创建一个名为dtxew的用户)

在这里插入图片描述

passwd修改用户密码

需要在root权限下使用

为我们的账户修改密码,如果是新账户就必须要设置密码,不然无法登入账户

使用示例:passwd test(为test用户设置密码)
在这里插入图片描述

注意:linux下输入密码不回显,所以就算你输入了密码,你也无法在屏幕上看到

userdel删除用户

需要在root权限下使用

使用示例:userdel -r test(删除名为test的用户)

注意:删除用户最好加上-r,这样可以删除该用户所有的文件

linux文件读和访问操作

首先我们来了解一下文章路径的一些概念:路径是标准文件和访问文件位置的路径

linux系统中,文章是以文件树的形式来组织的,其中根目录的路径是/

在这里插入图片描述
其中从根目录出发的路径,叫做绝对路径

例如,我们要从根目录到sz用户下的1_24_blog文件夹中
在这里插入图片描述

当前文件夹某一个文件出发的路径,称为相对路径

例如,我们要从blog文件夹到根目录下

在这里插入图片描述
拥有一个文件的路径,可以方便我们对大量文件的操作

ls文件查看(重要)

使用示例 ls /lesson1 (列出lesson1文件夹下的所有文件)(后面不带路径的话会展示当然文件夹的文件)

使用标准:ls 【选项参数】【目录路径】

在这里插入图片描述

ls一些附加参数

ls -l显示文件的详细信息(可简写为ll)
在这里插入图片描述
(这些详细信息代表的含义我们在后面介绍)

ls -a 可以显示隐藏文件

其中,文件前面带点的都是隐藏文件,而在每个目录新创建,都会自动带上两个隐藏目录.(一点)…(两点),其中一点代表当然路径,两点代表上一级路径

所以,我们可以通过ls …查看上级路径

在这里插入图片描述

ls -R递归列出所有子文件夹下的文件(递归列出)

cd改变工作目录(重要)

我们可以通过cd命令来进入某个目录

使用格式:cd 【目录名】

例如:

在这里插入图片描述

cd 其它操作

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

cat文件查看

使用:cat 文件名

我们可以直接将文件内容打印在我们的终端中

例如我们需要查看我们写的c语言代码

在这里插入图片描述

cat的其它参数

cat -n对输出行标上序号

cat只适用与查看短小的文件,对于很长的文件,因为cat指令会刷屏,所以要查看文件最开始的内容会变得比较麻烦

more文件查看

使用:more【选项】【文件名】

more指令可以更好的查看文档,它默认以文章开头开始,按回车可以往下翻页

在查看时可按q退出, -n输入行号

但more指令是不能够往上翻页的,只能往下翻页

less文件查看(重要)

使用:less【选项】【文件名】

相对与上面两个指令,less指令可以更加方便地查看长文档,是一种强大的文本查看工具

less支持按上下键翻页

less支持搜索功能

在命令行中按/会从当前位置出发往下查找需要查找的字符串
在命令行中按?会从当前位置出发往下查找需要查找的字符串

在这里插入图片描述

其它操作
-i搜索忽略大小写
-N显示行号
q退出

head文档开始

使用:head【选项】【文件】

head会将文件的前面的内容输出在终端中,默认打印前10行

示例:

在这里插入图片描述

tail显示文件末尾

用法与head一样,但会显示文档后面的内容

重要补充:重定向与管道

问题的引入:如何将文档中间的内容输出到某个文件中

首先我们认识一下echo命令

使用格式:echo “【字符串】”,它会把输出字符串显示在标准输出中

例如:
在这里插入图片描述
而我们可以通过重定向,将我们的标准输出保存在我们的某个文件中,如果无此文件,则会重新创建一个

使用方法:在指令后面加一个大于符号,指向我们的新文件

在这里插入图片描述
但如果我们反复重定向在一个文件中,将会默认覆盖掉原来的内容

在这里插入图片描述
所以我们引入了追加重定向,使用方法是再加一个大于符号,它不会覆盖原内容

在这里插入图片描述
所以我们可以通过重定向将某个标准输出保存在另外的文件中

第一个问题解决了,那么,我们怎么截取100-120行的内容?

我们可以先通过head -120截取前120行的内容,再把截取的内容再进行tail-20,就可以截取到100-120行的信息了

在这里插入图片描述
这么操作可能略显麻烦,不仅需要两个指令,而且还需要一个临时文件

那么,怎么简化我们的操作呢?

我们可以使用管道技术

管道其实就是一个流水线,它可以把前面指令得到的数据继续传输到下一条指令继续执行

使用方法,在两条指令中间加入|

例如:

在这里插入图片描述

find -name 文件查找和which指令查找(重要)

使用示例:find【文件路径】-name【文件名】
which可以查看指令存在的路径

例如:

在这里插入图片描述
我们也可以使用通配符来查找

在这里插入图片描述

grap搜索

使用:grap【选项】“【字符串】”【文件】

作用:在文件下搜索字符串,将找到的行打印出来

例如:

在这里插入图片描述
其它操作:
-i 查找忽略大小写
-E使用正则表达式:常用的有^a,显示以a开头的行,$匹配文件末尾

文件写与修改操作

touch创建普通文件(重要)

使用:touch 文件名…(支持批量创建文件),不允许创建同名文件,将会覆盖原来的文件(更新时间)

例如:

在这里插入图片描述

mkdir创建文件夹(重要)

使用:mkdir【目录名】

可以创建一个新文件夹

另外的,如果加上-p,将会递归根据给出路径创建文件夹

在这里插入图片描述

rmdir&&rm删除文件夹&&删除目录(重要)

使用:rmdir&&rm【文件夹&&文件名】

rmdir默认不会删除非空目录

选项:
rmdir -r 删除目录下的所有文件
rmdir -f连被保护文件一并删除
rmdir -i删除前确认

cp复制(重要)

使用:cp【选项】【源文件目录】【现文件目录】

可以将某个文件复制到某个新的目录中,同样可以使用-r复制整个文件夹

mv剪切(重要)

使用:与cp类似

可以移动文件到相应位置,如果源目录和目标目录相同,相当于重命名

其它指令

pwd(显示当然所在文件路径)

压缩命令,zip和tar等

使用:zip【压缩文件名.zip】【压缩目标】,可使用-r递归处理整个目录

示例:

在这里插入图片描述

unzip【文件名】解包

tar命令:打包和压缩

常用选项:

-c建立一个压缩文件
-z使用gzip压缩算法压缩
-v压缩过程中显示文件
-f将压缩文件重命名为。。。

使用示例:

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux篇(一)linux快速上手 的相关文章

  • 如何在内核内部使用性能计数器?

    我想访问内核内部的性能计数器 我发现了很多在用户空间中使用性能计数器的方法 但是你能告诉我一些在内核空间中使用这些计数器的方法吗 Please 不指定工具名称 我想写自己的代码 最好是内核模块 我使用的是内核为 3 18 1 的 Ubunt
  • 在 Linux 上使用命令行 PHP 检查互联网连接

    我在 Linux 上使用命令行 PHP 来打开蓝牙拨号连接 并且我需要一种快速的方法来检查互联网连接是否处于活动状态 嗯 不一定要脏 但要快 使用exec运行外部命令不是问题 我正在考虑 ping 一些稳定的服务器 例如谷歌 但我想知道是否
  • 简单的awk命令问题(FS、OFS相关)

    我尝试重新组织包含以下内容的文件的格式 gt Humanl chr16 86430087 86430726 element 1 positive gt Humanl chr16 85620095 85621736 element 2 neg
  • IPC:在两个程序之间使用 C++ 中的命名管道

    我试图在同一台机器上运行的两个不同程序之间实现IPC 在我的例子中是CentOS7 为了实现一种松散耦合 我决定对 IPC 使用命名管道 因此 我正在使用以下示例并遇到了不同的问题 创建并写入管道 include
  • 针对 openpose 将 GCC 9.3.0 降级到 7 后,cuda_compile_1_ generated_batch_norm_layer.cu.o.Release.cmake 出现 CMake 错误

    你知道我该如何解决以下错误吗 这是在我使用以下命令从 GCC 9 3 0 降级到 7 后发生的 使用以前版本的 GCC 我收到此错误 CMake 不支持的 GNU 版本 不支持高于 8 的 gcc 版本 https stackoverflo
  • 如何判断输入来自哪个键盘

    设想 我有一个 USB RFID 读取器 将其连接到笔记本电脑后 它可以用作新连接的 USB 键盘 例如无需安装任何驱动程序 当接触带有 RFID 标签的阅读器时 它进入我当前的窗口 例如终端 外壳 RFID 号码 例如0009339384
  • 为什么我不能将 Unix Nohup 与 Bash For 循环一起使用?

    例如 此行失败 nohup for i in mydir fasta do myscript sh i done gt output txt bash syntax error near unexpected token do 正确的做法是
  • WSL gprof 报告零次

    我正在尝试在 Windows 10 上的 WSL 中使用 gprof 我没有预料到会遇到任何困难 因为上次我在 Windows 7 上的 Ubuntu 虚拟盒中使用它时它工作得很好 与以前一样遵循来自https www thegeekstu
  • 如何将动态链接的应用程序转换为静态链接的应用程序?

    我有一个应用程序 例如 gedit 它是动态链接的 但我没有源代码 所以我不能按我喜欢的方式编译它 我想要做的是将其静态链接并将其移动到没有运行该应用程序所需的库的系统 那么是否可以做到以及如何做到呢 理论上是可能的 您基本上必须执行与动态
  • python os.path.exists() 对于存在的 nfs 挂载目录文件失败

    我基本上有一个用于网站的网络服务器和另一个仅存储文件的网络服务器 文件服务器通过安装其目录之一连接到主服务器 该网站运行 Django 所以我主要处理 python 不管怎样 我似乎遇到了一些问题 文件被报告为不存在 即使它们实际上存在 基
  • 在linux中将数据“广播”到多个进程的规范方法?

    我有一个应用程序需要将数据流从一个进程发送到多个读取器 每个读取器都需要查看自己的流副本 这是相当高的速率 100MB s 并不罕见 因此我希望尽可能避免重复 在我的理想世界中 Linux 应该有支持多个读取器的命名管道 并为常见的单读取器
  • 为什么不使用 sshrc 中设置的 $PATH?

    我正在尝试在 OS X 服务器上通过 ssh 设置 svn 为了做到这一点 我读到我需要一个包装器来设置 umask 并 在我的例子中 设置存储库根 一种快速而肮脏的方法是重命名 usr bin svnserve并将包装器脚本放置在该位置
  • 将条目添加到 Linux 内核 .config 文件

    如何手动将 CONFIG XILINX FIXED DEVTREE ADDR y 行添加到 Linux 配置文件中 当我构建内核时它不断被覆盖 您可以通过以下方式构建make CONFIG XILINX FIXED DEVTREE ADDR
  • 有人可以解释一下以下内存分配 C 程序的性能行为吗?

    在我的机器上 时间 A 和时间 B 交换取决于是否A是 定义或未定义 这会改变两个的顺序 callocs 被称为 我最初将此归因于寻呼系统 奇怪的是 当mmap被用来代替calloc 情况更加奇怪 两个循环花费的时间相同 正如预期的那样 作
  • c - 后台运行的程序的退出状态

    我有一个任务 其中我必须创建一个迷你 shell 它能够执行很多操作 包括作业控制 我设法使用 fork 和 execvp 创建新的工作 但我还想获取 execvp 运行的程序的退出代码 根据我从其他帖子中查找到的内容 我可以使用以下方法来
  • 使用 sysfs 的 Linux 用户空间 GPIO 中断

    我想使用 sysfs 在用户空间上使用 GPIO 中断 我使用这些命令 root at91 gpio109 gt echo 109 gt export root at91 gpio109 gt cd gpio109 root at91 gp
  • ulimit -r 返回不同的值

    我将以下两行添加到系统范围的 etc security limits conf 中 soft rtprio 55 hard rtprio 55 系统重新启动后 根据我在计算机上访问用户帐户的方式 我会得到两个不同的结果 user clien
  • top命令的CPU使用率计算

    我正在尝试使用 GNU coreutil top 的公式来计算 CPU 使用率的百分比 但 top 正在使用一些 half total 来计算百分比 即在百分比上添加 0 5 在top的utils c中 以下行 在 3 8 beta1 中
  • 如何检查QProcess是否正确执行?

    QProcess process sdcompare QString command sdcompare QStringList args sdcompare command sdcompare diff args sdcompare lt
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的

随机推荐

  • 算法与数据结构可视化网站

    今天画B 树用到了 算法与数据结构可视化网站 https www cs usfca edu galles visualization Algorithms html
  • iOS自定义转场动画

    如果你在开发中遇到需求 需要实现各种各样的转场动画 那么你可以看看这篇文章 当然 本文并没有实现各种各样的花式转场动画 而是实现了一种思路 抛砖引玉 希望你在看了本文之后能举一反三 随心所欲的定制自己喜欢的转场动画 注意这里讲的实现仅仅支持
  • Python基础学习04--字符串

    注释 单行注释 gt 以井号 开头 可以单独行 也可以在某行代码后边 多行注释 块注释 gt 多行代码或者内容 以三个连续单引号或双引号开始和结束 中间任何内容都忽略 我写了这么多 会不会打印出来 print 第1个 Hello World
  • ctfshow RCE极限挑战 wp

    这五题都做出来 真的不容易呀 最终终于是在比赛结束以前全部做完了 拿到了十几块钱 是一个星期的早餐了 嘿嘿嘿嘿 哎 不过对于 自增的理解可以说是提升很多很多 这里主要讲的自增 主要详细讲解他是怎么用的 目录 基本 题目详解 RCE挑战1 R
  • python第五章课后答案加注释_Python自然语言处理第五章分类标注词汇_关于自然语言处理的问题...

    optioninfo dynamic ture static true simplifiedDisplay newEdition newCard ifIcon img link https img alicdn com tfs TB1XY8
  • 比较两个二叉树是否相同

    也许你看过书 也许你背过代码 都不重要 重要的是 你能将你看过的变成自己的想法 然后实现它 不在其他代码的阴影下活着 让你的代码舞动起来 也许代码可能看起来有点不简洁 思想 可以按照递归的思路进行 左子树是否相等 右子树是否相等进行遍历 b
  • Eth-Trunk链路聚合

    一 链路聚合原理 1 1 原理简述 链路聚合能够提高链路带宽 增强网络可用性 支持负载分担 链路聚合是把两台设备之间的多条物理链路聚合在一起 当做一条逻辑链路来使用 这两台设备可以是一对路由器 一对交换机 或者是一台路由器和一台交换机 一条
  • Stm32 简单实现软件调用bootloader

    最近做了个密封的设备 由于只有一个接口 该接口连接usb otg 没有串口芯片进行复位操作导致烧录相当麻烦 如果自己做IAP又会挤占那可怜的ram空间 受IAP原理触发 想到可以通过跳转的方式进入系统储存器 通过查阅手册可以发现BootLo
  • 数据库inset update返回值正常,但是数据却没有更新

    今天碰到了这件怪事 我找了好久没发现问题 从数据库用户权限到源码都看了 也没发现问题 愁了一天555 后来发现是加了事务没提交 心态崩了
  • @RabbitListener详解

    RabbitListener 是用于在 Spring AMQP 中消息监听的注解 它允许在 Spring 应用程序中声明消息监听器 在使用 RabbitListener 注解的方法上 可以接收来自 RabbitMQ 队列的消息 这些方法可以
  • 螺杆真空泵安装流程图_无油干式真空泵的选型

    无油干式真空泵有着空前的节能与环保优势 更代表未来泵业发展的一种趋势 而众多的干式无油真空泵有着不同真空参数和不同的功能区别 如何根据自身工艺特点选择那种干式无油真空泵的型号 就首先了解各种不同类型干式无油真空泵的选型知识 这样做出的选择才
  • 如何在群晖NAS中使用cpolar内网穿透

    如何在群晖nas中使用cpolar内网穿透 文章目录 如何在群晖nas中使用cpolar内网穿透 今天 我们来为大家介绍 如何在群晖系统中 使用图形化界面的cpolar cpolar经过图形化改造后 使用方法已经简便了很多 基本与其他应用软
  • vue3浏览器报错解决Uncaught runtime errors

    我们只需要在项目 vue config js 加上如下配置即可 module exports defineConfig devServer client overlay false
  • linux 内核启动参数

    Linux 内核引导选项简介 作者 金步国 版权声明 本文作者是一位开源理念的坚定支持者 所以本文虽然不是软件 但是遵照开源的精神发布 无担保 本文作者不保证作品内容准确无误 亦不承担任何由于使用此文档所导致的损失 自由使用 任何人都可以自
  • linux 读写锁应用实例

    使用读写锁实现四个线程读写一段程序的实例 共创建了四个新的线程 其中两个线程用来读取数据 另外两个线程用来写入数据 在任意时刻 如果有一个线程在写数据 将阻塞所有其他线程的任何操作 include
  • 服务器系统一键功能安装,一键安装服务器系统

    一键安装服务器系统 内容精选 换一换 公有云平台提供了一键式重置密码功能 弹性云服务器的密码丢失或过期时 如果您的弹性云服务器提前安装了一键式重置密码插件 则可以应用一键式重置密码功能 给弹性云服务器设置新密码 该方法方便 有效 建议您成功
  • OpenMV串口通讯详解

    官方教程 串口通讯上 串口通讯下 OpenMV的Uart类函数介绍 目录 材料准备 官方示例代码解析 UART 函数介绍 usart write 函数介绍 time sleep ms x 函数介绍 自己写的代码加深理解 usart any
  • java版本号比较

    public static int versionCompareTo String version1 String version2 version1 version1 null version1 replaceAll d version2
  • 单纯形法详解

    单纯形法是针对求解线性规划问题的一个算法 这个名称里的 单纯形 是代数拓扑里的一个概念 可以简单将 单纯形 理解为一个凸集 标准的线性规划问题可以表示为 min or max f x cx s t Ax b x gt 0 b gt 0 以上
  • linux篇(一)linux快速上手

    作者介绍 关于作者 东条希尔薇 一名喜欢编程的在校大学生 主攻方向 c 和linux 码云主页点我 本系列仓库直通车 作者CSDN主页地址 这是新坑的第一篇文章 也是我年前的最后一篇 作者先在这里和大家拜个早年啦 这个系列 我们将通过lin