리눅스-기본 명령어
리눅스 명령어 중 많이 쓰이는 명령어, 옵션을 모아놓은 글입니다.
직접 입력을 해보시면서 익히는 게 좋습니다.
1. pwd(print working directory) :현재 작업 중인 디렉터리를 출력
\home\heath\
① ② ③
① 최상위
② 구분자
③ 마지막경로가 디렉터리라는 것을 의미하며 생략 가능하다.
2. cd(change directory) : 원하는 디렉터리로 이동한다.
-사용법
cd [디렉토리] <---file에 사용할 수 없고 디렉터리의 이동만 가능합니다.
-사용 예시
cd /home/heath
cd . <---현재 위치로 이동. ( '.'은 현재 위치를 의미)
cd .. <---상위 디렉터리로 이동 ('..'상위 디렉터리 의미)
cd ~ <---현재접속되어있는 홈 디렉터리로 이동 ('~' 현재 접속되어있는 홈 디렉터리 의미)
cd ~heath <---heath계정의 홈 디렉터리로 이동.
3. ls (list) : 디렉토리내의 목록보기 : 경로의 목록을 보여준다( 현재 위치 목록)
-사용법
ls [경로 명] <-경로의 목록을 보여준다. (현재 위치 목록)
- ls의 옵션들
-a 모든 파일과 디렉터리 표시
-l 자세히 출력
-R 하위 경로와 그 안에 있는 모든 파일까지 표시
- ls -l 사용 예시
ls -l /etc
(-) 일반 파일 의미
(d) 디렉터리
(l) 링크, 바로가기
(b) 블록형 특수장치 파일 (ex)HDD)
(c) 문자형 특수장치파일 (ex) 입출력 장치)
EX))
-rw-r--r--. 1 root root 1057 2016-05-12 04:34 sysctl.conf (일반 파일)
drwxr-xr-x. 2 root root 4096 2016-05-12 04:34 sysctl.d (디렉터리)
lrwxrwxrwx. 1 root root 14 2016-07-04 17:31 system-release -> centos-releas (바로가기)
4. mkdir(make directory) : 디렉토리 생성
-mkdir의 옵션들
-p: 필요한 경우, 상위 디렉터리까지 생성
-사용 예시
1.mkdir /home/test 1
→ 'test 1'이라는 폴더를 home에 만듭니다.
2.mkdir /home/test1/a/b
#mkdir: `/home/test1/a/b' 디렉터리를 만들 수 없습니다: 그런 파일이나 디렉터리가 없습니다
→ 현재 a라는 폴더가 없는데 b를 만들려고 하므로 나오는 문구입니다. 이럴 경우에 옵션을 사용합니다.
3.mkdir -p /home/test1/a/b → 옵션 -p를 사용하여 상위 디렉터리까지 생성합니다.
4.mkdir /home/123 /root/abc (띄어쓰기를 통하여 home에 123 디렉터리 root에 abc디렉터리를 동시에 만들어줍니다.)
5.touch- 파일 생성 및 파일 시간 정보 변경
-touch의 옵션들
touch -d 시간:분 [target]==> 당일의 해당 시간, 분으로 변경
ex) touch -d 12:34 1--->1이라는 파일의 시간을 12:34분으로 바꾼다.
touch -t [yyyy]mmddhhmm[.ss] [target] ==> 해당 연월일시 분초로 변경
[생략가능] [생략가능]
touch -t 201807091212 2 ---> 2라는 파일의 시간을 2018년 07091212로 바꾼다.
-사용 예시
1.touch /touch/1 ---> 터치 디렉터리에 1이라는 파일을 생성한다.
2.mkdir 1 ---> 같은 명의 파일 폴더 사용불가
3.touch /home/3 4 ./5 ---> 홈에 3 만들고 현재 위치에 4 현재위치에 5
6. man(manual)-명령어에 대한 매뉴얼을 열람
-사용 예시
man [명령어]
man ls → ls에 대한 명령어의 메뉴얼을 엽니다.
7. cp-파일을 복사하는 명령어
- 사용법
cp [원본] [target]
-cp의 옵션들
-i : 대상 파일이 이미 존재하는 경우 덮어쓸 것인지 물어본다.
-r : 디렉터리 복사
-p : 원본 파일의 권한, 소유자, 시간 정보를 보존하며 복사한다
- 사용 예시
/cptest생성
1) cp /touch/1 /cptest/1 ---> touch에 있는 1이라는 파일을 cptest/1로 복사해주자.
2) cp /touch/2 /cptest --> 이름을 똑같이 가져올 경우 뒤에 1 붙일 필요 없다
3) cp /home/3 /cptest/heath --->3을 복사해서 heath로 이름을 바꾸어서 가져온다.
4) cp -p /touch/5 /cptest ----> 원래 5 파일과 시간 정보가 같게 복사되어 온다.
5) cp -r /touch /cptest ----> 디렉터리를 복사 (가장 많이 씀)
6) cp -i /touch/5 /cptest ---> 덮어쓸 건가 물어본다
7) cp -r /touch/a /home/3. ---> touch의 a디렉터리와 home의 3 디렉터리를 현재 디렉터리로 이동
※cp, mv 사용 시 주의점
원본과 타깃의 이름이 같게 할 경우 file/dir 명 생략 가능
원본과 타깃의 이름이 다르게 할 경우 복사/이동과 동시에 타깃 이름으로 변경
경로 쓰는 법
-절대 경로
경로를 나타낼 때 /(최상위)가 기준이 되며
최상위에서부터 나타내고자 하는 경로까지 모든 경로를 명시해 주어야 한다.
ex))/home/heath/a/b/c
-상대 경로
경로를 나타낼 때 현태 위치가 기준이 되며
절대 경로에서 현재의 경로를 빼고 나타내 준다.
/가 맨 앞에 있을 시 무조건 절대 경로이다.
실습 예제
- 직접 풀어보기 1
1.ls /etc
2.ls -l /etc(★) 많이 씀.
3.ls -l /home/heath (마지막 경로의 디렉터리 본다.)
4.ls -al /home/heath
5.ls -lR /home
6.ls -l
7.ls -l /home/heath /root (띄어쓰기를 이용해 heath와 root의 경로 두 개 보고 싶음)
-직접 풀어보기 2
cd, pwd경로 문제
/heath /a /b
/home
/test /c /d
1. 로그인 후 현재 경로 확인
2. 하나 상위 디렉터리로 이동 후 현재 위치 확인
3.home으로 이동후 상대 경로로 test로 이동
4. 절대 경로로 /home/test/c로 이동
5. 상대 경로로 /home/test/c/d/로 이동(현재 위치 확인해보고 할 것)
6. 현재 위치가 /home/test/c/d 인 상태에서 상대 경로로 /home/heath/a/b 로 이동
7.6번 까지 진행한 후 상대경로로 최상위로 이동
# pwd
/root
# cd /..
# pwd
/
# cd /home
# pwd
/home
# cd test
# pwd
/home/test
# cd /home/test/c
# pwd
/home/test/c
# cd d
# pwd
/home/test/c/d
# cd ../../../heath/a/b
# pwd
/home/heath/a/b
# cd ../../../..
# pwd
/
-직접 풀어보기 3
1. 최상위에 mktest, touchtest라는 디렉터리 생성
2. 현재 경로를 / 한 뒤 mktest 안에 a, b, c라는 디렉터리 생성
3. 그대로 / 에서 touchtest에 1, 2, 3이라는 파일 생성
4.touchtest 에 1번 파일을 본인 생일로 날짜 변경
5.mktest로 이동 뒤 1, 2, 3, abc라는 파일 한 줄로 생성
6.touchtest로 이동 뒤 abc라는 디렉터리 생성, aaa 라는 디렉토리 mktest에 생성, / 에 bbb라는 디렉토리 생성
(단 한 줄로 생성할 것)
7.mktest에 a라는 디렉터리의 날짜 정보를 / 에 bbb와 똑같이 맞추기.
-직접 풀어보기 4
1./final이라는 디렉터리 생성
2./final 디렉터리에 12,34,56이라는 파일 생성
3.34 파일의 시간을 199901011200으로 변경
4./back이라는 디렉터리 생성
5./final의 12,56 파일을 /back 디렉터리에 복사
6./final의 34 파일을 /back 디렉터리에 보존복사
# mkdir /final
# cd /final
# pwd
/final
# touch 12 34 56
# ls -l
합계 0
-rw-r--r--. 1 root root 0 2018-07-08 17:56 12
-rw-r--r--. 1 root root 0 2018-07-08 17:56 34
-rw-r--r--. 1 root root 0 2018-07-08 17:56 56
# touch -t 199901011200 34
# ls -l
합계 0
-rw-r--r--. 1 root root 0 2018-07-08 17:56 12
-rw-r--r--. 1 root root 0 1999-01-01 12:00 34
-rw-r--r--. 1 root root 0 2018-07-08 17:56 56
# mkdir /back
# cp 12 56 /back
# ls -l /back
합계 0
-rw-r--r--. 1 root root 0 2018-07-08 17:57 12
-rw-r--r--. 1 root root 0 2018-07-08 17:57 56
# cp -p 34 /back
# ls -l /back
합계 0
-rw-r--r--. 1 root root 0 2018-07-08 17:57 12
-rw-r--r--. 1 root root 0 1999-01-01 12:00 34
-rw-r--r--. 1 root root 0 2018-07-08 17:57 56
#
-직접 풀어보기 5
1. /etc/login.defs /etc/inittab /boot/grub/grub.conf 파일을 확인하고
3개의 파일 /backup 디렉토리 생성한 뒤 복사
2. /backup에 있는 3개의 파일
/backup/test 디렉토리에 각각 login init grub 란 이름으로 이름 변경 복사
3. /backup에 test 1이라는 파일 ,
/backup/test 에 test2라는 파일을 한 줄 명령어로 생성
4. /backup/test 디렉터리를
/home/test/c/d/linux란 이름이 되도록 이름 변경 보존 복사
5. /home으로 이동(cd /home) 한 뒤
경로를 변경하지 않고 /backup안에 있는 "파일"들 4개를 /home/test/c/d/test
디렉터리에 한줄명령으로 보존복사 (이름변경및 디렉토리 복사 금지)
'전기기사 > 리눅스' 카테고리의 다른 글
[리눅스1] 리눅스 그룹, 계정 생성 (0) | 2019.01.03 |
---|---|
[리눅스1] 압축 (0) | 2019.01.03 |
[리눅스1] 문서편집기(vi) 주요 명령어 (0) | 2018.12.27 |
[리눅스1]- 리눅스 기본특징 (0) | 2018.12.27 |
[리눅스1] 기본명령어2,필터링,논리연산자 (0) | 2018.12.27 |
댓글