Linux环境学习(Day1)

软件工具:VBOX,Ubuntu

一些常用的Linux学习网站(持续更新):
Linux命令大全-菜鸟教程

学习任务1:LPI-1 基础知识

常见命令汇总表

命令功能
cd/进入根目录
cd..回到上级目录
pwd当前位置
ls -a查看目录中所有文件包括隐藏的
ls -l长目录详细清单
ls -dl查看目录本身,而不是内部
ls -R递归的查看目录内部,巨长(慎)
ls -id查看清单中文件系统对象的索引节点号
mkdir创建一个新文件夹
mkdir -p快速创建父目录+子目录+子目录
touch新建文件
echo回音,还有重定向用法
cat显示文件内容
cp复制
mv重命名,移动
ln创建硬链接
ln -s创建符号链接
rm删除文件
rmdir删除目录
rm -rf删除目录及下面所有文件

Part1 About bash

$这个符号在Linux系统中非常常见,它可能包含系统的主机名、当前的工作目录名,或者两者都有。但是不管这个特殊的提示符看起来像什么,有一件事是肯定的。打印出这个提示符的程序叫shell,极有可能您的特殊的 shell 是一个叫 bash 的程序。
查看自己是否在运行bash

$ echo $SHELL
/bin/bash

得到的结果是这样的:
bash
Bash 是“Bourne-again shell”的首字母缩写,它是大多数 Linux 系统缺省的 shell。shell 的任务是执行您的命令,使您能够与 Linux 系统进行交互。当您输完命令,您可以通知 shell 执行 exitlogout 命令,在此您将返回到登录提示符。

顺便提一下,还可以通过在 bash 提示符下按 control-D 来注销。

查看bash的当前工作目录:
在这里插入图片描述
绝对路径以/开头的命令:(使用cd进入这些目录)

/dev
/usr
/usr/bin
/usr/local/bin

相对路径不用加/,指相对当前路径下的路径:
在这里插入图片描述
使用..回到父目录
在这里插入图片描述
使用..去兄弟目录
在这里插入图片描述
理解.:通常用来执行一些当前目录中的程序:将执行当前目录下的可执行文件myprog

$ ./myprog

cd和主目录:
没有参数,cd直接转到主目录,对于超级用户来说是 /root,对于一般用户来说通常是 /home/username

$ cd

如果想要将一个文件参数传给 myprog 命令。如果该文件在主目录中,我们可以输入:

$ ./myprog /home/drobbins/myfile.txt

可以使用 ~(代字符)字符来完成同样的事:

$ ./myprog ~/myfile.txt

Bash 将把单独的 ~ 扩展为指向主目录,可以用它来指向其他用户的主目录。
例如,如果想要引用 fred 的主目录中的名为 fredsfile.txt 的文件,可以输入:

$ ./myprog ~fred/fredsfile.txt

Part2 使用Linux命令

ls的使用
ls 本身将列出当前工作目录的内容
通过指定 -a 选项,可以看到目录中的所有文件,包括隐藏文件
在这里插入图片描述
长目录清单
ls -l 选项用来显示我的 /usr 目录的完整清单,每列的具体含义如下:
第一栏显示了每一项的权限信息。接下来的一栏列出了每个文件系统对象的链接数,第三和第四栏分别列出所有者和组。第五栏列出了对象的大小。第六栏是对象的“最近修改时间”或“mtime”(建立时间)。最后一栏是对象的名称。如果文件是符号链接,将看到后面跟有 -> 以及符号链接所指向的路径。
在这里插入图片描述
ls -dl 要查看目录本身,而不是目录内部
在这里插入图片描述
ls -R 递归查看该目录内所有的目录内部,巨长哦,慎用!
在这里插入图片描述
ls -i 可以用来在清单中显示文件系统对象的索引节点号:
在这里插入图片描述
理解索引节点号
在这里插入图片描述
首先呢,用ls -id/usr/local的索引号显示出来,再把/usr/local/bin/..的索引号显示出来,发现两者是一致的,说明这两个链接都可以指到同一索引号,即同一目录下。然后看了一下/usr/local/bin/..指向的位置,原来也是/usr/local,查看了该目录的详细信息,看第二栏=10,意思是索引节点 1048582 被引用的总次数是10次,那么从哪儿可以引用到此处呢,应该是他的子目录:(除去隐藏的man文件,加起来刚好10个,下面懒没有列全…)

