How to make a page show posts only from specific categories without editing php files

You can use WP_Query to lists posts with excerpt from specific category. Here is sample code:

<?php 
$args = array(
    'posts_per_page'   => -1,
    'cat'              => 7,
    'orderby'          => 'post_date',
    'order'            => 'DESC',
    'post_type'        => 'post',
    'post_status'      => array('publish', 'draft', 'pending' ),
    'author'           => 1,
); 

$postslist = get_posts( $args );
foreach ( $postslist as $post ) :
  setup_postdata( $post ); ?> 
    <div>
        <?php the_date(); ?>
        <?php the_title(); ?>   
        <?php the_excerpt(); ?>
    </div>
<?php
endforeach; 
wp_reset_postdata();
?>

You can modify it according to your need.

If you want easier solution, you can use plugins. This is the plugin I recommend to you for easier solution:

Recent Posts Widget Extended

Using this plugin you can list posts according to your needs in widget as well as you can get shortcodes too. And you don’t need to style those posts by yourself.