Linux コマンド:ファイル/ディレクトリæ“作

ファイルæ“作

nautilus

ファイルマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã§é–‹ã
$ nautilus test1
※test1ã¨ã„ã†ãƒ•ァイルorディレクトリをファイルマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã§é–‹ã

tar

アーカイブ作æˆ/展開
※圧縮/解答ã§ã¯ãªã„。

オプション 機能
-c 書庫を新è¦ã«ä½œæˆã™ã‚‹
-x 書庫ã‹ã‚‰ãƒ•ァイルをå–り出ã™
-v 処ç†ã—ãŸãƒ•ァイルã®ä¸€è¦§ã‚’詳細ã«è¡¨ç¤ºã™ã‚‹
-f ファイルå:指定ã—ãŸæ›¸åº«ãƒ•ァイルã¾ãŸã¯ãƒ‡ãƒã‚¤ã‚¹ã‚’使用ã™ã‚‹ã€‚
-C ディレクトリå:指定ã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç§»å‹•ã—ã¦ã‹ã‚‰å‹•作を始ã‚ã‚‹
-z ~.tar.gzå½¢å¼ã®ãƒ•ァイルを展開

例:書庫ファイルを展開ã™ã‚‹
$ tar -xvf test.tar
$ tar xzvf test.tar.gz

zip/unzip

è§£å‡
$ unzip (ファイルå).zip

圧縮ファイル内容一覧
$ unzip (ファイルå)

圧縮
$ zip (圧縮後ファイルå).zip (圧縮å‰ãƒ•ァイルå)
例:$ zip after.zip *.txt

7z

インストール
yum install -y p7zip-full

è§£å‡
7za x ~.7z

gzip

圧縮
gzip (ファイルå)
è§£å‡
gzip -d ~.gz

テキストæ“作

cat

ファイルã®ä¸­èº«ã‚’出力

head/tail

先頭/末尾n行ã®ã¿å‡ºåŠ›ã™ã‚‹ã€‚
head -n 10
tail -n 10
head – 10
tail – 10
nã¯çœç•¥å¯

sed

1~10行目を除外(削除)ã—ã¦è¡¨ç¤º
sed -e ‘1,10dtest.txt

æŒ‡å®šè¡Œã«æ–‡å­—列を差ã—è¾¼ã¿
sed -i -e ‘1i aaaaaoutput.txt

ç½®æ›ã—ã¦ãƒ•ァイルを上書ã
sed -i "s/ç½®æ›å‰æ–‡å­—列/ç½®æ›å¾Œæ–‡å­—列/g" test.txt
sed -i "s/before/after/g" test.txt

複数ファイルを置æ›
「xargsã€å‚ç…§

指定行ã«åˆ¥ãƒ•ァイルã®å†…容を差ã—è¾¼ã¿
sed -i -e ‘1r input.txtoutput.txt

wc

テキスト・ファイルã®è¡Œæ•°ã€å˜èªžæ•°ã€ãƒã‚¤ãƒˆæ•°ã‚’表示
$ wc (ファイルå)
行数ã®ã¿è¡¨ç¤º
$ wc -l (ファイルå)

grep

引数をå«ã‚€è¡Œã®ã¿ã‚’抽出ã™ã‚‹ã€‚
$ grep オプション 検索語 検索対象ファイル
$ grep -X test test.txt

オプション 機能
-i 大文字ã¨å°æ–‡å­—を区別ã—ãªã„
-w å˜èªžå…¨ä½“ã§ãƒ‘ターンã¨ä¸€è‡´ã™ã‚‹ã‚‚ã®ã‚’検索ã™ã‚‹
-R サブディレクトリ以下も検索ã™ã‚‹
-l 検索パターンã«ãƒžãƒƒãƒã—ãŸãƒ•ァイルåã®ã¿è¡¨ç¤º
-X æ­£è¦è¡¨ç¾ã§æ¤œç´¢

