IT story

Linux 용 C ++ IDE?

hot-time 2020. 4. 30. 07:34
반응형

Linux 용 C ++ IDE? [닫은]


프로그래밍 영역을 Linux로 확장하고 싶습니다. 훌륭하고 신뢰할 수있는 기본 툴셋이 중요하며 IDE보다 더 기본적인 것은 무엇입니까?

다음과 같은 주제를 찾을 수 있습니다.

가벼운 IDE를 찾고 있지 않습니다 . IDE가 그만한 가치가 있다면, 나는 그것을 지불 할 것이기 때문에 무료 일 필요는 없다.

내 질문은 다음과 같습니다.

Linux에서 사용할 수있는 좋은 C ++ 프로그래밍 IDE는 무엇입니까?

구문 강조, 코드 완성 (예 : 인텔리전스 또는 이클립스 대응) 및 통합 디버깅 (예 : 기본 중단 점)과 같은 최소 기준은 상당히 표준 입니다.

나는 그것을 직접 검색했지만 너무나 많은 것들이 있기 때문에 특히 리눅스에서 C ++ 코딩 경험이 거의없는 나와 같은 누군가를 위해 선과 악을 손으로 분리하는 것이 거의 불가능합니다. Eclipse가 C ++을 지원 한다는 것을 알고 있으며 Java 용 IDE를 정말로 좋아하지만 C ++에는 좋으며 더 좋은 것이 있습니까?

두 번째 게시물에는 실제로 몇 가지 좋은 제안이 있지만 누락 된 것은 실제로 sugested IDE를 사용자에게 너무 좋게 만드는 것입니다. 장점은 무엇입니까?

어쩌면 내 질문은 다음과 같아야합니다.

어떤 IDE를 제안하고 (경험을 얻었습니까) 왜 그런가요?


처음에 : 혼란

처음 에이 답변을 작성할 때 Visual Studio (수년간의 경험을 가진)에서 Linux로 전환했으며 가장 먼저 합리적인 IDE를 찾으려고했습니다. 당시에는 불가능했습니다. 좋은 IDE가 없었습니다.

주현절 : UNIX는 IDE입니다. 그것의 모든. 1

그런 다음 Linux의 IDE가 도구가있는 명령 줄임을 깨달았습니다.

  • 먼저 쉘을 설정합니다
  • 그리고 당신의 편집인; 독을 선택하십시오 – 둘 다 최첨단입니다 :

필요에 따라 편집기를 훌륭하게 작동시키기 위해 여러 플러그인을 설치하고 구성해야합니다 (성가신 부분). 예를 들어 Vim의 대부분의 프로그래머 는 스마트 자동 완성을위한 YouCompleteMe 플러그인의 이점을 활용할 수 있습니다 .

완료되면 셸은 디버거 (gdb), 프로파일 러 (gprof, valgrind) 등과 같은 다양한 도구와 상호 작용하기위한 명령 인터페이스입니다. Make , CMake , SnakeMake 또는 다양한 도구를 사용하여 프로젝트 / 빌드 환경을 설정합니다 대안. 또한 버전 제어 시스템으로 코드를 관리합니다 (대부분의 사람들은 Git 사용 ). 또한 tmux (이전에는 screen)를 사용하여 다중화 (= 다중 창 / 탭 / 패널 생각)하고 터미널 세션을 지속시킵니다.

요점은 쉘과 몇 가지 도구 작성 규칙으로 인해 서로 통합 된다는 것 입니다. 그렇게 하면 Linux 쉘은 다른 최신 IDE와 완전히 동등한 진정한 통합 개발 환경 입니다. (이것은 개별 IDE에 명령 줄에 부족한 기능이 없다는 것을 의미하지는 않지만 그 반대도 마찬가지입니다.)

각자 자신에게

습관에 들어간 후에는 위의 워크 플로가 얼마나 잘 작동하는지 말할 수 없습니다. 그러나 일부 사람들은 단순히 그래픽 편집기를 선호하며,이 답변이 처음 작성된 이후 몇 년 동안 Linux는 여러 가지 프로그래밍 언어에 대한 우수한 그래픽 IDE 제품군을 얻었습니다 (그러나 C ++에 대해서는 아는 바가 없습니다). 나와 같은 경우에도 사용하지 않더라도 시도해보십시오. 다음은 작고 치우친 선택입니다.

