Linux基础命令及Linux的权限

Linux基础命令练习

  • 将之前所创建的目录和文件全部清理掉
$ rm -rf
  • 在家目录下创建 ~/workspace/cmd 目录以及 ~/workspace/tmp/test 目录
$ mkdir -p ./workspace/cmd//-p(递归创建目录)
$ mkdir -p ./workspace/tmp/test
  • 进入 ~/workspace/cmd 目录,创建一个空文件my.txt
$ cd workspace/cmd
$ touch my.txt
  • 使用重定向>>与echo命令向my.txt文件写入 hello world 数据
$ echo "hello world" >> my.txt
  • 将my.txt复制一份到~/workspace/tmp/test目录下
$ cp -r my.txt ~/workspace/tmp/test
  • 将~/workspace/tmp/test目录移动剪切到 ~/workspace/下
$ mv ~/workspace/tmp/test/ ~/workspace/
  • 清空~/workspace/下的空目录
$ rmdir ~/workspace/tmp/
  • 刷新~/workspace/cmd/my.txt文件的时间属性与家目录时间相同
$ touch -r ~/workspace/cmd/my.txt ~
  • 打印~/workspace/cmd/my.txt文件全部内容到终端显示上
$ cat ~/workspace/cmd/my.txt
  • 分页显示/etc/passwd的内容到显示终端上
$ more /etc/passwd
  • 在分页显示的内容中匹配root字符
$ less /etc/passwd ?root
  • 显示/etc/passwd文件的前五行数据
$ head /etc/passwd -n 5
  • 显示/etc/passwd文件的后五行数据
$ tail /etc/passwd -n 5
  • 动态打印显示~/workspace/cmd/my.txt的最后一行数据
$ tail -f ~/workspace/cmd/my.txt -n 1
  • 显示/etc/passwd文件中包含Root字符串的行,并显示行号忽略大小写
$ grep -n -i root /etc/passwd
  • 查找~/workspace/目录下名字包含my字符串的文件
$ find ~/workspace/ -name "my*"
  • 查找~/workspace/目录下最后一次修改时间在10分钟以内的文件
$ find ~/workspace/ -mmin -10
  • 显示系统时间的时间戳,日历
$ date +%s
$ cal
  • 以“月-日 时:分”格式显示当前系统时间
$ date +"%m-%d %H:%M"
  • 修改文件~/workspace/cmd/my.txt的权限为651
$ chmod 0651 ~/workspace/cmd/my.txt
  • 如何使系统默认创建文件的权限为666? 记得修改回来
$ umask 0111
  • 修改~/workspace/tmp/目录的权限为其他用户可以进入但是不能查看其中内容也不能在其中创建文件
$ cd ~/workspace/
$ mkdir tmp
$ chmod 0751 tmp
  • 修改~/workspace/cmd/目录权限为可以浏览或进入或创建文件,但是不能删除别人的文件
$ chmod -t ~/workspace/cmd/
  • 打印/etc/passwd文件的第五行数据
$ head -n 5 /etc/passwd | tail -n 1

以下重要命令

  • 1.du命令:du [选项] 文件

功能:命令是显示指定文件以及下的所有文件占用系统数据块的情况,如果没有文件,默认为是当前工作目录

    -a     显示所有文件对系统数据块的使用情况
    -b     显示数据块大小时以字节为基本单位
    -c     除了显示文件对系统数据块的使用情况外还显示出文件的总和
    -s     只显示文件数据块总大小,不显示文件名
    -x     只显示当前目录,但不统计子目录
  • 2.df命令:df[选项] 文件名

功能:命令与du命令相似,只不过是df计算的是当前文件所以数据快的使用情况(包括前不久删除的文件),而du只是计算当前存在的所有文件的数据快的使用情况

    -a     递归显示各文件及其子目录的数据块利用
    -h     方便阅读时显示
    -H     和-h一样,只不过1k = 1000;而不是1024
    -i     显示inode信息
    -k     区块为1024字节
    -T     文件系统类型
  • 3.top命令:

(1)功能:相当于windows下的资源管理器,可以查看当前CPU的使用情况,各进程的状况

(2)选项

    -b     批处理
    -I     忽略过失
    -c     显示完整的治命令
    -s     保密模式
  • 4.free命令

(1)功能:显示所有内存利用率。包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统使用的缓冲区等。

(2)选项

    -b     以bype为单位显示
    -k     以KB为单位显示
    -m     以MB为单位显示
    -o     不显示缓冲区
    -t     显示内存总和列
  • 5.pstack命令 pstack[选项]

(1)功能:进程跟踪

  • 6.su命令

(1)功能:切换用户(由root用户向普通用户切换时不需要密码,由普通用户向root用户切换时需要密码)

  • 7.sudo命令:sudo [选项] 参数

