常用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 # 启动并设置开机自启