이 목록은 완전하지 않습니다.


1 나는 dsm의 의견에서 그 제목을 훔쳤다.

2 여기 Vim을 언급했습니다. 그리고 평범한 Vim은 여전히 ​​능력 이상이지만 Neovim은 유망한 재시작이며, 오래된 사마귀가 현대화되었습니다.


내가 가장 좋아하는 것은 CodeLite 2.x IDE입니다.

참조 : http://www.codelite.org

CodeLite를 사용하기로 한 결정은 Linux 용 C ++ IDE에 관한 연구를 기반으로합니다.

  • CDT 플러그인이있는 Eclipse Galileo
  • NetBeans 6.7 (SunStudio IDE의 기본이기도 함)
  • KDevelop4
  • 코드 블록 8.02
  • CodeLite 2.x

결국 CodeLite 2.x 를 사용하기로 결정했습니다 .

아래에 언급 된 C ++ IDE와 관련된 몇 가지 장단점이 나와 있습니다. 이것은 내 개인적인 의견만을 반영한다는 점에 유의하십시오!

편집 : SOF가 테이블을 지원하지 않는 것이 유감이므로 단락에 작성해야합니다 ...

CDT 플러그인이있는 Eclipse Galileo

장점 :

  • 합리적인 빠른
  • Java, Perl도 지원합니다 (EPIC 플러그인 사용)
  • 일반적으로 사용되고 잘 유지
  • 다른 OS 버전에서도 사용 가능 (Windows, MacOS, Solaris, AIX (?))

단점 :

  • GUI는 매우 혼란스럽고 다소 일관성이 없습니다. 전혀 직관적이지 않습니다.
  • 무거운 무게
  • CVS (AFAIK) 만 지원

NetBeans 6.7 (이것은 SunStudio IDE의 기본이기도합니다)

장점 :

  • 내가 본 가장 직관적 인 GUI 중 하나
  • Java, Python, Ruby도 지원
  • CVS, SVN, Mercurial 통합
  • 일반적으로 사용되고 잘 유지
  • 다른 OS 버전에서도 사용 가능 (Windows, MacOS, Solaris)

단점 :

  • 극도로 느린
  • 무거운 무게
  • 들여 쓰기를 위해 공백을 사용하며 이는 내 작업의 정책이 아닙니다. 이것이 구성 가능한지 확신하지만 그 방법을 찾을 수 없었습니다.

KDevelop4 (참고 : 나는 그것에 대해 많은 테스트를하지 않았다)

장점 :

  • 리눅스에서 일반적으로 사용
  • CVS, SVN, Mercurial 통합

단점 :

  • GUI는 다소 구식으로 보입니다.
  • 무거운 무게
  • KDE 환경에 매우 적합

CodeBlocks 8.02 (참고 : 테스트를 많이하지 않았습니다)

장점 :

  • 합리적인 빠른

단점 :

  • GUI는 다소 구식으로 보입니다 (시작 화면은 훌륭하지만)
  • 편집기의 글꼴이 매우 작습니다
  • 일부 아이콘 (예 : 디버거 관련 아이콘 시작 / 스테핑)은 매우 작습니다.
  • 소스 제어 통합이 없음

CodeLite 2.x (참고 : 이것은 제가 개인적으로 가장 좋아하는 것입니다)

장점 :

  • 내가 리눅스에서 본 최고의 현대적이고 직관적 인 GUI
  • 경량
  • 합리적인 빠른
  • SVN 통합
  • 다른 OS 버전에서도 사용 가능 (Windows, MacOS, Solaris (?))

단점 :

  • CVS 통합 불필요 (직장에서 사용해야하므로 중요합니다)
  • Java, Perl, Python을 지원하지 않습니다.

  1. 코드 :: 블록
  2. 이클립스 CDT

곧 IDE가 충분하지 않다는 것을 알게 될 것입니다. 어쨌든 GCC 툴체인을 배우셔야합니다 (적어도 기본 기능을 배우는 것은 어렵지 않습니다). 그러나 IDE, IMO의 과도 통증을 줄이는 데 아무런 해가 없습니다.


