Linux命令大全

1. 文件和目录管理

  • ls: 列出目录内容

  • cd: 改变当前目录

  • pwd: 显示当前工作目录

  • mkdir: 创建目录

  • rmdir: 删除空目录

  • cp: 复制文件或目录

  • mv: 移动或重命名文件或目录

  • rm: 删除文件或目录

  • find: 在目录层次结构中搜索文件

2. 文件内容查看和编辑

  • cat: 连接文件并打印到标准输出

  • more: 分页显示文件内容

  • less: 类似more,但允许向前和向后滚动

  • head: 显示文件开头部分

  • tail: 显示文件末尾部分

  • grep: 搜索文件中的模式

  • vi/vim: 文本编辑器

3. 系统信息和进程管理

  • top: 实时显示进程活动

  • ps: 显示当前进程状态

  • kill: 终止进程

  • df: 显示磁盘空间使用情况

  • du: 估算文件或目录的磁盘使用空间

  • free: 显示内存使用情况

  • uname: 显示系统信息

4. 用户和权限管理

  • useradd: 创建新用户

  • passwd: 修改用户密码

  • usermod: 修改用户账户

  • userdel: 删除用户账户

  • chmod: 改变文件或目录权限

  • chown: 改变文件或目录所有者

5. 网络管理

  • ping: 测试网络连通性

  • ifconfig/ip: 配置网络接口

  • netstat: 显示网络连接、路由表、接口统计等

  • ssh: 远程登录

  • scp: 远程文件复制

6. 压缩和解压缩

  • tar: 归档工具

  • gzip/gunzip: GNU zip压缩/解压缩

  • zip/unzip: 压缩/解压缩文件

7. 软件包管理

  • apt/apt-get (Debian/Ubuntu): 软件包管理工具

  • yum/dnf (CentOS/RHEL/Fedora): 软件包管理工具

8. 其他常用命令

  • echo: 显示字符串

  • man: 显示命令手册页

  • history: 显示命令历史

  • clear: 清除终端屏幕

  • date: 显示或设置系统日期和时间

  • reboot: 重启系统

  • shutdown: 关闭系统

ls

描述: ls 命令用于列出目录中的文件和子目录。它是最常用的命令之一,可以帮助用户查看文件系统的内容。 语法: ls [选项] [文件或目录] 常用选项:

  • -l: 以长格式显示文件和目录的详细信息,包括权限、所有者、大小、修改日期等。

  • -a: 显示所有文件,包括隐藏文件(以 . 开头的文件)。

  • -h: 以人类可读的格式显示文件大小(例如,K, M, G)。

  • -R: 递归列出子目录内容。 示例:

ls -l
ls -a /home/user
ls -lhR /var/log

cd

描述: cd 命令用于改变当前工作目录。通过指定目标目录的路径,用户可以轻松地在文件系统中导航。 语法: cd [目录] 常用用法:

  • cd: 切换到用户的主目录。

  • cd ..: 切换到上级目录。

  • cd -: 切换到上次所在的目录。 示例:

cd /etc/nginx
cd ..
cd -

pwd

描述: pwd 命令用于显示当前工作目录的绝对路径。这对于用户了解自己在文件系统中的位置非常有用。 语法: pwd 示例:

pwd

mkdir

描述: mkdir 命令用于创建新的目录。用户可以指定一个或多个目录名来创建。 语法: mkdir [选项] 目录名 常用选项:

  • -p: 递归创建目录,如果父目录不存在则一并创建。 示例:

mkdir my_new_directory
mkdir -p /path/to/new/nested/directory

rmdir

描述: rmdir 命令用于删除空目录。如果目录不为空,则无法删除。 语法: rmdir 目录名 示例:

rmdir empty_directory

cp

描述: cp 命令用于复制文件或目录。它可以将源文件复制到目标文件,或将多个源文件复制到目标目录。 语法: cp [选项] 源文件 目标文件cp [选项] 源文件... 目标目录 常用选项:

  • -r-R: 递归复制目录及其内容。

  • -i: 交互式复制,如果目标文件存在则提示用户确认。

  • -u: 仅当源文件比目标文件新时才复制。 示例:

cp file.txt new_file.txt
cp -r my_directory /backup/my_directory
cp -i document.pdf /home/user/documents/

mv

描述: mv 命令用于移动或重命名文件或目录。如果目标是目录,则将源文件移动到该目录;如果目标是文件且与源文件在同一目录,则重命名源文件。 语法: mv [选项] 源文件 目标文件mv [选项] 源文件... 目标目录 常用选项:

  • -i: 交互式移动,如果目标文件存在则提示用户确认。 示例:

mv old_name.txt new_name.txt
mv file.txt /home/user/documents/

rm

描述: rm 命令用于删除文件或目录。这是一个非常强大的命令,使用时需要谨慎,因为删除的文件通常无法恢复。 语法: rm [选项] 文件或目录 常用选项:

  • -f: 强制删除,不提示确认。

  • -i: 交互式删除,提示用户确认。

  • -r-R: 递归删除目录及其内容。 示例:

rm unwanted_file.txt
rm -rf /path/to/unwanted_directory
rm -i important_document.docx

find

描述: find 命令用于在指定目录下搜索文件和目录。它提供了丰富的选项,可以根据文件名、大小、修改时间、权限等条件进行搜索。 语法: find [路径] [表达式] 常用表达式:

  • `-name

文件名`: 根据文件名搜索。

  • -type f: 搜索文件。

  • -type d: 搜索目录。

  • -size +1G: 搜索大于1GB的文件。

  • -mtime -7: 搜索7天内修改过的文件。

  • -exec 命令 {} \;: 对搜索到的文件执行命令。 示例:

find . -name "*.log"
find /var/log -type f -mtime +30 -exec rm {} \;

2. 文件内容查看和编辑

cat

描述: cat 命令用于连接文件并打印到标准输出。它常用于查看短文件内容、创建文件或将多个文件合并。 语法: cat [选项] 文件名... 常用选项:

  • -n: 对输出的所有行编号。 示例:

cat /etc/os-release
cat file1.txt file2.txt > combined_file.txt

more

描述: more 命令用于分页显示文件内容。当文件内容较长时,它会暂停显示,直到用户按下空格键继续或按下 q 键退出。 语法: more 文件名 示例:

more /var/log/syslog

less

描述: less 命令与 more 类似,但功能更强大,允许用户向前和向后滚动文件内容,并且在查看大文件时效率更高。 语法: less 文件名 常用操作:

  • 空格键f: 向前翻页。

  • b: 向后翻页。

  • g: 跳转到文件开头。

  • G: 跳转到文件末尾。

  • / 关键词: 向前搜索关键词。

  • ? 关键词: 向后搜索关键词。

  • n: 跳转到下一个搜索结果。

  • N: 跳转到上一个搜索结果。

  • q: 退出。 示例:

less /etc/passwd

head

描述: head 命令用于显示文件开头的部分内容,默认显示前10行。 语法: head [选项] 文件名 常用选项:

  • -n 数字: 显示文件开头的指定行数。 示例:

head /etc/hosts
head -n 5 /var/log/auth.log

tail

描述: tail 命令用于显示文件末尾的部分内容,默认显示后10行。它常用于实时监控日志文件。 语法: tail [选项] 文件名 常用选项:

  • -n 数字: 显示文件末尾的指定行数。

  • -f: 实时监控文件内容的变化,当文件有新内容写入时,会立即显示。 示例:

tail /var/log/messages
tail -f /var/log/nginx/access.log

grep

描述: grep 命令用于在文件中搜索指定的模式(文本字符串)。它非常强大,支持正则表达式。 语法: grep [选项] 模式 文件名... 常用选项:

  • -i: 忽略大小写。

  • -v: 反向匹配,显示不包含模式的行。

  • -r: 递归搜索子目录。

  • -n: 显示匹配行的行号。

  • -c: 统计匹配的行数。 示例:

grep "error" /var/log/syslog
grep -i "warning" /var/log/kern.log
grep -r "config" /etc/

vi/vim

