Linux终端使用帮助
终端使用帮助
在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/bash echo "HelloWorld" djy@DianJiaoYuan:~/Temp$ ll temp.sh -rw-rw-r-- 1 djy djy 35 10月 4 22:10 temp.sh djy@DianJiaoYuan:~/Temp$ ./temp.sh bash: ./temp.sh: 权限不够 djy@DianJiaoYuan:~/Temp$ chmod +x temp.sh djy@DianJiaoYuan:~/Temp$ ./temp.sh HelloWorld djy@DianJiaoYuan:~/Temp$ ll temp.sh -rwxrwxr-x 1 djy djy 35 10月 4 22:10 temp.sh* djy@DianJiaoYuan:~/Temp$ chmod -x temp.sh djy@DianJiaoYuan:~/Temp$ ./temp.sh bash: ./temp.sh: 权限不够 djy@DianJiaoYuan:~/Temp$ ll temp.sh -rw-rw-r-- 1 djy djy 35 10月 4 22:10 temp.sh djy@DianJiaoYuan:~/Temp$
mkdir touch
mkdir: 创建目录
touch: 创建文件
echo
输出
$ echo "Hello, World!"
"Hello, World!"
$
ls
ls命令用于列出目录中的所有文件及子目录。有几个常用的参数:
-a:列出隐藏文件,默认有缩写la-l:列出详细信息,默认有缩写ll
cat
输出文件内容
例如:
$ cat temp.txt
Exemple File
pwd
pwd输出当前工作目录即所在目录
cd
进入某目录 例:
djy@DianJiaoYuan:~$ cd 下载
djy@DianJiaoYuan:~/下载$ pwd
/home/djy/下载
rm 删除文件/目录
rm <filename>删除文件
djy@DianJiaoYuan:~/Temp$ touch temp.txt
djy@DianJiaoYuan:~/Temp$ ls
temp.txt
djy@DianJiaoYuan:~/Temp$ rm temp.txt
djy@DianJiaoYuan:~/Temp$ ls
djy@DianJiaoYuan:~/Temp$
辅助字符(部分常用的)
&&
连续执行(在前者执行成功之后) 如
djy@DianJiaoYuan:~$ mkdir Temp && cd Temp
djy@DianJiaoYuan:~/Temp$ pwd
/home/djy/Temp
> / >>
>: 覆写。即删除文件所有内容并写入(执行过程:若存在同名文件:覆盖;不存在:创建。所以会自动创建文件)
>>: 追加。即在文件最后追加内容(同样会自动创建文件(兼容性存疑))
djy@DianJiaoYuan:~/Temp$ touch temp.txt
djy@DianJiaoYuan:~/Temp$ ls
temp.txt
djy@DianJiaoYuan:~/Temp$ cat temp.txt
djy@DianJiaoYuan:~/Temp$ echo "Hello, world!" > temp.txt
djy@DianJiaoYuan:~/Temp$ cat temp.txt
Hello, world!
djy@DianJiaoYuan:~/Temp$ echo "Hello, Linux!" > temp.txt
djy@DianJiaoYuan:~/Temp$ cat temp.txt
Hello, Linux!
djy@DianJiaoYuan:~/Temp$ echo "Hello, Linux!" >> temp.txt
djy@DianJiaoYuan:~/Temp$ cat temp.txt
Hello, Linux!
Hello, Linux!
djy@DianJiaoYuan:~/Temp$ rm temp.txt
djy@DianJiaoYuan:~/Temp$ ls
djy@DianJiaoYuan:~/Temp$ echo "Hello, world!" > temp.txt
djy@DianJiaoYuan:~/Temp$ ls
temp.txt
djy@DianJiaoYuan:~/Temp$ cat temp.txt
Hello, world!
djy@DianJiaoYuan:~/Temp$ rm temp.txt
djy@DianJiaoYuan:~/Temp$ ls
djy@DianJiaoYuan:~/Temp$ echo "Hello, World!" >> temp.txt
djy@DianJiaoYuan:~/Temp$ ls
temp.txt
djy@DianJiaoYuan:~/Temp$ cat temp.txt
Hello, 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.cpp
djy@DianJiaoYuan:~/Temp$ g++ -std=c++14 -O2 -o temp temp.cpp
djy@DianJiaoYuan:~/Temp$ ./temp
1
a = 1
djy@DianJiaoYuan:~/Temp$ echo "12" > ./temp
djy@DianJiaoYuan:~/Temp$ echo "#include <bits/stdc++.h>
int main() {
int a;
std::cin >> a;
std::cout << \"a = \" << a << std::endl;
return 0;
}" > temp.cpp
djy@DianJiaoYuan:~/Temp$ g++ -std=c++14 -O2 -o temp temp.cpp
djy@DianJiaoYuan:~/Temp$ echo "1" | ./temp
a = 1
djy@DianJiaoYuan:~/Temp$ echo "1" > ./temp
djy@DianJiaoYuan:~/Temp$ ./temp
./temp: 行 1: 1:未找到命令
djy@DianJiaoYuan:~/Temp$ cat ./temp
1
这个用处还是挺多的,可以直接把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 | lolcat
001.cpp
下载
桌面
clash-for-linux
OI-ZhX589
temp
Temp
temp.cpp
temp.o
当然,实际上要你们自行测试才能清楚是什么样子的(或者使用typora打开时查看上面那一段HTML代码)。