命令行速成

  • 终端:终端是启动并连接到 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的进程。

相关推荐
hunter2062066 分钟前
联想拯救者开机进入bios
linux
A-刘晨阳8 分钟前
Linux生成自签证书【Nginx】
linux·运维·nginx·ssl
唐古乌梁海30 分钟前
【centOS】安装docker环境,替换国内镜像
linux·docker·centos
hgdlip2 小时前
ip属地是实时刷新吗还是网络刷新
服务器·网络·tcp/ip
huhy~2 小时前
基于ansible自动化部署ftp服务
运维·自动化·ansible
翻滚吧键盘2 小时前
在Debian 12上安装VNC服务器
服务器·debian·github
~kiss~2 小时前
认证的schema为什么是bearer
服务器
修炼成精2 小时前
.net framework 4.5 的项目,用Mono 部署在linux
linux·运维·.net
步、步、为营2 小时前
解锁.NET Fiddle:在线编程的神奇之旅
服务器·前端·.net
zhangzhangkeji2 小时前
(10) 如何获取 linux 系统上的 TCP 、 UDP 套接字的收发缓存的默认大小,以及代码范例
linux·tcp/ip·udp