LoginSignup
0
1

More than 1 year has passed since last update.

linux コマンド 備忘録

Last updated at Posted at 2021-05-03

システム情報

arch ディスプレイマシンのプロセッサアーキテクチャ
uname -m ディスプレイマシンのプロセッサアーキテクチャ
uname -r は使用しているカーネルのバージョンを示す
dmidecode -q ディスプレイハードウェアシステムパーツ- (smbios / dmi)
hdparm-i /dev/hda は1つのディスクのアーキテクチャ特性を羅列する
hdparm-tt /dev/sda は、ディスク上でテスト読み出しを実行する
cat /proc/cpuinfo cpuinfo の情報を表示します
cat /proc/interrupts 表示が途切れます
cat /proc/meminfo はメモリ使用をチェックする
cat /proc/swaps どのswapが使用されているかを表示します
cat /proc/version カーネルのバージョンを表示します
cat /proc/net/dev ディスプレイネットワークアダプタと統計
cat / proc mounts 結果がノードの文書システム
lspci-tv は pci デバイスを羅列する
lsusb-tv は usb デバイスを表示する
date システムの日付を表示します
cal 2007 2007年のカレンダー表を表示します
date 041217002007.00 日付と時刻を設定します。秒
clock -w は BIOS に時間修正を保存する

シャットダウン(システムのシャットダウン、再起動、ログアウト)

shutdown -h now システムをシャットダウンします
init 0 システムをシャットダウンする
telinit 0 システムをオフにします
shutdown -h hours:minutes & システムを所定の時間にシャットダウンします
shutdown -c システムを所定の時間にシャットダウンすることをキャンセルします
shutdown -r now 再起動します
reboot 再起動します
logout ログアウトします

ファイルとディレクトリ

