终端使用帮助
在Linux下,终端是一定需要掌握的工具。它可以直接与任何安装在系统上的软件进行交互(包括系统底层(直接或通过软件)),并可以执行许多在图形化界面不能完成的操作,因为Linux最初就只有一个终端(绝大多数来电脑皆是这样的,包括Windows的老祖宗)
常用命令一览
sudo - 提升权限
Pay Attantion!!!!!
We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.#2) Think before you type.#3) With great power comes great responsibility.[sudo] password for [用户名]:
这是第一次运行sudo时的提示。很抱歉这一次被我使用掉了。但是你们也必须知道这一点。sudo是提升用户权限为管理员的指令,使用后的10min用户都可以显式地获得临时的管理员权限(如用于安装软件等)。
注意:sudo命令后的输入密码环节**密码不回显!**即没有*提示(可以配置但是没有必要)
上面那段话的翻译:
我们相信您已从当地系统那里听到了常规的训诫 管理员。通常归结为以下三点: #1) 尊重他人的隐私。 #2)三思而后行。 #3) 力量越大,责任越大。 [sudo] 用户名 的密码:
chmod:权限管理之一
常用参数:
-
-x:添加执行权限。 -
同样的也有
-x:取消执行权限例如:
djy@DianJiaoYuan:~/Temp$ cat temp.sh#!/usr/bin/bashecho "HelloWorld"djy@DianJiaoYuan:~/Temp$ ll temp.sh-rw-rw-r-- 1 djy djy 35 10月 4 22:10 temp.shdjy@DianJiaoYuan:~/Temp$ ./temp.shbash: ./temp.sh: 权限不够djy@DianJiaoYuan:~/Temp$ chmod +x temp.shdjy@DianJiaoYuan:~/Temp$ ./temp.shHelloWorlddjy@DianJiaoYuan:~/Temp$ ll temp.sh-rwxrwxr-x 1 djy djy 35 10月 4 22:10 temp.sh*djy@DianJiaoYuan:~/Temp$ chmod -x temp.shdjy@DianJiaoYuan:~/Temp$ ./temp.shbash: ./temp.sh: 权限不够djy@DianJiaoYuan:~/Temp$ ll temp.sh-rw-rw-r-- 1 djy djy 35 10月 4 22:10 temp.shdjy@DianJiaoYuan:~/Temp$
mkdir touch
mkdir: 创建目录
touch: 创建文件
echo
输出
$ echo "Hello, World!""Hello, World!"$ls
ls命令用于列出目录中的所有文件及子目录。有几个常用的参数:
-a:列出隐藏文件,默认有缩写la-l:列出详细信息,默认有缩写ll
cat
输出文件内容
例如:
$ cat temp.txtExemple Filepwd
pwd输出当前工作目录即所在目录
cd
进入某目录 例:
djy@DianJiaoYuan:~$ cd 下载djy@DianJiaoYuan:~/下载$ pwd/home/djy/下载rm 删除文件/目录
rm <filename>删除文件
djy@DianJiaoYuan:~/Temp$ touch temp.txtdjy@DianJiaoYuan:~/Temp$ lstemp.txtdjy@DianJiaoYuan:~/Temp$ rm temp.txtdjy@DianJiaoYuan:~/Temp$ lsdjy@DianJiaoYuan:~/Temp$辅助字符(部分常用的)
&&
连续执行(在前者执行成功之后) 如
djy@DianJiaoYuan:~$ mkdir Temp && cd Tempdjy@DianJiaoYuan:~/Temp$ pwd/home/djy/Temp> / >>
>: 覆写。即删除文件所有内容并写入(执行过程:若存在同名文件:覆盖;不存在:创建。所以会自动创建文件)
>>: 追加。即在文件最后追加内容(同样会自动创建文件(兼容性存疑))
djy@DianJiaoYuan:~/Temp$ touch temp.txtdjy@DianJiaoYuan:~/Temp$ lstemp.txtdjy@DianJiaoYuan:~/Temp$ cat temp.txtdjy@DianJiaoYuan:~/Temp$ echo "Hello, world!" > temp.txtdjy@DianJiaoYuan:~/Temp$ cat temp.txtHello, world!djy@DianJiaoYuan:~/Temp$ echo "Hello, Linux!" > temp.txtdjy@DianJiaoYuan:~/Temp$ cat temp.txtHello, Linux!djy@DianJiaoYuan:~/Temp$ echo "Hello, Linux!" >> temp.txtdjy@DianJiaoYuan:~/Temp$ cat temp.txtHello, Linux!Hello, Linux!djy@DianJiaoYuan:~/Temp$ rm temp.txtdjy@DianJiaoYuan:~/Temp$ lsdjy@DianJiaoYuan:~/Temp$ echo "Hello, world!" > temp.txtdjy@DianJiaoYuan:~/Temp$ lstemp.txtdjy@DianJiaoYuan:~/Temp$ cat temp.txtHello, world!djy@DianJiaoYuan:~/Temp$ rm temp.txtdjy@DianJiaoYuan:~/Temp$ lsdjy@DianJiaoYuan:~/Temp$ echo "Hello, World!" >> temp.txtdjy@DianJiaoYuan:~/Temp$ lstemp.txtdjy@DianJiaoYuan:~/Temp$ cat temp.txtHello, World!|管道字符。
将前者的输出作为后者的输入执行两者(将前者的标准输出(stdout)重定向到后者的标准输入stdin)。
例如:
djy@DianJiaoYuan:~/Temp$ echo "#include <bits/stdc++.h>int main() { int a; std::cin >> a; std::cout << \"a = \" << a << std::endl; return 0;}" > temp.cppdjy@DianJiaoYuan:~/Temp$ g++ -std=c++14 -O2 -o temp temp.cppdjy@DianJiaoYuan:~/Temp$ ./temp1a = 1djy@DianJiaoYuan:~/Temp$ echo "12" > ./tempdjy@DianJiaoYuan:~/Temp$ echo "#include <bits/stdc++.h>int main() { int a; std::cin >> a; std::cout << \"a = \" << a << std::endl; return 0;}" > temp.cppdjy@DianJiaoYuan:~/Temp$ g++ -std=c++14 -O2 -o temp temp.cppdjy@DianJiaoYuan:~/Temp$ echo "1" | ./tempa = 1djy@DianJiaoYuan:~/Temp$ echo "1" > ./tempdjy@DianJiaoYuan:~/Temp$ ./temp./temp: 行 1: 1:未找到命令djy@DianJiaoYuan:~/Temp$ cat ./temp1这个用处还是挺多的,可以直接把cat 文件作为前项,达到不用手输输入。或者这个好玩的(需要你们自己试试,我这里就放终端复制的HTML了)
djy@DianJiaoYuan:~$ ll | lolcat 总用量 72 drwxr-xr-x 12 djy djy 4096 10月 3 23:20 ./ drwxr-xr-x 3 root root 4096 10月 3 21:52 ../ drwxr-xr-x 2 djy djy 4096 10月 3 22:37 下载/ drwxr-xr-x 2 djy djy 4096 10月 3 22:44 桌面/ -rw------- 1 djy djy 15 10月 3 21:57 .bash_history -rw-r--r-- 1 djy djy 220 10月 3 21:52 .bash_logout -rw-r--r-- 1 djy djy 3771 10月 3 21:52 .bashrc drwx------ 14 djy djy 4096 10月 4 2025 .cache/ drwxr-xr-x 12 djy djy 4096 10月 3 22:03 .config/ drwx------ 3 djy djy 4096 10月 3 21:52 .dbus/ drwx------ 3 djy djy 4096 10月 4 2025 .gnupg/ drwx------ 3 djy djy 4096 10月 4 2025 .local/ drwx------ 5 djy djy 4096 10月 4 2025 .mozilla/ -rw-r--r-- 1 djy djy 807 10月 3 21:52 .profile -rw-r--r-- 1 djy djy 0 10月 3 22:37 .sudo_as_admin_successful drwxrwxr-x 2 djy djy 4096 10月 3 23:35 Temp/ -rw------- 1 djy djy 4138 10月 3 22:44 .viminfo drwxr-xr-x 3 djy djy 4096 10月 3 21:52 .vscode/
第三方常用软件
g++
这里介绍g++的常用用法
g++ “文件名” <选项> 常用的选项有:
-o指定输出文件名-std=指定C++标准。如C++ 14
lolcat: 彩色输出
例如:
djy@DianJiaoYuan:~$ ls | lolcat001.cpp下载桌面clash-for-linuxOI-ZhX589tempTemptemp.cpptemp.o当然,实际上要你们自行测试才能清楚是什么样子的(或者使用typora打开时查看上面那一段HTML代码)。