常用Shell命令
文件与目录操作
ls:用于显示目录内容。搭配参数使用,功能更丰富,例如ls -l能展示详细信息,ls -a可显示隐藏文件。cd [目录名]:实现目录切换。比如cd /home是切换到home目录,cd ..则是返回上级目录。pwd:显示当前工作目录的路径。mkdir [目录名]:创建新目录,像mkdir new_folder就是创建一个名为new_folder的新目录。rm [文件/目录]:删除文件或目录。删除目录时需加上-r参数,例如rm -r old_folder;若要强制删除,可使用-f参数,如rm -rf unwanted_folder。cp [源文件] [目标文件]:复制文件或目录。复制目录时同样需要-r参数,例如cp -r source_dir dest_dir。mv [源文件] [目标文件]:移动文件或重命名文件。比如mv file1.txt docs/是将file1.txt移动到docs目录下,mv old_name.txt new_name.txt则是将文件重命名。
文件内容查看与编辑
cat [文件]:一次性显示文件的全部内容。more [文件]:分屏显示文件内容,适合查看较长的文件。less [文件]:与more类似,但功能更强大,支持向前和向后翻页等操作。head [文件]:显示文件的前几行,默认显示前10行,可通过-n参数指定行数,如head -n 5 file.txt。tail [文件]:显示文件的后几行,默认显示后10行,同样可通过-n参数指定行数,如tail -n 3 file.txt;使用-f参数还能实时监控文件的更新情况。nano [文件]:简单易用的文本编辑器,适合初学者使用。vim [文件]:功能强大但操作相对复杂的文本编辑器,有多种模式,需要一定的学习成本。
文件搜索
grep [关键词] [文件]:在文件中搜索包含指定关键词的行,例如grep "error" log.txt。find [路径] [条件]:基于指定条件在文件系统中查找文件。比如find /home -name "*.txt"是在/home目录下查找所有扩展名为.txt的文件。
系统信息
uname -a:显示系统的详细信息,包括内核版本、主机名等。df -h:查看磁盘空间使用情况,以人类可读的格式显示。free -h:查看内存使用情况,同样以人类可读的格式呈现。top:实时监控系统进程和资源使用情况。htop:功能更丰富的系统监控工具,界面更加直观。ps aux:显示当前运行的所有进程信息。
用户与权限
whoami:显示当前登录的用户名。id:查看用户的身份信息,包括用户ID和组ID等。chmod [权限] [文件/目录]:修改文件或目录的权限。例如chmod +x script.sh是为script.sh文件添加可执行权限。chown [用户]:[组] [文件/目录]:更改文件或目录的所有者和所属组。
网络
ping [主机名/IP]:测试与目标主机的网络连通性。ifconfig:显示网络接口的配置信息。ip addr:查看和配置网络接口,是ifconfig的替代命令。netstat -tulpn:显示网络连接、路由表和网络接口信息。curl [URL]:用于传输数据,支持多种协议,常用来测试API或下载文件。wget [URL]:从网络上下载文件。
压缩与归档
tar -cvf [归档文件名.tar] [文件/目录]:创建tar归档文件,例如tar -cvf backup.tar documents/。tar -xvf [归档文件名.tar]:解压tar归档文件。tar -zcvf [归档文件名.tar.gz] [文件/目录]:创建gzip压缩的tar归档文件。tar -zxvf [归档文件名.tar.gz]:解压gzip压缩的tar归档文件。zip -r [压缩文件名.zip] [文件/目录]:创建zip压缩文件。unzip [压缩文件名.zip]:解压zip压缩文件。
其他实用命令
echo [内容]:在终端输出指定内容,也可用于将内容输出到文件,如echo "Hello" > test.txt。|(管道):将一个命令的输出作为另一个命令的输入,例如ls -l | grep "txt"。>和>>:重定向命令的输出。>会覆盖文件原有内容,>>则是追加到文件末尾。history:显示历史命令记录。man [命令]:查看命令的手册页,获取详细的使用说明。alias:为命令创建别名,简化复杂命令的输入,例如alias ll='ls -l'。
命令行连接(SSH)
sudo apt update
sudo apt install openssh-server # 安装SSH服务
sudo systemctl enable --now ssh # 启动并设置开机自启