描述: vi (Visual Editor) 和 vim (Vi IMproved) 是Linux下功能强大的文本编辑器。vimvi 的增强版,提供了更多功能,如语法高亮、多级撤销等。 语法: vi 文件名vim 文件名 常用模式:

  • 命令模式 (Command Mode): 启动 vi/vim 时的默认模式,用于输入命令,如保存、退出、复制、粘贴等。

  • 插入模式 (Insert Mode): 在命令模式下按下 i, a, o 等键进入,用于输入文本。

  • 底行模式 (Last Line Mode): 在命令模式下按下 : 键进入,用于输入更复杂的命令,如查找替换、设置选项等。 常用命令:

  • i: 进入插入模式,在当前光标前插入。

  • a: 进入插入模式,在当前光标后插入。

  • o: 进入插入模式,在当前行下方插入新行。

  • Esc: 从插入模式或底行模式返回命令模式。

  • :w: 保存文件。

  • :q: 退出 vi/vim

  • :wqZZ: 保存并退出。

  • :q!: 不保存强制退出。

  • yy: 复制当前行。

  • p: 粘贴。

  • dd: 删除当前行。

  • u: 撤销上一步操作。 示例:

vi my_script.sh
vim /etc/nginx/nginx.conf

3. 系统信息和进程管理

top

描述: top 命令用于实时显示系统中各个进程的资源占用状况,包括CPU、内存、进程ID、用户等信息。它是一个动态更新的视图。 语法: top 常用操作:

  • P: 按CPU使用率排序。

  • M: 按内存使用率排序。

  • k: 杀死进程(需要输入PID)。

  • q: 退出 top示例:

top

ps

描述: ps 命令用于显示当前系统中的进程状态。它提供了一个静态的进程列表。 语法: ps [选项] 常用选项:

  • aux: 显示所有用户的进程,包括没有控制终端的进程,以及显示进程的详细信息。

  • -ef: 显示所有进程,并以全格式显示。 示例:

ps aux
ps -ef | grep nginx

kill

描述: kill 命令用于向进程发送信号,通常用于终止进程。最常用的信号是 SIGTERM (15) 和 SIGKILL (9)。 语法: kill [选项] PID 常用选项:

  • -9: 发送 SIGKILL 信号,强制终止进程,无法被捕获或忽略。

  • -15: 发送 SIGTERM 信号,请求进程优雅地终止。 示例:

kill 12345
kill -9 54321

df

描述: df 命令用于显示文件系统的磁盘空间使用情况,包括已用空间、可用空间、挂载点等。 语法: df [选项] 常用选项:

  • -h: 以人类可读的格式显示磁盘空间(例如,K, M, G)。

  • -T: 显示文件系统类型。 示例:

df -h
df -hT

du

描述: du 命令用于估算文件或目录的磁盘使用空间。它常用于查找占用大量磁盘空间的文件或目录。 语法: du [选项] 文件或目录 常用选项:

  • -h: 以人类可读的格式显示磁盘使用空间。

  • -s: 显示总计,而不是每个子目录的详细信息。 示例:

du -h /home/user/documents
du -sh /var/log

free

描述: free 命令用于显示系统内存的使用情况,包括物理内存、交换空间以及缓冲区和缓存的使用情况。 语法: free [选项] 常用选项:

  • -h: 以人类可读的格式显示内存大小。 示例:

free -h

uname

描述: uname 命令用于显示系统信息,如操作系统名称、内核版本、硬件架构等。 语法: uname [选项] 常用选项:

  • -a: 显示所有系统信息。

  • -r: 显示内核版本。

  • -s: 显示内核名称。 示例:

uname -a

4. 用户和权限管理

useradd

描述: useradd 命令用于创建新的用户账户。它会在系统中添加一个新的用户条目,并可以同时创建用户的主目录和设置默认shell。 语法: useradd [选项] 用户名 常用选项:

  • -m: 自动创建用户的主目录。

  • -s shell路径: 指定用户的登录shell。

  • -g 组名: 指定用户所属的主组。 示例:

useradd -m -s /bin/bash newuser

passwd

描述: passwd 命令用于设置或修改用户密码。普通用户只能修改自己的密码,root用户可以修改任何用户的密码。 语法: passwd [用户名] 示例:

