终端使用帮助

在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代码)。

标签: none

添加新评论