有趣生活

当前位置:首页>科技>linux系统使用步骤linux系统系列教程4-由浅入深

linux系统使用步骤linux系统系列教程4-由浅入深

发布时间:2026-07-25阅读(0)

导读经过前3节的内容,你已经安装好一个linux系统,并且学会了基础的文件相关的操作。接下来,我们更深入地学习使用这个linux系统,以便我们在这里安装编译好一....

经过前3节的内容,你已经安装好一个linux系统,并且学会了基础的文件相关的操作。接下来,我们更深入地学习使用这个linux系统,以便我们在这里安装编译好一个本地的python解释器。

上一节,我们一口气执行了9条新的命令,通过help或man你会发现有些命令的参数达数十个以上,且个个晦涩难懂。不过,即使像我这样纵横数年的工作者,常用的参数也仅仅才几个而已。所以别看某个命令有大量的参数,但是我们可能只用那么仅仅几个参数,在某些特别情况下,我们才会用到其它的参数。

这里举个例子,比如我想建立"/tmp/linux/test/1/"这样一个路径,该怎么办?肯定是用mkdir来办,所以我打开命令行输入以下命令执行:

mkdir /tmp/linux/test/1/

就在我满心欢喜,以为它执行成功时,却发现系统报了个"No such file or directory"。mkdir默认只会建立一级目录,但是"/tmp/linux/test/1/"是一个多级目录,我们建立一个多级目录难道要一个一个建太麻烦了吧?别急,我们再来研究一下mkidr,输入"mkdir --help"再来看一下。

-p, --parents no error if existing, make parent directories as needed

注意到这个参数了吗?我们的多级目录是层层关联的,上级目录也就是父目录(parent directories)如果不存在,那也就一同创建。为了观察它的创建过程,我们还可以再加一个"-v"的参数。所以你可以运行以下命令:

mkdir -pv /tmp/linux/test/1

可以看到如下效果:

所以别看某些命令参数一大堆,我们可能只会用那么几个常用的。特殊情况下,我们可以通过帮助手册,了解其它参数后来达成我们的特殊目的。

接下来,讲一个小知识,极大地提高大家的便利。

刚刚建立好的多级目录"/tmp/linux/test/1",我们进入到最末端的目录”1“里面:

cd /tmp/linux/test/1pwdls

那如果我们想跳转到上一级目录test或者看看test里有什么东西没,该怎么办?难道使用"cd /tmp/linux/test"跳回去?虽然有tab键自动补齐的加持,可是还是太麻烦了。在linux terminal中,有些字符是有特殊作用的,就比如现在这个需求,就可以使用.来完成。我们来试试以下的命令:

pwd# 确保你处于/tmp/linux/test/1之中cd ..# 英文中的句号,一个点表示当前目录,两个点表示上一级(父目录)目录pwd# 此时你应该位于/tmp/linux/test之中cd .# 在命令行中输入“cd .”,此时不要按下回车键,连按tab键两下,你会发现有两个目录:./ 和 ../# ./ 就是表示当前目录,而../就是上一级目录,这个符号不止cd命令可以这么用,其它命令都可以,比如ls# 我们先进入到一个目录中cd /etc/sysconfig/network-scripts/# 看一下有什么东西ls# 看一下当前所处的位置pwd# 我们看看上一级目录的内容ls ..# 看看本级目录的内容ls .# 接下来我们试试mv和cp能不能使用这个特性pwd# 你应该在/etc/sysconfig/network-scripts目录下cp ifcfg-ens160 /tmp/linux/test/1/# 把这个目录中的文件复制一个到我们刚刚创建好的目录中cd /tmp/linux/test/1/# 回到我们创建的目录中ls# 查看复制过来的文件cp ifcfg-ens160 ..# 复制到上级目录中cd ..# 去上级目录ls# 查看刚刚复制过来的文件mv ifcfg-ens160 ..# 移动到上一级目录中ls# 这个文件没有了,被我们移走了cd ..# 去上级目录ls ifcfg-ens160# 查看该文件

有了一个便利的特性,在我们浏览翻阅各种目录时,会非常方便。

由于我们刚刚做实验,创建了"/tmp/linux/test/1",tmp是系统的临时文件夹,我想把我创建的linux及之下的目录删除掉,怎么做?

