ウェブサイト検索

Linux でファイルの種類とシステム時間を管理するための 5 つの便利なコマンド - パート 3


Linux を学習したい初心者にとって、コマンド ラインやターミナルの使用に慣れるのは非常に難しい場合があります。ターミナルは GUI プログラムよりも Linux システムをより詳細に制御できるため、ターミナルでコマンドを実行することに慣れる必要があります。したがって、Linux のさまざまなコマンドを覚えるには、毎日ターミナルを使用して、コマンドがさまざまなオプションや引数でどのように使用されるかを理解する必要があります。

この Linux Tricks シリーズの前の部分を読んでください。

  1. Linux における 5 つの興味深いコマンドラインのヒントとテクニック – パート 1
  2. 初心者のための 10 の便利なコマンドライン トリック – パート 2

この記事では、10 個のコマンドを使用してターミナル上でファイルと時間を操作するためのヒントとテクニックをいくつか見ていきます。

Linux のファイルの種類

Linux では、すべてがファイルとみなされ、デバイス、ディレクトリ、通常のファイルはすべてファイルとみなされます。

Linux システムにはさまざまな種類のファイルがあります。

  1. コマンド、ドキュメント、音楽ファイル、ムービー、画像、アーカイブなどが含まれる通常のファイル
  2. デバイス ファイル: システムがハードウェア コンポーネントにアクセスするために使用します。

デバイス ファイルには 2 種類あり、ハードディスクなどのストレージ デバイスを表すブロック ファイルはデータをブロック単位で読み取り、キャラクタ ファイルはデータを 1 文字ずつ読み取ります。

  1. ハードリンクとソフトリンク: Linux ファイルシステム上のどこからでもファイルにアクセスするために使用されます。
  2. 名前付きパイプとソケット: 異なるプロセスが相互に通信できるようにします。

1.「file」コマンドを使用してファイルの種類を判断する

次のように file コマンドを使用して、ファイルの種類を確認できます。以下のスクリーンショットは、file コマンドを使用してさまざまなファイルの種類を判別するさまざまな例を示しています。


tecmint@tecmint ~/Linux-Tricks $ dir
BACKUP				      master.zip
crossroads-stable.tar.gz	      num.txt
EDWARD-MAYA-2011-2012-NEW-REMIX.mp3   reggea.xspf
Linux-Security-Optimization-Book.gif  tmp-link

tecmint@tecmint ~/Linux-Tricks $ file BACKUP/
BACKUP/: directory 

tecmint@tecmint ~/Linux-Tricks $ file master.zip 
master.zip: Zip archive data, at least v1.0 to extract

tecmint@tecmint ~/Linux-Tricks $ file crossroads-stable.tar.gz
crossroads-stable.tar.gz: gzip compressed data, from Unix, last modified: Tue Apr  5 15:15:20 2011

tecmint@tecmint ~/Linux-Tricks $ file Linux-Security-Optimization-Book.gif 
Linux-Security-Optimization-Book.gif: GIF image data, version 89a, 200 x 259

tecmint@tecmint ~/Linux-Tricks $ file EDWARD-MAYA-2011-2012-NEW-REMIX.mp3 
EDWARD-MAYA-2011-2012-NEW-REMIX.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, JntStereo

tecmint@tecmint ~/Linux-Tricks $ file /dev/sda1
/dev/sda1: block special 

tecmint@tecmint ~/Linux-Tricks $ file /dev/tty1
/dev/tty1: character special 

2.「ls」コマンドと「dir」コマンドを使用してファイルの種類を確認する

ファイルのタイプを判断するもう 1 つの方法は、ls および dir コマンドを使用して長いリストを実行することです。

ls -l を使用してファイルの種類を確認します。

ファイルのアクセス許可を表示すると、最初の文字はファイルの種類を示し、他の文字はファイルのアクセス許可を示します。


tecmint@tecmint ~/Linux-Tricks $ ls -l
total 6908
drwxr-xr-x 2 tecmint tecmint    4096 Sep  9 11:46 BACKUP
-rw-r--r-- 1 tecmint tecmint 1075620 Sep  9 11:47 crossroads-stable.tar.gz
-rwxr----- 1 tecmint tecmint 5916085 Sep  9 11:49 EDWARD-MAYA-2011-2012-NEW-REMIX.mp3
-rw-r--r-- 1 tecmint tecmint   42122 Sep  9 11:49 Linux-Security-Optimization-Book.gif
-rw-r--r-- 1 tecmint tecmint   17627 Sep  9 11:46 master.zip
-rw-r--r-- 1 tecmint tecmint       5 Sep  9 11:48 num.txt
-rw-r--r-- 1 tecmint tecmint       0 Sep  9 11:46 reggea.xspf
-rw-r--r-- 1 tecmint tecmint       5 Sep  9 11:47 tmp-link