passwd
passwd newuser

usermod

描述: usermod 命令用于修改用户账户的属性,如用户名、主目录、shell、所属组等。 语法: usermod [选项] 用户名 常用选项:

  • -l 新用户名: 更改用户名。

  • -d 新主目录: 更改用户主目录。

  • -s 新shell路径: 更改用户登录shell。

  • -aG 组名: 将用户添加到附加组。 示例:

usermod -l newname oldname
usermod -aG sudo newuser

userdel

描述: userdel 命令用于删除用户账户。默认情况下,它只删除用户账户信息,不会删除用户的主目录。 语法: userdel [选项] 用户名 常用选项:

  • -r: 同时删除用户的主目录和邮件池。 示例:

userdel olduser
userdel -r olduser

chmod

描述: chmod 命令用于改变文件或目录的权限。权限可以用数字(八进制)或符号表示。 语法: chmod [选项] 模式 文件或目录 权限数字表示:

  • r (读): 4

  • w (写): 2

  • x (执行): 1

  • 用户: u (所有者), g (所属组), o (其他用户), a (所有用户) 常用权限组合:

  • 777: 所有用户都拥有读、写、执行权限。

  • 755: 所有者读写执行,组用户和其他用户只读执行。

  • 644: 所有者读写,组用户和其他用户只读。 示例:

chmod 755 my_script.sh
chmod u+x script.py
chmod go-w important_file.txt

chown

描述: chown 命令用于改变文件或目录的所有者和所属组。 语法: chown [选项] 新所有者[:新所属组] 文件或目录 常用选项:

  • -R: 递归地改变目录及其内容的权限。 示例:

chown user1 file.txt
chown user2:group1 my_directory
chown -R root:root /var/www/html

5. 网络管理

ping

描述: ping 命令用于测试网络连通性,通过发送ICMP回显请求包到目标主机并监听回显回复来判断网络是否可达。 语法: ping [选项] 目标主机 常用选项:

  • -c 数字: 指定发送回显请求的次数。 示例:

ping google.com
ping -c 4 192.168.1.1

ifconfig/ip

描述: ifconfig (Interface Configuration) 和 ip 命令都用于配置和显示网络接口信息。ip 命令是 ifconfig 的替代品,功能更强大。 语法: ifconfig [接口名] [选项]ip [选项] 对象 命令 常用用法:

  • ifconfig: 显示所有网络接口信息。

  • ifconfig eth0: 显示指定网络接口信息。

  • ip a: 显示所有网络接口信息。

  • ip addr show eth0: 显示指定网络接口信息。 示例:

ifconfig
ip a

netstat

描述: netstat (Network Statistics) 命令用于显示网络连接、路由表、接口统计等信息。它对于网络故障排除和性能监控非常有用。 语法: netstat [选项] 常用选项:

  • -a: 显示所有连接和监听端口。

  • -n: 以数字形式显示地址和端口号。

  • -t: 显示TCP连接。

  • -u: 显示UDP连接。

  • -l: 显示监听端口。

  • -p: 显示使用端口的进程ID和程序名称。 示例:

netstat -tuln
netstat -anp | grep 80

ssh

描述: ssh (Secure Shell) 命令用于远程登录到Linux服务器。它提供了加密的通信,确保数据传输的安全性。 语法: ssh [选项] 用户名@主机名或IP地址 常用选项:

  • -p 端口号: 指定SSH连接的端口号。 示例:

ssh user@your_server_ip
ssh -p 2222 admin@remote_host

scp

描述: scp (Secure Copy) 命令用于在本地和远程主机之间安全地复制文件。它基于SSH协议,提供了加密的文件传输。 语法: scp [选项] 源文件 目标文件 常用选项:

  • -r: 递归复制整个目录。

  • -P 端口号: 指定SSH连接的端口号。 示例:

scp local_file.txt user@remote_host:/path/to/remote/
scp user@remote_host:/path/to/remote/remote_file.txt .
scp -r local_directory user@remote_host:/path/to/remote/

6. 压缩和解压缩

tar