이 주제에 대한 지식을 조금 더 추가하기위한 빠른 답변 : NetBeans를
반드시 확인해야합니다 . Netbeans 6.7에는 다음과 같은 기능이 있습니다.

  • C / C ++ 프로젝트 및 템플릿 : 구문 강조, 자동 코드 완성, 자동 들여 쓰기를 지원합니다.
  • C / C ++ 디버거가 있습니다
  • 컴파일러 구성, 구성 관리자 및 Makefile 지원 (마법사 사용)을 지원합니다.
  • 클래스 창, 사용 창 및 파일 탐색 창 (또는 패널)이 있습니다.
  • 매크로 확장보기 , 또한 툴팁 .
  • QT 개발 지원 .

나는 그것이 완벽한 (그리고 훨씬 더 나은) Visual Studio 대체이며 C / C ++을 배우는 매우 좋은 도구라고 생각합니다.

행운을 빕니다!


적어도 Qt 특정 프로젝트의 경우 Nokia / Trolltech / Digia Qt Creator 는 큰 가능성을 보여줍니다.


어떻게해야했는지, 무엇을 바꿔야하는지 좀 더 명확하게 설명해 주시겠습니까? 아마도 당신이 사용한 정보에 대한 링크를 제공하여 올바른 방향으로 나를 가리킬 수 있습니다.

첫 번째 소스는 실제로 도구 man페이지였습니다. 그냥 입력

$ man toolname

명령 행에서 ( $여기서는 입력이 아니라 프롬프트의 일부입니다).

플랫폼에 따라 상당히 잘 작성되어 있으며 인터넷에서도 찾을 수 있습니다. 의 경우 make실제로 몇 시간이 걸리는 전체 설명서읽었습니다 . 실제로, 이것이 대부분의 경우에 이것이 필요하거나 도움이되지 않는다고 생각하지만 Linux에서 처음으로 할당 할 때 정교한 makefile이 필요한 몇 가지 특별한 요구 사항이있었습니다. makefile을 작성한 후 나는 약간의 수정과 수정을 한 경험이 풍부한 동료에게 주었다. 그 후, 나는 거의 알았습니다 make.

나는 GVIM을 사용했는데, 거기에 약간의 사전 경험이 있었기 때문에 Emacs 또는 대안에 대해 전혀 말할 수 없습니다. 다른 사람들의 .gvimrc구성 파일 을 읽는 것이 실제로 도움이된다는 것을 알았습니다 . 많은 사람들이 웹에 올려 놓습니다. 여기 .

Don't try to master all binutils at once, there are too many functions. But get a general overview so you'll know where to search when needing something in the future. You should, however, know all the important parameters for g++ and ld (the GCC linker tool that's invoked automatically except when explicitly prevented).

Also I'm curious, do you have code completion and syntax highlighting when you code?

Syntax highlighting: yes, and a much better one than Visual Studio. Code completion: yes-ish. First, I have to admit that I didn't use C++ code completion even in Visual Studio because (compared to VB and C#) it wasn't good enough. I don't use it often now but nevertheless, GVIM has native code completion support for C++. Combined with the ctags library and a plug-in like taglist this is almost an IDE.

Actually, what got me started was an article by Armin Ronacher. Before reading the text, look at the screenshots at the end of it!

do you have to compile first before getting (syntax) errors?

Yes. But this is the same for Visual Studio, isn't it (I've never used Whole Tomato)? Of course, the syntax highlighting will show you non-matching brackets but that's about all.

and how do you debug (again think breakpoints etc)?

I use gdb which is a command-line tool. There's also a graphical frontend called DDD. gdb is a modern debugging tool and can do everything you can do in an IDE. The only thing that really annoys me is reading a stack trace because lines aren't indented or formatted so it's really hard to scan the information when you're using a lot of templates (which I do). But those also clutter the stack trace in IDEs.

Like I said, I had the 'pleasure' to set my first steps in the Java programming language using windows notepad and the command line java compiler in high school, and it was, .. wel a nightmare! certainly when I could compare it with other programming courses I had back then where we had decent IDE's

You shouldn't even try to compare a modern, full-feature editor like Emacs or GVIM to Notepad. Notepad is an embellished TextBox control, and this really makes all the difference. Additionally, working on the command line is a very different experience in Linux and Windows. The Windows cmd.exe is severely crippled. PowerShell is much better.

