Owner,Group,Others,RootLinux系统是多用户系统,将文件访问者身份分为三种:文件所有者(Owner)创建用户时,Linux会为用户创建一个家目录,路径为/home/<用户名>,我们可以使用cd~快速进入家目录。如果你想放一个私有文件,你可以把它放在你的主目录下,然后设置为只有你自己可以查看。群组(Group)每个用户都有一个用户组,方便多人操作,前端培训分配权限给一组人。创建用户时,会自动创建一个与其同名的用户组。如果一个用户同时属于多个组,则该用户需要在用户组之间切换,才能拥有其他用户组的权限。其他人是既不是文件所有者也不是文件所属组成员的用户。超级用户(Root)Root用户是一种特殊的用户,该用户可以访问所有文件。adduser添加用户和passwd更改密码添加一个名为git的用户addusergit设置git用户的密码通过git但是因为创建的用户权限较低,所以有时候我们需要提升用户权限,这时候我们可以这样做:yes打开sudoers配置文件sudovisudo注意,它也在编辑sudoers配置文件。使用这个命令会比使用sudovim/etc/sudoers更安全,除了语法验证,它还会在多用户编辑时锁定文件。打开sudoers配置文件后,我们加入这样一行配置:允许git在任何地方运行任何命令gitALL=(ALL:ALL)ALL简单解释一下这句话gitALL=(ALL:ALL)ALL:git代表的用户名规则应用第一个ALL表示规则适用于所有主机第二个ALL表示规则适用于所有用户第三个ALL表示规则适用于所有组第四个ALL表示规则适用于所有命令我们保存后并退出,git用户将获得root权限。lslistfilesanddirectorieslslistfilesanddirectories[root@iZ2zelearn-typescript.git]#lsbranchesconfigdescriptionHEADhooksindexinfoobjectsrefsls-lashowallfilesanddirectories(includinghidden)by-aand-lshow详细列表组成:[root@iZ2zelearn-typescript.git]#ls-latotalusage20drwxrwxr-x7gitgit132December1512:33.drwx------3gitgit127December1514:51..drwxrwxr-x2gitgit6Dec1512:21branches-rw-rw-r--1gitgit66Dec1512:21config-rw-rw-r--1gitgit73Dec1512:21description-rw-rw-r--1gitgit23Dec1512:21HEADdrwxrwxr-x2gitgit4096Dec1513:10hooks-rw-rw-r--1gitgit21712Dec1512:33indexdrwxrwxr-x2gitgit21Dec1512:21infodrwxrwxr-x10gitgit90Dec1512:33objectsdrwxrwxr-x4gitgit31Dec1512:21refs每行有7个Column,我们以branches为例来解释其含义每列:关注第一列的内容,以drwxrwxr-x为例,一共有10位here、第一个数字表示文件类型,其中-表示普通文件,d表示目录文件。第2~4位代表所有者权限,其中r代表读权限,w代表写权限,x代表可执行权限,-代表无权限,第2~5位为rwx,表示所有者可以读,编写并实施。第5到7位代表组用户权限,这里也是rwx。第8位到第10位表示其他用户权限,这里是r-x,表示可读和可执行权限,但没有写权限。这里补充一点:root用户创建的文件夹默认权限为rwxr-xr-x:[root@iZ2zewww]#mkdirtest[root@iZ2zewww]#ls-ldrwxr-xr-x2rootroot61217号23:53测试创建文件默认权限为rw-r--r--,注意创建文件时会默认去掉x权限:[root@iZ2zewww]#touchindex.html[root@iZ2zewww]#ls-l-rw-r--r--1rootroot0December1723:54index.html这就是为什么我们有时需要在创建文件后添加执行权限的原因。chown改变文件的属主,也可以同时改变文件所属组chown(changeowner)语法:-R:递归改变文件所属组chown[–R]ownernamefilenamechown[-R]所有者名称:组名文件名将index.html的所有者更改为git:[root@iZ2zewww]#chowngitindex.html[root@iZ2zewww]#ls--rw-r--r--1gitroot0Dec1723:54index.html将index.html的所有者和组更改为git:[root@iZ2zewww]#chowngit:gitindex.html[root@iZ2zewww]#ls-l-rw-r--r--1gitgit0December1723:54index.htmlchmod更改文件权限除了用rwx表示权限外,还可以用数字表示。数组与字母的对应关系为:r:4w:2x:1所有这样的对应关系主要是为了推导方便。比如我们想要一个文件是可读可写的,那么我们可以很方便的将权限设置为6(4+2)。同样,如果我们知道一个权限是3,我们也可以推导出来。输出权限是可写可执行的,因为只有2+1才能等于3。我们来看一下chmod(changemode)的具体语法:-R:递归改变属于组的文件一个文件的权限是这样的:chomd750index.html我们可以知道Owner的权限是7,表示可读可写可执行,Group的权限是5,可读可执行,Others的权限是0,表示不可读、不可写、不可执行。web前端培训对应的字母是:rwxr-x---。除了这种数字方式,还有一种使用符号类型来改变权限的方式:在这种方式中,我们将Owner、Group、Others这三个身份缩写为u(User)、g、o,用a来表示他们对于所有的身份,都使用+-=来表示增加、移除、设置一个权限,而rwx则继续表示读、写、执行权限。例如:chomdu+x,g-x,o-xindex.html表示Owner加执行权限,GroupandOthers去掉执行权限。当然我们也可以直接设置权限chmodu=rwx,g=rx,o=rindex.html此时文件的权限就相当于-rwxr-xr--。另外,我们也可以省略ugoa等身份内容,直接写:chmod+xindex.html此时相当于使用a,会为所有身份增加执行权限。su切换身份切换到git用户sugitwhoami显示用户名whoamirootpwd显示当前目录[git@iZ2zewww]$pwd/home/wwwcd切换工作目录,进入/home/www/cd/home/www进入自己的主目录cd~enter当前目录的上下两层:cd../..mkdir创建目录mkdir创建目录:mkdirnew_foldermkdir-p递归创建目录:mkdir-pone/two/threetouch创建文件修改文件或目录的时间属性,当文件不存在时,系统会创建一个空白文件。touchnew_fileecho打印输出echo是一个shell命令,用于打印输出:显示转义字符echo"\"testcontent\""创建或覆盖文件内容为"testcontent":echo"testcontent">index.html如果你想添加内容,使用>>:[root@iZ2zewww]#echo"testcontent">index.html[root@iZ2zewww]#catindex.htmltestcontent[root@iZ2zewww]]#echo"testcontent">>index.html[root@iZ2zewww]#catindex.htmltestcontenttestcontentcat连接文件并打印输出查看文件内容:cat~/.ssh/id_rsa.pubemptyindex.htmlcontent:cat/dev/null>index.html将index.html的内容写入second.html:catindex.html>second.html将index.html的内容写入second.html:catindex.html>>second.html添加index.html和second.html到third.html:catindex.htmlsecond.html>>third.htmlcp复制文件或目录将目录website/下的所有文件复制到新目录static:-r:如果给定的源文件是目录文件,此时将复制该目录下的所有子目录和文件cp–rwebsite/staticmvmove并重命名文件重命名:mvindex.htmlindex2.html隐藏文件:将.mvindex.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/staticrm删除一个文件或目录系统会询问rmfile-f表示直接删除-r表示删除目录下的所有文件,删除当前目录编辑器中的所有文件和目录。基本上vi/vim分为三种模式,分别是Commandmode、Insertmode和Lastlinemode。我们在运行的时候引入这三种模式:我们执行vimindex.html,如果没有这个文件,会创建一个文件:vimindex.html此时界面是:这是命令模式,在命令模式下,任何输入的字符都会被视为命令,下面几个常用的命令:i切换到输入模式。x删除当前光标位置的字符。:切换到底线命令模式。当我们按下i,我们会进入输入模式:在输入模式下,左下角有一个--INSERT--标志:此时我们可以进行各种输入,当输入完成后,按ESC即可回到命令模式:此时左下角的INSERT已经消失了。如果我们要保存退出,我们先输入:进入底线命令模式:在底线命令模式下,常用的命令有:w保存文件q退出程序,我们输入wq保存退出,此时我们已经发现并创建了一个HTML文件。ssh远程连接工具注意ssh监听端口为22。其基本语法为:ssh[OPTIONS][-pPORT][USER@]HOSTNAME[COMMAND]监听端口示例:ssh-p300git@8.8.8.8开启调试模式:-vverbosemode,打印运行状态信息调试信息ssh-vgit@8.8.8.8文章来自Vue中文社区
