[LINUX]리눅스 명령어 pwd ls cd cp mv rm mkdir file grep find
* pwd
: 현재 위치 확인
* ls
: 목록보기, 파일존재 확인.
(파란건 폴더, 까만건 파일)
-F, --clasify : 목록의 마지막에 */=>@| 중에 하나의 지시자를 덧붙인다
(실행파일은 “*”, 경로는 “/”, 소켓은 “=”, 심볼릭 링크는 “@”, FIFO는 “|” 이다).
$ls won1 won2 won3 --> 폴더 여러개 존재 확인.
$ls /home/ /home/user/ --> 폴더 내용 2개 동시에 확인.
*cd
: 작업 디렉토리이동
[user1@localhost home]$ cd user1/
※ user/ <- /있는 이유는 폴더라는걸 더 정확하게 하기위해서.
확장자가 없어서 파일과 폴더 구분
$ cd .. --> 상위폴더로 이동
$ cd ~ 또는 cd -->(홈)폴더로 이동.
*cp
: 복사
경우 1)
cp 1)복사할파일 2)냅둘위치와이름
==> 2)이름만 적게되면 현재위치에 저장됨.
ex) cp test.org(파일) /home/test(폴더)
==> test폴더안에 test.org파일을 넣는다.
-->폴더로 옮길때
/home/test/이름지정 -> 이름지정으로 저장
또는
/home/test/. 또는 /home/test/ 또는 /home/test -> 똑같은 파일이름으로 저장.
경우 2)
디렉토리 to 디렉토리 복사
$ cp -r 1)옮길애 2)복사할곳(목적지) --> -r : 하위항목까지 다 복사
이때 2)목적지 디렉토리가 없어도 알아서 생성해서 만들어줌.
* mv
:이름바꾸기
mv 옮길애 옮길곳
* rm
: 파일삭제
rm 삭제할파일1 삭제할파일 2 -->여러개동시 삭제가능.
*mkdir
: 디렉토리 생성
mkdir 만들위치/이름
$mkdir w1 w2 w3 --> 디렉토리 여러개 만들기.
$mkdir -p won1/won2/ --> -p : 중간 디렉토리 없으면 자동으로 중간디렉토리 생성.
* rm -r = rmdir
: 폴더 만들기
rm -r 삭제할폴더
rmdir 삭제할폴더 --> but, 얘는 비어있는 경우만 삭제할수 있음.
*file
: 파일이름만 보면 알수 없기 때문에 폴더와 파일을 구분하기 위해 씀
어떤 종류의 파일인지 알고 어떤 프로그램과 연결시켜줘야하는지 결정할때 사용
[user1@localhost ~]$ file .bash_profile
.bash_profile: ASCII English text -----> 텍스트파일.
[user1@localhost ~]$ file Desktop/
Desktop/: directory
*grep
: grep [옵션] 패턴 [파일명]
파일은 어딨는지 아는데 원하는 내용,단어 찾을 때 사용 ( 텍스트파일 읽을 수 있는 것)
패턴 = 정규표현식
[user1@localhost ~]$ grep DHCP /etc/services
dhcp-failover 647/tcp # DHCP Failover
dhcp-failover 647/udp # DHCP Failover
※ | --> 앞에 있던 명령 결과치를 뒤로 넘기는 역할 ==> 명령어 합성 (db-버티컬사인바라 부름.)
[user1@localhost ~]$ grep -n MacOS /etc/services
---> 옵션 -n: 번호 달아서 나오기/ /etc/services라는 폴더안에 MacOS 라는 단어를 찾기
1439:mac-srvr-admin 660/tcp # MacOS Server Admin
1440:mac-srvr-admin 660/udp # MacOS Server Admin
[user1@localhost ~]$ ls / | grep b
--->> ls 경로 | grep 찾을문자 하면 / 안에 있는 것들중에 b로 시작하는걸 찾을 수 있음. (폴더,파일 구분없음)
bin
boot
lib
sbin
tftpboot
*find
: 파일이 지금 있는지 없는지 찾을 수 있음
*gui시스템을 통해서 찾을 수 있음.
[user1@localhost ~]$ find /home -name text3 --> 경로를 찾을 수 있음.
/home/user1/won2/text3
user1@localhost ~]$ find /home/user1/ -name .dmrc ---> -name 옵션을 쓰면 이름만 나옴.
/home/user1/.dmrc
[user1@localhost ~]$ find /home/user1/ .dmrc ---> 안쓰면 내용이 나옴.
[user1@localhost ~]$ ls /home/user1/won2
test.txt text3 won5.txt
[user1@localhost ~]$ ls /home/user1/won2 > 123.txt
[user1@localhost ~]$ cat 123.txt
test.txt
text3
won5.txt
---> won2에 있는것들을
123.txt인 제목으로 안에 있는것들의 제목을 텍스트 파일로 가져와서 pwd에 저장함.
[user1@localhost ~]$ ls /home/user1/won2 | grep txt
test.txt
won5.txt
-----> 엄청나게 많은 목록 중에서 우리가 원하는 결과치만 검색해서 볼 수 있음.
x11폴더안에 있는 결과들 중에 fs가있는걸 찾는거임.
예1)
[user1@localhost ~]$ ls /etc/X11/
Xmodmap applnk prefdm sysconfig xinit
Xresources fs serverconfig twm xorg.conf
[user1@localhost ~]$ ls /etc/X11 | grep fs
fs
--> 엄청나게 많은 목록 중에서 우리가 원하는 결과치만 검색해서 볼 수 있음.
x11폴더안에 있는 결과들 중에 fs가있는걸 찾는거임.
예2)
[user1@localhost ~]$ ls -l /home/user1/won2/ | grep te
-rw-r--r-- 1 user1 user1 187 7월 23 02:45 test.txt
-rw-r--r-- 1 user1 user1 187 7월 23 02:46 text3
예2-1) | grep te = te* 같은 기능.
[user1@localhost ~]$ ls -l /home/user1/won2/t*
-rw-r--r-- 1 user1 user1 187 7월 23 02:45 /home/user1/won2/test.txt
-rw-r--r-- 1 user1 user1 187 7월 23 02:46 /home/user1/won2/text3
[user1@localhost ~]$ ls -l /etc/z*???? (총 6개)
-rw-r--r-- 1 root root 252 7월 3 2009 /etc/zlogin
-rw-r--r-- 1 root root 86 7월 3 2009 /etc/zlogout
-rw-r--r-- 1 root root 168 7월 3 2009 /etc/zprofile
-rw-r--r-- 1 root root 304 7월 3 2009 /etc/zshenv
-rw-r--r-- 1 root root 640 7월 3 2009 /etc/zshrc (5개)
[user1@localhost ~]$ ls -l /etc/z*????? (7개)
-rw-r--r-- 1 root root 252 7월 3 2009 /etc/zlogin
-rw-r--r-- 1 root root 86 7월 3 2009 /etc/zlogout
-rw-r--r-- 1 root root 168 7월 3 2009 /etc/zprofile
-rw-r--r-- 1 root root 304 7월 3 2009 /etc/zshenv(6개)
==> 총 개수에 의해 검색할 정보의 길이를 결정함.
※ exit=ctrl + d
[편집안하고 보기만하는 명령어]
- cat : 적은양일때 사용.
cat -n 경로 : 줄 앞에 번호 붙여 출력해줌.
- more : 여러개가 넘어가는것을 볼때, space 또는 enter 사용(q->빠져나오기)
- head : 여러 목록중 앞에서부터 보여줌(10줄정도)
head -3 경로 : 앞에 3줄만 출력
- tail : 여러 목록중 뒤에서부터 보여줌(10줄정도)
tail -3 경로 : 뒤에서 3줄만 출력
==> 10줄 이하면 다 똑같음.