/EDIT: I should mention explicitly that GVIM has tabbed editing (as in tabbed browsing, not tabs-vs-spaces)! It took me ages to find them although they're not hidden at all. Just type :tabe instead of plain :e when opening a file or creating a new one, and GVIM will create a new tab. Switching between tabs can be done using the cursor or several different shortcuts (depending on the platform). The key gt (type g, then t in command mode) should work everywhere, and jumps to the next tab, or tab no. n if a number was given. Type :help gt to get more help.


Not to repeat an answer, but I think I can add a bit more.

Slickedit is an excellent IDE.

It supports large code-bases well without slowing down or spending all its time indexing. (This is a problem I had with eclipse's cdt). Slickedit's speed is probably the nicest thing about it, actually.
The code completion works well and there are a large amount of options for things like automatic formatting, beautification and refactoring.
It does have integrated debugging.
It has plug-in support and fairly active community creating them.
In theory, you should be able to integrate well with people doing the traditional makefile stuff, as it allows you to create a project directly from one, but that didn't work as smoothly as I would have liked when I tried it.
In addition to Linux, there are Mac and Windows versions of it, should you need them.


As an old-time UNIX guy, I always use Emacs. But that has a pretty steep and long learning curve, so I'm not sure I can recommend it to newcomers.

There really isn't a "good" IDE for Linux. Eclipse is not very good for C/C++ (CDT is improving, but is not very useful yet). The others are missing all the features you are going to be looking for.

It really is important to learn how all the individual tools (gcc, make, gdb, etc.) work. After you do so, you may find the Visual Studio way of doing things to be very limiting.


Checkout Netbeans, it's written in Java so you'll have the same environment regardless of your OS, and it supports a lot more than just C++.

I'm not going to try to convince you, because I think IDEs can be a very personal choice. For me it improves my productivity by being fast, supporting the languages I code in and has the standard features you'd expect from an IDE.


Just a quick follow up for this question...

It's been a month since I started using Vim as my main 'GUI' tool for programming C++ in Linux. At first the learning curve was indeed a bit steep but after a while and with the right options turned on and scripts running I really got the hang of it!

I love the way how you can shape Vim to suite your needs; just add/change key mappings and Vim is turned into a highly productive 'IDE'.

The toolchain to build and compile a C++ program on Linux is also really intuitive. make and g++ are the tools you'll use.

The debugger ddd is however not really that good, but maybe that's because I haven't had the time to master it properly.

So to anyone who is, or was looking for a good C++ IDE in Linux, just like I was, your best bet lays with the standard available tools in Linux itself (Vim, g++, ddd) and you should really at least try to use them, before looking for sonething else...

Last but not least, I really want to thank konrad for his answer here, It really helped me find my way in the Linux development environment, thank you!

I'm also not closing this question, so people can still react or maybe even add new suggestions or additions to the already really nice answers...


I recommend you read The Art Of UNIX Progranmming. It will frame your mind into using the environment as your IDE.


Shorter answer is: choosing whatever "editor" you like, then use GDB console or a simple GDB front end to debug your application. The debuggers come with fancy IDEs such as Netbeans sucks for C/C++. I use Netbeans as my editor, and Insight and GDB console as my debugger.

With insight, you have a nice GUI and the raw power of GDB.

As soon as you get used to GDB commands, you will start to love it since you can do things you will never be able to do using an GUI. You can use even use Python as your script language if you are using GDB 7 or newer version.

Most people here paid more attentions to the "Editors" of the IDEs. However, if you are developing a large project in C/C++, you could easily spend more than 70% of your time on the "debuggers". The debuggers of the fancy IDEs are at least 10 years behind Visual Studio. For instance, Netbenas has very similar interfaces with Visual Studio. But its debugger has a number of disadvantages compared to Visual Studio.

  1. Very slow to display even a array with only a few hundreds of elements
  2. No highlighting for changed value ( By default, visual studio shows changed values in the watch windows in red)
  3. Very limited ability to show memory.
  4. You cannot modify the source code then continue to run. If a bug takes a long time to hit, you would like to change the source and apply the changes live and continue to run your application.
  5. You cannot change the "next statement" to run. In Visual Studio, you can use "Set Next Statement" to change how your application runs. Although this feature could crash your application if not used properly, but it will save you a lot of time. For instance, if you found the state of your application is not correct, but you do not know what caused the problems, you might want to rerun a certain region of the your source codes without restarting your application.
  6. No built-in support for STL such as vector, list, deque and map etc.
  7. No watch points. You need to have this feature, when you need to stop your application right at the point a variable is changed. Intel based computers have hardware watch points so that the watch points will not slow down your system. It might takes many hours to find some hard-to-find bugs without using watch points. "Visual Studio" calls "watch pointer" as "Data BreakPoint".

The list can be a lot longer.

I was so frustrated by the disadvantages of the Netbeans or other similar IDEs, so that I started to learn GDB itself. I found GDB itself are very powerful. GDB does not have all the "disadvantages" mentioned above. Actually, GDB is very powerful, it is even better than Visual Studio in many ways. Here I just show you a very simple example.

For instance, you have a array like:

struct IdAndValue
{
  int ID;
  int value;
};


IdAndValue IdAndValues[1000];

When your application stops, and you want to examine the data in IdAndValues. For instance, if you want to find the ordinals and values in the array for a particular "ID", you can create a script like the following:

define PrintVal 
set $i=0
printf "ID = %d\n", $arg0
while $i<1000
  if IdAndValues[$i].ID == $arg0
    printf "ordinal = %d, value = %d\n", $i, IdAndValues[$i].vaue
    set $i++
  end
end
end

You can use all variables in your application in the current context, your own variables (in our example, it is $i), arguments passed (in our example, it is $arg0) and all GDB commands (built-in or user defined).

Use PrintVal 1 from GDB prompt to print out values for ID "1"

By the way, NetBeans does come with a GDB console, but by using the console, you could crash Netbeans. And I believe that is why the console is hidden by default in NetBeans


I am using "Geany" found good so far, its fast and light weight IDE.

Among Geany’s features are:

  • Code folding
  • Session saving
  • Basic IDE features such as syntax highlighting, tabs, automatic indentation and code completion
  • Simple project management
  • Build system
  • Color picker (surprisingly handy during web development)
  • Embedded terminal emulation
  • Call tips
  • Symbol lists
  • Auto-completion of common constructs (such as if, else, while, etc.)

If you like Eclipse for Java, I suggest Eclipse CDT. Despite C/C++ support isn't so powerful as is for Java, it still offers most of the features. It has a nice feature named Managed Project that makes working with C/C++ projects easier if you don't have experience with Makefiles. But you can still use Makefiles. I do C and Java coding and I'm really happy with CDT. I'm developing the firmware for a embedded device in C and a application in Java that talks to this device, and is really nice to use the same environment for both. I guess it probably makes me more productive.


I love how people completely miss the request in the original question for an IDE. Linux is NOT an IDE. That's just not what those words mean. I learned c and c++ using vi and gcc and make, and I'm not saying they aren't adequate tools, but they are NOT an IDE. Even if you use more elaborate tools like vim or emacs or whatever fancy editor you want, typing commands on a command line is not an IDE.

Also, you all know make exists as part of visual studio right? The idea that an IDE is "limiting" is just silly if you can use the IDE to speed some things, yet are still able to fall back on command line stuff when needed.

All that said, I'd suggest, as several above have, trying Code blocks. Its got decent code highlighting, a pretty effortless way to create a project, code it, run it, etc, that is the core of a real IDE, and seems fairly stable. Debugging sucks...I have never seen a decent interactive debugger in any linux/unix variant. gdb ain't it. If you're used to visual studio style debugging, you're pretty much out of luck.

Anyway, I'll go pack my things, I know the one-view-only linux crowd will shout this down and run me out of town in no time.


make + vim + gdb = one great IDE


I quite like Ultimate++'s IDE. It has some features that were designed to use with their own library (which, BTW, is quite a nice toolkit if you don't want to buy on either GTK+ or QT) but it works perfectly well with general C++ projects. It provides decent code completion, good syntax colouring, integrated debugging, and all other features most modern IDEs support.


