linux基础

  虽然已经修过了操作系统,但是实验的时间一直比较的少,再加上都是用虚拟机进行操作。所以最近装了双系统玩了下。当然也是为了能够多了解下Linux。这条路还是比较漫长啊。

  今天在看到《鸟哥的linux私房菜–基础篇》第六章,第七章时,发现其中很多命令行命令其实之前都已经见过,但是用的时候经常又会忘记。今天总结以下这两章看到的一些内容。作为Linux的命令行和其他一些知识的复习。

1.用户与用户组

  linux作为一个多任务多用户的操作系统,其中的各部分文件能够在各个用户的使用下不会引发错误,这些得益于每个文件的属性和权限。而linux文件的权限包括了 用户,用户组,other三种,用户的概念简单来说无论在创建虚拟机还是新建Ubuntu系统时(还有每次登录时),其中都有一步输入账户的过程,这就是创建一个用户的过程。

  而用户组的概念,举例来说,一家人里面有你和你哥哥姐姐,那家就是一个用户组,你和你家人有各自的房间,你房间里面的东西是你的私人物品,其他人不能使用,而客厅里的物品是大家都可以使用的,那other的意思就是除这家人以外的其他人了。linux下用户和用户组记录的文件存放在 /etc/passwd中,而密码记录在/etc/shadow文件下,所有组名记录在/etc/group下。

2.Linux权限的概念

  上面说到,Linux下的权限分为用户,用户组和other,可以在命令行执行ls -al 可以看到其中第一列显示了很多关于权限的信息,(此处我在git bash下执行此命令)

ls-al

首先 第一大列,表示文件的权限信息,第二列表示有多少文件链接到此节点,第三列表示文件的所有者 第四列表示文件的用户组,第五列是文件大小,第六列是最后修改时间,最后一列表示是一个目录还是一个文件,

权限

  其中有10个字符,注意观察发现第一个字符和后面的类型对应,如果是一个目录则是[d],是一个文件则是[-],后面9个字符可以这样记忆。每个文件有读(read)写(write)可执行(execute)三种权限。第一组表示用户对该文件的权限,第二组表示用户组对该文件的权限,第三组表示other对该文件的权限。

与此对应的一个重点是,每三位用三个二进制数表示,比如用户权限为rwx,则对应7(111)其余类似,这样可以方便我们修改文件权限。

3.更改文件属性和权限

  
chgrp 更改文件用户组权限
chown 更改文件用户权限
chmod 更改文件权限

比如更改某个文件权限 chmod 777 [filename] //表示文件对所有用户可读,可写,可执行。

4.目录与文件的权限意义

  与表述相同,对于文件来说,rwx就表示文件是否可读,是否可写,是否可执行。对于一个目录来讲,具有x权限则表示可以进入这个目录, r表示可以读取这个目录下的文件名数据。w表示可以在此目录下新建,修改,删除文件。

  你也许会问,那对于一个ASCII码构成的文件,修改为x权限怎么办?是的,一个文件具有此权限是一回事,能不能表现出这个特点又是另一回事。所以只是具备这个特点,但是他无法表现出来而已。

5.linux目录配置

/bin:系统中很多放置执行文件的目录。 主要有cat,chmod chgrp等等

/boot:放置开机时使用的文件。

/dev(device):在Linux上,任何设备与接口设备都是以文件的形式存放于这个目录中。访问这个目录下的某个文件相当于访问某个设备。

/etc:系统的主要配置文件都放于这个目录内部。

/home:系统默认的主文件夹,可以用~表示。

/lib: 放置系统的函数库,其中包括开机时需要用到的函数库。

/media: 放置可删除的设备,比如DVC,光盘,软盘等。

/mnt:用于暂时挂在某些设备,虚拟机中共享文件夹就存在于这个目录下。

/opt: 用于存放第三方软件的目录。

/root: 系统管理员的的主文件夹。

/sbin: 其中包括了开机,修复,还原系统所需的命令。

/srv(service):网络服务启动后,服务所需数据的数据目录。

/tmp: 用户暂时存放文件的目录。

/usr(unix software resource):于软件安装有关。

/var(variable):与系统运作过程有关。

6.一些常用的命令行命令(补充ing)

绝对路径:从根目录开始写起。相对路径:相对于当前位置的路径

cd . 指当前目录 cd .. 指当前目录的上一级目录。在根目录下,二者得到的结果相同。

cd 切换目录

mkdir 创建目录 mkdir ./tmp 在当前目录下创建一个tmp目录

pwd 显示当前目录

rmdir 移出一个空目录

cp 复制一个文件 cp src dst

rm 删除一个文件 rm filename

mv 移动一个文件 mv filename dst

cat tac nl文件内容查阅

touch 创建一个文件

which 脚本文件查询

whereis 文件查询 //此两种方式为数据库查询,速度较快

localdate 文件查询

find 文件查询 //速度较慢