cd /tmp/rmdir linux/# rmdir: failed to remove linux/: Directory not empty# Remove the DIRECTORY(ies), if they are empty. 通过--help你会发现rmdir只会删除空目录,但linux目录中还有1这个目录# 那试试rm?rm linux/# rm: cannot remove linux/: Is a directory# rm也不能删除,那怎么办?rm --help看看有什么特殊参数?# -r, -R, --recursive remove directories and their contents recursively# 这一条就是我们需要的,所以试一试?rm -r linux/# 看一下linux/目录还在不在ls linux/# ls: cannot access linux/: No such file or directory. 看来这个目录被干掉了

现在我们学会了文件和文件夹的移动(mv)复制(cp)删除(rm)查看(ls, cat),再学习一点知识就可以在这个linux系统中编译安装python解释器了。

在使用windows系统的过程中,你有没有遇到下面的情况:

在涉及系统设置更改时,windows会弹出这个窗口提示你是否同意某个软件对你的系统进行修改,而linux中也有同样的机制。之后我们编译安装python解释器时,就会对系统进行修改,而我们当前的账号是普通账号,当你执行相关操作时,linux系统会拒绝你,比如我们在系统中执行以下命令:

yum install httpd# yum是redhat的一个软件安装管理的命令,Yellowdog Updater, Modified (YUM)# 我们先不用理会它具体怎么用,上面的命令是在安装一个叫httpd的软件

就会出现如下错误:

superuser就是超级用户,就是指管理员的意思。而windows中弹出的窗口也是在询问你要不要同意某软件使用管理员权限,而linux中则是直接拒绝。而linux中想要触发类似的机制,需要使用一个特殊的命令sudo。

# sudo - execute a command as another user, 以另一个用户的身份运行命令sudo yum install httpd

在我们输入密码后,就可以安装这个软件了:

当你输入y之后,它就会开始下载安装httpd这个软件,我们这里选择N,取消掉。

yum是redhat系linux系统中的软件安装管理命令,软件安装卸载操作会修改系统的某些设置,所以这需要管理员权限才能操作。我们在安装这个rocky linux时,创建了一个带有管理员权限的普通用户:

所以我们在执行yum这个管理员命令时,在前面加一个sudo就可以执行这个操作了,否则就无法执行。

linux系统中有很多机制,这些东西在之后的教程中慢慢讲解,一下子讲解太多的机制,记不过来也会扰乱学习过程,所以我们细水长流,在linux系列教程中慢慢穿插这些概念。

而今天遇到的机制就是普通用户与管理员用户。这两类用户在linux系统中可以干的事情大相径庭,管理员又称超级用户(superuser),它可以在系统中做任何事,linux系统中的默认超级管理员用户是root,在安装系统时我们也给它设置过密码:

而刚刚"sudo yum install httpd",正是使用它的身份执行的这一命令。

而普通用户不能修改绝大多数的系统设置,仅仅只能在自己的"home"目录及公共区域(如/tmp)搞事情。比如你登录系统后,默认是在自己的家目录下,比如"/home/lucas"。普通用户可以在这里做任何事情,但它不能去"/etc"下搞事情,也不能安装软件,重启网络等等。

尽管如此,大家在日常工作中都是使用普通用户进行工作,因为超级管理员权限太大,极易出现误删除误操作等危险动作。普通用户误删除误操作并不会危及系统,但是管理员的误操作非常危险。

打个比方:普通用户就是家里的小孩子,而家长就是管理员,我们把金融账户当作系统。小孩子再怎么疯也不会把家里的积蓄花掉,只能消费自己手里的,而家长就可以分配管理金融账户里的钱,但如果把金融账号里的钱让小孩管理,很可能全部花掉,这对于这个家庭来说是致命的

所以今后操作时,一定要注意自己的操作,尽量使用普通用户。确实需要使用超级用户时,可以使用sudo,特殊需要时再切换到root用户下。

目前我们所掌握到的东西,足够支撑我们开始编译安装Python解释器了,当python解释器安装完成之后,我们就可以继续python编程的教程了,同时linux系统的教程也会更新,因为熟悉了解linux对于python编程也是有极大帮助的。

本次教程就到这里,希望你有所收获。

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图