Linux基础导航与文件管理

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 0
drwxr-xr-x 1 lance lance 4096 Aug 23 01:24 go
drwxr-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 remove
2020-08-04 21:47:42 status installed linux-virtual:amd64 5.4.0.42.46
2020-08-04 21:47:42 remove linux-virtual:amd64 5.4.0.42.46 <none>
2020-08-04 21:47:42 status half-configured linux-virtual:amd64 5.4.0.42.46
2020-08-04 21:47:42 status half-installed linux-virtual:amd64 5.4.0.42.46
2020-08-04 21:47:42 status config-files linux-virtual:amd64 5.4.0.42.46
2020-08-04 21:47:42 status not-installed linux-virtual:amd64 <none>
2020-08-04 21:47:42 status installed linux-headers-virtual:amd64 5.4.0.42.46
2020-08-04 21:47:42 remove linux-headers-virtual:amd64 5.4.0.42.46 <none>
2020-08-04 21:47:42 status half-configured linux-headers-virtual:amd64 5.4.0.42.46
2020-08-04 21:47:42 status half-installed linux-headers-virtual:amd64 5.4.0.42.46
2020-08-04 21:47:42 status config-files linux-headers-virtual:amd64 5.4.0.42.46
2020-08-04 21:47:42 status not-installed linux-headers-virtual:amd64 <none>
2020-08-04 21:47:42 status installed linux-headers-generic:amd64 5.4.0.42.46
2020-08-04 21:47:42 remove linux-headers-generic:amd64 5.4.0.42.46 <none>
2020-08-04 21:47:42 status half-configured linux-headers-generic:amd64 5.4.0.42.46
2020-08-04 21:47:42 status half-installed linux-headers-generic:amd64 5.4.0.42.46
2020-08-04 21:47:42 status config-files linux-headers-generic:amd64 5.4.0.42.46
2020-08-04 21:47:42 status not-installed linux-headers-generic:amd64 <none>
2020-08-04 21:47:42 status installed linux-headers-5.4.0-42-generic:amd64 5.4.0-42.46
2020-08-04 21:47:42 remove linux-headers-5.4.0-42-generic:amd64 5.4.0-42.46 <none>
2020-08-04 21:47:42 status half-configured linux-headers-5.4.0-42-generic:amd64 5.4.0-42.46
2020-08-04 21:47:42 status half-installed linux-headers-5.4.0-42-generic:amd64 5.4.0-42.46
2020-08-04 21:47:42 status config-files linux-headers-5.4.0-42-generic:amd64 5.4.0-42.46
2020-08-04 21:47:42 status not-installed linux-headers-5.4.0-42-generic:amd64 <none>
2020-08-04 21:47:42 status installed linux-headers-5.4.0-42:all 5.4.0-42.46
2020-08-04 21:47:42 remove linux-headers-5.4.0-42:all 5.4.0-42.46 <none>
2020-08-04 21:47:42 status half-configured linux-headers-5.4.0-42:all 5.4.0-42.46
2020-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 0
drwxr-xr-x 1 lance lance 4096 Aug 23 01:24 go
drwxr-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选项来实现。

移除文件和目录rmrmdir

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

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

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

rmdir testing/example

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

rm -r testing/example

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

编辑文件

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

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

工作中最为常见文本编辑器还是vivim

小结

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345