[Linux] 명령어 command


ls (list segments)

  • ls 는 현재 위치의 파일 목록을 조회하는 명령어 입니다.
  • 주요 옵션으로는
    • ls -l : 파일들의 상세 정보를 나타냅니다. 최근 업데이트 일자도 나옴
    • ls -a : 숨어있는 파일들도 표시합니다.
    • ls -t : 파일들을 생성된 시간별로(최신것 부터) 표시합니다.
    • ls -rt : 파일들을 오래된 시간부터 표시합니다.
    • ls -F : 파일을 표시할 때 마지막에 유형을 나타내는 파일명을 끝에 표시합니다. ( ‘/’ - 디렉토리 , ‘*’ - 실행파일 , ‘@’ - 링크 )
      • 각 옵션들은 자유자재로 합성해서 사용가능합니다.
      • ex) ls -lrt : 파일들의 상세정보를 나타내며, 오래된 것부터 표시합니다.
  • 예시
$ ls
testfile1  testfile2  testfile3 
 
$ ls -l
total 0
-rw-r--r-- 1 itholic 197121 0 11월  6 22:08 testfile1
-rw-r--r-- 1 itholic 197121 0 11월  6 22:08 testfile2
-rw-r--r-- 1 itholic 197121 0 11월  6 22:08 testfile3
    
$ ls -a
./  ../  testfile1  testfile2  testfile3
  
$ ls -al
total 4
drwxr-xr-x 1 itholic 197121 0 11월  6 22:08 ./
drwxr-xr-x 1 itholic 197121 0 11월  6 22:08 ../
-rw-r--r-- 1 itholic 197121 0 11월  6 22:08 testfile1
-rw-r--r-- 1 itholic 197121 0 11월  6 22:08 testfile2
-rw-r--r-- 1 itholic 197121 0 11월  6 22:08 testfile

cd (change directory)

  • cd 는 경로를 이동할 때 사용하는 명령어 입니다.
    • cd ~ : 어느 곳에 있었는지와 관계없이 홈 디렉토리로 바로 이동합니다.
    • cd .. : 상위 디렉토리로 이동합니다.
    • cd /dir : 절대 경로 dir 로 이동할 경우 사용합니다.
    • cd - : 이동하기 바로 전의 디렉토리로 이동합니다.

touch

  • touch 는 파일의 용량이 0인 파일을 생성, 날짜 변경하는 명령어 입니다. / 파일이나 디렉토리의 최근 업데이트 일자를 현재 시간으로 변경한다.
    • touch filename : filename 의 파일을 생성합니다.
    • touch -c filename : filename 의 시간을 현재 시간으로 변경합니다.
    • touch -t 200001011200 filename : filename 의 시간을 날짜정보(YYYYMMDDhhmm) 로 변경합니다.
    • touch -r filename1 filename2 : filename2의 날짜 정보를 filename1 의 날짜 정보와 같게 변경합니다.
  • 예시
$ ls -l
total 0
-rw-r--r-- 1 itholic 197121 0 11월  6 22:08 testfile1
  
$ touch testfile1
$ ls -l
total 0
-rw-r--r-- 1 itholic 197121 0 11월  6 22:43 testfile1
  
  
$ touch testfile2
$ ls -l
total 0
-rw-r--r-- 1 itholic 197121 0 11월  6 22:43 testfile1
-rw-r--r-- 1 itholic 197121 0 11월  6 22:44 testfile

mkdir (make directory)

  • mkdir 은 새로운 디렉토리를 만들 때 사용하는 명령어입니다.
    • mkdir dirname : dirname 의 디렉토리를 생성합니다.
    • mkdir -p dirname/subdname : 존재하지 않는 디렉토리의 하위 디렉토리까지 생성합니다.
    • mk -m 644 dirname : 특정 퍼미션을 갖는 디렉토리를 생성합니다.

cp (copy)

  • cp 는 파일을 복사하는 명령어 입니다.
    • cp file cfile : file 을 cfile 이라는 이름으로 복사합니다.
    • cp -f file cfile : 복사할 때 복사 대상이 있으면 지우고 강제로 복사합니다.
    • cp -R dir cdir : 디렉토리 복사할 때 사용하며, 폴더 안의 모든 하위 경로와 파일들을 모두 복사합니다.
  • 예시
$ ls
testdir/  testfile
      
$ cp testfile1 testfile_cp
$ ls
testdir/  testfile  testfile_cp
      
$ cp -r testdir testdir_cp
$ ls
testdir/  testdir_cp/  testfile  testfile_cp

mv (move)

  • mv 는 파일을 이동하는 명령어 입니다. cp 와 비슷하지만 다른 점은 cp 는 파일을 복사하여 원본 파일이 남아있지만 mv 는 원본 파일이 남지 않는다는 점입니다. 그래서 이름 변경 시에도 사용가능합니다. 디렉토리를 복사할 때는 -r 옵션을 주어야 한다.
    • mv fname mfname : fname 의 파일을 mfname 의 이름으로 이동/변경 합니다.
    • mv -b fname mfname : mfname 의 파일이 존재하면 mfname 을 백업한 뒤에 이동합니다.
    • mv -f fname mfname : mfname 의 파일이 존재하면 백업 없이 덮어씁니다.
  • 예시
$ ls
testdir/  testfile
    
$ mv testfile testfile_mv
$ ls
testdir/  testfile_mv
      
$ mv testfile_mv testdir/
$ ls
testdir/
      
$ ls testdir/
testfile

rm (remove)

  • rm 은 파일이나 디렉토리를 삭제할 때 사용하는 명령어 입니다.
    • rm fname : fname 을 삭제합니다.
    • rm -f fname : fname 을 묻지 않고 삭제합니다.
    • rm -r dir : dir 을 삭제합니다.
      • 디렉토리는 -r 옵션 없이는 삭제할 수 없습니다.
  • 예시
