linux----进入目录需要哪些权限、重要目录及重要命令详解、使用命令安装gcc/g++、gdb、vim

一、进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作,需要哪些权限。

权限:在linux下有三种用户,一种是所有者,一种是所属组,一种是其他用户。

          在linux中使用命令ll(或者 ls -l)可以显示当前目录下文件的详细信息。如下图所示。

[zxy@localhost test_code]$ ll
total 12
-rwxrwxr-x. 1 zxy zxy 4686 Feb 26 23:56 a.out
-rw-rw-r--. 1 zxy zxy   74 Feb 26 23:55 test.c

         在上图 rwxrwxr-x 中,每三个字符为一组,分别为所有者,所属组和其他用户。其中r表示可读权限,w表示可写权限,x表示可执行权限。

       (1)当删掉 w 权限时,能够使用cd命令进入该目录,也能够使用ls查看该目录下的文件,但不能在该目录下rm、mv和touch文件。

        (2)以 file 目录为例,当删掉所有者 r 权限时,能够使用cd命令进行改目录,不能使用,ls查看该目录下的文件。

        (3)当删掉 x 权限时,不能使用 cd 命令进入该目录。

[zxy@localhost ~]$ ll
drwxrwxr-x. 2 zxy zxy 4096 Feb 27 00:26 file
[zxy@localhost ~]$ chmod u-w file
[zxy@localhost ~]$ ll
total 44
dr-xrwxr-x. 2 zxy zxy 4096 Feb 27 00:26 file
[zxy@localhost ~]$ cd file
[zxy@localhost file]$ ls
test
[zxy@localhost file]$ mv test one
mv: cannot move `test' to `one': Permission denied
[zxy@localhost file]$ rm test
rm: cannot remove `test': Permission denied
[zxy@localhost file]$ touch test1
touch: cannot touch `test1': Permission denied
[zxy@localhost file]$ cd ..
[zxy@localhost ~]$ chmod u-r file
[zxy@localhost ~]$ cd file
[zxy@localhost file]$ ls
ls: cannot open directory .: Permission denied
[zxy@localhost file]$ cd ..
[zxy@localhost ~]$ chmod u-x file
[zxy@localhost ~]$ cd file
bash: cd: file: Permission denied
[zxy@localhost ~]$ ll
total 44
d---rwxr-x. 2 zxy zxy 4096 Feb 27 00:26 file


二、了解以下Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp

/proc:  proc是linux系统下一个很重要的目录。它不是一个真正的文件系统,而是一个虚拟的文件系统。它不存在于磁盘,而是存在于系统内存中。proc以文件的方式为访问系统内核的操作提供接口。很多系统的信息,如内存使用情况,CPU使用情况,进程信息等等这些信息,都可以通过查看/proc下的对应文件来获得。proc文件系统是动态从系统内核读出所需数据的。


/sys:  sys是一种基于ram的文件系统,和proc一样。sys文件系统是一个类似于proc文件系统的特殊文件系统,用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的内核数据结构信息。简而言之,就是用户可以通过对sys文件系统的访问,来看内核的一些驱动或者设备等。


/SElinux:   SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。


/bin:  bin是binary的缩写,用来存放所有用户皆可用的系统程序,系统启动或者系统修复时可用,/bin 简单来说就是可执行的命令的目录。


/usr/lib:  目录 /usr/lib/ 中含有更多用于用户程序的库文件,也被用来贮存用户命令。/usr/lib系统级的。,用户级的。而/lib是内核级的,/usr/local/lib是用户级的。


/usr/local:  /usr/local该目录主要用于存放那些手动安装的软件,即 不是通包管理工具或apt-get安装的软件。


/var:  /var文件系统一般运行经常要改变的文件。


/tmp:  /tmp文件是linux运行时产生的缓存文件,用于加速二次打开文件的速度。/tmp文件在linux关机时会被系统预设指令删除的。一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

三、了解以下重要命令. du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password

du:  du命令是对文件和目录磁盘使用的空间的查看。语法 du [选项] [文件]

       -a或-all 显示目录中个别文件的大小。
       -b或-bytes 显示目录或文件大小时,以byte为单位。
       -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
       -k或--kilobytes 以KB(1024bytes)为单位输出。
       -m或--megabytes 以MB为单位输出。

       -s或--summarize 仅显示总计,只列出最后加总的值。


