命令行速成

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

相关推荐
Thexhy5 小时前
在Centos的Linux中安装Windows10系统
linux·运维·经验分享·学习·centos
Lzc7746 小时前
Linux的Socket编程之UDP
linux·socket编程之udp
CIb0la6 小时前
开源安全工具推荐:afrog- 主要用于 Bug Bounty、Pentest 和 Red Teaming 的安全工具
运维·安全
zimoyin7 小时前
Linux 程序使用 STDOUT 打印日志导致程序“假死”?一次线上 Bug 的深度排查与解决
linux·运维·bug
杜子不疼.7 小时前
【Linux】操作系统的认识
linux·运维·服务器
Dovis(誓平步青云)7 小时前
《Gdb 调试实战指南:不同风格于VS下的一种调试模式》
linux·运维·服务器
小-黯7 小时前
Ubuntu离线安装软件包
linux·运维·ubuntu
学不动CV了7 小时前
C语言(FreeRTOS)中堆内存管理分析Heap_1、Heap_2、Heap_4、Heap_5详细分析与解析(二)
linux·c语言·arm开发·stm32·单片机·51单片机
tt5555555555558 小时前
Linux驱动开发核心概念详解 - 从入门到精通
linux·运维·驱动开发
神秘人X7078 小时前
Docker 镜像结构详解
运维·docker·容器