「Linux」Linux系统使用注意事项

注意

如果你手贱按到ctrl + alt + F[1-6]的话会进入tty [1-6]

可以按ctrl + alt + F7回到原始桌面gnome

NOI Linux 1.4.1 快捷键

ctrl + F 查找

home end 快速行首尾

鼠标点击 文件(F) + A 存文件

ctrl + S 保存

ctrl + 小键盘+号 ctrl + 小键盘-号 调大调小字体

ctrl + Z ctrl + shift + Z撤销 恢复

ctrl + W 关闭打开的标签(系统文件夹也可以用此方法关闭)

ctrl + Q 结束选定任务的进程,效果和按左上角的关闭键一样,没保存也可以提示保存

ctrl + N 新建文件(适用于GUIDE,记事本…)

F9 在光标当前代码行添加断点

F7 编译

ctrl + F5运行

ctrl + ] 挺实用的,从当前括号转至和当前括号匹配的括号

终端命令和快捷键

x-term(这东西不能粘贴)

alt + return 进入退出全屏(如果手贱全屏了就按这个键)

x-term 除了更改配置文件是没有粘贴快捷键的,最好在程序加freopen或者terminal运行

Terminal

ctrl + alt + T 快捷打开终端

ctrl + shift + Q退出终端需要拿shift修饰

ctrl + shift + N新建终端窗口

ctrl + shift + C/V 复制粘贴(快捷键用法和GUI一样,只不过因为Terminal里ctrl + C是结束,需要用shift转义一下)

ctrl + C强制结束程序(类似计算器里的AC Break

cd Desktop/LN-0149/game/ 终端进入选手目录下的game文件夹

cd .. 返回上一层目录

ls显示当前路径文件

g++ -o game game.cpp -g使用g++编译器编译cpp文件

./game运行已经编译好的可执行文件(好处是可以使用ctrl + shift + V粘贴,xterm不行)

pwd显示当前绝对路径(以macOS下的Terminal演示)

Last login: Sat Nov  4 20:21:56 on ttys000
➜  ~ cd Desktop/LN-2333/bird 
➜  pwd
/Users/Ex10si0n/Desktop/LN-2333/bird

这条语句对于比赛用GUIDE的选手没啥太大作用

Tips:freopen千万别写绝对路径:

freopen("/Users/Ex10si0n/Desktop/LN-2333/bird/bird.in","r",stdin); //错误
freopen("bird.in","r",stdin);                                       //正确

GDB

在使用GDB调试之前,需要用g++的详细模式编译cpp文件:

➜  ls
data1.in  hotel.cpp
➜  g++ -o hotel hotel.cpp -g
➜  ls
data1.in   hotel      hotel.cpp  hotel.dSYM

接着gdb hotel

➜  gdb hotel
GNU gdb (GDB) 8.0.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin17.0.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from hotel...Reading symbols from /Users/Ex10si0n/Desktop/LN-2333/hotel/hotel.dSYM/Contents/Resources/DWARF/hotel...done.
done.
(gdb)

b 21 在第21行加断点

(gdb) b 21
Breakpoint 1 at 0x100000b66: file hotel.cpp, line 21.

r 运行

(gdb) r
Starting program: /Users/Ex10si0n/Desktop/LN-2333/hotel/hotel 
[New Thread 0x1c03 of process 3014]
[New Thread 0x1d03 of process 3014]
warning: unhandled dyld version (15)

Thread 3 hit Breakpoint 1, main () at hotel.cpp:21
21        for(int i=0;i<k;i++){

disp n查看变量

(gdb) disp n
2: n = 5
(gdb) disp k
3: k = 2
(gdb) disp p
4: p = 3

n 下一步(不进入字过程)下一次敲n可以省略(一直回车就行)

s下一步(进入子过程)

(gdb) n
22            for(int j=1;j<=n;j++){
1: n = 5
2: k = 2
3: p = 3

d disp 删掉所有查看

(gdb) d disp
Delete all auto-display expressions? (y or n) y
(gdb)

q 退出GDB

(gdb) q

Vim

因为我不用这个所以就简单说点

终端输入vim进入程序


~                              VIM - Vi IMproved                                
~                                                                               
~                               version 8.0.642                                 
~                           by Bram Moolenaar et al.                            
~                 Vim is open source and freely distributable                   
~                                                                               
~                           Sponsor Vim development!                            
~                type  :help sponsor<Enter>    for information                  
~                                                                               
~                type  :q<Enter>               to exit                          
~                type  :help<Enter>  or  <F1>  for on-line help                 
~                type  :help version8<Enter>   for version info

i 插入文字

#include <iostream>
using namespace std;
int main(){
        cout<<"Helloworld"<<endl;
        return 0;
}
~                                                                               
~                                                                                  
-- INSERT --

esc 退出编辑模式

:w helloworld.cpp 另存为

➜  ~ ls
Desktop           Library           Pictures          helloworld.cpp
Documents         Movies            Public            node_modules
Downloads         Music             bird.out          package-lock.json

:w保存文本

:q退出vim

Tips: 在使用vim之前最好cd到某个目录,不要在系统目录下保存

比如我们cd Desktop

Last login: Sat Nov  4 20:57:28 on ttys000
➜  ~ ls
Desktop           Library           Pictures          helloworld.cpp
Documents         Movies            Public            node_modules
Downloads         Music             bird.out          package-lock.json
➜  ~ cd Desktop/
Desktop/       Downloads/     Movies/        Pictures/      node_modules/
Documents/     Library/       Music/         Public/                     
➜  ls
Code Repo      Github         Notepad        Work           hexo
Codes          LN-2333        SPFA.cpp       helloworld.cpp neko

看到helloworld.cpp 用vim编辑:

vim helloworld.cpp

➜  vim helloworld.cpp

然后就可以进入编辑状态

#include <iostream>
using namespace std;
int main(){
        cout<<"Helloworld"<<endl;
        return 0;
}

~                                                                               
~                                                                                                                                                          

"helloworld.cpp" 7L, 94C

在全程使用terminal的时候vim确实有很大用处,但是一般人还是更偏向GUI的.

分享到