ls -l を使用してブロック ファイルと キャラクター ファイルを判別します。


tecmint@tecmint ~/Linux-Tricks $ ls -l /dev/sda1
brw-rw---- 1 root disk 8, 1 Sep  9 10:53 /dev/sda1

tecmint@tecmint ~/Linux-Tricks $ ls -l /dev/tty1
crw-rw---- 1 root tty 4, 1 Sep  9 10:54 /dev/tty1

dir -l を使用してファイルの種類を確認します。


tecmint@tecmint ~/Linux-Tricks $ dir -l
total 6908
drwxr-xr-x 2 tecmint tecmint    4096 Sep  9 11:46 BACKUP
-rw-r--r-- 1 tecmint tecmint 1075620 Sep  9 11:47 crossroads-stable.tar.gz
-rwxr----- 1 tecmint tecmint 5916085 Sep  9 11:49 EDWARD-MAYA-2011-2012-NEW-REMIX.mp3
-rw-r--r-- 1 tecmint tecmint   42122 Sep  9 11:49 Linux-Security-Optimization-Book.gif
-rw-r--r-- 1 tecmint tecmint   17627 Sep  9 11:46 master.zip
-rw-r--r-- 1 tecmint tecmint       5 Sep  9 11:48 num.txt
-rw-r--r-- 1 tecmint tecmint       0 Sep  9 11:46 reggea.xspf
-rw-r--r-- 1 tecmint tecmint       5 Sep  9 11:47 tmp-link

3. 特定の種類のファイルの数を数える

次に、ls、grep、および wc コマンドを使用して、特定のディレクトリ内の特定の種類のファイルの数を数えるヒントを見ていきます。コマンド間の通信は、名前付きパイプを通じて行われます。

  1. grep – 指定されたパターンまたは正規表現に従って検索するコマンド。
  2. wc – 行、単語、文字を数えるコマンド。
通常ファイルの数をカウントする

Linux では、通常のファイルは 記号で表されます。


tecmint@tecmint ~/Linux-Tricks $ ls -l | grep ^- | wc -l
7
ディレクトリ数のカウント

Linux では、ディレクトリは d 記号で表されます。


tecmint@tecmint ~/Linux-Tricks $ ls -l | grep ^d | wc -l
1
シンボリックリンクとハードリンクの数をカウントする

Linux では、シンボリック リンクとハード リンクは l 記号で表されます。


tecmint@tecmint ~/Linux-Tricks $ ls -l | grep ^l | wc -l
0
ブロックファイルとキャラクターファイルの数をカウントする

Linux では、ブロック ファイルと文字ファイルはそれぞれ b 記号と c 記号で表されます。


tecmint@tecmint ~/Linux-Tricks $ ls -l /dev | grep ^b | wc -l
37
tecmint@tecmint ~/Linux-Tricks $ ls -l /dev | grep ^c | wc -l
159

4. Linux システム上のファイルの検索

次に、Linux システム上でファイルを検索するために使用できるいくつかのコマンドを見ていきます。これらには、locatefindwhatisなどがあります。 > どれが命令します。

locateコマンドを使用してファイルを検索する

以下の出力では、システムの Samba サーバー構成を見つけようとしています。


tecmint@tecmint ~/Linux-Tricks $ locate samba.conf
/usr/lib/tmpfiles.d/samba.conf
/var/lib/dpkg/info/samba.conffiles
find コマンドを使用してファイルを検索する

Linux で find コマンドを使用する方法については、30 以上を超える実際的な例と Linux での find コマンドの使用法を示した次の記事をご覧ください。

  1. 35 Linux の「find」コマンドの例
whatis コマンドを使用してコマンドを検索する

whatis コマンドは主にコマンドを見つけるために使用され、コマンドに関する情報を提供し、設定ファイルやコマンドの手動エントリも検索するため特別です。


tecmint@tecmint ~/Linux-Tricks $ whatis bash
bash (1)             - GNU Bourne-Again SHell

