gcc
指令 编译器ps
指令 进程状态wgat
指令 下载工具chmod
指令 修改文件或目录权限chmod +x
文件添加执行权限drwxrwxr-x
更改为drwxrwxrwx
scp
命令 本地系统和远程系统之间复制文件scp
通过 SSH 安全地将文件从一个系统复制到另一个系统
ssh
指令 连接到远程服务器或虚拟机sudo
指令 Linux 系统上以超级用户(root)或其他用户的身份执行命令sudo -h
显示 sudo 命令的基本帮助信息sudo passwd root
为 root 用户设置密码
rm
指令 删除文件或目录(请谨慎使用此命令)rm -rf
文件夹 删除文件夹(请谨慎使用此命令)rm
删除文件 删除操作失败(请谨慎使用此命令)
export
指令 设置或显示环境变量printenv
和env
命令 显示当前的环境变量file
指令 确定文件类型make
指令 自动化编译和构建项目md5sum
指令 计算文件 MD5 散列值du
指令 查看磁盘使用情况echo
指令 终端或脚本中打印文本echo $PATH
显示环境变量 PATH 的值
pwd
指令 显示当前工作目录(当前所在路径)cat
指令 显示文件内容或将多个文件连接到一个文件cat /proc/cpuinfo
显示有关 CPU(中央处理器)的信息
uname
指令 显示系统信息df
指令 显示磁盘空间使用情况df -T
显示文件系统的类型及其磁盘空间使用情况
su
指令 切换用户身份su - root
切换到 root 用户
一、常用的命令行指令
以下是一些常用的命令行指令,它们的类型和作用:
命令 | 类型 | 作用 |
---|---|---|
ls | 文件/目录管理 | 列出当前目录下的文件和子目录 |
cd | 文件/目录管理 | 改变当前工作目录 |
mkdir | 文件/目录管理 | 创建新目录 |
rm | 文件/目录管理 | 删除文件或目录 |
cp | 文件/目录管理 | 复制文件或目录 |
mv | 文件/目录管理 | 移动或重命名文件或目录 |
cat | 文件操作 | 连接、显示文件内容 |
grep | 文本处理 | 在文件中查找特定文本 |
chmod | 权限管理 | 修改文件或目录的权限 |
ps | 进程管理 | 显示当前运行的进程 |
kill | 进程管理 | 终止进程 |
ping | 网络管理 | 测试与目标主机的网络连接 |
ifconfig | 网络管理 | 配置和显示网络接口信息 |
wget | 下载管理 | 从网络上下载文件 |
tar | 压缩/解压 | 打包、压缩、解压文件 |
gcc | 编译器 | 编译源代码 |
这是一些基本的命令,涵盖了文件/目录管理、文本处理、权限管理、进程管理、网络管理、下载管理、压缩/解压和编译器等方面。每个命令都有特定的功能和用法,可以根据具体的需求选择使用。
二、其他常用的指令
除了命令行指令之外,还有一些其他常用的指令,涉及系统管理、软件包管理等方面。以下是一些例子:
指令 | 类型 | 作用 |
---|---|---|
sudo | 权限管理 | 以超级用户权限运行命令 |
apt-get | 软件包管理 (Ubuntu/Debian) | 安装、升级、删除软件包 |
yum | 软件包管理 (Red Hat/Fedora) | 安装、升级、删除软件包 |
systemctl | 服务管理 | 管理系统服务 |
journalctl | 日志管理 | 查看系统日志 |
useradd | 用户管理 | 创建新用户 |
passwd | 用户管理 | 更改用户密码 |
chmod | 权限管理 | 更改文件或目录权限 |
chown | 权限管理 | 更改文件或目录的所有者 |
reboot | 系统管理 | 重新启动系统 |
shutdown | 系统管理 | 关机系统 |
df | 磁盘管理 | 显示文件系统的磁盘空间使用情况 |
du | 磁盘管理 | 显示目录或文件的磁盘使用情况 |
这些指令涵盖了更广泛的系统管理、服务管理、用户管理、磁盘管理等方面。每个指令都有具体的功能和用法,根据需要选择使用。
gcc指令 编译器
gcc
是 GNU Compiler Collection 的缩写,是一个用于编译程序的工具。下面是一些 gcc
命令的常见用法:
- 编译源代码并生成可执行文件:
gcc source.c -o output
这个命令将 source.c
编译成一个可执行文件,并命名为 output
。你可以将 output
替换为你想要的任何文件名。
- 仅编译源代码,生成目标文件:
gcc -c source.c -o output.o
这个命令将 source.c
编译成目标文件 output.o
,而不生成可执行文件。
- 指定编译器版本:
gcc-8 source.c -o output
如果你系统上安装了多个版本的 gcc
,你可以使用特定版本的编译器。
- 查看
gcc
版本:
gcc --version
这个命令将显示当前安装的 gcc
版本信息。
- 将头文件目录包含在编译过程中:
gcc source.c -o output -I /path/to/include
使用 -I
选项可以将指定的目录包含在头文件搜索路径中。
- 将库文件目录包含在编译过程中:
gcc source.c -o output -L /path/to/lib -l library
使用 -L
选项可以将指定的目录包含在库文件搜索路径中,而 -l
选项指定要链接的库。
这只是 gcc
命令的一些基本用法,该命令有很多选项,可以根据需要查看 man gcc
来获取详细的帮助文档。
gcc
是编译器,用于将源代码编译成可执行文件。除了 gcc
之外,还有一些其他常用的编译、链接和调试工具。以下是其中一些:
-
g++: 用于编译 C++ 源代码的工具,它与
gcc
类似,但专门用于 C++。g++ source.cpp -o output
-
make: 用于管理项目中的编译过程,自动化构建过程。
make
-
ld: GNU 的链接器,用于将目标文件链接成可执行文件。
ld -o output source.o
-
ar: 用于创建、修改和提取归档文件(静态库)的工具。
ar rcs libexample.a example1.o example2.o
-
objdump: 用于显示目标文件或可执行文件的信息。
objdump -d executable
-
nm: 显示二进制目标文件的符号表。
nm executable
-
strip: 用于剥离可执行文件中的符号信息,减小文件大小。
strip executable
-
size: 显示目标文件中各个节的大小。
size executable
这些工具通常与 gcc
一起使用,以完成不同的任务,如编译、链接、构建库和调试。
ps指令 进程状态
ps
命令用于显示当前运行在系统上的进程状态。以下是一些常见的 ps
命令选项:
- ps aux:显示所有用户的所有进程信息。
ps aux
- ps -ef:显示所有进程的完整信息。
ps -ef
- ps aux | grep [process_name]:通过进程名称过滤显示进程信息。
ps aux | grep firefox
- ps -u [user_name]:显示特定用户的进程信息。
ps -u username
- ps -e | grep [process_name]:查找特定进程是否在运行。
ps -e | grep apache
这只是一些 ps
命令的基本用法,该命令有很多选项,你可以根据具体需要查看 man ps
来获取详细的帮助文档。
wgat指令 下载工具
wget
是一个 Linux/Unix 系统下的命令行工具,用于从网络上下载文件。以下是一些常用的 wget
指令示例:
-
基本用法:
wget [URL]
例如:
wget https://example.com/file.zip
这将从指定的 URL 下载文件。
-
指定保存文件名:
wget -O [filename] [URL]
例如:
wget -O myfile.zip https://example.com/file.zip
这将下载文件并将其保存为指定的文件名。
-
后台下载:
wget -b [URL]
这将在后台下载文件。
-
限速下载速度:
wget --limit-rate=[speed] [URL]
例如:
wget --limit-rate=200k https://example.com/file.zip
这将限制下载速度为 200KB/s。
-
递归下载整个目录:
wget -r [URL]
这将递归下载指定 URL 下的所有文件。
-
继续下载中断的文件:
wget -c [URL]
这将继续下载之前中断的文件。
-
使用代理服务器:
wget --proxy-user=[user] --proxy-password=[password] [URL]
用于通过代理服务器下载文件。
这只是一些 wget
的基本用法,你可以通过 man wget
命令查看 wget
的详细文档以获取更多选项和用法。
chmod指令 修改文件或目录权限
chmod
是用于修改文件或目录权限的命令。它允许你更改文件的读、写和执行权限,以及文件所属的用户和组。
基本的 chmod
语法如下:
chmod [options] mode file
options
: 可选,用于指定一些额外的选项。mode
: 权限模式,可以是数字形式(如 755)或符号形式(如 +x)。file
: 要修改权限的文件或目录的名称。
一些常见的权限模式包括:
-
数字形式:
- 4(读权限)
- 2(写权限)
- 1(执行权限)
这些数字可以组合使用,例如,读写权限是 4 + 2 = 6。
-
符号形式:
u
(用户/所有者)g
(组)o
(其他人)a
(所有人)+
(添加权限)-
(移除权限)=
(设置权限)
一些示例:
# 将文件设置为所有者可读写,组可读,其他人可读的权限
chmod 644 filename
# 将文件设置为所有者具有执行权限
chmod u+x filename
# 将目录及其子目录和文件设置为所有者可读写执行,组可读写执行,其他人可读写执行的权限
chmod -R 700 directory
这只是 chmod
命令的简单用法。有关更详细的信息,可以查看 man chmod
。
chmod +x 文件添加执行权限
chmod +x
命令用于为文件添加执行权限。但是对于文件夹(目录),你需要结合 chmod +x
和 chmod +r
来使其可执行和可读。
以下是为目录添加执行和读取权限的命令:
chmod +rx photo
这为“photo”目录的所有者、组和其他用户添加了执行和读取权限。如果你还想要写入权限,可以使用 chmod +rwx
。
chmod +rwx photo
确保你有足够的权限来修改目录。如果遇到权限问题,可能需要使用 sudo
:
sudo chmod +rx photo
请记住,给予目录执行权限允许你进入目录(即 cd
进入目录)并访问其中的内容。如果你在特定文件或目录上遇到问题,最好使用 ls -l
命令查看当前的权限和所有者:
ls -l photo
这将显示“photo”目录的当前权限和所有者。根据需要调整权限。
drwxrwxr-x 更改为 drwxrwxrwx
在 drwxrwxr-x
的权限表示中,r
表示读取权限,w
表示写入权限,x
表示执行权限。每三个字符表示一个权限集合,分别对应文件所有者、文件所属组、其他用户。
对于 drwxrwxr-x
,可以看到所有者和组都有读、写和执行权限,而其他用户只有读和执行权限。
如果你想将 drwxrwxr-x
更改为 drwxrwxrwx
,即添加其他用户的写入权限,可以使用 chmod
命令:
chmod o+w your_directory
这会为“your_directory”目录的其他用户添加写入权限。如果你想给予所有权限,可以使用:
chmod a+rwx your_directory
这会为“your_directory”目录的所有用户添加读、写和执行权限。记得确保你有足够的权限来修改目录。如果需要,可以使用 sudo
:
sudo chmod a+rwx your_directory
请根据实际需求选择合适的权限设置。
scp命令 本地系统和远程系统之间复制文件
scp
命令用于在本地系统和远程系统之间复制文件,它的基本用法已经在前面的回答中介绍过。下面是一些常用的 scp
命令选项和用法:
-
复制本地文件到远程系统:
scp /path/to/local/file.txt user@remote_ip:/path/to/remote/directory/
-
从远程系统复制文件到本地:
scp user@remote_ip:/path/to/remote/file.txt /path/to/local/directory/
-
递归复制整个目录:
scp -r /path/to/local/directory/ user@remote_ip:/path/to/remote/directory/
-
指定端口号:
scp -P port_number /path/to/local/file.txt user@remote_ip:/path/to/remote/directory/
-
显示详细信息(调试模式):
scp -v /path/to/local/file.txt user@remote_ip:/path/to/remote/directory/
-
限制带宽:
scp -l bandwidth_limit /path/to/local/file.txt user@remote_ip:/path/to/remote/directory/
-
使用非默认 SSH 密钥文件:
scp -i /path/to/private/key.pem /path/to/local/file.txt user@remote_ip:/path/to/remote/directory/
-
将文件从远程系统复制到本地,并保留原始时间戳:
scp -p user@remote_ip:/path/to/remote/file.txt /path/to/local/directory/
-
将文件从远程系统复制到本地,并使用压缩:
scp -C user@remote_ip:/path/to/remote/file.txt /path/to/local/directory/
以上是一些常见的 scp
命令选项和用法。你可以通过 man scp
命令在终端查看 scp
的手册页,以获取更详细的信息。
scp 通过 SSH 安全地将文件从一个系统复制到另一个系统
在 Linux 中,你可以使用 scp
命令(Secure Copy Protocol)通过 SSH 安全地将文件从一个系统复制到另一个系统。以下是一个例子,演示如何将本地文件复制到远程系统的指定目录:
scp /path/to/local/file.txt user@remote_ip:/path/to/remote/directory/
其中:
/path/to/local/file.txt
是你要复制的本地文件路径。user
是远程系统上的用户名。remote_ip
是远程系统的 IP 地址。/path/to/remote/directory/
是远程系统上你要复制到的目标目录。
执行这个命令时,你可能需要输入远程用户的密码。如果你想避免输入密码,可以设置 SSH 密钥认证。
如果远程系统上的目录不存在,scp
会在目标位置创建它。如果目标位置已经存在同名文件,它将被覆盖。
确保你的系统上有 ssh
和 scp
命令,并且你有权限访问远程系统。
ssh指令 连接到远程服务器或虚拟机
在 Linux 系统中,可以使用 ssh
命令(Secure Shell)来连接到远程服务器或虚拟机。使用的基本语法为:
ssh username@remote_host
其中:
username
是你在远程主机上的用户名。remote_host
是远程主机的 IP 地址或主机名。
例如,如果你的虚拟机的 IP 地址是 192.168.1.100
,并且你在虚拟机上有一个用户名为 user
,则可以使用以下命令连接到该虚拟机:
ssh user@192.168.1.100
如果需要指定端口号,可以使用 -p
选项:
ssh -p port_number user@192.168.1.100
其中 port_number
是 SSH 服务器监听的端口号。默认情况下,SSH 使用端口 22。
请确保你的虚拟机上已经运行了 SSH 服务器,并且防火墙设置允许 SSH 连接。
在 ssh
连接中,退出的常见方法是按下键盘上的 Ctrl
键和 D
键,或者直接输入 exit
命令。
如果你使用了 ssh
连接到远程主机或虚拟机,然后在远程主机的 shell 中工作,你可以在 shell 中输入 exit
或者按下 Ctrl
+ D
来退出。这将终止远程连接并回到本地 shell。
如果你只是在本地 shell 中执行 ssh
命令,那么退出是通过在连接的终端上按下 Ctrl
+ C
或者关闭终端窗口来完成的。
总体而言, exit
或者 Ctrl
+ D
是退出远程 shell 的常见方式。
sudo指令 Linux 系统上以超级用户(root)或其他用户的身份执行命令
sudo
是用于在 Linux 系统上以超级用户(root)或其他用户的身份执行命令的命令。“sudo” 是 “superuser do” 的缩写,它允许经过授权的用户以其他用户的身份执行命令,通常是以 root 用户的权限执行。
基本的 sudo
语法如下:
sudo [options] command [arguments]
options
: 可选,用于指定一些额外的选项。command
: 要执行的命令。arguments
: 命令的参数。
一些常见的 sudo
用法:
-
以 root 用户执行命令:
sudo command
-
以其他用户身份执行命令:
sudo -u username command
-
编辑系统文件:
sudo nano /etc/hosts
-
安装软件包:
sudo apt-get install package_name
-
以 root 用户启动交互式 shell:
sudo -i
请注意,使用 sudo
需要输入当前用户的密码,以确认用户有权执行该命令。此外,要确保你具有执行 sudo
命令的权限,通常是在系统安装时分配给用户的。
sudo -h 显示 sudo 命令的基本帮助信息
通常情况下,sudo -h
用于显示 sudo 命令的基本帮助信息。:
以下是 sudo -h
输出的详细解析 帮助信息:
选项 | 说明 |
---|---|
-A, --askpass | 使用辅助程序进行密码提示 |
-b, --background | 在后台运行命令 |
-B, --bell | 在提示时响铃 |
-C, --close-from=num | 关闭所有文件描述符 >= num |
-D, --chdir=directory | 在运行命令之前更改工作目录 |
-E, --preserve-env | 在运行命令时保留用户环境 |
--preserve-env=list | 保留特定环境变量 |
-e, --edit | 编辑文件而不运行命令 |
-g, --group=group | 以指定的组名或ID运行命令 |
-H, --set-home | 将 HOME 变量设置为目标用户的家目录 |
-h, --help | 显示帮助信息并退出 |
-h, --host=host | 在主机上运行命令(如果插件支持) |
-i, --login | 以目标用户身份运行登录 shell;也可以指定命令 |
-K, --remove-timestamp | 完全删除时间戳文件 |
-k, --reset-timestamp | 使时间戳文件无效 |
-l, --list | 列出用户的特权或检查特定命令;使用两次以获取更长的格式 |
-n, --non-interactive | 非交互模式,不使用提示 |
-P, --preserve-groups | 保留组向量而不是设置为目标的 |
-p, --prompt=prompt | 使用指定的密码提示 |
-R, --chroot=directory | 在运行命令之前更改根目录 |
-r, --role=role | 创建具有指定角色的 SELinux 安全上下文 |
-S, --stdin | 从标准输入读取密码 |
-s, --shell | 以目标用户身份运行 shell;也可以指定命令 |
-t, --type=type | 创建具有指定类型的 SELinux 安全上下文 |
-T, --command-timeout=timeout | 在指定的时间限制后终止命令 |
-U, --other-user=user | 在列表模式下,显示用户的特权 |
-u, --user=user | 以指定的用户名或用户ID运行命令 |
-V, --version | 显示版本信息并退出 |
-v, --validate | 更新用户的时间戳而不运行命令 |
-- | 停止处理命令行参数 |
请注意,上面包含 sudo -h
命令的一些选项和说明。实际上 sudo -h
输出的帮助信息可能更为详细,包含更多的选项和用法。你可以在终端中运行 sudo -h
命令,查看详细的帮助信息,你可以根据需要扩展表格,添加更多的选项和详细信息。
sudo passwd root 为 root 用户设置密码
sudo passwd root
命令用于为 root 用户设置密码。在 Linux 系统中,默认情况下,root 用户是被禁用的,不允许直接登录。一般情况下,建议使用 sudo
命令来执行需要超级用户权限的任务,而不是直接切换到 root 用户。
上述命令会要求你输入当前用户的密码,然后设置 root 用户的密码。但请注意,在很多 Linux 发行版中,直接启用 root 用户是不推荐的,因为这会增加系统被滥用的风险。
如果你真的需要执行一些需要 root 权限的任务,建议使用 sudo
命令,而不是启用 root 用户。
rm指令 删除文件或目录(请谨慎使用此命令)
rm
是用于删除文件或目录的命令。它允许用户删除文件,但要小心使用,因为删除的文件通常无法恢复。以下是基本的 rm
用法:
rm [options] file1 file2 ...
options
: 可选,用于指定一些额外的选项。file1 file2 ...
: 要删除的文件或目录的名称。
一些常见的 rm
用法:
-
删除文件:
rm filename
-
删除多个文件:
rm file1 file2 file3
-
删除目录及其内容(递归删除):
rm -r directory
-
删除文件时不显示提示信息:
rm -f filename
-
删除目录及其内容时不显示提示信息:
rm -rf directory
请谨慎使用 -r
和 -f
选项,特别是在删除目录时。递归删除 (-r
) 会删除目录及其所有子目录和文件,而 -f
选项会强制执行删除,不显示任何提示信息。
要避免误删除文件,可以首先使用 ls
命令查看文件列表,确保你要删除的文件正确。
rm -rf 文件夹 删除文件夹 (请谨慎使用此命令)
要删除文件夹,你可以使用 rm
命令。如果你要删除一个目录及其内容,可以使用 -r
选项(递归删除)。
rm -r your_directory
请谨慎使用此命令,因为它会删除整个目录及其包含的所有文件和子目录。确保你真的想要删除这个目录,因为删除后无法撤销。
如果目录不为空,系统会提示你确认删除。如果想要删除目录而不需要确认,可以使用 -f
选项:
rm -rf your_directory
同样,请注意在使用 rm -rf
时要小心,确保你不会意外删除重要的文件或目录。
rm 删除文件 删除操作失败(请谨慎使用此命令)
SFTP error #4 表示文件或目录删除操作失败。这可能是由于以下几个原因导致的:
-
权限问题: 确保你有足够的权限删除该目录。你可以使用
ls -l
命令检查目录的权限,确保你有执行和写入权限。 -
目录非空: 如果目录非空,使用
rm
或rmdir
命令将无法删除。你可以使用rm -r
来递归删除目录及其内容。rm -r your_directory
或者使用
rmdir
命令:rmdir your_directory
-
文件系统问题: 某些文件系统可能会出现问题导致删除失败。确保文件系统没有损坏。
如果上述方法都无法解决问题,你可以尝试在删除目录时使用 sudo
提升权限:
sudo rm -r your_directory
请注意,在使用 sudo
时要谨慎,确保你知道自己在做什么,以防止不必要的数据丢失。
export指令 设置或显示环境变量
export
是一个 shell 命令,用于设置或显示环境变量。在 Unix/Linux 系统中,环境变量是一些在系统级别可用的变量,它们存储有关系统行为和配置的信息。
基本的 export 语法如下:,它们是由操作系统或用户在启动进程时设定的。
用法:
export VARIABLE_NAME=value
VARIABLE_NAME
: 环境变量的名称。value
: 环境变量的值。
这个命令将创建一个环境变量 VARIABLE_NAME
,并将其值设置为 value
。
示例:
export PATH=$PATH:/usr/local/bin
export LD_LIBRARY_PATH="/home/pi/test/动态库的路径"
这个示例将把 /usr/local/bin
添加到 PATH
环境变量中,使得系统能够在这个路径下查找可执行文件。
请注意,export
命令仅在当前 shell 进程及其子进程中生效。如果你希望环境变量的修改对当前会话之外的 shell 进程也生效,你应该将这个命令添加到 shell 配置文件(如 .bashrc
或 .bash_profile
)中。
例如,如果你想将一个名为 MY_VAR
的环境变量设置为 “Hello World”,可以使用以下命令:
export MY_VAR="Hello World"
要查看已设置的环境变量,可以使用 echo
命令:
echo $MY_VAR
这将显示输出 “Hello World”。
有时,export
也用于将变量从当前 shell 进程传递到其子进程。例如,如果你设置了一个变量并想在启动的子 shell 中使用它,可以使用 export
:
MY_VAR="Hello World"
export MY_VAR
在某些情况下,也可以使用简化的语法:
export MY_VAR="Hello World"
这两种形式都会将 MY_VAR
设置为 “Hello World” 并将其导出,以便在子进程中使用。
另外,可以使用 env
命令来显示当前所有的环境变量。
printenv 和 env 命令 显示当前的环境变量
在Linux终端中,printenv
和 env
命令都用于显示当前的环境变量。
-
printenv
:该命令用于显示指定的环境变量的值,或者显示所有的环境变量。如果不指定环境变量名称,它将显示所有环境变量。示例:
printenv PATH printenv USER printenv
-
env
:该命令用于显示当前所有的环境变量和它们的值。示例:
env
这两个命令的输出结果类似,都是列出当前环境变量及其值。
file指令 确定文件类型
file
是一个用于确定文件类型的命令。它通过分析文件的内容和一些特征来猜测文件的类型。file
命令通常用于命令行界面,用于检查文件的属性。
基本的 file
语法如下:
file filename
filename
: 要检查类型的文件的名称。
例如,如果你想确定一个名为 example.txt
的文件的类型,可以运行:
file example.txt
file
命令将输出文件的类型信息,例如文本文件、二进制文件、图像文件等。
一些 file
命令的示例:
-
查看一个二进制可执行文件的类型:
file my_program
-
查看一个文本文件的类型:
file my_text_file.txt
-
查看一个图片文件的类型:
file my_image.jpg
-
查看一个压缩文件的类型:
file my_archive.zip
file
命令非常有用,特别是当你需要确认文件类型而没有文件扩展名或者文件名不够明确时。
file
命令用于确定文件类型。在终端中,你可以使用 file
命令并提供文件名或路径来获取文件的详细信息。例如:
file your_file
这将输出有关给定文件的信息,包括文件类型、编码方式、是否为文本文件等。
cannot execute binary file:Exec format error
无法执行二进制文件:Exec 格式错误
make指令 自动化编译和构建项目
make
是一个构建工具,用于自动化编译和构建项目。它通过读取一个名为 Makefile
的文件来确定如何编译和链接源代码,以生成最终的可执行文件或库。以下是一些常用的 make
指令:
-
make: 默认情况下,直接运行
make
命令将执行Makefile
文件中的第一个目标。例如:make
-
make clean: 清理已生成的中间文件和目标文件,以便重新构建项目。
make clean
-
make install: 将构建完成的文件安装到系统指定的目录中。
make install
-
make uninstall: 卸载先前安装的文件。
make uninstall
-
make all: 构建整个项目,通常是默认目标的别名。
make all
-
make target_name: 构建指定目标。
target_name
是Makefile
文件中定义的一个目标。make target_name
-
make -jN: 使用 N 个并行作业进行构建,以加快构建速度。
make -j4 # 使用 4 个并行作业进行构建
-
make clean all: 先清理项目,然后重新构建。
make clean all
这只是一些常见的 make
指令示例。实际的 Makefile
文件可能包含许多其他自定义目标和规则,具体取决于项目的结构和需求。
md5sum指令 计算文件 MD5 散列值
md5sum
是一个用于计算文件 MD5 散列值的命令。它通常用于验证文件的完整性,因为即使文件内容发生微小的更改,其 MD5 散列值也会有显著的不同。
下面是使用 md5sum
命令的示例:
md5sum filename
其中 filename
是你要计算 MD5 散列值的文件名。运行这个命令后,它会输出文件的 MD5 散列值。
如果你想一次计算多个文件的散列值,可以提供文件名的列表:
md5sum file1 file2 file3
这样会分别输出每个文件的 MD5 散列值。
du指令 查看磁盘使用情况
du
是用于查看磁盘使用情况的命令,它有一些常用的选项,以下是其中一些:
-
du -h
: 以人类可读的格式显示文件和目录的大小,使用 KB、MB、GB 等易读的单位。du -h
-
du -s
: 仅显示总大小,而不显示每个子目录的大小。du -s /path/to/your/directory
-
du -c
: 在末尾显示总计大小。du -c /path/to/your/directory
-
du -k
: 以 KB 为单位显示大小。du -k /path/to/your/directory
-
du -m
: 以 MB 为单位显示大小。du -m /path/to/your/directory
-
du -B
: 以指定的块大小显示文件大小。du -B 1M /path/to/your/directory
这里的
1M
表示块的大小为 1 MB。 -
du --max-depth=N
: 限制显示的深度,只显示到指定深度的子目录。du --max-depth=2 /path/to/your/directory
这只是 du
命令的一些常见选项,你可以使用 man du
命令来查看 du
命令的完整文档以获取更多信息。
echo指令 终端或脚本中打印文本
echo
是一个用于在终端或脚本中打印文本的命令。它通常用于显示简单的消息、变量的值或其他文本信息。
基本的 echo
语法如下:
echo [options] [string]
options
: 可选,用于指定一些额外的选项。string
: 要显示的文本字符串。
例如,如果你想在终端中显示 “Hello, World!”,可以运行以下命令:
echo "Hello, World!"
echo
也可以用于显示变量的值:
my_variable="Hello, Variable!"
echo $my_variable
一些 echo
命令的示例:
-
显示文本:
echo "This is a message."
-
显示变量的值:
my_variable="Hello, Variable!" echo $my_variable
-
显示特殊字符:
echo "Line 1\nLine 2"
上述命令中的
\n
表示换行。 -
关闭末尾的换行符:
echo -n "No new line at the end."
使用
-n
选项可以防止在输出的末尾添加换行符。
echo
是一个简单但功能强大的命令,对于在脚本中输出信息或进行调试非常有用。
echo $PATH 显示环境变量 PATH 的值
echo $PATH
命令用于显示环境变量 PATH
的值。PATH
是一个包含用冒号分隔的目录路径的环境变量,指示操作系统在哪里查找可执行文件。
运行 echo $PATH
将显示当前 shell 中 PATH
的值。例如:
echo $PATH
输出可能类似于:
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
这表示系统将在列出的目录中查找可执行文件。每个目录路径由冒号分隔。
在 Linux 或 Unix 操作系统中,PATH
的设置对于找到和执行命令非常重要。如果你希望在不在当前目录的情况下执行命令,或者在任何目录中都能够执行系统命令,PATH
的正确配置非常关键。
pwd指令 显示当前工作目录(当前所在路径)
pwd
是一个用于显示当前工作目录(当前所在路径)的命令。它的名字是 “print working directory” 的缩写。
基本的 pwd
语法如下:
pwd
运行这个命令将显示当前所在的目录的绝对路径。
例如:
pwd
输出可能是:
/home/your_username
这表示你当前的工作目录是 /home/your_username
。在终端中,pwd
常用于确认你当前所在的位置,尤其在进行文件操作或编写脚本时。
如果你进入了子目录,pwd
将显示完整的路径,包括父目录。如果你在用户主目录下的一个子目录中,pwd
将显示完整路径,包括主目录:
/home/your_username/subdirectory
pwd
帮助你了解当前工作目录,这对于进行文件操作和导航文件系统非常有用。
cat指令 显示文件内容或将多个文件连接到一个文件
cat
是一个用于显示文件内容或将多个文件连接到一个文件的命令。cat
是 “concatenate” 的缩写。
基本的 cat
语法如下:
cat [options] [file]
options
: 可选,用于指定一些额外的选项。file
: 要显示内容的文件名称。
一些常见的 cat
选项:
-n
: 显示行号。-b
: 显示非空行的行号。-s
: 合并连续的空行为一个空行。
例如,如果你想显示一个名为 example.txt
的文件的内容,可以运行:
cat example.txt
如果你想显示文件内容并显示行号,可以运行:
cat -n example.txt
如果你想将多个文件的内容连接到一个文件中,可以运行:
cat file1.txt file2.txt > combined_file.txt
cat
还有其他高级的用法,比如用于创建和追加文件。这个命令在终端和脚本中都很有用。
cat /proc/cpuinfo 显示有关 CPU(中央处理器)的信息
cat /proc/cpuinfo
命令用于显示有关 CPU(中央处理器)的信息。执行该命令可以获取关于系统 CPU 的详细信息,包括 CPU 型号、架构、核心数、缓存大小等。
一个示例输出可能如下所示:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
stepping : 2
microcode : 0x27
cpu MHz : 800.000
cache size : 8192 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
...
这里展示了 CPU 的一些信息,包括制造商、CPU 型号、频率、缓存大小等。每个核心的信息都会显示在一个块中,你可以看到这个系统有多少个核心以及每个核心的详细信息。
uname指令 显示系统信息
uname
是一个用于显示系统信息的命令,通常用于确定操作系统的类型和版本,以及系统架构。
基本的 uname
语法如下:
uname [options]
一些常见的 uname
选项:
-a
或--all
: 显示所有信息,等同于-s -n -r -v -m -p
.-s
或--kernel-name
: 显示内核名称。-n
或--nodename
: 显示网络节点主机名。-r
或--kernel-release
: 显示内核发布。-v
或--kernel-version
: 显示内核版本。-m
或--machine
: 显示架构。-p
或--processor
: 显示处理器类型。
例如,如果你运行:
uname -a
输出可能会包含有关内核、主机名、版本和处理器类型等的完整信息。
Linux myhostname 5.4.0-91-generic #102-Ubuntu SMP Fri Nov 5 16:31:28 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
这表示运行在 Linux 内核 5.4.0 上,主机名为 myhostname,系统是 64 位的 x86_64 架构。
df指令 显示磁盘空间使用情况
df
命令用于显示磁盘空间使用情况。它会列出系统上每个文件系统的磁盘空间使用情况,包括总空间、已用空间、可用空间以及文件系统的挂载点。
以下是 df
命令的基本语法:
df [选项] [文件或目录]
一些常用的选项包括:
-h
:以人类可读的格式显示输出,将文件大小以 K、M、G 等单位显示。-T
:显示文件系统的类型。
例如,执行 df -h
可以以人类可读的格式显示磁盘空间使用情况:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 15G 4.2G 78% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/sdb1 50G 20G 30G 40% /mnt/data
在这个例子中,列出了根文件系统 /dev/sda1
、内存文件系统 tmpfs
、以及挂载在 /mnt/data
下的另一个文件系统。
df -T 显示文件系统的类型及其磁盘空间使用情况
df -T
命令用于显示文件系统的类型及其磁盘空间使用情况。具体而言,它会列出系统中所有挂载点的信息,包括文件系统类型、总空间、已用空间、可用空间和挂载点等。
以下是该命令输出的一些示例:
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext4 10485760 2457884 8012176 24% /
tmpfs tmpfs 1024000 0 1024000 0% /dev/shm
/dev/sdb1 vfat 1023916 163928 860988 17% /mnt/usb
解释一下输出的各列:
- Filesystem: 文件系统的设备或分区名称。
- Type: 文件系统的类型,例如 ext4、vfat、tmpfs 等。
- 1K-blocks: 总的文件系统空间,以1K块为单位。
- Used: 已使用的空间,以1K块为单位。
- Available: 可用空间,以1K块为单位。
- Use%: 已用空间占总空间的百分比。
- Mounted on: 文件系统挂载的目录。
在上面的示例中,有三个文件系统:一个是 ext4 类型的根文件系统,一个是 tmpfs 类型的内存文件系统,还有一个是 vfat 类型的 USB 设备。
su指令 切换用户身份
su
命令用于切换用户身份。如果不指定要切换到的用户,则默认切换到 root 用户。执行 su
命令后,系统会要求输入目标用户的密码。
su
然后输入目标用户的密码。如果要切换到 root 用户,输入 root 用户的密码。
请注意,使用 su
命令切换到 root 用户时,需要输入 root 用户的密码。如果当前用户没有 root 用户的密码,可能无法切换。在某些系统中,也可能需要当前用户是在 sudo 组中,以便使用 su
切换到 root 用户。
su - root 切换到 root 用户
su - root
是切换到 root 用户的命令。这将要求输入 root 用户的密码,并在切换后启动一个新的 shell,使得你能够在 root 用户环境中执行命令。
具体步骤如下:
su - root
然后输入 root 用户的密码。请确保你有足够的权限执行这个操作。在一些系统中,可能需要提供当前用户的密码来进行身份验证。
请注意,直接使用 root 用户并在 root 用户下执行命令可能会带来安全风险,因此建议仅在必要时使用,并在完成任务后尽早返回到普通用户身份。