Skip to content

Linux 指令

基础指令

显示隐藏的文件和文件夹

指令:

bash
ls -a

或者

bash
ls --all

创建文件夹

指令:

bash
mkdir your_dic

递归的创建

递归的创建用于创建多级目录时,避免因中间的某个文件夹不存在而导致报错。如使用 mkdir a/b/c 试图创建文件夹 c 时,但文件夹 b 不存在,因此会报错,递归创建可以在即使中间文件夹不存在时也创建成功,会检查并创建层级的文件夹,参数:-p ,指令:

bash
mkdir -p a/b/c

创建文件

使用 touch 指令,创建一个空的文件,如果该文件已经存在,则更新文件的访问时间和修改时间:

bash
touch myfile.txt

解压文件

解压 ZIP

需要先安装 unzip

  • Debian/Ubuntu:

    bash
    sudo apt update
    sudo apt install unzip
  • CentOS/RHEL:

    bash
    sudo yum install unzip
  • Arch Linux:

    bash
    sudo pacman -S unzip

解压到当前目录:

bash
unzip filename.zip

解压到指定目录:

bash
unzip filename.zip -d /path/to/destination

处理包含中文文件名的 .zip

有时 .zip 文件中的中文文件名会乱码,可以使用 unzip 结合 convmv 进行处理:

bash
sudo apt install convmv
unzip -O GBK filename.zip
convmv -f gbk -t utf8 --notest -r .

如果 unzip 不支持 -O,可以改用 7z

bash
sudo apt install p7zip-full
7z x filename.zip

APT 源

查看当前 APT 源

Ubuntu 的软件源配置文件位于 /etc/apt/sources.list,可以使用以下命令查看:

bash
cat /etc/apt/sources.list

或者:

bash
less /etc/apt/sources.list

在这个文件中,你会看到类似如下的内容:

deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu focal-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse

这里的 http://archive.ubuntu.com/ubuntu 就是当前使用的镜像源地址。

更新 APT 包管理器索引

获得最新的软件包,指令:

bash
sudo apt update

更新当前已经安装的软件包

更新当前已经安装的软件包,但不会安装新的依赖或删除任何软件包,指令:

bash
sudo apt upgrade

目录

移动目录

bash
mv /home/user/old_folder /home/user/new_directory/

使用mv命令时请小心,因为如果目标目录中已经存在同名的文件夹,它将会被覆盖,除非您使用了适当的选项来防止这种情况发生。

进程

查看当前系统中运行的进程以及对应的端口号

bash
netstat -tunlp

根据端口号杀死进程

bash
sudo kill $(sudo lsof -t -i:port1 -i:port2)

修改用户登陆密码

要更改远程Linux服务器上特定用户的密码,你可以使用passwd命令。以下是通过SSH连接到远程服务器并更改dev-user1用户密码的步骤:

  1. 使用SSH登录到远程服务器。你需要知道服务器的IP地址或主机名,以及拥有更改密码权限的用户账户。
bash
ssh username@remote-server-ip

替换username为你的用户名,remote-server-ip为服务器的IP地址或主机名。 2. 一旦登录到服务器,切换到root用户或具有更改其他用户密码权限的用户。

bash
sudo su

输入当前用户的密码,如果你已经是root用户,则不需要执行此步骤。 3. 使用passwd命令更改dev-user1用户的密码。

bash
passwd dev-user1

系统会提示你输入新的密码,并要求你再次输入以确认。 4. 输入新的密码并确认。 请注意,出于安全考虑,输入密码时屏幕上不会显示任何字符。 5. 完成后,你可以退出root用户或结束SSH会话。

bash
exit  # 退出root用户
exit  # 或者退出SSH会话

确保在更改密码后,通知dev-user1用户其密码已被更改,以便他们可以更新他们的记录。 如果你希望通过脚本或命令行一次性完成此操作,而不需要交互式地输入密码,你可以使用chpasswd命令,但请注意,将密码直接写入命令行可能会带来安全风险,因为命令历史记录可能会暴露密码。 以下是一个使用chpasswd命令更改密码的例子(不推荐,因为密码将以明文形式出现在命令历史记录中):

bash
ssh username@remote-server-ip 'echo "dev-user1:newpassword" | sudo chpasswd'

请将newpassword替换为你想要设置的新密码。再次强调,这种做法不安全,因为它可能会将密码暴露在命令历史记录或进程列表中。始终建议使用交互式方法来更改密码。

压缩和解压

压缩

使用 tar 命令

tar 是 Linux 上另一个常用工具,特别适合大文件或需要压缩和归档。

bash
tar -czvf 压缩文件名.tar.gz /path/to/folder
  • -c:创建新的归档文件。
  • -z:启用 gzip 压缩。
  • -v:显示压缩过程(可选)。
  • -f:指定输出文件名。
  • /path/to/folder 是您要压缩的文件夹路径。

如果只需要 .tar(不压缩):

bash
tar -cvf 文件名.tar /path/to/folder

权限

文件信任

GNOME 桌面(Ubuntu 默认使用的桌面环境) 中,.desktop 文件(以 .desktop 文件为例)默认是 不受信任 的,防止恶意程序运行(阻止执行),即使你已经给了执行权限 (chmod +x)。

使用 gio 指令 手动告诉 GNOME 这个文件是可信的,从而允许执行:

bash
gio set untrusted/file/path metadata::trusted true

Last updated: