• && 을 이용하여 명령을 순서대로 실핼할 수 있다.
bhyoo@DESKTOP-MQPJ46K:~/zoo$ ls
birds  mammals  reptiles
bhyoo@DESKTOP-MQPJ46K:~/zoo$ cd birds/ && touch eagle.txt && cd ..
bhyoo@DESKTOP-MQPJ46K:~/zoo$ ls birds/
eagle.txt

 

  • ln [src] [dst] : 심볼릭 링크 생성
bhyoo@DESKTOP-MQPJ46K:~/zoo$ ln -s birds/eagle.txt strongestAnimal.txt
bhyoo@DESKTOP-MQPJ46K:~/zoo$ ls -l
total 0
drwxr-xr-x 1 bhyoo bhyoo 512 Jan 10 15:37 birds
drwxr-xr-x 1 bhyoo bhyoo 512 Jan 10 15:40 mammals
drwxr-xr-x 1 bhyoo bhyoo 512 Jan 10 15:39 reptiles
lrwxrwxrwx 1 bhyoo bhyoo  15 Jan 10 15:41 strongestAnimal.txt -> birds/eagle.txt

 

  • find : 파일 검색
bhyoo@DESKTOP-MQPJ46K:~$ find . -name eagle.txt
./zoo/birds/eagle.txt
bhyoo@DESKTOP-MQPJ46K:~$ find . -empty
./.landscape/sysinfo.log
./.motd_shown
./Documents
./Downloads
./Images
./Videos
./zoo/birds/eagle.txt
./zoo/mammals/koala.txt
./zoo/reptiles/trex.txt

 

  • head [filename]: 파일의 첫 10라인을 출력
bhyoo@DESKTOP-MQPJ46K:~$ head workers.csv
1,Area of Expertise,Name,Hourly Rate,Favorite Number,38.94,35,Nunavut,Storage & Organization,Compression Score
44,Avery 49,Aaron Bergman,4132,1.32,2.88,0.5,Nunavut,Labels,0.36
64,Boston Electric Pencil Sharpener Model 1818 Charcoal Black,Adrian Hane,6535,-19.33,28.15,8.99,Nunavut,Pens & Art Supplies,0.57
33,Self-Adhesive Address Labels for Typewriters by Universal,Alan Barnes,2532,140.01,7.31,0.49,Nunavut,Labels,0.38
34,Accessory37,Alan Barnes,2532,-78.96,20.99,2.5,Nunavut,Telephones and Communication,0.81
89,Avery 506,Alan Barnes,2532,75.13,4.13,0.5,Northwest Territories,Labels,0.39
17,"#10-4 1/8"" x 9 1/2"" Premium Diagonal Seam Envelopes",Allen Rosenblatt,998,93.8,15.74,1.39,Nunavut,Envelopes,0.4
67,Crate-A-Files™,Andrew Gjertsen,6916,-141.27,10.9,7.46,Nunavut,Storage & Organization,0.59
56,Avery Arch Ring Binders,Ann Chong,5894,87.68,58.1,1.49,Nunavut,Binders and Binder Accessories,0.38
57,APC 7 Outlet Network SurgeArrest Surge Protector,Ann Chong,5894,-68.22,80.48,4.5,Nunavut,Appliances,0.55

 

  • cat [filename]: 파일내용 전체출력

 

 

  • grep [needle] [filename] : 파일내용 검색 
bhyoo@DESKTOP-MQPJ46K:~$ grep "carlos" workers.csv -i
13,Holmes HEPA Air Purifier,Carlos Daly,868,134.72,21.78,5.94,Nunavut,Appliances,0.5
14,DS/HD IBM Formatted Diskettes 200/Pack - Staples,Carlos Daly,868,114.46,47.98,3.61,Nunavut,Computer Peripherals,0.71
5,Holmes HEPA Air Purifier,Carlos Soltero,515,30.94,21.78,5.94,Nunavut,Appliances,0.5
6,G.E. Longer-Life Indoor Recessed Floodlight Bulbs,Carlos Soltero,515,4.43,6.64,4.95,Nunavut,Office Furnishings,0.37
22,Avery 52,Carlos Soltero,515,26.92,3.69,0.5,Nunavut,Labels,0.38
23,Plymouth Boxed Rubber Bands by Plymouth,Carlos Soltero,515,-5.77,4.71,0.7,Nunavut,Rubber Bands,0.8
29,Tenex Personal Project File with Scoop Front Design Black,Carlos Soltero,515,-5.45,13.48,4.51,Nunavut,Storage & Organization,0.59

※ 파이프라인( | )을 이용하여 검색도 가능 

