Linux常用命令,文件目录和权限管理

时间:2020-11-30 16:59:53

        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   可执行 鼠标双击可进入  

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