一、Linux的基本操作
1. 对Linux的简单介绍
生活中,我们应该听过windows、安卓和IOS等名词,这些名词指的就是不同的操作系统。其中windows系统是我们比较常见的电脑操作系统,而Linux就是另一种操作系统,相比windows的图形化交互界面,Linux的操作界面就全是文字,因此使用起来有一定的门槛。但是由于其开源、安全、稳定等特征,使得Linux在开发中使用更加广泛。
那么,如何拥有一个安装了LInux的电脑呢?首先,就是不要动自己电脑的操作系统,以免出现各种问题,比较可靠的两种方法,一个就是在自己电脑上安装虚拟机,然后再在虚拟机上安装Linux操作系统,还有一个就是购买云服务器,在云服务器上安装Linux操作系统,再通过Xshell进行远程访问。这里不做过多介绍,仅展示一下作者购买的云服务器通过Xshell远程访问的Linux操作系统的界面:

可以说非常简略了,就是一行命令行,等待你输入指令,因此要熟练使用Linux还需要多加学习才行。
2. Linux的一些基本操作
Linux中万物皆可文件,因此需要知道的第一个操作就是查看有什么文件:

通过以上两个指令就可以查看当前目录下有什么文件。其中,ll会显示文件的一些属性,其实ls也可以做到,但是需要在ls后加后缀:

而一个指令能加的后缀非常多,当我们想要知道有什么后缀,后缀分别有什么作用的时候,就可以使用man或者--help来查看相关后缀:

2.1 文件与文件夹的操作
在知道如何查看文件,以及查看命令如何使用的操作以后,就能开始准备文件的操作了。首先,需要知道的是路径的概念,Linux中所有的文件都存储在根目录下,通过路径就能从根目录出发找到相应的文件。
pwd: 也就是Print Working Directory,这个指令可以显示当前的所在目录的绝对路径:

那么我当前就在根目录下的home文件夹下的wmj文件夹,另外 / 表示的就是根目录。
cd: Change Directory,这个指令可以改变当前所在目录:

这里,就使用cd操作,将所在目录转到了根目录。 另外,如果不是根目录或者~或者当前目录下已有的目录,都需要输入完整的绝对路径或者相对路径。
另外,绝对路径就是从根目录出发的路径,而相对路径就是相对当前所在目录的路径,例如:cd ..就是进入当前目录的上一级目录,cd ../other directory 就是进入上一级目录的其他目录。
mkdir:Make Directory创建目录,使用mkdir指令可以在当前目录下创建新的目录:

mkdir后就可以通过cd进入目录,形成新的路径。
touch: 可以用来创建新文件

那么,这里就用touch创建了test.c文件。
rm :删除文件,如果要删除文件夹需要带上-r的后缀,但是有时删除的文件过多,每个文件都需要y来确认删除,可以加上-f的后缀来默认按y。因此,rm -rf就可以很方便快捷的删除掉一个文件夹以及其中所有的内容。但是,这个删除是不可逆的,使用时要慎之又慎,避免rm -rf /或者rm -rf /*两个指令的出现,否则,就会对系统和你的数据造成不可逆的毁灭。

这里就使用rm -r删除了test2这个文件夹。
接下来的一些操作,就不做更详细的介绍了:
cp [源] [目标] :复制文件或目录,如果是目录要带-r的后缀,和cd相同有时需要输入路径
mv [源] [目标] :移动文件或者重命名文件,或者目录
cat [文件名] :将文件内容打印到标准输出(屏幕),可用来查看短文件
head [文件名] :显示文件开头的前几行(默认10行)head -n 20 file.txt显示前20行
tail [文件名] :显示文件末尾的后几行(默认10行)tail -n 20 file.txt显示后20行,tail -f file.log常用来跟踪日志,使用ctrl+C退出
2.2 文件内容的修改以及查找
echo :echo [字符串] 可以直接将字符串输出到标准输出(屏幕),echo [字符串] > file.txt 就能将字符串输出到file.txt中,>就是修改输出方向。这里的修改是覆盖文件已有内容的修改,如果要在文件末尾添加内容则使用>>。另外,还可以使用nano对文本进行编辑,nano的使用这里暂不做介绍
grep [内容] [文件名]:在文件中查找对应的内容,通常与管道文件合用,管道文件就是 | 用来中转数据,例如:yum list | grep sl,就是用来搜索yum中包含sl的软件名称。
find [路径] [模式] [文件名] :在制定路径下,按规定的方式查找文件,例如:find . -name "*.txt" 就是搜索.(当前目录)及其子目录下所有以.txt为后缀的文件。
二、Linux文件的权限

首先,看drwxrwxr-x,这一串怎么理解呢,这需要知道一个文件有三个类型的人会操作,分别是:拥有者(u),所属组(g),其他(o)。这里的wmj wmj第一个就是拥有者,第二个就是所属组。拥有者和所属组的更改可以通过chown和chgrp进行改变。了解了这些,再来看drwxrwxr-x,d就是dir,指目录文件,如果是普通文件就是-,rwx分别是read,write,execute,也就是读权限,写权限,操作权限。而'-'就是没有权限,每三个为一组,分别代表拥有者,所属组和其他人的权限。
要修改不同人的权限可以通过chmod来修改,例如:chmod u+x log.txt 就是在log.txt这个文件上增加拥有者的操作权限。另外,还有一个更便捷的方式,由于三个为一组,而有和没有权限可以有0和1来表示,因此,rwxrwxr-x可以用775来表示,因此,chmod 775 log.txt,就是将log.txt文件的权限改为rwxrwxr-x。如果要给所有的人都修改一个权限,就可以使用a来表示all所有人。
另外,上面所说的权限的设置仅对于普通用户有用,如果是root用户,则以上权限的限制均没有作用。使用whoami指令即可知道是不是root用户。
关于粘滞位,首先需要知道目录文件的读写操作权限的作用。对于目录文件来说,r是列出目录内文件及子目录名称的权限:

在删除r权限以后,就不能使用ll或ls列出目录文件内的文件名字等。
w则是在目录内创建、删除、重命名文件或子目录的权限。
x则是进入(cd)目录并访问其中文件元数据的权限。
因此,在公共文件夹中,由于不能限制其他人创建文件的权限,因此w权限是不能限制的,这样就会带来一个问题,普通文件可以限制其他人的读写操作的权限,但是不能阻止其他人删除你创建的普通文件,因此,需要对目录文件设置粘滞权限t,这样就只能删除自己创建的文件或目录文件。

可以看到,权限的一长串后面变为了t。共享目录一般由root用户创建。