df:  linux中df命令参数功能是检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。语法  df [选项]

       -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。 
       -k 以k字节为单位显示。 
       -i 显示i节点信息,而不是磁盘块。 
       -t 显示各指定类型的文件系统的磁盘空间使用情况。 
       -x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。 
       -T 显示文件系统类型。

top:  top命令是linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

free:  free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。  

pstack:  pstack命令可以显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的PID。它只有一个参数就是pid。

su:  su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

      语法 su [选项] [参数]

      -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;

      -f或——fast:适用于csh与tsch,使shell不用去读取启动文件;
      -l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更 PATH变量;
      -m,-p或--preserve-environment:变更身份时,不要变更环境变量;
      -s<shell>或--shell=<shell>:指定要执行的shell;
      --help:显示帮助;
      --version;显示版本信息。

sudo(sudo -, sudo -s):  sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

      语法 sudo [选项] [参数]

      -b:在后台执行指令;
      -h:显示帮助;
      -H:将HOME环境变量设为新身份的HOME环境变量;
      -k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。
      -l:列出目前用户可执行与无法执行的指令;
      -p:改变询问密码的提示符号;
      -s<shell>:执行指定的shell;
      -u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
      -v:延长密码有效期限5分钟;
      -V :显示版本信息。

adduser:  adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。另一条创建用户命令是adduser ,用户删除命令userdel。 

      两个用户创建命令之间的区别 
      adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。 
      useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本

password:  passwd命令原来修改账户的登陆密码,使用权限是所有用户。语法  passwd [选项] 账户名称  

      -l:锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用。 
      -u:解开账户锁定状态,只有具备超级用户权限的使用者方可使用。 
      -x, --maximum=DAYS:最大密码使用时间(天),只有具备超级用户权限的使用者方可使用。 
      -n, --minimum=DAYS:最小密码使用时间(天),只有具备超级用户权限的使用者方可使用。 
      -d:删除使用者的密码, 只有具备超级用户权限的使用者方可使用。 

      -S:检查指定使用者的密码认证种类, 只有具备超级用户权限的使用者方可使用。

四、使用命令安装gcc/g++, gdb, vim

(1)使用命令安装gcc/g++

[zxy@localhost ~]$ yum list | grep gcc
gcc.i686                                   4.4.7-18.el6                  @base  
gcc-c++.i686                               4.4.7-18.el6                  @base  
libgcc.i686                                4.4.7-18.el6                  @base  
compat-gcc-34.i686                         3.4.6-19.el6                  base   
compat-gcc-34-c++.i686                     3.4.6-19.el6                  base   
compat-gcc-34-g77.i686                     3.4.6-19.el6                  base   
compat-libgcc-296.i686                     2.96-144.el6                  base   
gcc-gfortran.i686                          4.4.7-18.el6                  base   
gcc-gnat.i686                              4.4.7-18.el6                  base   
gcc-java.i686                              4.4.7-18.el6                  base   
gcc-objc.i686                              4.4.7-18.el6                  base   
gcc-objc++.i686                            4.4.7-18.el6                  base   
[zxy@localhost ~]$ sudo yun install gcc.i686

        通过命令 yum list | grep gcc 列出gcc安装包(g++同理),再通过命令 sudo yun install gcc.i686(选择你想要的安装包) 安装。

注:如果已经安装过gcc/g++则无需再安装。

(2)使用命令安装gdb

        验证 gdb 是否已经安装,在命令行直接输入 gdb 如果运行,则已经安装。反之通过命令 yum list | grep gdb,列出gdb的安装包,再通过命令sudo yun install +(选择列出的安装包之一)安装。

(3)使用命令安装vim

        验证 vim 是否已经安装,在命令行直接输入 vim 如果运行,则已经安装。反之在命令行输入下面两条命令。

        sudo apt-get install vim (ubuntu)

        yum install vim (redHat/Fedora/CentOS)



猜你喜欢

转载自blog.csdn.net/xiayzn/article/details/79389135