virtual box一直正在加载文件_Linux基础导航与文件管理

4f8f1936835518a25a231dfb17bd74b5.png

Linux基础导航与文件管理

对于新手,或许很关心如何通过命令行来控制操作系统。这编文章将会尝试带你快速熟悉Linux系统基础,但是不会覆盖所有的Linux系统知识,在未来对Linux探索过程中会有很大的帮助。
本篇文章继续学习Linux基础。

准备与目标

在学习这篇文章之前你需要准备一些工作,因为我们需要尝试动手去通过命令行来操作Linux服务器。

  • 保证有一个Linux系统环境允许你去操作,这里推荐你使用Win10的WSL,可以尝试最新版本的Ubuntu系统。
  • 确保你能够使用openssh登录你的Linux环境,如果你在使用Win10WSL,那么可以通过Windows PowerShell直接登录至ubuntu。
  • 对于新手,如果你正常使用公司或者学校机房的虚拟设备,那么最好通过非root用户来完成这些操作,避免带来不必要的麻烦。

都ok的话就可以带上你的终端工具开始工作。

导航与探索

最基本的技能是需要掌握文件系统管理以及相关的操作,围绕文件管理来展开学习讨论。

定位pwd

当你登录服务器工作中时,首先会进入登录用户主目录,在这个目录下,当前用户拥有绝对的权限,包括创建文件夹以及创建文件或者移除文件等,都有完全的控制权。
可以通过pwd目录来展示你的主目录,其实pwd命令是定位器指令,会告诉你当前所处的目录。

pwd

输出:

/home/lance

用户主目录是使用用户名来命名的,所以可以看到当前登录用户是lance。

查看目录内容ls

pwd可以定位当前目录,下面可以查看目录下的子目录以及文件内容。

比如我的主目录下存在以下内容:

输入ls输出一下内容:

go  lance

输入ls -l输出以下内容:

total 0drwxr-xr-x 1 lance lance 4096 Aug 23 01:24 godrwxr-xr-x 1 lance lance 4096 Aug 23 11:36 lance

第一列描述的是文件类型和权限,d表示当前为一个目录,如果是-则表示当前是一个文件,l表示一个链接。

rwx表示的文件权限,分别代表:

  • r: 读权限
  • x: 可执行
  • w: 写权限

三组用户权限分别代表文件所有者权限、组权限、其他用户权限。可以使用chmod命令来修改文件权限。

输出中还保护文件条目数量、修改时间等信息,这些信息能够通过ls命令的-l选项来输出。
如果你想查看目录中所有的文件,包括系统隐藏文件在内,那么可以通过-a选项来控制。

切换文件系统空间cd

在Linux文件系统中,有绝对路径和相对路径。每个文件都必须挂在一个上层目录之下,一直到一个根目录为止,/表示根目录。绝对路边包含了完整的路径关系,可以在系统的任何位置来引用该文件,所以每个绝对路径都必须是以根目录开始的。

/home/lance/go 为一个绝对路径

相对路径是指相对于当前所在的目录而言的,通常用于引用与当前目录较为接近的目录,只能在当前目录下使用相对路径,否则都是不合规范的。

./go 为一个相对目录,在我们案例中处于/home/lance目录之下

  • 在Linux命令中.表示当前目录,..表示上一层目录。

查看文件内容

在学习了一些文件系统导航命令之后,开始尝试讨论不同方式去查看文件内容。与其他操作系统相比,Linux以及类似的Unix系统都依赖于文本文件。

常用阅读文本文件的方式是使用less命令,这个命令支持分页控制去查看文本内容。该命令会分页给你展示文件内容,直到你手动退出来命令输入符。可以动手尝试使用less命令出查阅某个文本文件。

输入:

less /var/log/dpkg.log

输出:

2020-08-04 21:47:42 startup packages remove2020-08-04 21:47:42 status installed linux-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 remove linux-virtual:amd64 5.4.0.42.46 2020-08-04 21:47:42 status half-configured linux-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 status half-installed linux-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 status config-files linux-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 status not-installed linux-virtual:amd64 2020-08-04 21:47:42 status installed linux-headers-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 remove linux-headers-virtual:amd64 5.4.0.42.46 2020-08-04 21:47:42 status half-configured linux-headers-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 status half-installed linux-headers-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 status config-files linux-headers-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 status not-installed linux-headers-virtual:amd64 2020-08-04 21:47:42 status installed linux-headers-generic:amd64 5.4.0.42.462020-08-04 21:47:42 remove linux-headers-generic:amd64 5.4.0.42.46 2020-08-04 21:47:42 status half-configured linux-headers-generic:amd64 5.4.0.42.462020-08-04 21:47:42 status half-installed linux-headers-generic:amd64 5.4.0.42.462020-08-04 21:47:42 status config-files linux-headers-generic:amd64 5.4.0.42.462020-08-04 21:47:42 status not-installed linux-headers-generic:amd64 2020-08-04 21:47:42 status installed linux-headers-5.4.0-42-generic:amd64 5.4.0-42.462020-08-04 21:47:42 remove linux-headers-5.4.0-42-generic:amd64 5.4.0-42.46 2020-08-04 21:47:42 status half-configured linux-headers-5.4.0-42-generic:amd64 5.4.0-42.462020-08-04 21:47:42 status half-installed linux-headers-5.4.0-42-generic:amd64 5.4.0-42.462020-08-04 21:47:42 status config-files linux-headers-5.4.0-42-generic:amd64 5.4.0-42.462020-08-04 21:47:42 status not-installed linux-headers-5.4.0-42-generic:amd64 2020-08-04 21:47:42 status installed linux-headers-5.4.0-42:all 5.4.0-42.462020-08-04 21:47:42 remove linux-headers-5.4.0-42:all 5.4.0-42.46 2020-08-04 21:47:42 status half-configured linux-headers-5.4.0-42:all 5.4.0-42.462020-08-04 21:47:42 status half-installed linux-headers-5.4.0-42:all 5.4.0-42.46/var/log/dpkg.log

可以通过键盘快捷键来控制页面内容滚动:

  • 单行上下滚动: up/down
  • 整屏向下滚动: 空格键/Page Down/CTRL-f
  • 整屏向上滚动: Page Up/CTRL-b
  • 在文本内容中搜索: /{content},注意搜索功能类似vim编辑器,将会定位在第一个结果处,可以通过N来实现下一个结果跳跃
  • 退出内容展示: q

除了less命令以外,Linux系统还内置了很多的文本内容查看命令:

  • head
  • cat
  • tail
  • more

创建文件touch

有很多创建文件的方式,但是最基础的命令是touch,这个命令将会创建一个空文件在指定目录。

可以尝试以下顺序执行命令:

cd # 进入主目录
toucd test_file.log # 创建文件
ls -l # 列出主目录文件

输出:

total 0drwxr-xr-x 1 lance lance 4096 Aug 23 01:24 godrwxr-xr-x 1 lance lance 4096 Aug 23 11:36 lance-rw-r--r-- 1 lance lance   12 Aug 23 23:56 test_file.log
  • 注意如果使用touch命令创建一个已存在的文件,则会接着已存在文件最后的修改数据内容,不会发生任何变化。

创建目录mkdir

类似touch命令,mkdir命令可以创建一个空的目录。
使用案例:

mkdir -p test/example

  • 注意如果目录已存在,则不会再次创建。如果需要循环创建多级目录,则需要-p选项。

移动或者重命名文件和目录mv

通过使用mv命令移动一个文件去另一个目录,同时可以重命名文件。

  • 注意这个命令是非常重要的,如果你重命名过程中指定的文件名已存在,则会覆盖目标目录中已存在的文件,这个文件会被彻底删除,是无法恢复的。

拷贝文件或者目录cp

mv命令能够移动和重命名文件或者目录,但是不能复制文件或者目录。可以通过cp命令来实现一个已存在的文件或者目录拷贝。

Usage: cp [OPTION]... [-T] SOURCE DEST  or:  cp [OPTION]... SOURCE... DIRECTORY  or:  cp [OPTION]... -t DIRECTORY SOURCE...

cp操作会同时保留两个文件。

  • 注意与mv命令一样,cp命令也会覆盖目标目录已存在文件,如果是目录已存在,则会将目录下内容拷贝至目标目录。
  • 如果想要拷贝整个目录以及目录全部内容,需要通过-r选项来实现。

移除文件和目录rm和rmdir

