• linux命令


    1、 目录文件的浏览、管理及维护

    1. pwd             显示当前路径
    2. cd 切换目录,也可切换到用户的家目录
    3. cd.. 进入上一级目录
    4. cd ~ 切换到用户的家目录
    5. cd – 切换到用户之前的工作目录

    2. ls命令

    6. ls -a           列出目录下的所有文件,包括以“.”开头的隐含文件  ls -a /home/dog
    7. ls –l           列出某个目录中每一个文件的详细资料

    3. cp命令  (复制文件和目录)

    8. cp 源文件 目标文件              只能复制文件不能复制目录
    9. cp -r 源文件 目标文件 递归地复制,复制一个目录时,复制该目录中所有的内容,其中包括子目录的全部内容
    10. cp -f 源文件 目标文件 (force,强制):在目标文件已经存在的时候不询问直接强制复制

    4. mv命令(移动及修改文件和目录名)也可以重新命名文件和目录

    11. mv bigdog babydog          将bigdog目录名改为babydog
    12. mv 源目录 目标目录 mv/etc/aaa.txt /usr/loacl/ 将a.txt文件移动到/usr/loacl目录下
    13. 命令参数:
      -b :若需覆盖文件,则覆盖前先行备份。 
      -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
      -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

    5. mkdir与touch(创建目录与文件)

    14. mkdir           创建文件夹
    15. touch 可以创建一个空文件,也可以同时创建多个文件

    6. rm命令 (永久地在文件系统中删除文件或目录)

    
    
    17. 命令参数:
      –r(recursive,递归的):递归地删除目录。当删除一个目录时,删除该目录中所有的内容,其中包括子目录中的全部内容。
      –f(force,强制):系统并不询问而是强制删除,即直接删除原有的文件。
    18. rm -f a.txt 删除文件
    19. rm -r aaa 删除目录及其子目录

    7.查看文件的命令

    20. cat:将一个或多个文件的内容显示在屏幕上,该命令会不停的以只读的方式显示整个文件的内容。
    21. 命令参数:
         -n或-number:有1开始对所有输出的行数编号;
         -b或--number-nonblank:和-n相似,只不过对于空白行不编号;
         -s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
         -A:显示不可打印字符,行尾显示“$”;
         -e:等价于"-vE"选项;
         -t:等价于"-vT"选项;
    22. head:默认将显示一个文件的前10行
    23. head -5 a.txt 显示前5行数据
    24. tail:           默认显示文件最后10行的内容。
    25. tail -n         显示从文件末尾算起的n行
    26. tail -5 a.txt 显示最后5行数据
    27. tail -f a.txt 动态显示内容 一般用于日志查询
    28. more:使用more命令之后,每次在屏幕上显示一屏(一页)的文件内容,并且在屏幕的尾部将会出现“—More--(n%)”的信息,其中,n%是已经显示文件内容的百分比。

     2. 用户、群组和权限 

    1. /etc/passwd文件的功能 

    1. 存储所有用户的相关信息,该文件也被称为用户信息

    /etc/passwd文件每个字段的具体含义:

    a)    第1个字段(列)记录的是这个用户的名字(在创建用户时root用户起的)。
    b)    第2个字段(列)如果是x,表示该用户登录Linux系统时必须使用密码;如果为空,则该用户在登录时无须提供密码。
    c)    第3个字段(列)记录的是这个用户的uid。
    d)    第4个字段(列)记录的是这个用户所属群组的gid。
    e)    第5个字段(列)记录的是有关这个用户的注释信息(如全名或通信地址)。
    f)    第6个字段(列)记录的是这个用户的家目录的路径。
    g)    第7个字段(列)记录的是这个用户登录后,第一个要执行的进程。

    2. shadow文件 

    /etc/shadow文件的功能:存储所有用户的密码,每一个用户占用一行记录,该文件实际上就是存放用户密码的数据库(Database)。
    /etc/shadow文件每个字段的具体含义:
    a)    第1个字段(列)是用户名。
    b)    第2个字段(列)是密码,这个密码是经过MD5加密算法加密过的密码。

    3.  群组及group文件

    /etc/group文件的功能

    存放了Linux系统中所有群组的信息,它实际上就是一个存放群组信息的数据库(Database)。

    /etc/group文件每个字段的具体含义:

    a)    第1个字段是这个群组的名字。
    b)    第2个字段中的x表示这个群组在登录Linux系统时必须使用密码。
    c)    第3个字段记录的是这个群组的gid。
    d)    第4个字段记录的是这个群组里还有哪些群组成员。

     4. 添加一个新的用户账户

    useradd alex              # 添加alex用户
    参数:
    –u:指定用户的UID –g:指定用户所属的群组
    –d:指定用户的家目录 –c:指定用户的备注信息 –s:指定用户所用的shell
    useradd -u 600 -g alex eric   # 创建eric用户,用户id 600 属alex组

    添加用户后会创建一系列文件:

    1. 创建用户的家目录  /home/alex

    2. 在/etc/passwd文件中增加用户的信息

     alex:x:500:500::/home/alex:/bin/bash

    3. 在 /etc/shadow文件中增加用户的密码信息

     alex:!!:17813:0:99999:7:::

    4. 在/etc/group文件中增加alex组

     alex:x:500:

    5. 增加用户邮件

     xxx

    5. 查看用户的信息

    id alex   #  uid=500(alex) gid=500(alex) 组=500(alex)

    6. usermod 修改用户信息

    参数:
    –u:修改用户的UID –g:修改用户的GID –G:将一个用户加入到指定的群组中 –d:修改用户的家目录 –c:修改用户的备注信息 –s:修改用户所用的shell
    usermod -G root seven   # 将用户seven加入root组 (这种加入方式是覆盖加入,覆盖之前用户加入的组,只保留所属主组与这次添加的组)

    追加的方式添加用户到其他组

    usermod -aG alex seven   # uid=601(seven) gid=601(seven) 组=601(seven),0(root),500(alex)

     从组中删除用户

    gpasswd alex -d seven   # 从alex组中删seven用户

    7. userdel 删除用户信息

     userdel -r alex

     8. groupadd添加组信息

    groupadd g1

    9. groupmod 修改组信息

    参数:
        –g:修改群组的GID
        –n:修改群组的名称
    groupmod –g 521 g1                # 将群组id改为521
    groupmod –n g11 g1                # 将群组 g1改名为 g11

    10. groupdel 删除一个群组账号

    groupdel g11

    3. 用户、群组及权限的深入讨论 

    1.  ls -l 命令详解

    -rw-r--r--. 1 root root 46478 10月  1 14:48 install.log1.

    1.第一列分成4组

     第1个字符为第1组,代表这是一个文件(-)或是一个目录(d),也可以是其他资源。
     第2、3、4个字符为第2组,定义了文件或目录的所有者(owner)所具有限的权,使用u代表所有者(owner)对文件的所有权限。
     第5、6、7个字符为第3组,定义了文件或目录的所有者所在的群组中其他(用户)所具有的权限,使用g代表这一组(group)权限。
     第8、9、10个字符为第4组,定义了既不是owner也不和owner在同一群组的其他用

    2. 第三列、第四列为文件的属主和属组

    3. 第五列,第六列为文件大小与创建时间

    4.第七列 文件名

    2. 针对文件的权限 (作用于文件内容)

    查看文件权限

    ls -l

    修改文件权限

    chmod u+w a.txt
    chmod g+w a.txt
    chmod o+w a.txt
    
    chmod u-w a.txt
    chmod g-w a.txt
    chmod o-w a.txt

    注意: 当修改文件权限时,只有文件的属主和root用户才能修改权限。比如a.txt 属主是 alex,其他用户对a.txt没有写的权限,用户eric想往文件写入内容,那么eric能直接给a.txt

    执行 chmod o+w 吗?当然是不能的,因为文件的属主是alex,只有alex才能执行chmod o+w,root用户也可以,因为root是超级用户,超越权限之外。

    上面相当于eric自己给自己加权限,这当然是不可以的。

    现象1:

    如果一个文件权限信息如下:

    -r--rw-r-- 1 alex alex 32 10月 10 09:40 a.txt

    其他用户对文件只有写的权限,没有读的权限。

    当其他用户对文件进行写时,保存之后,alex用户去查询文件内容时,你会发现文件的内容只有其他用户写的内容了,原来的内容没有了。原因就是因为其他用户没有读的权限,当其他用户写内容时,由于没有读的权限,所以读不出来任何内容,相当于读出来空内容,当再写入内容时,保存之后,vim编辑器将内存的的内容直接覆盖写到文件中了。也就只有其他用户写的内容了。

    3. 针对目录的权限

    查看目录权限

    ll -d /       # 查看根目的权限信息
    dr-xr-xrwx. 26 root root 4096 10月 10 09:21 /

    对目录的读权限,表示能看到目录下的内容,即可以 ls

    如下表示对目录没有读的权限

    [eric@centos6 test]$ ls
    ls: 无法打开目录.: 权限不够

    对目录的写权限,表示能在目录下创建文件,删除文件,重命名文件,不涉及修改文件,因为修改文件涉及的是对文件的权限,不是目录的权限。

    如下表示对目录没有写的权限

    [eric@centos6 test]$ touch b.txt
    touch: 无法创建"b.txt": 权限不够

    对目录的执行权限,表示能够进入文件目录中,即cd进入文件目录。

    递归修改目录的权限

    [alex@centos6 test]$ chmod -R o+w test       # 将test目录下的文件或目录都执行此操作

    4. chown 修改属主与属组

    修改文件、目录的属主和属组

     chown alex.alex a.txt 

    递归修改目录的权限

    [root@centos6 test]# chown -R alex.alex a.txt 

    注:上面修改文件的属主与属组时,需要用root用户,其他用户修改不成功,不晓得why。

     4. 资源占用情况查看

    1. free命令,查看内存使用情况

    free
    参数:
        -h  # 以G为单位
        -m  # 以M为单位
    [root@centos6 ~]# free
                 total       used       free     shared    buffers     cached
    Mem:       1028268     945040      83228       1460      87656     701276
    -/+ buffers/cache:     156108     872160

    注解:第一行 used(945040)表示内存分出去多少,可以将内存认为是一个内存池,使用内存是从池子中分出去一部分(分出去的就是 buffers和cached)。

    第一行 buffers(87656),表示已经分出去的buffers,但是系统还没有使用。

    第一行 cached(701276),表示已经分出去的cache,但是系统还没有使用。

    系统真正使用了的内存是,第二行(156108)。所以内存的使用率 = 156108/1028268。

    945040(分配出去的buffer和cache) = 156108(已经释放的buffer和cache) + 87656(未使用的buffer) + 701276(未使用的cache)。

    83228 表示内存还没有分配出去的buffer和cache。

    872160 表示总共可以当做buffer和cache内用有多少,那么它等于 = 83228  +  87656 + 701276

    5. 进程的管理

    进程的定义:进程是程序的一次动态执行。

    守护进程的定义:守护进程是在后台运行并提供系统服务的一些进程。

    父进程、子进程的定义:当一个进程创建另一个进程时,第1个进程被称为新进程的父进程,而新进程被称为子进程。

    ps命令的功能:用来显示当前进程的状态。

    ps –aux 显示所有的与用户相关的完整信息。

    系统中进程的监控pstree、kill。

    centos7默认没有pstree,需要yum -y install psmisc
    pstree命令的功能:以树状图显示程序。

    查询某个进程

    ps -aux | grep xxx

    杀死进程

    kill -9 PID
  • 相关阅读:
    shell脚本使用记录一:操作文件
    用IDEA在Tomcat上部署项目
    通过反射获取属性名和属性类型
    IDEA设置生成类基本注释信息
    有序的Map集合--LinkedHashMap
    书面格式注意的问题
    悲观锁和乐观锁的区别
    解析xml文件的四种方式
    jsp的四种范围
    jsp的两种跳转方式和区别
  • 原文地址:https://www.cnblogs.com/yuqiangli0616/p/9761408.html
Copyright © 2020-2023  润新知