アニメ!アニメ!

2022年12月27日火曜日

UNIX find

dotinstall:~ $ mkdir -p test/app{1..5} dotinstall:~ $ touch test/app{1..5}/app{1..3}{.jpg,.png,.gif} dotinstall:~ $ ls test/ app1 app2 app3 app4 app5 dotinstall:~ $ ls test/app1 app1.gif app1.png app2.jpg app3.gif app3.png app1.jpg app2.gif app2.png app3.jpg dotinstall:~ $ find test -name 'app3.png' test/app1/app3.png test/app2/app3.png test/app3/app3.png test/app4/app3.png test/app5/app3.png dotinstall:~ $ find test -name 'app1*' test/app1 test/app1/app1.jpg test/app1/app1.png test/app1/app1.gif test/app2/app1.jpg test/app2/app1.png test/app2/app1.gif test/app3/app1.jpg test/app3/app1.png test/app3/app1.gif test/app4/app1.jpg test/app4/app1.png test/app4/app1.gif test/app5/app1.jpg test/app5/app1.png test/app5/app1.gif dotinstall:~ $ find test -name 'app1*' -type f test/app1/app1.jpg test/app1/app1.png test/app1/app1.gif test/app2/app1.jpg test/app2/app1.png test/app2/app1.gif test/app3/app1.jpg test/app3/app1.png test/app3/app1.gif test/app4/app1.jpg test/app4/app1.png test/app4/app1.gif test/app5/app1.jpg test/app5/app1.png test/app5/app1.gif dotinstall:~ $ find test -name 'app1*' -type d test/app1 dotinstall:~ $ rm -r test/ dotinstall:~ $

UNIX ブレース展開

dotinstall:~ $ echo {a,b,c} a b c dotinstall:~ $ echo {1..10}{a..g} 1a 1b 1c 1d 1e 1f 1g 2a 2b 2c 2d 2e 2f 2g 3a 3b 3c 3d 3e 3f 3g 4a 4b 4c 4d 4e 4f 4g 5a 5b 5c 5d 5e 5f 5g 6a 6b 6c 6d 6e 6f 6g 7a 7b 7c 7d 7e 7f 7g 8a 8b 8c 8d 8e 8f 8g 9a 9b 9c 9d 9e 9f 9g 10a 10b 10c 10d 10e 10f 10g dotinstall:~ $ mkdir test && cd test dotinstall:~/test $ mkdir app{1..5} dotinstall:~/test $ ls app1 app2 app3 app4 app5 dotinstall:~/test $ touch app{1..5}/test{1..3}{.jpg,.png,.gif} dotinstall:~/test $ ls app2 test1.gif test1.png test2.jpg test3.gif test3.png test1.jpg test2.gif test2.png test3.jpg ]dotinstall:~/test $ ]rm app{1..5}/test{1..3}{.jpg,.gif} bash: ]rm: command not found dotinstall:~/test $ rm app{1..5}/test{1..3}{.jpg,.gif} dotinstall:~/test $ ls app2 test1.png test2.png test3.png dotinstall:~/test $ cd dotinstall:~ $ rm -r test/ dotinstall:~ $

UNIX パイプ