删除文件需要执行rm命令。

  • rm命令是不能撤销的动作命令,需要防止“删库跑路”类似的悲剧发生。

移除一个空目录,我们可以执行mvdir命令。这个操作仅能在目标目录不存在任何内容情况才能执行成功。

rmdir testing/example

如果需要移除一个非空目录,不得不使用rm -r命令,需要-r选项来配合rm命令,会递归移除目标目录下所有内容以及目录本身。

rm -r testing/example

  • 移除命令都是永久性的,一旦执行就无法恢复。

编辑文件

在学习了如何操作文件之后,进入学习如何编辑文件内容阶段。

nano命令是一个最简单的Linux文本编辑命令行,适合初学者。和less查看命令类似,在使用期间,nano会占用整个终端屏。
nano能够打开一个已存在的文件,或者创建一个新文件,只需要将你想编辑的文件或者创建的文件名称作为参数传输给命令。

工作中最为常见文本编辑器还是vi和vim。

小结

这篇文章之后便学习了基础的文件系统管理与权限,学会如何通过命令来操作管理服务器以及如何编辑文件。

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

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

相关文章

高德地图各种摄像头图标_高德导航中,限速摄像头,违章摄像头,监控摄像头各有什么区别...

展开全部限速摄像头e69da5e6ba903231313335323631343130323136353331333365666163是测速用的,超过限制时速就会抓拍,一般都是两个点中间的距离固定,分别拍照进入分析系统记录,超出时速限制,就会记录违章了。违章摄像头…

go去掉最后一个字符_Go语言去除字符串中的指定字符

Go语言中常用的去除字符串中指定字符的方法如下表所示。 表:字符串处理函数 方法功能描述 func Trim(s string, cutset string) string 将字符串 s 首尾包含在 cutset 中的任一字符去掉返回 func TrimFunc(s string, f func(rune) bool) string 将字符串 s 首尾满足函数 f(r)=…

打开fiddler后打不开网页_如何通过fiddler的导入导出功能,保存一份分类管理的请求报文...

在使用fiddler抓取请求报文时,我们更习惯于直接操作APP或者web系统,然后到fiddler中找我们想要的数据报文。但若这些报文是我们经常要看的 ,我们可以使用另外一种更简单的方式来查看,那就是把我们想要的报文保存到本地&#xff0c…

和vc的正确服用时间_最新研究:口服VC吸收远高于我们的意料

本文采自美国著名科普杂志,Townsendletter,发抗坏血酸口服生物利用中意外的早期反应。本研究提示,口服VC可能达到与静脉VC相同或接近的血液VC水平,而且纯VC比VC钠盐吸收更好。这是前所未料的。-成长博士。 介绍:重复和…

定点运算和浮点运算_C2000浮点运算注意事项——CPU和CLA的差异及误差处理技巧...

C28xFPU架构的C2000微处理器在原有的C28x定点CPU的基础上加入了一些寄存器和指令,来支持IEEE 单精度浮点数的运算。对于在定点微处理器上编写的程序,浮点C2000也完全兼容,不需要对程序做出改动。浮点处理器相对于定点处理器有如下好处&#x…

python模拟登录吃鸡_Python高级爬虫开发,高难度JS解密教程,绝地求生模拟登陆!...

前言这篇文章因为涉及到JS解密部分,所以难度比较高,Python基础比较薄弱的同学可以来看看思路。开始进入到该网站后我们可以看到如下界面,今天要做的内容就是模拟登陆那么咱们首先抓到登陆的包看看:登陆的同时总共发送了两次post请…

imread函数 matlab_地理人,你会用Matlab吗?

​Matlab 读取不同格式数据作为一个地信的小白,本科就学会了一个ArcGIS。虽然Matlab, C, Java, C, C# 等的编程课上了一大堆,但是考完试就完全忘了,妥妥的一个代码小白,当初连如何切换当前目录都不会……读研后,发现Ma…

jquery li ul 伪分页_求教关于Jquery的ul li的分页,该怎么处理

求教关于Jquery的ul li的分页ul 下有若干个li 3个为1个分页 1个input按钮点击显示后3个 另一个显示前3个 求大神这个怎么做分享到:更多------解决方案--------------------html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org…

url过滤怎么解除_腾讯面试官是这样来问布隆过滤器的?

