리 눅 스 의 bash 명령 파악 3

셸 의 기능 은 매우 강력 하고 전면적 이 며 간단 한 열 디 렉 터 리 명령 ls 가 있 으 며 디 렉 터 리 명령 cd 를 변경 합 니 다.awk, sed, grep 등 복잡 한 명령 도 있 습 니 다. 더 어 려 운 것 은 셸 스 크 립 트 입 니 다. 프로그램 언어 와 유사 합 니 다. 모든 명령 을 능숙 하 게 활용 해 야 합 니 다.
awk 명령
awk 'pattern {action}' file
사용 하지 않 는 pattern 을 받 아들 이 고 관계 표현 식 을 사용 합 니 다.
action 은 awk 의 동작 입 니 다.
file 은 처리 할 파일 입 니 다.
eg:awk '/set/{print "you and me"}' .bashrc
            awk -F : '{print $1}'/etc/passwd
awk 는 한 줄 씩 스 캔 합 니 다. 기본적으로 빈 칸 으로 열 을 나 눕 니 다.
awk 기본 변수
$0 현재 읽 기 줄 의 내용
$1 현재 줄 첫 번 째 열
NF 현재 줄 에 포 함 된 열 수
NR 현재 줄 의 줄 수
 
sed 명령
파괴 성 이 없고 한 줄 씩 읽 습 니 다. 버퍼 는 모드 공간 이 라 고 부 르 고 문법 은 vi 와 유사 합 니 다.
eg:
  sed '1,3p' 234  1 - 3 줄 복사
  sed -n '/fenix/p' 234  fenix 를 포함 하 는 줄 을 출력 합 니 다.
  sed '4d' 234  네 번 째 줄 삭제
  sed '/fenix/d' 234  fenix 를 포함 하 는 줄 삭제
  sed 's/fenix/spaz/g' 234  전체 텍스트 의 fenix 를 spaz 로 대체 합 니 다.
커 널 모듈 명령
depmod [-aens]
lsmod
modinfo [-adnp] modulename
modprobe [-l|-c]
insmod [-fkps] modulename
rmmod modulename
bash 에서 반 따옴표 의 역할 은 그 중의 명령 의 집행 결 과 를 매개 변수 로 그 앞 명령 에 전달 하 는 것 이다.
eg:ls -l `ls -t |tail -1`
셸 script 에 나타 난 모든 bash 명령 은 실행 결 과 를 얻 으 려 면 반드시 작은 따옴표 로 묶 어야 합 니 다. 작은 따옴표 가 아 닙 니 다.
shell script
정의 변수:
  eg:name=fenix\spaz
     name="fenix spaz"
     name="$name"\is\me
  
""변수 특성 유지 (변 수 를 포함 하 는 값 을 얻 을 수 있 습 니 다) "는 일반 문자 (변수 이름 을 얻 을 수 있 습 니 다) 입 니 다.
  변수 정의 완료, 사용 가능: export VAR 하위 셸 에서 사용 할 수 있 도록 명령 출력
  unset VAR 취소 변수
 
  
declare [- afirx] VAR: VAR 변수 형식 정의
    -a array
    -f function
    -i integer
    -r read-only
    -x 환경 변 수 를 통 해 출력
 
논리 판단 식:

    
    
    
    
  1. -f fiel ? 
  2. -d directory ? 
  3. -b blockfile? 
  4. -c charfile? 
  5. -S socketfile? 
  6. -L softlinkfile? 
  7. -e anyfile? 
  8. -r  ? 
  9. -w  ? 
  10. -x  ? 
  11. -s  ? 
  12. -u  suid? 
  13. -g  guid? 
  14. -k  sticky? 
  15. -nt  ? 
  16. -ot  ? 
  17. -ef  ? 
  18. &&   
  19. ||   

스 크 립 트 미리 정 의 된 매개 변수
 script.sh para1 para2 ...  :스 크 립 트 이름 script. sh 는 $0 이 고 그 다음 매개 변 수 는 $1, $2, $..
 
sh [- nvx] 스 크 립 트 디 버 깅 명령
 -n. 실행 하지 않 고 내부 문법 을 조회 하 며 오류 가 있 으 면 목록 을 표시 합 니 다.
 -v. 스 크 립 트 를 실행 하기 전에 모든 내용 을 표시 합 니 다.
 -x 실행 할 내용 표시
od 명령: 특수 형식의 파일 내용 보기
od [options] files
 -A. 지정 한 주소 기수, 포함:
   십진수
   o 8 진법 (시스템 기본 값)
   x 16 진법
   변위 값
 -t 지정 한 데이터 의 디 스 플레이 형식 입 니 다. 주요 매개 변 수 는 다음 과 같 습 니 다.
   c ASCII 문자 또는 역 슬 래 쉬 시퀀스
   d 기호 10 진수
   f 부동 소수점
   o 8 진법 (시스템 기본 값 02)
   u 부호 없 는 십 진수
   x 16 진수 
디스크 할당량
quota [-guvs] [user,group]  할당량 조회
 -g 그룹
 -u 사용자
 -v 할당량 표시
 -s inode 또는 하 드 디스크 공간 표시
quotacheck [-auvg]/yourpath
 할당량 을 시작 하기 전에 하 드 디스크 를 스 캔 하면/yorpath 에서 두 개의 파일 을 생 성 합 니 다: quota. user, quota. group
 -a. 스 캔/etc/mtab 에 설 치 된 모든 quota 하 드 디스크 를 지원 합 니 다.
 -u, g 사용자, 그룹 파일 및 디 렉 터 리
 -상세 하 다
edquota [-u user] [-g group] [-t user|group]
 -t: 편집 유예 시간
 -p: quota 자 료 를 다른 사용자 에 게 복사 합 니 다.
quotaon [-a] [-ugv path]
quotaoff [-a]
할당량 파일 을 설정 한 후,/etc/fstab 를 수정 해 야 합 니 다.
parameters 에 추가: usrquota, grpquota 두 설정
그리고 quotaon 을 켜 기 시작 으로 설정 합 니 다.
vi/etc/rc.local
/sbin/quotaon -aug
Linux 파일 시스템 의 block 블록 의미
32bit 시스템 의 모든 포인터 가 4B 를 차지 하기 때문에 단일 데이터 블록 은 1024/4 = 256 개의 데이터 포인터 를 저장 할 수 있 습 니 다.
Block 이 1024 B 이면 직접 포인터, 1 급 간접 포인터, 2 급 간접 포인터, 3 급 간접 포인터 로 저장 할 수 있 는 최대 파일 크기 는?
1024*12+1024*256+1024*256*256+1024*256*256*256=16GB
Block 이 4096 B 라면
4096*12+4096*1024+4096*1024*1024+4096*1024*1024*1024=4TB
 
휴지통 비우 기 명령:
sudo rm -fr $HOME/.local/share/Trash/files/*
sudo rm -fr $HOME/.Trash/*
PPA 추가:
1、add-apt-repository ppa_name (키 가 필요 할 수도 있 습 니 다)
2, apt - key adv -- keyserver keyserver. ubuntu. com -- recv - keys 72D340A3 (여 기 는 일반적으로 제공)
3、apt-get update
 
천천히 업데이트 하 세 요. 이 명령 들 은 지식 이 너무 많아 서 1, 2 주 에 다 파악 할 수 있 는 것 이 아 닙 니 다.

좋은 웹페이지 즐겨찾기