vi 에서 Lock기능이 있을까요?

koddakgi의 이미지

개인별로 계정이 할당된게 아니구
한팀이 한계정을 같이 사용 하다보니
잘못하면 동시에 같은파일을 수정을 할수도 있습니다.
그래서 혹시 vi에서 이런기능이 있을런지 ....
제가 a.c라는 파일을 읽기-쓰기 모드로 열어서 수정중이라면
다른누군가는 그파일을 읽기모드로만 열수 있게할수 있다면
좋을텐데요.
윈도우 MS-WORD는 이런 비슷한 기능이 있는데....
그럼 오늘 하루도 수고들 하세요..^^;

noohgnas의 이미지

koddakgi wrote:
개인별로 계정이 할당된게 아니구
한팀이 한계정을 같이 사용 하다보니
잘못하면 동시에 같은파일을 수정을 할수도 있습니다.
그래서 혹시 vi에서 이런기능이 있을런지 ....
제가 a.c라는 파일을 읽기-쓰기 모드로 열어서 수정중이라면
다른누군가는 그파일을 읽기모드로만 열수 있게할수 있다면
좋을텐데요.
윈도우 MS-WORD는 이런 비슷한 기능이 있는데....
그럼 오늘 하루도 수고들 하세요..^^;

.a.c.swp

과 비슷한 파일이 생성되는 걸로 알고있습니다. 그래서 동일한 파일에 접근 하려고 하면 경고를 줍니다. 그리고 그 경고문에는 선택의 기회(?)도 주어집니다. =)

프로그래밍을 하신다면 rcs 나 cvs 를 사용하시는 것이 좋을 듯 합니다.


----
I think, therefore I am.

cskblue의 이미지

아시겠지만 vi에서는 기본적으로 실행시키면
그 디렉토리에 파일이름.swp 파일을
만들어서 작업합니다.

그래서 다른 사람이 같은 방의 같은 파일을 vi로 수정하려고 한다면

E325: 주목
Found a swap file by the name ".abc.c.swp"
          소유자: blue   날짜: Sat Nov 29 01:49:52 2003
         파일 이름: ~blue/src/cp/abc.c
          수정: 아니오
         사용자 이름: blue  호스트 이름: Blue
        프로세스 ID: 3759 (아직 실행중)
While opening file "abc.c"
             날짜: Sat Nov 29 01:49:47 2003

(1) 다른 프로그램이 같은 파일을 고치고 있는중일 수 있습니다.
    만약 그렇다면 같은 파일을 두 개의 프로그램에서 고치지
    않도록 조심하시기 바랍니다.
    끝내거나 위험을 감수하시려면 계속하십시오.

(2) 이 파일을 고치다가 죽었었습니다.
    만약 그렇다면 ":recover" 혹은 "vim -r abc.c"
    을 사용하여 복구하십시오 (":help recovery" 참고).
    이미 복구하셨었다면 스왑파일 ".abc.c.swp"
    to avoid this message.

스왑 파일 ".abc.c.swp"이 이미 존재합니다!
읽기 전용으로 열기([O]), 그냥 고치기((E)), 복구((R)), 끝내기((Q)): 

이런 메시지를 일단 뿌려줘서 사용자에게 알려주기 때문에
팀 구성원들과 서로 협의(?)하여 이런 메시지 뜨면 자세히 읽어보고
대처;; 하도록 하면 될거같습니다.
그 사용자가 악의를 갖지 않는 한 읽기모드로 열거나 끝내도록
하면 되겠죠;;;

내친김에....
위에서 봐야할 부분은

                     .
   수정: 아니오
   사용자 이름: blue  호스트 이름: Blue
   프로세스 ID: 3759 (아직 실행중)
                      .
                      .
스왑 파일 ".abc.c.swp"이 이미 존재합니다!
읽기 전용으로 열기([O]), 그냥 고치기((E)), 복구((R)), 끝내기((Q))

프로세스 상태와 수정상태, 그리고 아래 메뉴로서
아직 실행중이라면 누군가 보거나 수정중인것이고(좀비일경우도;;;)

위에서
(아직 실행중) && (수정:예)
이라면 다른이가 열라게 수정중인거고...
(아직 실행중) && (수정:아니오)
이라면 편집내용이 :w 로 저장된 상태입니다.