bhyoo@DESKTOP-MQPJ46K:~$ cat workers.csv | grep "Carlos"
13,Holmes HEPA Air Purifier,Carlos Daly,868,134.72,21.78,5.94,Nunavut,Appliances,0.5
14,DS/HD IBM Formatted Diskettes 200/Pack - Staples,Carlos Daly,868,114.46,47.98,3.61,Nunavut,Computer Peripherals,0.71
5,Holmes HEPA Air Purifier,Carlos Soltero,515,30.94,21.78,5.94,Nunavut,Appliances,0.5
6,G.E. Longer-Life Indoor Recessed Floodlight Bulbs,Carlos Soltero,515,4.43,6.64,4.95,Nunavut,Office Furnishings,0.37
22,Avery 52,Carlos Soltero,515,26.92,3.69,0.5,Nunavut,Labels,0.38
23,Plymouth Boxed Rubber Bands by Plymouth,Carlos Soltero,515,-5.77,4.71,0.7,Nunavut,Rubber Bands,0.8
29,Tenex Personal Project File with Scoop Front Design Black,Carlos Soltero,515,-5.45,13.48,4.51,Nunavut,Storage & Organization,0.59

 

 

 

  • man : 명령어의 메뉴얼을 볼 수있는 명령어
bhyoo@DESKTOP-MQPJ46K:~$ man man

 

  • pwd : 현재 경로 출력
bhyoo@DESKTOP-MQPJ46K:~$ pwd
/home/bhyoo

 

  • ls : 현재 위치의 파일 표시
bhyoo@DESKTOP-MQPJ46K:~$ ls
Documents  Downloads  Images  Videos

※ -a : 숨김파일 표시

    -l : 상세 리스트포맷

 

  • mkdir : 폴더 생성
bhyoo@DESKTOP-MQPJ46K:~$ mkdir stuff
bhyoo@DESKTOP-MQPJ46K:~$ ls
Documents  Downloads  Images  Videos  stuff

 

  • touch : 파일 생성
bhyoo@DESKTOP-MQPJ46K:~$ cd stuff
bhyoo@DESKTOP-MQPJ46K:~/stuff$ touch the_stuff.txt
bhyoo@DESKTOP-MQPJ46K:~/stuff$ ls
the_stuff.txt

 

  • cp [src] [dst]: 파일 복사
bhyoo@DESKTOP-MQPJ46K:~/stuff$ cp the_stuff.txt other_stuff.txt
bhyoo@DESKTOP-MQPJ46K:~/stuff$ ls
other_stuff.txt  the_stuff.txt

 

  • rm : 파일삭제
bhyoo@DESKTOP-MQPJ46K:~/stuff$ rm other_stuff.txt
bhyoo@DESKTOP-MQPJ46K:~/stuff$ ls
the_stuff.txt

※ -r : 폴더내부의 모든파일을 삭제하고 폴더까지 삭제

bhyoo@DESKTOP-MQPJ46K:~$ rm stuff
rm: cannot remove 'stuff': Is a directory
bhyoo@DESKTOP-MQPJ46K:~$ rm -r stuff
bhyoo@DESKTOP-MQPJ46K:~$ ls
Documents  Downloads  Images  Videos
bhyoo@DESKTOP-MQPJ46K:~$

 

#!/bin/bash
export LANG=ko_KR.UTF-8
echo "Shutdown tomcat now...."
bash /WAS/apache-tomcat-9.0.19/bin/shutdown.sh
echo "tomcat is now terminated..."
sleep 10
if [ -z "`ps -eaf | grep java | grep /WAS/apache-tomcat-9.0.19/bin`" ]; then
        echo "Tomcat was terminated successfully."
else
        ps -eaf | grep java | grep /WAS/apache-tomcat-9.0.19/bin | awk '{print $2}' |
        while read PID
                do
                echo "Killing $PID... "
                kill -9 $PID
                echo "Tomcat is being shutdowned"
                done
fi
 
echo "tomcat restart now"
bash /WAS/apache-tomcat-9.0.19/bin/startup.sh
if [ -z "`ps -eaf | grep java | grep /WAS/apache-tomcat-9.0.19/bin`" ]; then
        echo "Error!!! Cannot start tomcat server."
else
        echo "Tomcat restart succcessfully. "
fi
echo "Job finished"

 


시간 바꾸기 (24시로)

date -s 12:34:56



날짜 바꾸기

date -s '"2016-03-25 12:34:56"



타임존 변경

[root@kserver112-222 /]# date

2016. 03. 25. (금) 17:52:19 KST



만약  KST가 아닌 경우(UTC)  서울 기준으로 맞춰 주어야 한다.

/etc/localtime 에 심볼링크를 거는 방법도 있지만 여기서는

tzselect 를 이용하자. Asia를 선택하고 (5번) 다음으로 Korea(South) (23번)선택.



[root@kserver112-222 /]# tzselect

Please identify a location so that time zone rules can be set correctly.

