Linux(CentOS)サーバに初めてSSHログインした際、色々とつまづいたり疑問に思ったことが有ったのでメモも兼ねて投稿します。
あるはずのファイルが ls コマンドで表示されない。
ls -a
コマンドで隠しファイルが表示できます。
ls -aコマンドを実行したら、「.」「..」という表示がある。
カレントディレクトリと親ディレクトリを表しているだけなので、気にしないでOKです。
findで検索をしたらエラーメッセージが大量に出た。
findで検索をしたら/home/example/': Permission denied みたいなメッセージが大量に出た。
閲覧権限のないディレクトリを含めて検索をかけているのでパーミッションエラーが出ているようです。下記のように2> /dev/null
をつけるとエラーメッセージを非表示にできます。
書き方:find 検索対象のディレクトリ -name ファイル・フォルダ名 2> /dev/null
具体例:find / -name example.file 2> /dev/null
わかりやすい参考記事様です↓
あるはずのファイルがfindコマンドで出てこない。
hogehoge.exampleというファイルを探すために find / -name hogehoge
を実行したが該当なしになった。
そのコマンドだと完全一致検索になります。
拡張子まで含めてfind / -name hogehoge.example
とするか
以下のように部分一致検索(もしくは前方一致検索)をしてください。
find / -name '*hogehoge*'
sudo suの意味がわからない。
「sudo su」コマンドを使うとrootユーザー(全権限を持つユーザー)に切り替えることができます。
まずはsudoから説明していきます。
sudo「一時的に、別のユーザーとしてコマンドを実行できるコマンド」です。例えば
sudo -u ユーザー名 mkdir sample
とすれば「ユーザー名」の部分に入れたユーザーとしてmkdirを実行できます。
そして、「-uオプション」と「ユーザー名」の部分を省略した場合、
rootユーザーを指定したことになります。つまり、
sudo mkdir sample
とすればrootユーザーでmkdirを実行できるということです。
ただし、rootユーザーになるのは実行時の1回だけです。
続けてrootユーザーで何かのコマンドを実行したい場合は改めてsudoを打ち込む必要があります。
なお、sudoを使う際にはパスワードを求められますが、これば自分のパスワードでOKです。
次にsuです。
su は「ユーザーを切り替えられるコマンド」です。例えば
su ユーザー名
とすれば、「ユーザー名」に入れたユーザーに切り替えられます。
この際、切り替え先のユーザーのパスワード入力を求められます。
そして、ユーザー名の部分を省略した場合はrootユーザーを指定したことになります。
つまり、「sudo su」は、
「ルート権限を使ってルート権限に切り替えるコマンド」ということになります。
su root
の場合はrootユーザーのパスワードが必要ですが、
sudo su
であれば自分のパスワードでrootユーザーに切り替えることができるのです。
ちなみに、元のユーザー(自分)に戻すには
su 自分のユーザー名
もしくはexit
です。
コピーしようとctrl+Cしたら、「C^」と入力された。
tera termでコマンド上のテキストをコピーしようと思いctrl+Cを押したら「C^」と入力された。
ctrl+Cは、windowsではコピーを表しますが、Linux等のコマンド上では「実行中のコマンドを終了させる」操作になります。コピーの方法は、使っているツールの種類と設定によると思いますが、tera termの場合、コマンド上のテキストをドラッグしただけでコピーが完了しています。ペーストは右クリックを押すだけです。
rmでファイル削除ができない。
ファイルを削除しようと思い rm something.example
してみたところ
rm: remove write-protected regular file something.example
と表示された。確認メッセージかと思いエンターを押したが削除できなかった。
「y」を入力してからエンターを押してください。
「y/n?」といった確認メッセージが表示されない場合もあるようです。
パスワードを打ち込んでるのに画面が反応してない。
そういう仕様なので、入力し終わったらエンター押してください。