have / has been + -ing は「ずっと〜している」を表す
要点文法の意味
現在完了進行形は「ずっと〜し続けている」という動作の継続を強調する
現在完了形が結果・状態を表すのに対し、現在完了進行形は動作そのものの継続を前に出します。know / like のような状態動詞はふつう進行形にしません。
文法の形
肯定・否定・疑問の3つの形があります。
肯定
主語 + have / has been + 動詞-ing
I have been studying for two hours.
否定
主語 + have / has not been + 動詞-ing
I haven't been sleeping well lately.
疑問
Have / Has + 主語 + been + 動詞-ing?
Has he been studying all day?
文法のルール
1
状態動詞(know / like など)は進行形にしない。現在完了形を使う。
I have been knowing him for 10 years.
I have known him for 10 years.
know は「知っている」という状態を表す動詞なので、継続を表すときは現在完了進行形ではなく現在完了(have known)を使います。
2
been の後ろは -ing 形。
He has been waited for an hour.
He has been waiting for an hour.
現在完了進行形は have been + -ing で作ります。been の後ろは原形(go)でも過去分詞(waited)でもなく、必ず -ing 形にします。