Please select a continent or ocean.

 1) Africa

 2) Americas

 3) Antarctica

 4) Arctic Ocean

 5) Asia

 6) Atlantic Ocean

 7) Australia

 8) Europe

 9) Indian Ocean

10) Pacific Ocean

11) none - I want to specify the time zone using the Posix TZ format.

#? 5

Please select a country.

 1) Afghanistan           18) Israel                35) Palestine

 2) Armenia               19) Japan                 36) Philippines

 3) Azerbaijan            20) Jordan                37) Qatar

 4) Bahrain               21) Kazakhstan            38) Russia

 5) Bangladesh            22) Korea (North)         39) Saudi Arabia

 6) Bhutan                23) Korea (South)         40) Singapore

 7) Brunei                24) Kuwait                41) Sri Lanka

 8) Cambodia              25) Kyrgyzstan            42) Syria

 9) China                 26) Laos                  43) Taiwan

10) Cyprus                27) Lebanon               44) Tajikistan

11) East Timor            28) Macau                 45) Thailand

12) Georgia               29) Malaysia              46) Turkmenistan

13) Hong Kong             30) Mongolia              47) United Arab Emirates

14) India                 31) Myanmar (Burma)       48) Uzbekistan

15) Indonesia             32) Nepal                 49) Vietnam

16) Iran                  33) Oman                  50) Yemen

17) Iraq                  34) Pakistan

#? 23


The following information has been given:


        Korea (South)


Therefore TZ='Asia/Seoul' will be used.

Local time is now:      Fri Mar 25 17:54:33 KST 2016.

Universal Time is now:  Fri Mar 25 08:54:33 UTC 2016.

Is the above information OK?

1) Yes

2) No

#? 1


You can make this change permanent for yourself by appending the line

        TZ='Asia/Seoul'; export TZ

to the file '.profile' in your home directory; then log out and log in again.


Here is that TZ value again, this time on standard output so that you

can use the /usr/bin/tzselect command in shell scripts:

Asia/Seoul

[root@kserver112-222 /]# date

2016. 03. 25. (금) 17:54:47 KST



'Server' 카테고리의 다른 글

linux 명령어 간단 정리 1  (0) 2021.01.09
[Linux] 톰캣 재시작 스크립트  (0) 2020.08.11
[Linux/Centos] 버전 확인 및 비트 확인  (0) 2016.11.10
[Linux/Centos] 용량 확인  (0) 2016.11.10
[Linux/Centos] Crontab 사용법 정리  (0) 2016.11.10

버전확인


1. cat /etc/*release*

[root@kserver112-222 ~]# cat /etc/*release*

cat: /etc/lsb-release.d: 디렉토리입니다

CentOS release 5.11 (Final)


2. cat /proc/version

리눅스  커널 버전 확인

[root@kserver112-222 ~]# cat /proc/version

Linux version 2.6.18-400.1.1.el5 (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-55)) #1 SMP Thu Dec 18 00:58:32 EST 2014






비트확인(32bit / 64bit)


1. getconf 

[root@kserver112-222 ~]# getconf LONG_BIT

32

-> 32 비트


[root@kserver112-222 ~]# getconf LONG_BIT

64

-> 63비트


2. arch

[root@kserver112-222 ~]# arch

x86_64

-> 64비트


[root@kserver112-222 ~]# arch

i686

-> 32비트 (i386도있음)


용량 확인


1. df : 디스크의 남은 용량을 확인 

df -k : KB단위

df -m : MB단위

df -h : 크기에 맞춰 알아서 바꿔줌

df . : 현재 디렉토리가 포함된 파티션의 남은 용량


[root@kserver112-222 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3             222G   45G  166G  22% /

/dev/sdb1             226G   11G  204G   5% /data

/dev/sda1              99M   23M   72M  24% /boot

tmpfs                1008M     0 1008M   0% /dev/shm


[root@kserver112-222 ~]# df . -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3             222G   45G  166G  22% /

-> 단위조합이 가능하다.





2. du : 현재 디렉토리에서 서브디렉토리까지의 사용량을 확인 

du -a : 현재 디렉토리 파일의 크기를 확인

du -s : 현재 디렉토리 전체 크기

du -h : 크기에 맞춰 알아서 바꿔줌 

du -sh * : 하위 디렉토리를 제외하고 파일만 보여줌 


[root@kserver112-222 ~]# du -h

140K    ./paco-2.0.7/doc

72K     ./paco-2.0.7/lib/paco/.deps

1.1M    ./paco-2.0.7/lib/paco

12K     ./paco-2.0.7/lib/paco-log/.deps

96K     ./paco-2.0.7/lib/paco-log/.libs

200K    ./paco-2.0.7/lib/paco-log

1.3M    ./paco-2.0.7/lib

72K     ./paco-2.0.7/gpaco/.deps

348K    ./paco-2.0.7/gpaco

220K    ./paco-2.0.7/paco/.deps

4.0K    ./paco-2.0.7/paco/.libs

3.0M    ./paco-2.0.7/paco

72K     ./paco-2.0.7/scripts

672K    ./paco-2.0.7/build

6.6M    ./paco-2.0.7

8.0K    ./vnstat-1.13/examples/upstart

8.0K    ./vnstat-1.13/examples/systemd

8.0K    ./vnstat-1.13/examples/launchd

8.0K    ./vnstat-1.13/examples/init.d/debian

8.0K    ./vnstat-1.13/examples/init.d/redhat

20K     ./vnstat-1.13/examples/init.d

64K     ./vnstat-1.13/examples

744K    ./vnstat-1.13/src

8.0K    ./vnstat-1.13/cfg

48K     ./vnstat-1.13/man

136K    ./vnstat-1.13/tests

1.1M    ./vnstat-1.13

9.1M    .






리눅스에서 crontab은 시간마다 일정한 스크립트를 수행하기 위해 사용되고,


/etc/rec.d/init.d/crond 데몬에의해 관리된다.




1. crontab list 홧인


crontab -l



2. crontab 편집


crontab -e



3. 실행, 중지, 재시작


service crond start(stop|restart)



4. 등록 내용 설정


crontab -e를 통해서 들어온 편집기에 다음과 같은 형태로 저장한다.


# +---------------- 분 (0 - 59)

# |  +------------- 시 (0 - 23)

# |  |  +---------- 일 (1 - 31)

# |  |  |  +------- 월 (1 - 12)

# |  |  |  |  +---- 요일 (0 - 6) (일요일=0 or 7)

# |  |  |  |  |

  *  *  *  *  *  실행될 명령


의 형태로 작성한다.



5. 등록 내용 설정 심화



* * * * * => 매분마다 실행

  

5-59/20 * * * *  => 5분에서 59분 사이 20분간격 실행 -> 5분, 25분, 45분


1-59/2 * * * *  => 매 홀수분마다 실행


5 */2 * * *  => 매일 2시간간격으로 5분에