作者:张振伟来源:https://zhangzw.com/20190521.html假设遇到这样一个问题:一个网站有 20 亿 url 存在一个黑名单中,这个黑名单要怎么存?若此时随便输入一个 url,你如何快速判断该 url 是否在这个黑名单中&…

python dataframe遍历_对Python中DataFrame按照行遍历的方法

对Python中DataFrame按照行遍历的方法在做分类模型时候,需要在DataFrame中按照行获取数据以便于进行训练和测试。import pandas as pddict[[1,2,3,4,5,6],[2,3,4,5,6,7],[3,4,5,6,7,8],[4,5,6,7,8,9],[5,6,7,8,9,10]]datapd.DataFrame(dict)print(data)for indexs i…

mysql数值比中文检索快_MySQL 千万 级数据量根据(索引)优化 查询 速度

一、索引的作用索引通俗来讲就相当于书的目录,当我们根据条件查询的时候,没有索引,便需要全表扫描,数据量少还可以,一旦数据量超过百万甚至千万,一条查询sql执行往往需要几十秒甚至更多,5秒以上…

python enumerate函数_Python中enumerate函数用法详解

enumerate函数用于遍历序列中的元素以及它们的下标,多用于在for循环中得到计数,enumerate参数为可遍历的变量,如 字符串,列表等一般情况下对一个列表或数组既要遍历索引又要遍历元素时,会这样写:for i in range (0,len(list)):pri…

mysql5.7.24 安装步骤_MySQL5.7.24解压版安装步骤

网上安装MySQL数据库的教程有.msi格式包安装和.zip格式解压安装,zip安装我个人感觉安装方式纯净又能学习更多知识,因此我更倾向于zip安装。一、下载并解压前往MySQL官网下载5.7.24版本https://dev.mysql.com/downloads/下拉移动看见select Version 选择m…

python在工作中怎么用_如何用python在工作中“偷懒”

原标题:如何用python在工作中“偷懒”“偷懒还能干完活,才是本事 ”有些朋友在工作中会有这样的困惑:明明我从早忙到晚,为什么得到的评价还不高?要知道,企业对一个员工的评价是出于“ 产出”而非“ 付出”。…

mysql utf8mb4 造成慢_mysql使用utf8mb4经验吐血总结

1. utf8 与 utf8mb4 异同1234The character set named utf8 uses a maximum of three bytes per character and contains only BMP characters. The utf8mb4 character set uses a maximum of four bytes per character supports supplementary characters:- For a BMP charact…

java移动接口发短信_Java面试零碎知识点

1.Java文件经过JVM编译成字节码文件,即.class文件,将字节码文件在不同的操作系统中运行时,操作系统再将字节码文件编译成机器码文件。这就是Java跨平台2.首先明确一点,java 的 GC 回收是完全自动的,没有提供相关 api 手…

如何安装mysql5.7.21_Linux 安装MySql 5.7.21 操作步骤

一:到mysql官网下载最新的mysql包 mysql-5.7.21-linux-glibc2.12-x86_64二:在linux /usr/local/中解压mysql压缩包 改名为mysqlcd /usr/local/tar -xzvf mysql压缩包名三:创建用户组mysql,创建用户mysql并将其添加到用户组mysql中…

java重定向代码_Java程序员经典面试题集大全 (三十四)

341. Servlet API中forward() 与redirect()的区别?答:为实现程序的模块化,就需要保证在不同的Servlet之间可以相互跳转,而Servlet中主要有两种实现跳转的方式:FORWARD方式与redirect方式。 Forward() : 是服务器内部的…

mysql用户阻塞数_MySQL实例阻塞分析一例(线程statistics状态)

本文用实例来分析MySQL阻塞—线程statistics状态。一、 现象某日下午下班后低峰期,现网MySQL一个库突然报出大量慢sql,状态是 statistics,但是过后拿这些sql去执行的时候,实际很快。处于 statistics 状态的线程有个特征&#xff1…

无法获取未定义或 null 引用的属性“text”_【CSS】是时候开始用 CSS 自定义属性了...

自定义属性(有时候也被称作CSS变量或者级联变量)是由CSS作者定义的,它包含的值可以在整个文档中重复使用。由自定义属性标记设定值(比如:--main-color: black;),由var() 函数来获取值(比如:color: var(--main-color);)复杂的网站都…