/usr/local
/usr/local/.
/usr/local/bin/..
/usr/local/games/..
/usr/local/lib/..
/usr/local/sbin/..
/usr/local/share/..
/usr/local/src/..

mkdir命令
创建新目录:

$ cd /tmp
$ mkdir tic tac toe

如果想要创建目录 won/der/ful,必须要发出三个单独的 mkdir 命令:
在这里插入图片描述
**mkdir -p**帮助解决了这个问题,可以快速创建这些父目录:
在这里插入图片描述
遇到不会的就…man mkdir启动帮助手册

touch命令
新建文件,如果文件已经存在,则会更新文件的第六栏mtime

$ cd /tmp
$ touch copyme

echo命令
普通的echo命令是这个鸭子的,你说啥他就说啥,就是回音的意思嘛
在这里插入图片描述
带有重定向的echo就相当于你把回音存到一个地方了,装起来了
大于符号告诉 shell 将 echo 的输出写到名为 copyme 的文件中。如果该文件不存在,将创建这个文件;如果该文件存在,将覆盖这个文件。通过输入 ls -l,我们可以看到 copyme 文件为 10 个字节长,因为它包括 firstfile 这个词和换行符:
在这里插入图片描述
cat和cp命令
cat是用来显示文件内容的命令;
可以用cp命令复制文件,通过观察,发现他们的索引号不一样,复制之后是互相独立的文件
在这里插入图片描述
mv命令
mv可以用来重命名文件,只要还在同一文件系统上,重命名之后的索引号就依然不变(就像你原来叫二丫,改完名字叫二傻,只要你还在中国,那你的身份证号还是没变,只是身份证上的名字变了
在这里插入图片描述

Part3 创建链接和删除文件

硬链接
当考虑目录和索引节点之间的关系时,提到的链接都是硬链接,一个给定的索引节点可以有任意数目的硬链接,该索引节点一直存在于文件系统,直到所有的硬链接消失。可以使用ln 命令来创建新的硬链接:可以看到他们的索引号都还是一样的,所以可以链接到同一位置
在这里插入图片描述
硬链接工作于索引节点级别,指向特殊的文件,在 Linux 系统上,硬链接有几个局限性。

  • 第一,您只能给文件建立硬链接,而不能给目录建立硬链接。的确如此;即便 . 和 … 是系统给目录创建的硬链接,也不允许您(“root”用户也不行)创建任何您自己的硬链接。
  • 第二,它们不能跨文件系统。这意味着,如果您的 / 和 /usr 存在于不同的文件系统,您不能创建从 /usr/bin/bash 到 /bin/bash 的链接。

符号链接
符号链接是一种专门的文件类型,在这种文件类型中,链接通过名称引用另一个文件,而不是直接引用索引节点。符号链接不阻止文件被删除;如果目标文件消失,那么符号链接仅仅是不可用,或“被破坏”。
在这里插入图片描述
通过将 -s 选项传给 ln,可以创建符号链接。
在 ls -l 输出中,可以用三种方式区分符号链接和一般文件。

  1. 请注意第一栏包含一个 l 字符的输出表明是符号链接。
  2. 符号链接的大小是目标文件(本例是 secondlink)的字符数。
  3. 输出的最后一栏显示目标文件名。

符号链接会比硬链接更加的灵活,可以给任何类型的文件系统对象(包括目录)创建符号链接。符号链接是基于路径的(而不是索引节点)

如下图所示:使用绝对路径为/usr/local/bin创建一个符号链接bin1
在这里插入图片描述
使用相对路径创建符号链接bin2
在这里插入图片描述
可以看到,如果把bin2的链接移动到另一个目录,由于相对路径,它将遭到破坏
在这里插入图片描述
虽然相对路径看来不好创建符号链接,但是很多时候,相对的符号链接还是很好用的。
假设想为keychain创建一个符号链接kc,然后把``/usr/bin/keychain`和kc都移动到另一个目录下,这时候kc会失效,因为它使用了绝对路径,该位置已经没有keychain了
在这里插入图片描述
一般情况下,相对路径或绝对路径都能工作得很好:
在这里插入图片描述
rm命令
用来删除文件的命令
在这里插入图片描述
rmdir命令
新建一个目录mydir,在目录下新建一个文件file1,先用 rm删除文件,再用rmdir删除目录
在这里插入图片描述
还有一种删除目录及目录中对象的方法:

rm -rf mydir

rm -rf一般是首选方法,但是要慎用!!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值