[LINUX] 자주 사용하는 & VI 단축키 & 기타
tar.gz
zcvf : 압축하기 > tar -cvf [tar파일명][압축할 파일]
zxvf : 압축풀기
tvfz : 내용보기 > | wc -l 파일 수
uvf : 압축파일에 추가 압축 > tar -uvf [tar파일명][압축할 파일]
잘못만들어진 파일삭제
find . -inum 4531 -exec rm -f {} ₩;
ls -al | wc -l
: 디렉토리 내 파일 수
cw
: clear word
awk
: 파일로부터 레코드(record)를 선택하고, 선택된 레코드에 포함된 값을 조작하거나 데이터화하는 것을 목적으로 사용
ex)
ll
>> -rw-r--r-- 1 root root 30 Aug 25 23:28 test.txt
ll | awk '{print $9}'
>> test.txt
free -m
: 현재 여유 메모리(Mb)
df -h
: df 명령을 사용하면 리눅스 시스템 전체의 (마운트 된) 디스크 사용량을 확인
-h 옵션을 사용하면 사람이 보기 좋게 메가(M), 기가(G) 단위로 디스크 공간을 확인할 수 있습니다.
du -h
: vi -h 옵션을 사용하여 디스크 사용량을 K, M, G 단위로 확인이 가능합니다.
grep 'woo' ./*.txt
: 해당 디렉토리 내 파일내용 찾기
ll -d */
: 디렉토리만 표기
mkdir -p web/test/test2
: 하위경로 모두 생성
ln -s [원본 파일 또는 디렉토리] [심볼릭 링크 이름]
: 심볼릭링크 생성
심볼릭링크 삭제 : rm [심볼릭 링크 이름]
ln [원본 파일 또는 디렉토리] [심볼릭 링크 이름]
: 하드링크 생성
rm [심볼릭 링크 이름]
: 삭제
심볼릭 링크(Symbolic Link):
- 심볼릭 링크는 원본 파일이나 디렉토리를 가리키는 특별한 종류의 파일입니다.
- 심볼릭 링크는 원본 파일이나 디렉토리의 경로를 가리키는 파일로, 원본 파일의 내용을 포함하지 않습니다.
- 다른 파일이나 디렉토리를 가리키는 링크로, 링크를 따라가면 실제 원본 파일이나 디렉토리로 이동됩니다.
- 원본 파일이나 디렉토리를 삭제해도 심볼릭 링크는 유효하지만, 링크를 따라가면 원본 파일이나 디렉토리를 찾을 수 없는 경우 링크는 깨진 링크(broken link)라고 합니다.
하드 링크(Hard Link):
- 하드 링크는 동일한 파일에 대한 다른 이름의 연결을 생성하는 방법입니다.
- 하드 링크는 동일한 파일 시스템 내에서만 작동하며, 서로 다른 파일 시스템 간에는 생성할 수 없습니다.
- 원본 파일과 하드 링크는 동일한 데이터 블록을 가리키므로, 하드 링크를 통해 원본 파일에 액세스하는 것과 동일한 결과를 얻을 수 있습니다.
- 원본 파일이나 하드 링크 중 하나를 삭제하더라도 나머지는 여전히 유효하며, 실제로는 같은 파일을 가리키기 때문에 용량 차지에 대한 추가 비용이 없습니다.
sed [옵션] [sed 명령어] [파일]
(Stream Editor)
치환
sed -i 's/old_string/new_string/g' file.txt
5번째 라인 삭제
sed -i '5d' file.txt
파일의 각 라인에 접두사 추가
sed -n '/pattern/p' file.txt
cut [옵션][파일]
옵션
-c : 지정한 컬럼 출력
-f : 지정한 필드 출력
-d : 구분자(delimiter).
-f 옵션과 함께 사용.
예제
[root@ls ]# cut -c 2-5 /etc/passwd /etc/passwd 파일의 2번째부터 5번째 문자까지를 출력한다
[root@ls ]# cut -f 3 anaconda-ks.cfg anaconda-ks.cfg 파일의 3번째 필드를 출력한다. 필드 구분은 tab이다.
[root@ls ]# cut -f 2 -d : /etc/passwd /etc/passwd 파일의 2번째 필드를 출력한다. 필드 구분은 ‘:’이
VI
전체 복사
1. gg // 맨 윗 첫줄로 이동
2. Shift + v + g // 전체선택
3. y // 복사 ==> 전체 복사
4. d // 삭제 ==> 전체 삭제
라인이동
$ 라인 맨 끝으로
^ 라인 맨 앞으로
방향키
h 왼쪽
j 아래
k 위
l 오른쪽
라인출력
set number
number dd, number yy, p
dd : 삭제, 삭제시 클립보드 저장 ex) 3 dd 현재 라인부터 3줄 삭제
yy : 복사
p : 붙여넣기
replace
%s/[원본단어]/[바꿀단어]
alias
//수정
vi ~/.bashrc
or
vi ~/.profile
//alias추가
alias ll='ls -l'
//적용
source ~/.bashrc
shell
${var:-$DEFAULT} : ${1:-0}은 쉘 스크립트에서 사용되는 변수 확장 문법 중 하나입니다.
> default는 0이며 첫번째 아규먼트를 가져온다
${1}은 스크립트나 함수로 전달된 첫 번째 인수를 나타냅니다.
예를 들어, 스크립트를 실행할 때 ./script.sh argument1와 같이 실행하면 argument1이 첫 번째 인수가 됩니다.
${1:-0}은 변수 ${1}의 값을 가져오되, 값이 비어있거나 unset일 경우에는 기본값으로 0을 사용한다는 의미입니다. 따라서 ${1:-0}은 첫 번째 인수가 없거나 비어있는 경우에는 0을 반환합니다.
Locale 설정
1. 설치
sudo apt-get install language-pack-ko
sudo locale-gen ko_KR.UTF-8
사용 가능한 인코딩 설정 확인
locale -a | grep ko
2. 설정
/etc/profile 에 추가
LANG=ko_KR.utf8 마지막 줄에 추가 후 저장
source /etc/profile
netstat -an | grep 80 > test.out 2>&1
> : 는 리다이렉션으로 화면에 출력되는 내용을 > 다음에 지정한 파일로 보내는 것
& : 변경한다
파일디스크립터 | 설 명 |
0 | 표준 입력 (standard input) |
1 | 표준 출력 (standard output) |
2 | 표준 에러 (statndard error) |
즉 지정된 장치(파일)로 표준출력의 출력장치를 표준에러 출력장치로 함께 사용한다는 의미다. 즉 에러가 발생하면 에러 메시지를 test.out으로 리다이렉트한다는 의미다
스크립트에서 발생한 에러도 같이 test.out에 기록된다.
CMD
rename [현재 이름] [새 이름]
ren *.txt *.bak
현재 디렉토리의 파일명만 표시
dir /b