æ­£è¦è¡¨ç¾
$ grep -X aa*bb /etc/*.conf

ファイルåã®ã¿å‡ºåŠ›
$ grep -ril "aaaaa" /etc/

パイプ処ç†
$ cat /etc/passwd | grep /bin

複数ファイルã‹ã‚‰Grep
「xargsã€å‚ç…§

cut

入力文字列を引数ã§åˆ†å‰²ã™ã‚‹ã€‚
$ /etc/passwd cut -d ‘:’
文字列を’:’ã§åˆ†å‰²ã—ã€ï¼‘番目ã®åˆ—ã®ã¿æŠ½å‡ºã™ã‚‹ã€‚
$ etc/passwd cut -d ‘:’ -f 1

sort

入力文字列をソートã™ã‚‹
$ /etc/passwd sort

diff

差分表示
$ diff (ファイル1) (ファイル2)
ディレクトリã®å·®åˆ†è¡¨ç¤º
$ diff -r (ディレクトリ1) (ディレクトリ2)
※ディレクトリã«ãƒ•ァイルãŒç„¡ã„å ´åˆã¯å·®åˆ†ã‚’抽出ã—ã¦ãれãªã„
差分記å·ç„¡ã—ã§å·®åˆ†è¡¨ç¤º1
$ diff (ファイル1) (ファイル2) | grep -e ‘^>’ | perl -pe ‘s/^<\s//g' | -pe 's/^>\s//g’
差分記å·ç„¡ã—ã§å·®åˆ†è¡¨ç¤º1
$ diff –old-line-format=’%L’ –new-line-format=’%L’ –unchanged-line-format=” (ファイル1) (ファイル2)

uniq

上下行ã®é‡è¤‡ã‚’削除
$ sort (ファイルå) | uniq

less

1画é¢ãšã¤è¡¨ç¤º
$ less (ファイル)
Linuxコマンドをパイプ処ç†
$ (コマンド) | less
$ grep aaa test.txt | less
è¡¨ç¤ºçµæžœã®å…ˆé ­ã«è¡Œç•ªå·ã‚’付加
$ less -N (ファイル)
$ grep aaa test.txt | less -N
検索語を強調表示
$ less -p (文字列) (ファイル)
$ grep aaa test.txt | less -p aaa
ã€ç”»é¢è¡¨ç¤ºæ™‚ã®æ“作】
次é ï¼šã€ŒSpaceã€
å‰é ï¼šã€Œbã€
次行:「jã€= vi
å‰è¡Œï¼šã€Œkã€= vi

vi

「Vi/Vim/GVim使用方法ã€å‚ç…§

検索

locate

$ locate (ファイルå)
$ locate httpd.conf
自階層以下より検索
$ locate -b ~
æ¤œç´¢çµæžœã‚’削除
$ locate -b ~ | xargs rm -rf

find

find (検索先ディレクトリ) (検索æ¡ä»¶) (アクション)
(検索先ディレクトリ)çœç•¥ → ã‚«ãƒ¬ãƒ³ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒæ¤œç´¢å…ˆ
(検索æ¡ä»¶) → 全ディレクトリã€å…¨ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ¤œç´¢å¯¾è±¡
(アクション) → æ¤œç´¢çµæžœã‚’å…¨ã¦è¡¨ç¤º(-lsアクションã¨åŒç­‰)
複数ディレクトリを検索
find (検索先ディレクトリ) (検索先ディレクトリ) (検索æ¡ä»¶) (アクション)
find /a /b -name test.txt
複数(AND)æ¡ä»¶ã§æ¤œç´¢
find (検索先ディレクトリ) (検索æ¡ä»¶) (検索æ¡ä»¶) (アクション)
find / -name test -type f
複数(OR)æ¡ä»¶ã§æ¤œç´¢
find (検索先ディレクトリ) (検索æ¡ä»¶) -OR (検索æ¡ä»¶) (アクション)
find / -name aaa -or -name bbb
複数(ANDã€OR)æ¡ä»¶ã§æ¤œç´¢
find (検索先ディレクトリ) (検索æ¡ä»¶) (検索æ¡ä»¶) -OR (検索æ¡ä»¶) (アクション)
find / -name aaa -type f -or -name bbb
除外æ¡ä»¶ã§æ¤œç´¢
find (検索先ディレクトリ) !(検索æ¡ä»¶) (アクション)
find / !-name aaa
複数除外æ¡ä»¶ã§æ¤œç´¢
find (検索先ディレクトリ) !(検索æ¡ä»¶) (アクション)
find / !-name aaa !-name bbb
ファイル/ディレクトリåã§æ¤œç´¢
find / -name aaa
find / -name *.txt
find / -name aaa.*
æ­£è¦è¡¨ç¾ã§æ¤œç´¢
find / -regex (æ­£è¦è¡¨ç¾)
ファイルã®ã¿ã‚’検索
find / -type f ~
ディレクトリã®ã¿ã‚’検索
find / -type d ~
指定ãƒã‚¤ãƒˆã‚ˆã‚Šå¤§ãã„ファイルを検索
find / -size +500 ~
指定ãƒã‚¤ãƒˆã‚ˆã‚Šå°ã•ã„ファイルを検索
find / -size -500 ~
検索ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªéšŽå±¤ã‚’制é™ã—ã¦æ¤œç´¢
find / maxdepth 1 ~
指定ディレクトリã®ç›´ä¸‹ã®ã¿
find / maxdepth 2 ~
指定ディレクトリã‹ã‚‰1階層下ã¾ã§ã‚’検索
æ¤œç´¢çµæžœLinuxコマンドを実行
find ~ -exec (Linuxコマンド)
find ~ -exec rm -rf {} \;
{}ã¯æ¤œç´¢çµæžœã«ã‚ˆã£ã¦ç½®æ›ã•れる。
1.txt
2.txt
3.txt
ãŒæ¤œç´¢ã•れãŸå ´åˆã€
rm -rf 1.txt
rm -rf 2.txt
rm -rf 3.txt
ãŒ1ã¤ãšã¤å®Ÿè¡Œã•れる

find ~ | xargs (Linuxコマンド)
find ~ | xargs rm -rf
-execã¨é•ã£ã¦æ¤œç´¢çµæžœãŒåŒæ™‚ã«å‡¦ç†ã•れる

Follow me!