I really suggest codeblocks. It's not as heavy as Eclipse and it's got Visual Studio project support.


Perhaps the Linux Tools Project for Eclipse could fill your needs?

The Linux Tools project aims to bring a full-featured C and C++ IDE to Linux developers. We build on the source editing and debugging features of the CDT and integrate popular native development tools such as the GNU Autotools, Valgrind, OProfile, RPM, SystemTap, GCov, GProf, LTTng, etc. Current projects include LTTng trace viewers and analyzers, an RPM .spec editor, Autotools build integration, a Valgrind heap usage analysis tool, and OProfile call profiling tools.


On Linux there are plenty of IDEs:

In my experience, the most valuable are Eclipse and Qt Creator. Both provide all "standard" features (i.e., autocompletion, syntax highlightning, debugger, git integration). It is worth noting that Eclipse also provides refactoring functionalities, while Qt Creator provides integration with Valgrind and support for deployment on remote targets.

Also the commercial CLion IDE seems preety good (but I've not used it extensively).


I hear Anjuta is pretty slick for Gnome users. I played a bit with KDevelop and it's nice, but sort of lacking featurewise. Code::Blocks is also very promising, and I like that one best.


Sun Studio version 12 is a free download(FREE and paid support available) -- http://developers.sun.com/sunstudio/downloads/thankyou.jsp?submit=%A0FREE+Download%A0%BB%A0.

I'm sure you have code completion and debugging support including plugin support in this IDE.

Sun Studio is available for Linux as well as Solaris. forums : http://developers.sun.com/sunstudio/community/forums/index.jsp. Sun Studio Linux forums : http://forum.sun.com/forum.jspa?forumID=855

I'll be eager to hear your feedback on this tool.

BR,
~A


I've previously used Ultimate++ IDE and it's rather good.


And then I noticed that this simply isn't how you work there*, and I threw everything out, spent a few days reading manuals, set up my shell (bash), set up a GVIM environment, learned the GCC/binutils toolchain, make and gdb and lived happily ever after.

I'd mostly agree, but the problem is also one of perception: we forget how difficult it was to become productive in any chose IDE (or other environment). I find IDE's (Visual Studio, NetBeans, Eclipse) amazingly cumbersome in so many ways.

As an old-time UNIX guy, I always use Emacs. But that has a pretty steep and long learning curve, so I'm not sure I can recommend it to newcomers.

I'd second that; use Emacs as my primary editor on both Linux and on MSW (XP2,W2K). I would disagree that it has a steep learning curve, but would say that because of the huge number of features it has a long learning curve. You can be productive within a short time, but if you want you can learn new features of it for years to come.

However -- don't expect all the features of Emacs to be available on drop-down menus, there is just too much functionality to find it there.

As I metioned, I've used GNU Emacs on MSW for years. And it's always worked well with Visual Studio until I "upgraded" to 2008; now it sometimes delays many seconds before refreshing files from disk. The main reason for editing in the VS window is the "Intellisense" code completion feature.


geany I recommend


Although I use Vim, some of my co-workers use SlickEdit which looks pretty good. I'm not certain about integrated debugging because we wouldn't be able to do that on our particular project anyway.

SlickEdit does have good support for navigating large code bases, with cross referencing and tag jumping. Of course it has the basic stuff like syntax highlighting and code completion too.


I use Eclipse CDT and Qt Creator (for Qt applications).

That's my preferences. It's a very suggestive question and there is as many answers as there is developers. :)