(1)功能:可以使用其他用户的身份执行命令
(2)参数:需要执行的命令
(3)选项:

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

(1)作用

useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。

(2)格式

useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name

(3)主要参数

  -c:加上备注文字,备注文字保存在passwd的备注栏中。
  -d:指定用户登入时的主目录,替换系统默认值/home/<用户名>
  -D:变更预设值。
  -e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。
  -f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.
  -g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。
  -G:指定用户所属的附加群组。
  -m:自动建立用户的登入目录。
  -M:不要自动建立用户的登入目录。
  -n:取消建立以用户名称为名的群组。
  -r:建立系统账号。
  -s:指定用户登入后所使用的shell。默认值为/bin/bash。
  -u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499

(4)说明

useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。

  • 9.password命令:password [选项]

(1)功能:修改用户密码。

(2)选项:

-d 删除密码
-f 强制执行
-k 更新只能发送在过期之后。

如何使用命令安装gcc/g++, gdb, vim

安装 gcc:yum install gcc
安装g++:yum install gcc-c++
安装gdb:
<1>先切换到root权限。centos点help。
<2>在终端下打开火狐网,复制 https://mirrors.aliyun.com/回车(在联网的情况下并且手动复制粘贴)
<3>再输入yum list | grep gdb
安装vim:输入命令 yum -y install vim

Linux权限

  • 超级用户:root

  • 普通用户

     su           切换用户
    
  • 针对文件的权限分了三类用户

     - 文件所有者:        文件属于谁
    
     - 文件所属组:        文件属于哪个用户组(组内成员)       
                                 
     - 其他用户:          除了上边两类用户之外的用户
    
  • 文件权限也有三类:

     - 可读权限 :             用户是否能够读取内容                          
          
     - 可写权限:              用户是否能够修改内容
    
     - 可执行权限:            用户是否能够执行这个文件
    
7 7 5
111 111 101
rwx(文件所有者) rwx(文件所属组) r-x(其他用户)
 r        可读权限              是否可浏览目录           
 w        可写权限              是否可创建删除文件             
 x        可执行权限            是否可以进入目录
  • umask: 显示/修改当前的文件默认创建权限掩码

     - 文件满权限777减去掩码得到最终的文件权限            
     - 但是shell说文件创建的时候默认不允许可执行
           
     - umask值是022---权限:755(rwxr-xr-x)
    
     - 默认权限 & (~umask)
    
  • chmod 修改文件权限

      u            所属用户                  
      g            所属组                   
      o            其他                  
      a            所有用户            +/-    r/w/x                    
      0777         以八进制数字来设置权限
    
  • chown 修改文件所属用户

  • chgrp 修改文件所属组

  • 沾滞位—权限位

           首先沾滞位是针对目录来设置的                
           在设置了沾滞位的目录中可以创建文件,可以删除自己的文件,
           但是不能删除别人的文件                
           chmod + t dir        设置目录的沾滞位
    

Linux下的重要目录

根目录下的所有目录都有特定的含义,都存储着不同功能的文件


/bin:           保存系统命令,如ls、cd、pwd等常用命令                
/boot:          存放引导的相关文件,保存系统的启动数据(不可随意操作)                
/cgroup:        用户空间挂载                
/dev:           存放设备文件,特殊文件保存目录(不可以随意修改)                
/etc:           系统所有的配置文件都在这个目录中                 
/home:          用户目录,存放普通用户相关文件的用户,是我们常用的目录                
/lib/lib64:    存放系统动态链接共享库,几乎所有的应用程序都会用到该目录下的共享库。                
/lost-found:    这个目录平时是空的,当系统非正常关机而留下的“无家可归”的文件便会储存在这里                
/media:         存放着可移除的设备,比如软盘,光盘                
/misc:          储存着一些特殊的字符的定义                
/mnt :          挂载目录,是系统管理员临时安装文件的系统安装点                
/net:           存放着和网络相关的一些文件                
/opt:           (option : 自由选择)主要给源码安装软件时选择的安装目录位置                
/proc:          存放着用户与内核的交互信息                
/root:         存放root用户(即管理员用户)相关文件的目录                
/sbin:          系统的管理命令,这里存放的是系统管理员使用的程序                
/selinux:       主要用来加固操作系统,提高系统的安全性                
/srv:           系统启动服务时可以访问的数据库目录                
/sys:           管理设备文件                
/tmp:           临时文件,重启后自动清空                
/var:           某些大文件的溢出区,比如各种服务的日志文件                
/usr:           最大的目录,存放着应用程序和文件


你可能感兴趣的:(学习,Linux基础命令,根目录下的重要目录,Linux权限)