리눅스를 사용하시다 보면 파일 내용을 초기화 해야 하는 일이 생깁니다. 몇 줄 되지 않는다면 파일을 다시 만들거나 열어서 dd로 쭉~ 삭제해 주시면 되지만 너무 길거나 용량이 크게 되면 이 방법으로는 너무 오래걸리게 됩니다. 오늘은 리눅스 파일 내용을 전부 삭제하는 3가지 방법에 대해서 알려드리도록 하겠습니다. 1. 파일 열어 내용 삭제하기(%d) 파일을 열어서 내용을 지우기 파일을 열고 내용을 지우는 가장 간단한 방법은, 텍스트 에디터를 사용하여 파일을 열고 내용을 삭제하고 저장하는 것입니다. vi 에디터를 사용하여 파일을 열고 :%d 명령을 입력하여 파일의 모든 내용을 삭제한 다음, :wq 명령을 입력하여 저장하고 종료할 수 있습니다. 2. 파일 null로 덮어 씌우기 리다이렉션을 사용하여 파일 초기..
리눅스를 사용하시다 보면 디스크 용량이 부족하거나 어떠한 이유에서 디스크를 추가해야 할 필요가 있습니다. fdisk 명령어를 통해 Linux에서 디스크를 마운트 하는 방법에 대해서 알아보도록 하겠습니다. Linux fdisk 파티션 생성/삭제 방법 # fdisk -l 디스크를 꽂은 다음 위 명령어를 통해 조회해 보시면 디스크 디바이스 현황을 확ㅎ인하실 수 있습니다. 현재 위 이미지를 보시면 /dev/sda가 부팅 디스크, 메인 디스크로 자리잡고 있고, 새로 삽입한 /dev/sdb1이 생성되어 있는 것을 볼 수 있습니다. /dev/sdb1 사용하려면 아래의 과정이 필요합니다. 1. 파티션 지정 2. 파일 시스템 지정 3. 마운트 1. 파티션 지정하기 먼저 파티션을 지정할 Device 이름을 확인해 줍니다...
mkfs.xfs device or resource busy 해결방법 이 경우 이미 해당 파티션이 사용 중일 가능성이 높습니다. lsof로 확인을 하거나 /etc/mtab 경로를 확인해 보세요 # cat /etc/mtab 명령어로 확인하게 되면 마운트 경로가 나오게 됩니다. 여기서 grep으로 내가 파일 시스템을 만들고자 했던 공간을 지정해 줍니다. 사용 중인 프로세스가 있다면 kill로 죽이고, 마운트 되어 있는 경로가 있다면 잘 확인하시고 umount 해주시면 됩니다. 그리고 나서 다시 진행해 주세요 다시 mkfs.xfs -f 해보시면 정상적으로 파일 시스템 지정이 되는 것을 확인할 수 있습니다.
hosts.allos와 hosts.deny는 특정 클라이언트(PC)에게만 접근을 허용 또는 차단 할 수 있는 역할을 하는 설정 파일입니다. ssh 접근 제어를 할 때 유용하게 사용할 수 있습니다. ssh 접속 제어하기 위치 : /etc./hosts.allow or /etc/hosts.deny hosts.allow 설정하기 접속을 허용할 클라이언트를 지정합니다. ALL:ALL ALL:[IP]:allow sshd: 192.168.0.5 ALL:192.168.1.0/255.255.255.0:allow 대역 지정도 가능합니다. IP등록시 구분자로 , 를 이용합니다. hosts.deny 설정하기 접속을 차단할 클라이언트를 지정합니다. deny 역시 ALL:ALL로 전체 차단을 설정해 놓고 allow에만 등록되어 ..
리눅스 서버에서 마운트를 하고 나서 재부팅을 하게 되면 마운트가 풀리게 됩니다. 재부팅하고 나서도 마운트가 유지 되게 하려면 fstab이라는 곳에 등록을 해주어야 하는데 그 방법에 대해서 알아보겠습니다. 리눅스 부팅 시 자동 마운트 등록하기 /dev/sdb1 가 항상 /mydata 에 마운트되게 하기 mount /dev/sdb1 /mydata/ 명령어를 이용하면 sdb1을 mydata로 마운트 시킬 수 있습니다. df -h 명령어로 마운트 되어 있는 것을 확인하실 수 있습니다. /etc/fstab 편집하기 /etc/fstab 파일은 pc가 켜질때마다 읽어들이는 파일입니다 dev/sdb1 /mydata ext4 defaults 1 2 장치 이름 마운트될디렉토리 파일시스템 속성 dump사용여부 파일시스템체크..
오늘은 리눅스에서 링크를 거는 방법에 대해서 알아보겠습니다. 리눅스에서 링크는 윈도우에서의 바로가기와 비슷한 형태입니다. 알려드릴 방법은 링크가 풀려서 파일이 빨갛게 나오는 현상의 해결 방법이기도 하니 참고 부탁드립니다. 링크 옵션(ln) -s (sybolic) : 심볼링 링크 생성 -S (suffix) : 백업 파일 생성시 원하는 suffix(접무시)를 지정할 수 있다. -v (verbose) : 링크 생성 정보 자세히 출력 -b (backup) : 대상 파일이 이미 존재할 경우 백업 파일을 만든 후 링크 생성 -f (force) : 링크 파일 존재시 삭제하고 링크 생성 -I (interactive) : 대상 파일 존재시 대상 파일을 지울 것인지 물어본다 ls -l 명령어를 사용해 보시면 링크된 파일을..
리눅스의 파일에 명령어를 통해 문자열을 파일에 추가하는 방법에 대해서 알아보겠습니다. 보통 로그를 남길 때 주로 사용하는 방법입니다. >와 >> 두가지 방법으로 파일에 문자열을 남길 수 있는데 두 가지의 차이점도 알아보도록 하겠습니다. >와 >>의 차이 이 두가지는 echo, cat 등의 명령어와 같이 사용해서 활용할 수 있습니다. > echo helloWorld > test.txt > 를 화살표로 생각하시면 편합니다. 위 예시를 보시면 'helloworld를 test.txt에 넣겠다.' 라는 의미입니다. test.txt 파일이 없을 때는 생성하고 있다면 내용을 덮어쓰기 하게 됩니다. >> 파일 뒤에 내용을 이어서 추가할 때 사용합니다. echo metaverse >> meta.txt meta.txt 파..
awk 명령어는 특정 필드의 값을 추출하기 위해서 최적화 되어 있는 명령어입니다. 오늘은 ls 에서 특정 필드 값을 추출하는 방법에 대해서 간략하게 알아보겠습니다. print $ 숫자는 필드의 숫자 뒤에 아래 명령어만 붙여 주시면 됩니다. | awk '{print $9}' ls -al 명령어를 사용하면 여러가지 정보를 얻을 수 있습니다. 여기서 날짜나 파일 이름 같은 값들을 추출해서 다른 곳에서 사용할 수도 있고 정말 유용하게 이용할 수 있습니다. # ls -al |awk '{print $9}' ls -al 에서 9번째 필드에 있는 파일 이름을 추출하는 명령어입니다. 여기서 -al 옵션을 이용했기 때문에 숨어있는 파일 값들도 모두 찾아낼 수 있습니다.
리눅스에서 부팅 시 스크립트, 프로세스가 바로 시작될 수 있도록 하는 방법을 알려드리겠습니다. 리눅스 부팅 시 쉘 스크립트 실행 방법 $ cd /etc/init.d init.d에 실행을 원하는 파일을 만들어 줍니다. 이 곳에 쉘 스크립트를 작성해서 넣어 주시면 됩니다. $ vi start.sh start.sh라는 파일에 mkdir 명령어를 통해 test라는 디렉토리를 생성하도록 명령어를 넣었습니다. #!/bin/bash mkidr /home/test 이제 이 명령어는 부팅시 /home디렉토리에 test라는 디렉토리를 생성 합니다. 부팅시 실행이 가능하도록 755로 권한을 부여해 줍니다. $ chmod 755 start.sh 스크립트 등록 시스템 업데이트 이제 부팅시 만들어진 스크립트가 실행되도록 등록해 ..
리눅스 yum 안됨 해결 방법 리눅스에서 그 중 레드헷 계열인 곳 CentOS에서 패키지를 설치할 때 yum 명령어가 정상적이지 않을 때가 있습니다. 그럴 때 리포지토리, 레포지토리를 변경해서 yum이 정상적으로 동작하게 만드는 방법을 알려드리겠습니다. 기존 Repository 백업하기 아래꺼 확실히 repo를 백업하고 진행해 줍니다. # cd /etc/yum.repos.d # mkdir bak # mv *.* bak 백업은 자신이 편한 방법대로 파일을 옮겨 주시거나 압축하는 방식으로 해주시면 됩니다. yum 리포지토리 만들기 vi로 epel-repo.repo 등 레포파일을 하나 만들어 주고 아래의 base, update 내용을 복사해서 붙여넣어 줍니다. [base] name=CentOS-$release..
리눅스의 사용자와 그룹을 관리하는 방법에 대해서 알아보겠습니다. useradd 로 사용자를 추가하고 groupadd로 그룹을 추가하고 삭제하는 방법을 알아보고 패스워드나 정책 등을 지정하는 방법까지 총 정리해 드리겠습니다. 유저관리 useradd # useradd newuser newuser 라는 이름의 사용자 생성 # useradd -u 1111 newuser 사용자 ID를 1111로 지정하여 newuser 생성 # useradd -g newgroup newuser newgroup 그룹에 newuser 를 생성 #useradd -d /newhome newuser newhome 디렉토리를 newuser의 홈디렉토리로 지정 #useradd -s /bin/bash newuser newuser의 기본 쉘을 b..
리눅스에서 명령어 또는 crontab 에서 쉘 스크립트를 실행시킬 때 쉘 프로세스가 실행되어 있는 상태에서 똑같은 스크립트가 실행되게 되면 성능적으로 또는 프로세스에 문제가 발생하는 경우가 있습니다. 그럴 경우를 대비해 미리 예방할 수 있는 방법에 대해서 알려드리겠습니다. linux 에서 flock를 통해 동시에 두개 이상의 스크립트 파일이 실행을 하지 않도록 파일에 Lock 설정을 할 수 있다. flock은 file lock 을 줄여놓은 명령어입니다. 명령어(Usage) * * * * * flock [Option] ./{Script} Options -s --shared Get a shared lock -x --exclusive Get an exclusive lock -u --unlock Remove a..