zoukankan      html  css  js  c++  java
  • Linux常用命令,文件目录和权限管理

            Linux系统是由C语言写的,思想为“一切皆文件”。常用桌面风格有KGE和GNOME。用户分普通用户($)和根用户(#)。

    (一) Linux常用命令:

    命令格式:命令本身+选项+参数   例如:用火(选项)烧死(命令)他(参数)

    1.su - root (username)  切换用户

    2.init 0   关机   init 6   重启   shutdown -h now   立即关机

    3.cal 查看日历

    4.date 显示时间    date 0315112011(月日时分年)  将时间改为2011年3月15日11时11分

    5.who   当前登陆的所有用户

    6.pwd  当前路径

    7.whoami 当前用户

    8.clear  清屏

    9.cd .. 切回上一个目录

    10.ls  显示文件或目录   ls -a(all)显示所有目录,包含隐藏的目录    ls -l(list)  显示目录下子文件和子目录的信息    ls -dl  目录本身的详细信息

    11.echo  回文

    12.passwd 更改密码   (只输入一遍的改密码命令:echo 密码 | passwd --stdin root 只有根用户可以这样操作 )

    13.man + 命令 帮助  或者  命令+  --help

    14.终端切换到桌面  alt + F1      桌面切换到终端  ctr+alt +F1

    15.history  查看已经敲过的历史命令

    (二)目录操作:增删改查

            windows为多根系统(如画分的CDFE盘,每个盘为一个根),Linux只有一个根:/  左斜杠   windows为右斜杠

            Linux根目录下各文件:bin存常用命令,可执行文件;boot存放启动盘;etc配置文件;sbin系统目录,系统的可执行文件;mnt/media用来挂载;dev设备文件

            绝对路径:以/开头 ls /boot/grub          相对路径:不以/开头  ls grub/

    1.增: mkdir +目录路径     新增目录

              mkdir /a 创建根下a目录      mkdir /a/b 创建根下a下b目录

              mkdir /c/d 会报错  因为还没有C目录 找不到c所以不能创建    可以这样:  mkdir  -p  /c/d 加-p可同时创建b和c

    2.查:  ls -d    ll -d

    3.改:移动一个目录 有2个用法:1是移动文件;2是移动文件并重命名

              mv /a/f/ /a/f1/  重命名

              mv  /a/e/  /b/

    4.删: rm -r 删除目录和目录下的子目录 (系统会问是否删除);

               rm -rf   强制删除目录和目录下的子目录 (系统不会问是否删除);

              注:尽量不要使用rm,特别是rm -rf 删除了就没了 建议使用mv,把不用的移动到/tmp下

    (三)文件操作:增删改查

    1.增:touch a.txt

    2.改:mv

    3.查看:ls

          cat 查看文件内容(大文件时速度最快)  按Q退出

           less 查看文件内容,分页查看  上下键

           more 百分比查看  回车

            head 查看默认钱十行内容,head -n 数字 /a/a.txt  查看a文件前数字行内容

           tail  查看后10行内容, tail -f  /a/a.txt  监测a文件的新增内容

    4删除:rm                  rm /a/a.txt       rm -f /a/a.txt

    5.向文件中写入内容:

           echo 12345 > /a/a.txt   将12345写入都a.txt (如果a.txt中以前有内容,会覆盖掉)

          echo 12345 >> /a/a.txt   给a.txt中追加内容“12345”

    (四)权限管理

    1.常用命令:

    (1)useradd  + 名字   新建用户   -u 指定UID; -g 指定组主组;-G 指定附加值;-d 指定家目录; -c 描述信息; -s 指定用户所用的shell;/etc/passwd   用户信息路径

            useradd -u 1200 -g root -d /test/user -c 'testuser' -s /bin/bash  test_user

    (2)id  + 用户名  用户信息(在哪个组UID多少等),UID小于1000是系统用户,1000以后是普通用户,root用户的uid是0。

    (3)passwd + 用户名  设用户密码,设次   一次的方法 echo 12345 | -- stdin 用户名

    (4)usermod  修改用户的信息  usermod + 修改项+ 用户名

    (5)groupadd  加组   groupadd + 组名    (新建的组在/etc/shadow下)

    (6)groupdel 删除组   groupdel +组名

    (7)groupmod 修改组   -g 修改组的组ID   -n 修改组名    +组名

    (8)userdel 删除用户(家目录和邮箱还在),  userdel  -r  彻底删除所有

    (9)chmod  权限

    (10) chown  更改属主属组权限   chown -R  递归地改(文件下的子目录和子文件都同意改)

    2.相关文件介绍

    (1)passwd文件:里面为用户信息,分七段,如下:

    egon1:X:1002:1002:  :/home/egon1:/bin/bash

    用户名:密码占位符:UID:组ID:用户描述信息:用户家目录用户登录的shell(如果第七段为sbin/nologin为不可登陆用户)

    (2)shadow文件:用户密码的文件,即密码占位符,路径/etc/shadow

    (3)group文件:里面为group信息文件,用户所在的组,组名,组ID

    root:x:1003:test_user       组名为root:组密码存在X:组ID为0:用户test_user在root组里,test_user属于这个组。这个组是test_user的附加组

    (4)gshadow :组的shadow文件

    3.通过创建文件的方式创建用户

    (1)建立用户的主组(原始组):通过VIM /etc/group 在里面增加一条  poe1:x:1001:

    (2)建立用户的家目录(即用户的个人办公软件桌面)

    a. mkdir /home/poe1

    b.cp -r /etc/skel/.[!.]* /home/poe1    将办公软件(模板)复制到poe1里面

    (3)建立用户: VIM  /etc/passwd里增加一天

    poe1:X:1001:1001:poe1:/home/poe1:bin/bash

    (4)建立用户密码:VIM /etc/shadow 里增加一条(复制文档上面的内容,更换名字即可)

    poe1:!:!:17378::::

    (5)建立组密码:VIM /etc/gshadow里增加一条

    poe1:!!:poe1

    (6)将家目录的权限主体改成用户自己 poe1;(在创建poe1时是在root用户下创建的,所以/home/poe1/属主属组都是root,现在得改成poe1)

    chown -R poe1.poe1 /home/poe1

    (7)创建用户的邮箱

    a.mkdir /var/spool/mail/poe1

    b. chown -R poe1.mail /var/spool/mail/poe1  (poe1用户,mail组)

    4.属主属组其他人对文件的rwx权限

    -rw-r--r--. 1 root root 0 8月   7 15:46 /test/test1/a.txt   最左边是以-开头的,是表示文件

    drwxrwxrwx. 2 root root 6 8月   1 18:54 /test/test1     最左边是以d开头的,表示是目录

    除了最左边的-和d,其余部分分为三部分,前部分的可读可写可执行权限属主(user即用户的权限),中间部分属组(group),最后部分属于其他人(other)

    r---4    w----2    x----1      root用户对一切文件可读可写可执行

    (1)chmod权限等号法   (当前目录在a.txt的上一层)

    解除: chmod o= -  a.txt   other对a.txt什么权限也没有了  等于短杠

    给予:chmod o=r a.txt      other对a.txt有了可读权限   chmod o=rw a.txt     chmod u=rwx /test/tets1/a.txt

    (2)chmod权限加减法

    chmod u=rx,g=-,o=rwx a.txt  这是用等号接触给予权限,每次改权限即每次复制,都会覆盖以前旧的权限,还有另一种方式,即在旧的权限基础上+-权限来实现更改权限

    旧权限为:u=rx,g=-,0=rwx

    目标权限:u:r;  g:rw;   o:r

    chmod u-x,g+rw,o-wx a.txt

    (3)chmod权限数字法

    r=4,w=2,x=1    rwx=7  rx=5 

    旧权限为:u=rx,g=-,0=rwx

    目标权限:u:r;  g:rw;   o:r

    chmod 464 a.txt

    (4)对属组权限的延伸:

    比如a.txt权限为-rw-rw----  other对a.txt什么权限也没有。other中的小明想对a.txt有权限,可以把小明加到a.txt的属组中,小明就有了这个组所拥有的权限;

    在Jack组,则 usermod -G Jack  xiaoming

    5.属主属组其他人对目录的rwx权限

    r   读  ls  打开文件夹,游览文件夹下子文件,子文件夹名

    w   写   新建删除重命名文件夹  wx,一边与x一起

    x   cd   可执行 鼠标双击可进入  

    注:属组权限的延伸部分同样适用于目录权限

  • 相关阅读:
    python2的比较函数,cmp
    快速排序
    如果a,b,c为自然数,a+b+c=1000,a方+b方=c方,求出abc可能的组合(python实现)
    python之join
    python之functools partial
    Python 3 iter函数用法简述
    python线程之condition
    python 线程 event
    getattr getattribute setattr hasattr delattr
    Properties类
  • 原文地址:https://www.cnblogs.com/weigege2015/p/7282533.html
Copyright © 2011-2022 走看看