dotinstall:~ $ ls -l /etc/ total 208 -rw-r--r-- 1 root root 7 May 29 2020 alpine-release drwxr-xr-x 1 root root 4096 Sep 23 2020 apk drwxr-xr-x 3 root root 4096 Sep 23 2020 ca-certificates -rw-r--r-- 1 root root 5613 Jun 18 2020 ca-certificates.conf drwxr-xr-x 2 root root 4096 May 29 2020 conf.d drwxr-xr-x 2 root root 4096 May 29 2020 crontabs -rw-r--r-- 1 root root 89 May 29 2020 fstab -rw-r--r-- 1 root root 693 Sep 23 2020 group -rw-r--r-- 1 root root 682 May 29 2020 group- -rw-r--r-- 1 root root 13 Dec 27 18:11 hostname -rw-r--r-- 1 root root 178 Dec 27 18:11 hosts drwxr-xr-x 2 root root 4096 May 29 2020 init.d -rw-r--r-- 1 root root 570 May 29 2020 inittab -rw-r--r-- 1 root root 1748 Feb 9 2020 inputrc -rw-r--r-- 1 root root 54 May 29 2020 issue -rw-r--r-- 1 root root 309 Aug 9 2020 localtime drwxr-xr-x 2 root root 4096 May 29 2020 logrotate.d drwxr-xr-x 2 root root 4096 May 29 2020 modprobe.d -rw-r--r-- 1 root root 15 May 29 2020 modules drwxr-xr-x 2 root root 4096 May 29 2020 modules-load.d -rw-r--r-- 1 root root 283 May 29 2020 motd lrwxrwxrwx 1 root root 12 Dec 27 18:11 mtab -> /proc/mounts drwxr-xr-x 8 root root 4096 May 29 2020 network drwxr-xr-x 2 root root 4096 May 29 2020 opt -rw-r--r-- 1 root root 164 May 29 2020 os-release -rw-r--r-- 1 root root 1233 Sep 23 2020 passwd -rw-r--r-- 1 root root 1172 May 29 2020 passwd- drwxr-xr-x 7 root root 4096 May 29 2020 periodic -rw-r--r-- 1 root root 238 May 29 2020 profile drwxr-xr-x 1 root root 4096 Sep 23 2020 profile.d -rw-r--r-- 1 root root 1865 May 29 2020 protocols -rw-r--r-- 1 root root 54 Dec 27 18:11 resolv.conf -rw-r--r-- 1 root root 65 May 22 2020 securetty -rw-r--r-- 1 root root 14464 May 29 2020 services -rw-r----- 1 root shadow 454 Sep 23 2020 shadow -rw-r----- 1 root shadow 422 May 29 2020 shadow- -rw-r--r-- 1 root root 48 Sep 23 2020 shells drwxr-xr-x 1 root root 4096 May 29 2020 ssl -rw-r--r-- 1 root root 3941 May 25 2020 sudo.conf -rw-r--r-- 1 root root 6169 May 25 2020 sudo_logsrvd.conf -rw-r--r-- 1 root root 3228 Sep 23 2020 sudoers drwxr-x--- 2 root root 4096 Sep 23 2020 sudoers.d -r--r----- 1 root root 3174 May 25 2020 sudoers.dist -rw-r--r-- 1 root root 53 May 29 2020 sysctl.conf drwxr-xr-x 2 root root 4096 May 29 2020 sysctl.d drwxr-xr-x 13 root root 4096 Sep 23 2020 terminfo -rw-r--r-- 1 root root 5306 May 22 2020 udhcpd.conf dotinstall:~ $ ls -l /etc/ | grep 'sudo' -rw-r--r-- 1 root root 3941 May 25 2020 sudo.conf -rw-r--r-- 1 root root 6169 May 25 2020 sudo_logsrvd.conf -rw-r--r-- 1 root root 3228 Sep 23 2020 sudoers drwxr-x--- 2 root root 4096 Sep 23 2020 sudoers.d -r--r----- 1 root root 3174 May 25 2020 sudoers.dist dotinstall:~ $ ls -l /etc/ | grep 'sudo' | wc -l 5 dotinstall:~ $ ls -l /etc/ | grep 'sudo' | wc -l > results.txt dotinstall:~ $ cat results.txt 5 dotinstall:~ $ rm results.txt dotinstall:~ $

UNIX リダイレクション

date dotinstall:~ $ echo 'cal' > commands.txt dotinstall:~ $ cat commands.txt cal dotinstall:~ $ echo 'date' >> commands.txt dotinstall:~ $ cat commands.txt cal date dotinstall:~ $ /bin/ash < commands.txt December 2022 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 31 Tue Dec 27 20:04:43 JST 2022 dotinstall:~ $ /bin/ash < commands.txt > results.txt dotinstall:~ $ cat results.txt December 2022 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 31 Tue Dec 27 20:05:01 JST 2022 dotinstall:~ $ rm ' >

C# 変数の型

using System; class MyApp { static void Main() { // 変数: 再代入が可能 // 定数: 再代入が不可能 string s = "hello"; char c = 'a'; int i = 100; double d = 52342.34; float f = 23.3f; //論理 bool flag = true; var x = 5; var y = "world"; } }