linuxfromscratch:shellcommand

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
linuxfromscratch:shellcommand [2024/04/08 04:48] – [find exmple] baecylinuxfromscratch:shellcommand [2024/04/29 15:28] (현재) – [wget] baecy
줄 3: 줄 3:
 <code lang=bash> <code lang=bash>
 alias dirfind="find -mindepth 1 -maxdepth 1 -type d | sed 's@^./@@'" alias dirfind="find -mindepth 1 -maxdepth 1 -type d | sed 's@^./@@'"
- 
 dirfind | wc -l    ## 디렉토리 갯수 확인 dirfind | wc -l    ## 디렉토리 갯수 확인
 rm -rf $(dirfind)  ## 설치 완료된 소스 디렉토리 삭제 rm -rf $(dirfind)  ## 설치 완료된 소스 디렉토리 삭제
-</code>+## 설치 완료된 패키지 디렉토리만 삭제할거면 다음과 같이 
 +alias SearchAndDestroy='find -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} \;'</code> \\
  
 ==== 2. SBU 측정 ==== ==== 2. SBU 측정 ====
줄 12: 줄 12:
 ## 현재 디렉토리+생성시간을 추가해서 로그파일 작성 ## 현재 디렉토리+생성시간을 추가해서 로그파일 작성
 alias lfslog='tee ~/lfs-log/$(case $(basename $(pwd)) in build) echo $(basename $(dirname $(pwd))); ;; *) echo $(basename $(pwd)); ;; esac).$(date "+%Y%m%d_%H%M%S").log'  alias lfslog='tee ~/lfs-log/$(case $(basename $(pwd)) in build) echo $(basename $(dirname $(pwd))); ;; *) echo $(basename $(pwd)); ;; esac).$(date "+%Y%m%d_%H%M%S").log' 
-time { ./configure .... && make && make install; } | lfslog +time { ./configure .... && make && make install; } | lfslog </code>\\
-</code>+
  
  
줄 85: 줄 84:
 11:             printf("FILE open Error\n"); 11:             printf("FILE open Error\n");
 25:             printf("FILE open Error\n");</code>\\ 25:             printf("FILE open Error\n");</code>\\
 +
 +<code lang=c>
 +grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'
 +
 +// 하위 디렉토리의 모든 파일에서 1행이 #!로 시작해서 python을 끝나는 파일을 찾아서 python을 python3로 변경
 +#!/usr/bin/env python     # 원본
 +#!/usr/bin/env python3    # 변경 </code>\\
 +
 +==== Gawk ====
 +<code lang=bash>
 +df -ht ext4
 +Filesystem      Size  Used Avail Use% Mounted on
 +/dev/root        40G   11G   27G  29% /
 +/dev/sde1       173M   95M   65M  60% /boot
 +/dev/sde2        19G  1.5G   16G   9% /mnt/debian
 +/dev/sda1       1.8T  9.7G  1.7T   1% /mnt/1st-bay
 +/dev/sdb1       1.8T  1.1G  1.7T   1% /mnt/2nd-bay
 +/dev/sdc1       1.8T   28K  1.7T   1% /mnt/3rd-bay
 +/dev/sdd1       1.8T   32K  1.7T   1% /mnt/4th-bay</code>\\
 +
 +<code lang=bash>
 +# 읽어들인 NR 레코드(여기서는 Filesystem과 Size) 갯수가 2 이하일때는 awk에서 바로 출력하고 
 +# 이후에는 출력결과를 sort를 거쳐서 출력
 +df -ht ext4 | awk 'NR<2{print $0;next}{print $0| "sort"}'
 +Filesystem      Size  Used Avail Use% Mounted on
 +/dev/root        40G   11G   27G  29% /
 +/dev/sda1       1.8T  9.7G  1.7T   1% /mnt/1st-bay
 +/dev/sdb1       1.8T  1.1G  1.7T   1% /mnt/2nd-bay
 +/dev/sdc1       1.8T   28K  1.7T   1% /mnt/3rd-bay
 +/dev/sdd1       1.8T   32K  1.7T   1% /mnt/4th-bay
 +/dev/sde1       173M   95M   65M  60% /boot
 +/dev/sde2        19G  1.5G   16G   9% /mnt/debian</code>\\
 +
 +참고 
 +<code lang=bash>
 +# 1q로 한줄만 sed에서 처리하고 종료 나머지는 sort가 처리
 +df -ht ext4 | { sed -u 1q; sort; }
 +
 +Filesystem      Size  Used Avail Use% Mounted on
 +/dev/root        40G   11G   27G  29% /
 +/dev/sda1       1.8T  9.7G  1.7T   1% /mnt/1st-bay
 +/dev/sdb1       1.8T  1.1G  1.7T   1% /mnt/2nd-bay
 +/dev/sdc1       1.8T   28K  1.7T   1% /mnt/3rd-bay
 +/dev/sdd1       1.8T   32K  1.7T   1% /mnt/4th-bay
 +/dev/sde1       173M   95M   65M  60% /boot
 +/dev/sde2        19G  1.5G   16G   9% /mnt/debian</code>\\
 +
 +==== wget ====
 +<code lang=bash>
 +# -r / --recursive : 디렉토리 대상
 +# -np / --no-parent : 상위 제외
 +# -R / --reject : 해당 파일 제외
 +# -P / --directory-prefix=PREFIX : PREFIX/.. 에 파일 저장
 +wget -r -np -R "index.html*" -P <DIR> lfs/ https://ftp.osuosl.org/pub/lfs/lfs-packages/12.1/</code>\\
 +
 +==== Firmware Blob Kernel config ====
 +<code lang=bash>
 +echo CONFIG_EXTRA_FIRMWARE='" '$({ cd /lib/firmware; echo amd-ucode/*; echo amdgpu/re*; echo rtl_nic/*; echo regulatory*; })'"' >> .config
 +make oldconfig
 +</code>
  • linuxfromscratch/shellcommand.1712551728.txt.gz
  • 마지막으로 수정됨: 2024/04/08 04:48
  • 저자 baecy