$ ls
testdir/  testfile1  testfile2
   
$ rm -f testfile1
$ ls
testdir/  testfile2
  
$ rm -rf testdir/
$ ls
testfile2

cat (catenate)

  • cat 은 파일이름을 인자로 받아서 그 내용을 출력할 때 사용합니다.
    • cat fname : fname 의 내용을 출력합니다.
    • cat fname1 fname2 : fname1 과 fname2 의 내용을 이어서 출력합니다.
    • cat fname1 fname2more : fname1, fname2 를 출력하는데 페이지별로 출력합니다.
    • cat fname1 fname2head : fname1, fname2 를 출력하는데 처음부터 10번째 까지만 출력합니다.
    • cat fname1 fname2tail : fname1, fname2 를 출력하는데 끝에서 부터 10번째 까지만 출력합니다.
  • 예시
$ ls
file1  file2  file3

$ cat file1
1

$ cat file2
2

$ cat file3
3

$ cat file1 file2 > file1_2
$ ls
file1  file1_2  file2  file3

$ cat file1_2
1
2

$ cat file1 >> file2
$ cat file2
2
1

$ cat > file4
hello
world
(작성이 끝나면 ctrl +d 로 파일 저장)

$ cat file4
hello
world

redirection ( ‘>’ , ‘»’ )

  • redirection 은 리눅스 스트림의 방향을 조정하는 명령어 입니다.
    • 명령 > 파일 : 명령의 결과를 파일로 저장합니다.
      • cat fname1 fname2 > fname3 : fname1,fname2 를 출력하고 fname3 이라는 파일에 저장합니다.
    • 명령 » 파일 : 명령의 결과를 파일에 추가합니다.
      • cat fname4 » fname3 : fname3 에 fname4 의 내용을 추가합니다.
    • 명령 < 파일 : 파일의 데이터를 명령에 입력합니다.
      • cat < fname1 : fname1 의 내용을 출력합니다.
    • ex) cat < fname1 > fname2 : fname1 의 내용을 출력하는 결과물을 fname2 에 저장합니다.

alias

  • alias 는 자주 사용하는 명령어를 간단한 명령어로 설정하는 명령어 입니다. 해제하고자 하는 경우에는 unalias 를 사용합니다.
    • alias new = ‘command’ : command 를 실행하는 새 명령어 new 를 만듭니다.
      • ex) alias ls=’ls -l’ : ls 를 실행하면 -l 옵션을 갖는 ls를 실행합니다.
    • alias : 현재 alias 목록을 출력합니다.
    • unalias new : new 라는 alias 를 해제 합니다.

head

  • 파일의 앞부분을 보고 싶은 줄 수만큼 보여 준다
  • 옵션을 지정하지 않으면 파일 상위 10줄을 보여 준다.
$ cat testfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

$ head -3 testfile
1
2
3

$ head testfile
1
2
3
4
5
6
7
8
9
10

tail

  • 파일의 뒷부분을 보고 싶은 줄 수만큼 보여 준다.
  • 옵션을 지정하지 않으면 파일 하위 10줄을 보여 준다.
  • -F 옵션 : 파일 내용을 화면에 계속 띄워주고 파일이 변하면 업데이트된 내용을 갱신한다. 실시간으로 내용이 추가되는 로그파일을 모니터링할 때 유용하게 사용한다.
$ cat testfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15


$ tail -3 testfile
13
14
15


$ tail testfile
6
7
8
9
10
11
12
13
14
15


$ tail -F testfile
6
7
8
9
10
11
12
13
14
15
(명령어가 종료되지 않고 계속 해당 화면을 출력하며, 파일 내용 변경시 자동으로 갱신해준다)

find

  • 특정 파일이나 디렉토리를 검색한다
  • find [검색경로] -name [파일명]
  • 이때 파일명은 풀 네임일수도, 예제처럼 특정 조건을 적용해 검색할 수도 있다.
$ ls
dir1/ dir3/ file1 file3 picture1.jpg picture3.jpg
dir2/ dir4/ file2 file4 picture2.jpg picture4.jpg
$ find ./ -name 'file1'
./file1
$ find ./ -name "*.jpg"		# 확장자가 .jpg인 파일을 찾았다.
./picture1.jpg
./picture2.jpg
./picture3.jpg
./picture4.jpg


#확장자가 .jpg인 파일만 찾아서 바로 삭제할 수 있다. 
$ find ./ -name "*.jpg" -exec rm {} \;
$ ls
dir1/ dir2/ dir3/ dir4/ file1 file2 file3 file4

# 디렉토리나 파일만 지정해서 검색
$ find ./ -type d
./
./dir1
./dir2
./dir3
./dir4
$ find ./ -type f
./file1
./file2
./file3
./file4


#특정 디렉토리에 find 조건에 맞는 결과 값이 몇개 존재하는지 숫자로 볼 수 있다.
$ find ./ -type f | wc -l
4

sed

  • 특정 파일의 모든 ‘dddd’라는 문자열을 ‘ㅇㅇㅇㅇ’로 바꾸는 역할
$ sed -i 's/hi/hello/g' testfile1.t

기타

$ vim ~./bashrc

$ source ~/.bashrc

$ echo $PATH

$ history /// !번호

참고

https://gomguard.tistory.com/73

https://itholic.github.io/linux-basic-command/

http://egloos.zum.com/seoz/v/3656921 [우분투] 커맨드라인에서 우분투 버전 확인 하기, Ubuntu Version






© 2019.04. by h-dyeon

Powered by theorydb