tecmint@tecmint ~/Linux-Tricks $ whatis find
find (1)             - search for files in a directory hierarchy

tecmint@tecmint ~/Linux-Tricks $ whatis ls
ls (1)               - list directory contents
どのコマンドを使用してコマンドを見つけるか

what コマンドは、ファイルシステム上のコマンドを見つけるために使用されます。


tecmint@tecmint ~/Linux-Tricks $ which mkdir
/bin/mkdir

tecmint@tecmint ~/Linux-Tricks $ which bash
/bin/bash

tecmint@tecmint ~/Linux-Tricks $ which find
/usr/bin/find

tecmint@tecmint ~/Linux-Tricks $ $ which ls
/bin/ls

5. Linux システムで時間を操作する

ネットワーク環境で作業する場合は、Linux システムの時刻を正確に保つことをお勧めします。 Linux システム上の特定のサービスは、ネットワーク上で効率的に動作するために正確な時間を必要とします。

マシンの時間を管理するために使用できるコマンドを見ていきます。 Linux では、 時間はシステム時間ハードウェア時間の 2 つの方法で管理されます。

システム時間はシステム クロックによって管理され、ハードウェア時間はハードウェア クロックによって管理されます。

システム時刻、日付、およびタイムゾーンを表示するには、次のように date コマンドを使用します。


tecmint@tecmint ~/Linux-Tricks $ date
Wed Sep  9 12:25:40 IST 2015

次のように date -s または date –set=”STRING” を使用してシステム時刻を設定します。


tecmint@tecmint ~/Linux-Tricks $ sudo date -s "12:27:00"
Wed Sep  9 12:27:00 IST 2015

tecmint@tecmint ~/Linux-Tricks $ sudo date --set="12:27:00"
Wed Sep  9 12:27:00 IST 2015

以下のように時刻と日付を設定することもできます。


tecmint@tecmint ~/Linux-Tricks $ sudo date 090912302015
Wed Sep  9 12:30:00 IST 2015

cal コマンドを使用してカレンダーから現在の日付を表示します。


tecmint@tecmint ~/Linux-Tricks $ cal
   September 2015     
Su Mo Tu We Th Fr Sa  
       1  2  3  4  5  
 6  7  8  9 10 11 12  
13 14 15 16 17 18 19  
20 21 22 23 24 25 26  
27 28 29 30      

hw Clock コマンドを使用してハードウェア クロック時間を表示します。


tecmint@tecmint ~/Linux-Tricks $ sudo hwclock
Wednesday 09 September 2015 06:02:58 PM IST  -0.200081 seconds

ハードウェア クロック時間を設定するには、次のように hw Clock –set –date=”STRING” を使用します。


tecmint@tecmint ~/Linux-Tricks $ sudo hwclock --set --date="09/09/2015 12:33:00"

tecmint@tecmint ~/Linux-Tricks $ sudo hwclock
Wednesday 09 September 2015 12:33:11 PM IST  -0.891163 seconds

システム時刻は起動中にハードウェア クロックによって設定され、システムのシャットダウン時にハードウェア時刻はシステム時刻にリセットされます。

したがって、システム時刻とハードウェア時刻を表示すると、システム時刻を変更しない限り、それらは同じになります。 CMOS バッテリーが消耗している場合、ハードウェアの時刻が不正確になる可能性があります。

次のように、ハードウェア クロックの時間を使用してシステム時間を設定することもできます。


sudo hwclock --hctosys

次のようにシステム時刻を使用してハードウェア時刻を設定することもできます。


sudo hwclock --systohc

Linux システムの稼働時間を表示するには、uptime コマンドを使用します。


tecmint@tecmint ~/Linux-Tricks $ uptime
12:36:27 up  1:43,  2 users,  load average: 1.39, 1.34, 1.45

tecmint@tecmint ~/Linux-Tricks $ uptime -p
up 1 hour, 43 minutes

tecmint@tecmint ~/Linux-Tricks $ uptime -s
2015-09-09 10:52:47

まとめ

ファイルの種類を理解することは、初心者にとって Linux の良い実践であり、また、サービスを確実かつ効率的に管理するには、特にサーバー上で時間の管理が重要です。このガイドがお役に立てば幸いです。追加情報がある場合は、忘れずにコメントを投稿してください。 Tecmint とのつながりを保ちましょう。