前端够用的linux命令
# 前端够用的 linux 命令
# 文件权限
shell 下执行 ls -la
drwxr-xr-x 5 root root 4096 12月 30 11:38 .
drwxr-xr-x. 103 root root 12288 12月 27 11:45 ..
drwxr-xr-x 2 root root 4096 12月 30 21:38 cert
drwxr-xr-x 2 root root 4096 1月 8 23:44 conf.d
drwxr-xr-x 2 root root 4096 10月 8 2019 default.d
-rw-r--r-- 1 root root 1077 10月 8 2019 fastcgi.conf
-rw-r--r-- 1 root root 1077 10月 8 2019 fastcgi.conf.default
-rw-r--r-- 1 root root 1007 10月 8 2019 fastcgi_params
-rw-r--r-- 1 root root 1007 10月 8 2019 fastcgi_params.default
-rw-r--r-- 1 root root 2837 10月 8 2019 koi-utf
-rw-r--r-- 1 root root 2223 10月 8 2019 koi-win
2
3
4
5
6
7
8
9
10
11
第一行表示权限控制
这里一共 10 位,第 1 位表示文件类型,其中 - 表示普通文件,d 表示目录文件 。
第 2 到第 4 位,表示所有者权限,其中 r 表示读权限,w 表示写权限,x 表示可执行权限, -表示无权限,第 2 到 5 位为 rwx,表示所有者可读可写可执行。
第 5 到第 7 位,表示组用户权限,这里也是 rwx。
第 8 到第 10 位,表示其他用户权限,这里是 r-x,表示有可读可执行权限,无写入权限。
这里再额外补充一点:
root 用户创建文件夹的默认权限为 rwxr-xr-x:
创建文件的默认权限是 rw-r--r--,注意创建文件默认会去掉 x 权限:
这就是为什么我们有的时候需要在创建文件后,又加上执行权限。
# chmod 更改文件权限
权限除了用 r w x 这种方式表示,也可以用数字表示,数组与字母的对应关系为:
r:4
w:2
x:1
之所有如此对应关系,主要还是为了方便推导,比如我们希望一个文件可读可写,那我们可以方便的设置权限为 6(4 + 2),同样,如果我们知道一个权限为 3,我们也可以推导出权限为可写可执行,因为只有 2 + 1 才可能等于 3。
# 递归更改文件属组
chmod [-R] xyz 文件或目录
其中 xyz 分别表示 Owner、Group、Others 的权限,如果我们这样设置一个文件的权限:
chmod 750 index.html
我们可以得知,Owner 的权限为 7,为可读可写可执行,Group 的权限为 5,为可读可执行,Others 的权限为 0,表示不可读写不可执行。对应字母为:rwxr-x---。
除了这种数字的方式,还有一种使用符号类型改变权限的方式:
在这种方式里,我们将三种身份 Owner、Group、Others,分别简写为 u(User)、g、o,用 a 表示所有身份,再使用 + - = 表示加入、去除、设定一个权限,r w x 则继续表示读,写,执行权限,举个例子:
chmod u+x,g-x,o-x index.html
意思就是 Owner 加上执行权限,Group 和 Others 去除执行权限。
当然我们也可以直接设定权限
chmod u=rwx,g=rx,o=r index.html
此时文件的权限就相当于 -rwxr-xr--。
此外,我们还可以省略不写 ugoa 这类身份内容,直接写:
chmod +x index.html
此时相当于使用了 a,会给所有身份添加执行权限。
# touch 创建文件
用于修改文件或者目录的时间属性,当文件不存在,系统会创建空白文件
touch test.txt
# cp 复制文件或目录
将目录 image/ 下的所有文件复制到新目录 static 下:
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
cp –r image/ static
# mv 移动并重命名
文件改名:
mv index.html index2.html
隐藏文件:
文件名上加上 .
mv index.html .index.html
移动文件:
仅仅移动
mv /home/www/index.html /home/static/
移动又重命名
mv /home/www/index.html /home/static/index2.html
批量移动:
mv /home/www/website/\* /home/www/static