描述: tar (Tape Archive) 命令是一个归档工具,常用于打包和压缩文件。它可以将多个文件或目录打包成一个文件,并可以选择性地进行压缩。 语法: tar [选项] 文件名... 常用选项:

  • -c: 创建归档文件。

  • -x: 解压归档文件。

  • -v: 显示详细信息。

  • -f 文件名: 指定归档文件名。

  • -z: 使用gzip进行压缩/解压缩。

  • -j: 使用bzip2进行压缩/解压缩。

  • -J: 使用xz进行压缩/解压缩。 示例:

tar -cvf archive.tar my_directory/
tar -zxvf archive.tar.gz
tar -czvf backup.tar.gz /var/log/

gzip/gunzip

描述: gzip 命令用于压缩文件,gunzip 命令用于解压缩文件。它们通常用于单个文件的压缩和解压缩。 语法: gzip 文件名gunzip 文件名 示例:

gzip my_file.txt
gunzip my_file.txt.gz

zip/unzip

描述: zip 命令用于创建 .zip 格式的压缩文件,unzip 命令用于解压 .zip 文件。它们在跨平台文件传输中很常见。 语法: zip [选项] 压缩文件名 源文件...unzip [选项] 压缩文件名 常用选项:

  • -r: 递归压缩目录。 示例:

zip archive.zip file1.txt file2.txt
zip -r my_archive.zip my_directory/
unzip archive.zip

7. 软件包管理

apt/apt-get (Debian/Ubuntu)

描述: aptapt-get 是Debian/Ubuntu系列Linux发行版中用于管理软件包的命令行工具。aptapt-get 的更友好的版本,提供了更好的用户体验。 语法: apt [命令] [软件包名]apt-get [命令] [软件包名] 常用命令:

  • update: 更新软件包列表。

  • upgrade: 升级已安装的软件包。

  • install 软件包名: 安装软件包。

  • remove 软件包名: 卸载软件包(保留配置文件)。

  • purge 软件包名: 彻底卸载软件包(包括配置文件)。

  • autoremove: 删除不再需要的依赖包。 示例:

sudo apt update
sudo apt install nginx
sudo apt remove apache2

yum/dnf (CentOS/RHEL/Fedora)

描述: yum (Yellowdog Updater, Modified) 和 dnf (Dandified YUM) 是CentOS/RHEL/Fedora系列Linux发行版中用于管理软件包的命令行工具。dnfyum 的下一代版本,性能更好。 语法: yum [命令] [软件包名]dnf [命令] [软件包名] 常用命令:

  • check-update: 检查可用的更新。

  • update: 更新软件包。

  • install 软件包名: 安装软件包。

  • remove 软件包名: 卸载软件包。 示例:

sudo yum update
sudo dnf install httpd
sudo yum remove mysql-server

8. 其他常用命令

echo

描述: echo 命令用于在终端显示字符串或变量的值。 语法: echo [选项] 字符串 常用选项:

  • -e: 启用解释反斜杠转义。 示例:

echo "Hello, Linux!"
echo -e "Line1\nLine2"

man

描述: man (manual) 命令用于显示Linux命令的手册页,提供了命令的详细说明、语法、选项和示例。 语法: man 命令名 示例:

man ls
man grep

history

描述: history 命令用于显示用户在当前会话中执行过的命令历史记录。 语法: history [选项] 常用选项:

  • 数字: 显示最近的指定数量的命令。 示例:

history
history 10

clear

描述: clear 命令用于清除终端屏幕上的所有内容,使屏幕变为空白。 语法: clear 示例:

clear

date

描述: date 命令用于显示或设置系统日期和时间。 语法: date [选项] [+格式] 示例:

date
date "+%Y-%m-%d %H:%M:%S"

reboot

描述: reboot 命令用于重启系统。通常需要root权限。 语法: reboot 示例:

sudo reboot

shutdown

描述: shutdown 命令用于关闭系统。它提供了多种选项,可以定时关机、立即关机或重启。 语法: shutdown [选项] 时间 [消息] 常用选项:

  • -h: 关机。

  • -r: 重启。

  • now: 立即执行。 示例:

sudo shutdown -h now
sudo shutdown -r +5 "System will reboot in 5 minutes for maintenance."
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值