- 终端:终端是启动并连接到 shell 的软件。就是整个电话机,包括听筒、拨号盘等。
- Shell:会话和会话环境 (提示符和快捷方式等内容可以在其中定制)。就像是电话交换机,负责接通你的电话,并把你说的内容传递给对方。
- 命令行:输入命令并且光标闪烁的文字行。就像是拨号盘,你通过它输入号码(命令),来告诉电话交换机你想要打给谁。
虽然我们经常把"终端"和"命令行"混着说,但严格来说,它们指的是不同的东西。终端是一个更大的概念,包括了命令行和Shell。
一.文件和目录操作
列出文件和目录
ls(Linux/macOS)
ls:列出当前目录下的文件和目录。
ls -l:以长列表格式显示文件和目录的详细信息。
ls -a:显示所有文件,包括隐藏文件。
dir(Windows)
dir:列出当前目录下的文件和目录。
dir /b:以简洁格式列出文件和目录,不显示标题信息。
dir /ad:仅列出目录。
创建目录
mkdir directory_name
mkdir new_folder:创建名为new_folder的目录。
mkdir -p path/to/new_folder(Linux/macOS):创建多级目录结构。
mkdir "My Documents"(Windows):创建包含空格的目录名。
删除文件
rm file_name(Linux/macOS)
rm old_file.txt:删除名为old_file.txt的文件。
rm -i file_name:交互式删除,会提示确认。
del file_name(Windows)
del old_file.txt:删除名为old_file.txt的文件。
del /p file_name:删除前提示确认。
删除目录
rmdir directory_name
rmdir empty_folder:删除名为empty_folder的空目录。
rm -r directory_name(Linux/macOS)
rm -r old_folder:递归删除名为old_folder的目录及其内容。
rm -rf old_folder:强制递归删除,不提示确认。
rd /s /q directory_name(Windows)
rd /s /q old_folder:递归删除(/s)名为old_folder的目录及其内容,不提示确认(/p)。
复制文件
cp source_file destination_file(Linux/macOS)
cp file1.txt file2.txt:将file1.txt复制到file2.txt。
cp file1.txt /path/to/destination/:将file1.txt复制到指定路径。
copy source_file destination_file(Windows)
copy file1.txt file2.txt:将file1.txt复制到file2.txt。
copy file1.txt C:\Users\Username\Documents:将file1.txt复制到指定路径。
复制目录
cp -r source_directory destination_directory(Linux/macOS)
cp -r folder1 folder2:将folder1及其内容复制到folder2。
cp -r folder1 /path/to/destination/:将folder1及其内容复制到指定路径。
xcopy source_directory destination_directory /s /e(Windows)
xcopy 比 copy 命令更强大,因为它可以复制整个目录树。
xcopy folder1 folder2 /s /e:将folder1及其内容复制到folder2。
xcopy folder1 C:\Users\Username\Documents /s /e:将folder1及其内容复制到指定路径。
/s
:复制目录和子目录,但不包括空目录。如果没有这个选项, xcopy 只会复制文件,而不会复制目录结构。
/e
:复制目录和子目录,包括空目录。这个选项确保整个目录树被完整地复制,即使某些目录是空的。
移动文件或目录
mv source destination(Linux/macOS)
mv file1.txt /path/to/destination/:将file1.txt移动到指定路径。
mv old_folder new_folder:将old_folder重命名为new_folder。
movesource destination(Windows)
move file1.txt C:\Users\Username\Documents:将file1.txt移动到指定路径。
move "Old Folder Name" "New Folder Name":将文件夹重命名。
查看文件内容
catfile_name(Linux/macOS)
cat file1.txt:显示file1.txt的内容。
cat -n file1.txt:显示file1.txt的内容,并带有行号。
typefile_name(Windows)
type file1.txt:显示file1.txt的内容。
type file1.txt > file2.txt:将file1.txt的内容输出到file2.txt。
二.系统信息
查看当前路径
pwd(Linux/macOS)
pwd:显示当前工作目录的路径。
cd(Windows)
cd:显示当前工作目录的路径。
查看系统信息
uname-a(Linux/macOS)
uname -a:显示系统信息,包括内核版本等。
systeminfo(Windows)
systeminfo:显示详细的系统信息。
三.网络命令
检查网络连接
pinghost_name
ping baidu.com:测试与百度服务器的连接,检查网络是否可达。
ping -c 4 baidu.com(Linux/macOS):发送4个ICMP回显请求后停止。
ping -n 4 baidu.com(Windows):发送4个ICMP回显请求后停止。
查看网络接口
ifconfig(Linux/macOS,较旧系统)
ifconfig:显示所有网络接口的详细信息。
ifconfig eth0:显示特定网络接口(如eth0)的信息。
ipaddr(Linux/macOS,新系统)
ip addr show:显示所有网络接口的地址信息。
ip addr show eth0:显示特定网络接口(如eth0)的地址信息。
ipconfig(Windows)
ipconfig:显示所有网络接口的详细信息。
ipconfig /all:显示完整的网络配置信息。
ipconfig /flushdns:清除DNS解析缓存。
查看路由表
route-n(Linux/macOS)
route -n:显示路由表,不解析主机名。
route add default gw 192.168.1.1:添加默认网关。
netstat-r(Windows)
netstat -r:显示路由表。
netstat -an:显示所有连接和监听端口。
四.用户和权限
切换用户
suuser_name(Linux/macOS)
su root:切换到root用户。
su - user_name:切换到指定用户,并加载用户环境。
runas/user:user_name(Windows)
runas /user:admin cmd:以管理员身份运行命令提示符。
runas /user:username "C:\Program Files\app.exe":以特定用户身份运行程序。
查看当前用户
whoami
whoami:显示当前登录的用户名。
whoami/all(Windows):显示当前用户的安全标识符(SID)和组成员信息。
更改文件权限
chmodpermissions file_name(Linux/macOS)
chmod 755 script.sh:给脚本文件执行权限。
chmod u+x file_name:给文件所有者添加执行权限。
chmod g+w file_name:给文件所属组添加写权限。
五.其他常用命令
清屏
clear(Linux/macOS)
clear:清除终端窗口中的内容。
cls(Windows)
cls:清除命令行窗口中的内容。
查看命令帮助
mancommand_name(Linux/macOS)
man ls:查看ls命令的手册页。
man man:查看man命令的手册页。
command_name /?(Windows)
dir /?:查看dir命令的帮助信息。
copy /?:查看copy命令的帮助信息。
搜索文件
find/path -name file_name(Linux/macOS)
find /home/user -name document.txt:在/home/user目录下搜索名为document.txt的文件。
find / -type f -name "*.txt":在根目录下搜索所有.txt文件。
dir/b /s file_name(Windows)
dir /b /s document.txt:在当前目录及其子目录中搜索名为document.txt的文件。
dir /b /s "*.txt":在当前目录及其子目录中搜索所有.txt文件。
查看进程
psaux(Linux/macOS)
ps aux:查看所有用户的进程信息。
ps aux | grep ssh:过滤出包含ssh的进程。
tasklist(Windows)
tasklist:查看当前运行的进程。
tasklist /fi "STATUS eq RUNNING":过滤出状态为正在运行的进程。
终止进程
killprocess_id(Linux/macOS)
kill 1234:终止进程ID为1234的进程。
kill -9 1234:强制终止进程ID为1234的进程。
taskkill/PID process_id(Windows)
taskkill /PID 1234:终止进程ID为1234的进程。