초단위로 실행은 불가함.



6. crontab 사용 권한


=> /etc/cron.allow : 허용할 사용자 ID 목록
=> /etc/cron.deny  : 거부할 사용자 ID 목록

cron.allow 파일이 있으면 이 파일에 들어있는 ID만 사용 가능
cron.deny  파일이 있으면 이 파일에 들어있는 ID는 사용 불가



7. 기타


 > /dev/null  2>&1 이란?


예를들어


ls > /dev/null 2>&1 와 같을때 


>는 리다이렉션 기호이다. ls > /dev/null 은 결과값에 대한 표준 출력을 /dev/null로 넣으라는 뜻이고 


2>&1 에서 2> 라는 말은 표준 에러를 리다이렉션 한다는 뜻임. &1 은 /dev/null 을 가리키는 표시이다.


위와 같이 안하고 ls > /dev/null 만 하게 되면 에러가 없는 결과값이 /dev/null 로 출력되어 화면에는 아무런 표시가 되지 않지만, 에러가 발생했을때에는 화면에 표시된다.


뒤에 2>&1 은 에러출력도 &1 (/dev/null )로 출력하라는 뜻으로 결과적으로 명령어에 대한 실행결과에 상관없이 아무것도 표시안하게 된다(성공이든 에러든).









Mysql을 주기적으로 백업하여주는 스크립트. .sh파일로 저장하여 cron으로 돌려놓자. 간단히 설명을 하자면


백업 디렉토리 : /data/backup/temp

계정 : root

비번 : password

백업 db : dbname


각 테이블별로 각각 덤프하고 날짜명으로 압축해서 저장. 3일 지난건 삭제함. 


상황에 맞추어 바꿔 쓰면 된다.





  #!/bin/bash

  backup_dir="/data/backup/temp"

  rm -f $backup_dir/*.sql

  table_list=`mysql -uroot -ppassword dbname-e "show tables" | tail     -n+2`;

      for table_name in $table_list; do

          mysqldump -uroot -ppassword dbname$table_name > $backup_di    r/$table_name.sql

          done

  tar cvfpz /data/backup/mysql_backup_$(date +%Y%m%d).tar.gz $backup_dir/

  find /data/backup -ctime +3 -exec rm -f {} \;




'Server' 카테고리의 다른 글

[Linux/Centos] 버전 확인 및 비트 확인  (0) 2016.11.10
[Linux/Centos] 용량 확인  (0) 2016.11.10
[Linux/Centos] Crontab 사용법 정리  (0) 2016.11.10
[Linux] 파일 검색 find grep  (0) 2016.11.10
[Linux/Centos] Path 설정하기  (0) 2016.09.03

+ Recent posts