실행중이 아닌데 swp파일이 있다면 편집중 저장안된 상태에서
프로세스가 죽은거라 생각할수 있겠습니다.
swp파일과 원본파일이 같지 않을때 보존되기 때문에

그런경우라면

    수정: 예
    사용자 이름: blue  호스트 이름: Blue
    프로세스 ID: 3873
                 .
                 .
스왑 파일 ".abc.c.swp"이 이미 존재합니다!
읽기 전용으로 열기([O]), 그냥 고치기((E)), 복구((R)), 끝내기((Q)), 지우기((D))

이렇게 메뉴가 다르게 표시됩니다.

중요한 파일일 경우 읽기전용으로 읽어서 내용을 확인한후
(헛 내가 작업해논거 하나도 없다!) 이런경우 빠져나와 다시 실행하여
하단 메뉴에서 복구(R) 를 눌려서 복구합니다.
쓸모 없을경우 제거(D) 를 누르면 그 스왑파일을 삭제해줍니다.

koddakgi의 이미지

리눅스에서는 .swp파일이 생성되는데
ibm-aix 에서는 안되는군요
아침에 man vi 해서 쭈욱 살펴봤는데
그런설명은 없군요
물론 프로그래밍을 합니다.
그런데 cvs같은거 안쓰네요.. -.-
저도 cvs를 접해보질 않아서 사용을 못하겠네요

여자는 도대체 무엇으로 사는가?

santana의 이미지

vim을 설치하셔야 될 것 같습니다.

Quote:

아시겠지만 vi에서는 기본적으로 실행시키면
그 디렉토리에 파일이름.swp 파일을
만들어서 작업합니다.


아마도 윗분이 말씀하신건 vi가 아니고 vim을 기준으로 말씀하신것으로 생각됩니다.

그러나 AIX에서는 기본적으로 vim이 설치가 안되어 있죠.

AIX에서는 vi를 사용하고
Linux에서는 vi를 vim으로 링크 시켜 놓아서 그런 겁니다.

저두 AIX에서 vi와 vim을 모두 사용하는데...
정말 vi에서는 .swp 파일이 생성이 안되는군요.

그렇지만 vim을 설치하여 사용하신다면 문제는 간단히 해결 될 것 같습니다.

AIX5L 이상 버전을 사용하신다면 Linux 관련 소프트웨어 설치는 아주 간단히 하실 수 있으실 겁니다.(L이 Linux의 약자라고 하더군요)

물론 AIX4 버전에서도 설치가 가능합니다.(저두 4 버전에서 vim을 사용중이고요)

http://www-903.ibm.com/kr/board/bbs_list.jsp?title=rs6000&ipage=1&cpage=1&find=find&value=value

서 검색 조금만 해 보시면 Linux software 설치법도 아실 수 있으리라 생각됩니다.

Good Luck~~

제발 좀 긍정적인 마음가짐으로...

koddakgi의 이미지

저는 일반사용자라 설치는못합니다.
사실 관리자에게 먼저 문의를 하는게 순서였으나
제가 관리자랑 잘 알지도 못하고 말한다고 해도
설치할런지도 의문스럽네요.
왜 vi에선 그런기능이 없는지...참
값이 비싸다고 다 조은건 아니군요
현제는 프로세스로 확인을 하고
파일을 여는수밖에없군요

여자는 도대체 무엇으로 사는가?

pynoos의 이미지

상용 UNIX에서는 초창기 utility만 설치됩니다.
AIX, Solaris, HP-UX 등 다 그렇지요...
그 vi 편집기의 기능은 아마 더 이상 추가되지는 않을 듯하군요.
처음 설치된 vi로는 단순한 편집만 가능합니다.
홈디렉토리에 vim을 컴파일하여 설치해보세요.
몇가지 configure option등을 조정하면, prefix를 사용자 홈에 설정하여 사용할 수 있을 것입니다.

죠커의 이미지

koddakgi wrote:
왜 vi에선 그런기능이 없는지...참
값이 비싸다고 다 조은건 아니군요

운영체제가 비싼것이지 vi의 값이 아니니깐요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.