赞
踩
有时候觉得,电脑就像一个高贵冷艳的妹纸。
400,是她冷冰冰地说:“我听不懂你在说什么”;
401,是她无情地转身:“我不认识你,别说那些奇怪的话”;
403,是她残酷的拒绝:“我听懂你的话,也认出你的脸,可我不爱你”;
404,是她紧闭心门:“我这儿没有你想要的东西”;
503,是“呵呵我去洗澡”。
Linux是一个基于UNIX的开源操作系统,其核心(Kernel)是由Linus Torvalds在1991年首次发布的。它的设计初衷是为个人计算机提供一个免费的、开源的操作系统,但由于其强大的性能和安全性,如今被广泛应用于服务器、超级计算机、嵌入式系统等多个领域。
因此对于我们这群程序员来说,学好Linux也自然是不可避免的事情。(糟糕,头发不保了!!!)下面就斗胆让作者我来给大家介绍一下Linux系统的常用指令啦。
注意,以下指令的演示都是通过Xshell,CentOS 7.6 64bit版本进行。
对于目录来说,ls的作用是列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
具体的使用方法是:ls + 【选项】+【目录或者文件】
当没有指定目录或者文件时,ls默认列出当前路径下的所有文件与目录
如图,当我们没有添加额外选项,没有指定目录与文件,就会罗列当前路径的目录与文件信息,倘若指定了112目录,就会罗列112目录下的文件与目录。
选项是看情况选择是否添加,这会对ls指令添加修改部分效果,例如ls -l,就可以详细的罗列出文件的信息。 由于ls -l指令真的太常用了,所以后面衍生除了简化形式:ll,我们只需要输入ll,就可以做到与ls -l相同的效果。
在Linux系统上,我们经常会分辨不清楚自己到了哪个目录,这个时候,就需要pwd来帮助我们了。
我们只需要输出pwd指令,系统就会打印出我们当前所在的路径信息。
在Windows上我们想要进入一个文件夹,只需要鼠标点击就行了,但是在Linux上却没有鼠标来给你点击,这时候就需要用到cd指令了,语法:cd +【目录名字】,就可以让我们直接进入这个目录。
可以看见,在使用cd之后,我们的路径已经更改到了112里面。
touch指令通常用来创建一个新的文件,在有些时候,也能通过touch来可更改文档或目录的日期时间,包括存取时间和更改时间。使用方法为:touch +【选项】... 文件...。
而 mkdir通常是用来创建一个目录,在选项中使用-p时甚至可以递归建立多个目录。
例如:mkdir –p test/test1,当此目录不存在test时,会主动创建一个test目录,随后在test里面再次创建一个test1目录。
rmdir是一个与mkdir相对应的命令,可以删除一个空目录(为该命令发出者所拥有)。而rm可以同时删除一个文件或者目录,具体用法是:rm +【-f-i-r-v】+【文件或者目录名】。
创建与删除已经学到了,那么复制剪切自然也不能落下。而cp指令就是我们在linux实现复制的关键。语法为:cp +【选项】 +【源文件或目录 目标文件或目录】
我们首先先将test中的text.c删除:
随后返回上级目录并将text.c移动到test里:
cat指令可跟猫没有任何关系,他的作用是查看目标文件的内容:
用法:cat+【选项】+【目标文件】
more的作用与cat类似,用法也差不多,所以在这里就不多赘述。
先前介绍了两个输出文件内容的指令,但实际上less才应该是linux正统的输出工具,他的功能极其强大。less 的用法比起 more 更加的有弹性。
在 more 的时候,我们并没有办法向前面翻, 只能往后面看但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
用法:less+【选项】+【文件】
find在日常使用中非常重要,用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)。
Linux下的find1命令提供了相当多的查找条件,功能十分强大。由于find的功能强大性,所以自然它的选项也就十分多,但绝大部分选项都值得我们去学习记忆。
用法为:find +【文件】+【选项】
grep命令主要用于在文本文件或命令输出中搜索特定的字符串或正则表达式,并显示匹配的行。
用法为:grep +【选项】+【搜索字符串】+【文件名】
zip目的是将目录或文件压缩成zip格式,而unzip就是将压缩文件解压。
用法:zip +【压缩后的文件名.zip】+【目标文件与目标文件夹】
tai指令是用于创建、解压缩和管理归档文件的工具。
用法:tar +【选项】 +【归档文件名】+【文件或目录】
我们可以看见,在每个目录或者文件前面十格要么是-,要么是字母,这十格位置的字母究竟有什么含义呢?
事实上,第一个字母表示文件的类型,比如,d就表示目录,-就表示为普通文件。
另外九个分为三组,三三为一组,分别表示为:拥有者权限,拥有者所属组权限,陌生人权限。
文件权限使用三个字母来表示:r
、w
、x
。每个字母对应不同的权限:
r
(read) - 读取权限:允许查看文件内容或列出目录内容。w
(write) - 写入权限:允许修改文件内容或在目录中创建、删除、重命名文件。x
(execute) - 执行权限:允许将文件作为程序执行或进入目录。对于文件来说,r权限代表能不能看见内容,w代表能不能改写,x是个别可执行程序你是否拥有执行他的权限。
r
(读取):
cat
、less
或 more
等命令查看其内容。w
(写入):
nano
或 vi
编辑器来修改文件内容。x
(执行):
./script.sh
或 ./program
。而对于目录就不同了:
r
(读取):
ls
命令查看目录中的文件和子目录。w
(写入):
touch
创建新文件,使用 rm
删除文件,或使用 mv
重命名文件。x
(执行):
cd
命令进入该目录,并访问目录中的文件(假设还有适当的读取权限),并且在该目录中用各种指令。我们通常可以用八进制来代表rwx三种权限,r为4,w为2,r为1:
在Linux中,我们有多种方法更改一个文件的对应访问者的对应权限。:
例如,我们可以使用chmod g+w +【对应文件】来修改group的权限。
或者,也可以实用之前说到的八进制数字代表相应的权限。
假设你想为某个文件或目录设置以下权限:
rwx
权限(7)。rx
权限(5)。r--
权限(4)。这些权限的八进制表示法是 754
。
在Linux系统中,掩码(umask
)用于设置默认的文件和目录权限。当用户创建新的文件或目录时,系统会根据当前的掩码值来决定这些文件或目录的默认权限。
假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask,例如普通用户掩码为0002,创建文件的最终权限就为775,为了方便记忆,我们可以理解为777减去掩码的数。
我们可以用umask查看掩码或者修改掩码。
由上文目录的权限可知,只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限.
这好像不太科学啊, 我创建的一个文件, 凭什么被你删掉?
为此,就诞生了粘滞位;
粘滞位(Sticky Bit)是Linux文件系统中的一种特殊权限位,通常用于目录,主要目的是控制用户对该目录下文件的删除权限。
粘滞位通常用于公共目录(如 /tmp
),其作用是:即使用户对目录有写权限,用户也只能删除或重命名自己拥有的文件,不能删除或重命名其他用户的文件。
/tmp
这样的公共目录中,多个用户可以创建文件。粘滞位确保用户只能删除或修改自己的文件,避免误操作或恶意删除其他用户的文件。粘滞位可以通过 chmod
命令设置,方式有两种:符号方式和八进制方式。
1、chmod +t +【目标文件】
2、chmod 1755 +【目标文件】(1就代表加了粘滞位)
在Linux系统中,掌握常用指令和文件权限管理是每个程序员不可或缺的技能。这些指令不仅帮助我们在没有图形界面的环境中灵活操作文件和目录,还确保了系统的安全性与稳定性。
通过ls
、pwd
、cd
等基础指令,我们可以快速浏览目录内容、确认当前位置以及切换工作目录;利用touch
、mkdir
、rmdir
、rm
等指令,轻松实现文件和目录的创建与删除操作;借助cp
、mv
,我们能完成文件和目录的复制与移动,而cat
、more
、less
则提供了多样化的文件内容查看方式。
在权限管理方面,chmod
、chown
和chgrp
等命令为我们提供了灵活的方式来调整文件和目录的访问权限,确保系统内的资源被合理使用。同时,理解和应用粘滞位(Sticky Bit)与掩码(umask)有助于我们更精细地控制目录和文件的访问和操作行为。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。