vi, vim, joe 등이 없으면 어떻게 파일을 편집 할 수 있습니까?


35

vi, vim, joe, mcedit가 없으면 파일을 편집하는 방법이 있습니까? 다시 말해 쉘 명령 만 사용하여 파일을 편집하는 방법이 있습니까?


1
나도 나노가 없어!
Eduard Florinescu

1
그것의 라우터는, 또한 나는 :)이 상황에서 사용자 지정 게이트웨이도 본 적이
에드워드 Florinescu을

3
편집하려는 파일을 복사하십시오. 그런 다음을 cat file누른 다음 cat >file잘라 내기 + 붙여 넣기 및 / 또는 입력으로 부품을 정렬하고로 마무리하십시오 ctrl-d.
ott--

7
이것은 도커에서 나에게도 일어났다. 그것은 매우 미니멀하다. 도대체 내가 어떻게 그런 일을합니까. VM은 일시적이며 ssh 또는 ftp를 사용할 수 없으며 일부 파일을 변경하려면 sed와 같은 리디렉션 및 해킹을 사용해야합니다. 큰 도전이었습니다. 우리가 편집자에게 얼마나 의존하고 있는지보십시오 : P
code ninja

3
컨테이너이거나 다른 호스트를 통해 액세스 한 경우 사용할 수 있습니다 echo <<EOF > new.file [paste here] EOF. 호스트 PC에서 파일 내용을 편집합니다.
pztrick

답변:


18

이 경우 다른 컴퓨터에서 파일을 전송하고 편집 한 다음 다시 전송하려고합니다. ssh가 있으면 scp가 있어야하므로 파일을 넣고 뺄 수 있어야합니다. 그렇지 않은 경우, 파일을 전송하거나 전송하는 ftp를 찾을 수도 있습니다.

그렇지 않다면 가장 좋은 방법은 cat, grep, sed, echo 및 I / O 리디렉션을 사용하는 것입니다 (특히 >>). 그리고 많은 임시 파일들.

perl (또는 이와 유사한 것)에 액세스 할 수있는 경우 인수없이 실행할 수 있으며 표준 입력에서 스크립트 소스를 입력 할 수 있습니다. ctrl + d를 누르면 스크립트를 실행할 수 있습니다. 이 방법을 사용하여 파일을 만들 수 있습니다. 이전에 언급했듯이 명령 줄에서 무언가를 해킹하는 것보다 강력합니다.


어떤 SSHD하지만 난 telnetd의 한
에드워드 Florinescu을

그럼 당신은 FTP를 할 수 있습니까?
벤 리차드

1
나는 에코 고양이, GREP을 사용하고 있습니다 I / O 리디렉션 (특히 APPEND와 >>)하지만 나오지 않는다
에드워드 Florinescu

2
Ftp works :) 이제이 라우터의 어느 곳에 쓰기 가능한 것이 있는지 알아야합니다.
Eduard Florinescu

3
텔넷을 통해 장치에 연결되어 있다면 파일을 터미널에 캐터링하고 (충분히 큰 백 스크롤 버퍼가 있음) 전체 내용을 로컬 편집기에 복사 / 붙여 넣기, 변경 후 휘핑에 대해 진지하게 생각합니다. 대체 파일을 작성하는 일련의 에코 명령으로 변환 할 수 있습니다.
afrazier

4

난 당신이 당신이 필요로 무엇을 할 수있는 상상 grep하고 perl당신이 원하는 줄을 찾습니다 - grep에 선 것을 편집 perl( perl대한 큰 교체와 같은 역할을 할 수 있습니다 sed) 다음을 수행하여 의도 한 것보다 더 많은 변경을하지 않았다 확인 diff filename filename.new. 그렇다면 변경 사항을 영구적으로 작성하십시오.mv filename.new filename


3

라우터에 SSH를 연결한다고 가정하면 다양한 유틸리티를 사용하여 파일을 다시 컴퓨터 / 라우터로 전송할 수 있습니다. PC에서 사본을 다운로드하여 수정 한 다음 SFTP를 통해 라우터에 다시 SSH로 연결할 수 있습니다 (Windows 사용자 인 경우 Putty 또는 WinSCP 참조 ).

그러나 라우터 / 게이트웨이에서 사용자 지정 펌웨어를 사용하는 경우 운이 좋을 수 있습니다. 간단한 (작은) 텍스트 편집기를 포함하는 다양한 Optware 패키지가 있습니다. 필요에 따라 nano패키지를 얻 거나 busyboxcontains에 넣을 수 있습니다 vi.


2

한 가지 방법은 에코 결과를 출력하는 것입니다.

echo "foo" > bar.txt

그러면 "foo"라는 텍스트가 포함 된 bar.yxy라는 파일이 만들어집니다.


3
그것은 실제로 편집하는 것이 아닙니다.
DavidPostill

2
편집기를 얻을 수있을 때까지 작업을 완료합니다.
랜던

1

/ bin 또는 무언가를 지웠습니까? 그렇지 않으면 리눅스 시스템에서 표준이되어야 하는 GNU Coreutils 의 텍스트 유틸리티와 함께 ​​무언가를 해킹 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.