路径

一个点(./),代表本级目录

两个点(../),代表上级目录

两个上级目录(../../),代表上上级目录


查看文件内容

cat 文件名

转到盘符/目录

cd 路径名

Windows 下转到 E 盘:

cd E:  

显示目录中的文件

# 仅显示可见文件
ls 目录名

# 显示所有文件,包括隐藏文件
ls -a

# 显示详细信息
ll

文件重命名

mv 文件名1 文件名2
  1. 文件被命名为 . 开头时,如 .flag,则 flag 为隐藏文件,ls 无法查看,需用 ls -a 才可以看到
  2. 将隐藏文件重命名去掉开头的 . 时,文件恢复可见

编辑文档

使用 vim 编辑:

vim 文件名

# 用法:
# i(进入编辑模式)  
# esc(退出编辑模式)  
# :q(退出,但不保存)  
# :wq(保存并退出)  
# esc + u(撤销之前的操作)

或者使用 gedit 编辑(如果没有需自行安装)

# 安装 gedit
sudo apt update
sudo apt install gedit
gedit 文件名

给文件增加权限

# 增加执行权限
sudo chmod a+x 文件名

# 增加 775 权限
sudo chmod 775 文件名
权限数值
读取权限 R4
写入权限 W2
执行权限 X1

775 权限中的三位数字分别对应:拥有者、组用户、其他用户

  • 拥有者,拥有可读可写可执行权限:7 = 4 + 2 + 1
  • 组用户,拥有可读可写可执行权限:7 = 4 + 2 + 1
  • 其他用户,拥有可读可执行权限,但没有写入权限:5 = 4 + 1

运行 ELF 可执行文件

./可执行文件

如果想在终端直接输入命令来打开可执行文件,而不需要考虑可执行文件所在路径,例如:

可执行文件

需要创建软连接:

sudo ln -s "可执行文件的路径" /usr/bin/名称   # 这里的 “名称” 可以随意取

然后在终端通过如下命令即可直接打开可执行文件:

名称

运行 python 代码

# 使用默认 python 版本
python py文件名

# 指定 python 版本
python3 py文件名

编译 C 代码并运行

# 编译
gcc c文件名 -o 编译生成的文件名

# 运行
./编译生成的文件名

复制文件/文件夹

# 复制文件
cp 源文件 复制到文件/文件夹

# 复制文件夹
cp -r 源文件夹路径 复制到文件/文件夹

移动、重命名文件/文件夹

# 移动
mv 源文件/源文件夹路径 移动后的文件/文件夹路径

# 重命名
mv 源文件名 修改后的文件名

卸载 apt 安装的软件

  1. --purge 是可选项,这个属性是将软件及其配置文件一并删除
sudo apt --purge remove 包名
  1. 如果不需要删除配置文件,则不加 --purge 选项
sudo apt remove 包名

deb 软件包的安装和卸载

除了一些 Github 上的工具,大部分软件都是需要自己安装的 deb 包,例如:搜狗输入法 Linux 版

安装 deb 软件包:

sudo dpkg -i deb文件名

卸载 deb 软件包:

# 查看已安装的软件
sudo dpkg -l

# 指定要卸载的软件,软件名严格按照 sudo dpkg -l 输出的软件名称
sudo dpkg -r 软件名

删除文件/文件夹

除非比较熟悉,否则删除命令尽量不要在 sudo 管理员权限下使用

# 删除一个空目录
rm -d 目录名

# 删除一个非空目录
rm -r 目录名

# 删除文件
rm 文件名

# 删除当前目录下的所有内容
rm -rf *   # 千万千万不要手欠在 * 前面加 /,例如:rm -rf /*,如果在管理员权限下使用会导致系统崩溃!!!

解压文件

tar zxvf 压缩包 -C 解压到指定目录

修改 host 并清除 DNS 缓存

sudo vim /etc/hosts

# 检查目前的缓存大小
resolvectl statistics

# 清理缓存,清理完后 Current Cache Size 变为 0
resolvectl flush-caches

防火墙

  1. 关闭端口的防火墙,以 tcp 5000 端口为例
iptables -A INPUT -p tcp --dport 5000 -j ACCEPT

检测是否成功,通过 nmap 扫描该设备 IP 的 5000 端口,假设 IP 为 192.168.148.152:

nmap -p 5000 192.168.148.152

未关闭防火墙时:

PORT     STATE    SERVICE
5000/tcp filtered upnp

如果关闭成功:

PORT     STATE SERVICE
5000/tcp open  upnp
  1. 列出当前防火墙规则
iptables -L -n