cd /home 「/home」ディレクトリに入る
cd .. 上の目次に戻る
cd ../.. 上の2つの目次に戻る
cd 個人のホームディレクトリに入ります
cd ~user1 個人のホームディレクトリに入る
cd - 前回あったディレクトリに戻る
pwd 動作経路を表示する
ls ディレクトリ内のファイルを見る
ls -F はディレクトリ内のファイルを見る
ls -l はファイルやディレクトリの詳細を表示する
ls -a 隠しファイルを表示する
ls [0-9] 数字を含むファイル名とディレクトリ名を表示します
tree ファイルとディレクトリがルートディレクトリから始まるツリー構造を表示する
lstree ファイルとディレクトリがルートディレクトリから始まるツリー構造を表示する
mkdir dir1 「dir1」というディレクトリを作る
mkdir dir1 dir2 同時に二つのディレクトリを作成する
mkdir -p /tmp/dir1/dir2 ディレクトリツリーを作成する
rm -f file1 「file1」というファイルを削除する
rmdir dir1 「dir1」というディレクトリを削除する
rm -rf dir1 'dir1'というディレクトリを削除し、同時にそのコンテンツを削除する
rm -rf dir1 dir2 両方のディレクトリとその内容を同時に削除する
mv dir1 new_dir ディレクトリの名前を変更/目次を移動する
cp file1 file2 ファイルをコピーします
cp dir/* . ディレクトリ内の全てのファイルをカレントディレクトリにコピーする
cp -a /tmp/dir1 . あるディレクトリを カレントディレクトリにコピーします
cp -a dir1 dir2 ディレクトリをコピーします

cp -r dir1 dir2 ディレクトリとサブディレクトリをコピーします
ln -s file1 lnk1 ファイルまたはディレクトリへのソフトリンクを作成する
ln file1 lnk1 ファイルまたはディレクトリへの物理リンクを作成する
touch -t 0712250000 file1 ファイルまたはディレクトリのタイムスタンプを修正する - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 既知の符号化を示す
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)

ファイル検索

find / -name file1 '/'からルートファイルシステムに入ってファイルとディレクトリを検索する
find / -user user1 ユーザー'user1'に属するファイルやディレクトリを検索します
find /home/user1 -name *.bin 「/home/user1」ディレクトリ内の「.bin」で終わるファイルを検索します
find /usr/bin -type f -atime +100 過去100日間使用されていない実行ファイルを検索する
find /usr/bin -type f -mtime -10 10日以内に作成または修正されたファイルを検索する
find / -name *.rpm -exec chmod 755 '{}' \; '.rpm'で終わるファイルを検索し、その権限を定義します
find / -xdev -name *.rpm ドライブやジェットドライブなどの取り外し可能なデバイスは無視して、` .rpm'で終わるファイルを検索します
locate *.ps '.ps'で終わるファイルを探します-まず'updatedb'コマンドを実行します
whereis halt バイナリファイル、ソースコード、または man の位置を表示します
which halt バイナリまたは実行可能ファイルの完全なパスを表示します

ファイルシステムをマウントする

mount /dev/hda2 /mnt/hda2 'hda2'という名前のディスクをマウントします。ディレクトリ'/ mnt/hda2'が存在することを確認
umount /dev/hda2 hda2と呼ばれるディスクをアンインストールする—マウントポイント'/ mnt/hda2'から先に終了します
fuser -km /mnt/hda2 デバイスが忙しいときに強制的にアンインストールされます
umount -n /mnt/hda2 /etc/mtabファイルを書き込まずにアンインストールを実行します。ファイルが読み取り専用である場合や、ディスクがフル書き込みされている場合に便利です
mount /dev/fd0 /mnt/floppy フロッピーディスクをマウントする
mount /dev/cdrom /mnt/cdrom cdromまたはdvdromをマウントします
mount /dev/hdc /mnt/cdrecorder cdrwまたはdvdromをマウントします
mount /dev/hdb /mnt/cdrecorder cdrwまたはdvdromをマウントします
mount -o loop file.iso /mnt/cdrom ファイルまたはisoイメージファイルをマウントします
mount -t vfat /dev/hda5 /mnt/hda5 : windows fat32ファイルシステムをマウントする
mount /dev/sda1 /mnt/usbdisk : usbメモリまたはフラッシュメモリデバイスをマウントします
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share : windowsネットワーク共有をマウントする

ディスク空間

df -h マウントされているパーティションのリストを表示する
ls -lSr |more ファイルとディレクトリをサイズごとに並べます
du -sh dir1 ディレクトリ'dir1'が既に使用しているディスク空間'を推定する
du -sk * | sort -rn ファイルやディレクトリのサイズを容量の大きさに応じて順次表示します
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n インストール済み rpm パッケージが使用されるスペースをサイズ順に表示する(fedora, redhat系システム)
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n インストール済み deb パッケージに使用されるスペースをサイズ順に表示する(ubuntu, debian系システム)

ユーザーとグループ

groupadd group_name 新しいユーザーグループを作成します
groupdel group_name ユーザグループを削除します
groupmod -n new_group_name old_group_name ユーザグループの名前を変更します
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 : "admin"ユーザーグループに属するユーザーを作成します
useradd user1 新規ユーザを作成します
userdel -r user1 ユーザを削除する('-r'はホームディレクトリを除外する)
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1  ユーザ属性を変更する
passwd  パスワードを修正する
passwd user1  ユーザのパスワードを修正する(rootのみ実行可能)
chage -E 2020-12-31 user1  ユーザパスワードの有効期限を設定する
pwck : '/etc/passwd'のファイルフォーマットや構文修正、存在するユーザーをチェックする
grpck : '/etc/passwd'のファイルフォーマットや構文修正、存在するグループをチェックする
newgrp group_name  新しいグループに登録して、新しく作成されたファイルのプリセットのグループを変更する

ファイルの権限-「+」を使用して権限を設定し、「-」を使用してキャンセルする

ls -lh 権限表示
ls /tmp | pr -T5 -W$COLUMNS :端末を5つの列に分けて表示します
chmod ugo+rwx directory1 ディレクトリのすべての人(u)、グループ(g)、その他の人(o)の読み取り(r)、書き込み(w)、実行(x)の権限を設定する
chmod go-rwx directory1  グループ(g)と他の人(o)のディレクトリの読み取り、読み書き、実行権限を削除する
chown user1 file1 ファイルの所有者属性を変更します
chown -R user1 directory1  : 1つのディレクトリの所有者属性を変更し、同時にディレクトリ下のすべてのファイルの属性を変更する
chgrp group1 file1 ファイルのグループを変更する
chown user1:group1 file1 :ファイルの所有者とグループ属性を変更します
find / -perm -u+s : 1つのシステムで SUID 制御を使っているファイルをすべて羅列する
chmod u+s /bin/file1 バイナリファイルの suid ビットを設定します。このファイルを実行するユーザにも所有者と同じ権限が与えられます
chmod u-s /bin/file1  : バイナリファイルの suid ビットを無効にする
chmod g+s /home/public  : suidのようなディレクトリの sgid ビットを設定するが、これはディレクトリ用である
chmod g-s /home/public  : ディレクトリのsgidビットを無効にする
chmod o+t /home/public  ファイルのstikyビットを設定します
chmod o-t /home/public  ディレクトリのstikyビットを無効にする

ファイルの特殊な属性-「+」を使用して権限を設定し、「-」を使用してキャンセルする

chattr +a file1  ファイルを追加的に読み書きすることしかできない
chattr +c file1  このファイルがカーネルによって自動的に圧縮/伸張される
chattr +d file1  ファイルシステムのバックアップ時、dumpプログラムはこのファイルを無視する
chattr +i file1  変更不可ファイルに設定されており、削除、修正、名前の変更、またはリンクすることができない
chattr +s file1  1つのファイルを安全に削除できる
chattr +S file1  アプリケーションがこのファイルに書き込みを行うと、システムはすぐに修正結果をディスクに書き込むようにします
chattr +u file1  ファイルが削除されると、システムは削除されたファイルを後で復元することができます
lsattr  特殊な属性を表示する

ファイルをパッケージ化して圧縮します

bunzip2 file1.bz2  「file1.bz2」というファイルを解凍します
bzip2 file1  「file1」というファイルを圧縮します
gunzip file1.gz  「file1.gz」というファイルを解凍します
gzip file1  「file1」というファイルを圧縮する
gzip -9 file1  最大圧縮
rar a file1.rar test_file  「file1.rar」というパッケージを作成する
rar a file1.rar file1 file2 dir1   'file1', 'file2'及びディレクトリ'dir1'を同時に圧縮する
rar x file1.rar   パッケージを解凍します
unrar x file1.rar   パッケージを解凍します
tar -cvf archive.tar file1   ファイル1非圧縮のtarballを作成します
tar -cvf archive.tar file1 file2 dir1   'file1', 'file2', 'dir1'を含むアーカイブファイルを作成します
tar -tf archive.tar   パッケージの中身を表示します
tar -xvf archive.tar   パッケージをリリースする
tar -xvf archive.tar -C /tmp   圧縮パケットを /tmp ディレクトリに解放します
tar -cvfj archive.tar.bz2 dir1    bzip2フォーマットの圧縮パケットを生成する
tar -jxvf archive.tar.bz2     bzip2形式の圧縮パケットを解凍します
tar -cvfz archive.tar.gz dir1    gzip形式の圧縮パッケージを作成する
tar -zxvf archive.tar.gz    gzip形式の圧縮パッケージを解凍します
zip file1.zip file1   zip形式の圧縮パッケージを作成します
zip -r file1.zip file1 file2 dir1   複数のファイルとディレクトリを同時にzip形式に圧縮した圧縮パッケージです
unzip file1.zip    zip形式の圧縮パッケージを解凍します

rpmパッケージ- (fedora、redhatなど)

rpm -ivh package.rpm   パッケージをインストールします
rpm -ivh --nodeeps package.rpm   依存関係の警告を無視してrpmパッケージをインストールします
rpm -U package.rpm 設定ファイルを変更せずに、rpmパッケージを更新します
rpm -F package.rpm  インストール済みのrpmパッケージを更新します
rpm -e package_name.rpm   パッケージを削除します
rpm -qa   システムにインストールされているすべてのrpmパッケージを表示します
rpm -qa | grep httpd   名前に"httpd"という文字を含むすべてのrpmパケットを表示します
rpm -qi package_name   インストールされたパッケージに関する特別な情報を取得します
rpm -qg "System Environment/Daemons"   コンポーネントのrpmパッケージを表示します
rpm -ql package_name   インストール済みのrpmパッケージが提供するファイルのリストを表示します
rpm -qc package_name   インストール済みのrpmパッケージが提供するプロファイルのリストを表示します
rpm -q package_name --whatrequires rpmパッケージの依存関係のリストを表示します
rpm -q package_name --whatprovides   rpmパッケージが占めるボリュームを表示します
rpm -q package_name --scripts   インストール/削除時に実行されるスクリプトを表示します
rpm -q package_name --changelog   rpmパッケージの変更履歴を表示します
rpm -qp package.rpm -l   インストールされていないrpmパッケージによって提供されるファイルのリストを表示します
rpm --import /media/cdrom/RPM-GPG-KEY   公開鍵のデジタル証明書を導入する
rpm --checksig package.rpm   一つのrpmパッケージの完全性を確認する
rpm -qa gpg-pubkey  インストール済みのすべてのrpmパッケージの完全性を確認する
rpm -V package_name   ファイルサイズ、ライセンス、タイプ、所有者、グループ、md5チェック、最終修正時刻をチェックする
rpm -Va   システムにインストールされているすべてのrpmパッケージを検査します
rpm -Vp package.rpm    rpmパッケージがインストールされていないことを確認します
rpm2cpio package.rpm | cpio --extract --make-directories bin    rpmパッケージから実行ファイルを実行します
rpm -ivh /usr/src/redhat/RPMS/arch/package.rpm   ビルドしたパッケージをrpmソースからインストールします
rpmbuild --rebuild package_name.src.rpm    rpmソースからrpmパッケージをビルドします

yumパッケージアップグレード- (fedora、redhatなど)

yum install package_name   パッケージをダウンロードしてインストールします
yum localinstall package_name.rpm   rpmパッケージをインストールし、自分のソフトウェアリポジトリを使って依存関係を解決します
yum update package_name.rpm   現在のシステムにインストールされているすべてのrpmパッケージを更新します
yum update package_name    rpmパッケージを更新します
yum remove package_name   rpmパッケージを削除します
yum list   現在のシステムにインストールされているすべてのパッケージがリストされています
yum search package_name   rpmリポジトリでパッケージを検索します
yum clean packages   rpmキャッシュをクリーンアップ  ダウンロードしたパッケージを削除します
yum clean headers   すべてのヘッダファイルを削除します
yum clean all   キャッシュされたすべてのパケットとヘッダファイルを削除する

debパッケージ(debian、ubuntuおよび類似システム)

dpkg-i package.deb   パッケージをインストール/更新します
dpkg-r package_name  システムからdebパッケージを削除します
dpkg -l   システムにインストールされているdebパッケージをすべて表示します
dpkg-l | grep httpd  "httpd"という文字を含む全てのdebパッケージを表示します
dpkg-s package_name  システムにインストールされている特別なパッケージの情報を取得する
dpkg-l package_name  システムに既にインストールされているdebパッケージから提供されるファイルの一覧を表示します
dpkg——contents package.deb  インストールされていないパッケージのファイルリストを表示します
dpkg-s /bin/ping  渡されたファイルがどのdebパッケージで提供されているかを確認する

文書処理

cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT

cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 1つのファイルの詳細説明文をマージし、概要を新しいファイルに書き込む
cat file1 |コマンド(sed, grep, awk, grep, etc…)>> result.txt 1つのファイルの詳細説明テキストをマージし、概要を既存の1つのファイルに書き込む
grep aug /var/log/messagesファイル'/var/log/messages'内のキーワード" aug "を検索する
grep ^ aug /var/log/messagesファイル「/var/log/messages」の中から「aug」で始まる単語を探します
grep [0-9] /var/log/messages「/var/log/messages」ファイルに数字を含むすべての行を選択します
grep aug - r/ var/log/*ディレクトリ'/var/log'以降のディレクトリで文字列" aug "を検索する
sed 's/stringa1/stringa2/g' example.txt example.txtファイルの"string1"を"string2"に置き換える
sed '/^$/d' example.txt example.txtファイルから空白行をすべて削除する

sed-n '/stringa1/p'単語"string1"のみを含む行を見る
sed-e 's/ $//' example.txt各行の最後の空白文字を削除する
sed-e 's/stringa1//g' example.txt文書から単語"string1"のみを削除し、残りは全て保持する
sed -n '1,5p;5q' example.txtは1行目から5行目までを見る
sed—n '5p;5q' example.txt 5行目を見る
sed-e 's/00
/0/g' example.txt複数のゼロを単一のゼロに置き換える
cat-n file1はファイルの行数を表示する

sort file1 file2 | uniq - u削除。ひょっとしたら、残して他の行
sort file1 file2 | uniq-d 2つのファイルの共通部分を取り出す(2つのファイルに同時に存在するファイルのみを残す)
comm−1 file1 file2 二つの文書内容だけを削除' file1 '校の内容
comm−2 file1 file2 2つのファイルの内容を比較して「file2」に含まれるもののみを削除する
comm−3 file1 file2  二つ文書の内容だけを削除ファイル共有の一部

バックアップ

dump -0aj -f /tmp/home0.bak /home   「/home」ディレクトリの完全なバックアップを作成します
dump -1aj -f /tmp/home0.bak /home   /home'ディレクトリの対話型バックアップを作成します
restore -if /tmp/home0.bak   対話型バックアップを復元します
rsync -rogpav --delete /home /tmp  両方のディレクトリを同期
rsync -rogpav -e ssh --delete /home ip_address:/tmp   sshチャンネル経由rsync
rsync -az -e ssh --delete ip_addr:/home/public /home/local   sshと圧縮によりリモートディレクトリをローカルディレクトリに同期します
rsync -az -e ssh --delete /home/local ip_addr:/home/public    sshと圧縮でローカルディレクトリをリモートディレクトリに同期します
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'   sshを介してリモートホスト上のローカルディスクを1回バックアップする動作を実行する
dd if=/dev/sda of=/tmp/file1   ディスク内容をファイルにバックアップします
tar -Puf backup.tar /home/user   ディレクトリの対話型バックアップを実行します
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'   ssh経由でリモートディレクトリにディレクトリの内容をコピーします
(tar c /home) | ssh-c user@ip_addr 'cd /home/backup-home && tar x-p ' ssh経由でリモートディレクトリにローカルディレクトリをコピーします
tar cf- . | (cd /tmp/backup;tar xf -)ローカルにあるディレクトリを別の場所にコピーし、権限とリンクを保持する
find /home/ user1-name '.txt' | xargs cp-av——target-directory=/home/backup/——parents一つのディレクトリから「.txt」で全てをコピーします。最後のファイルは別のディレクトリに移動する
find /var/ log-name '
.log' | tar cv——files-from=- | bzip2 > log.tar.bz2 '.log'で終わる全てのファイルを検索してbzipパッケージを作成する
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 mbr (master boot record)の内容をフロッピディスクにコピーする動作をします
dd if=/dev/fd0 of=/dev/hda bs=512 count=1フロッピーディスクに保存されたバックアップからmbrコンテンツを復元する

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1