SlickEdit. I have used and loved SlickEdit since 2005, both on Windows and on Linux. I also have experience working in Visual Studio (5, 6, 2003, 2005) and just with Emacs and command line. I use SlickEdit with external makefiles, some of my teammates use SlickEdit, others use Emacs/vi. I do not use the integrated debugger, integrated version control, integrated build system: I generally find too much integration to be real pain. SlickEdit is robust (very few bugs), fast and intuitive. It is like a German car, a driver's car.

SlickEdit의 최신 버전은 나에게 관심이없는 많은 기능을 제공하는 것 같습니다. 앞으로 제품이 부풀어 오르고 희석 될까 걱정됩니다. 지금은 (V13.0을 사용합니다) 훌륭합니다.


나에게 Ultimate ++ 는 cross-os 프로그램을 작성하는 가장 좋은 솔루션 것 같습니다.


vim을 오랫동안 사용했다면 실제로 IDE로 만들어야합니다. 사용할 수있는 애드온이 많이 있습니다. 나는 그중 몇 가지가 매우 유용하다는 것을 알았고 여기에서 컴파일했습니다.

그리고 vi / vim 팁 & 트릭 시리즈가 훨씬 더 있습니다.

참고 URL : https://stackoverflow.com/questions/24109/c-ide-for-linux

반응형