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下功能强大的文本编辑器。vim 是 vi 的增强版,提供了更多功能,如语法高亮、多级撤销等。 语法: vi 文件名 或 vim 文件名 常用模式:
-
命令模式 (Command Mode): 启动
vi/vim时的默认模式,用于输入命令,如保存、退出、复制、粘贴等。 -
插入模式 (Insert Mode): 在命令模式下按下
i,a,o等键进入,用于输入文本。 -
底行模式 (Last Line Mode): 在命令模式下按下
:键进入,用于输入更复杂的命令,如查找替换、设置选项等。 常用命令: -
i: 进入插入模式,在当前光标前插入。 -
a: 进入插入模式,在当前光标后插入。 -
o: 进入插入模式,在当前行下方插入新行。 -
Esc: 从插入模式或底行模式返回命令模式。 -
:w: 保存文件。 -
:q: 退出vi/vim。 -
:wq或ZZ: 保存并退出。 -
: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)
描述: apt 和 apt-get 是Debian/Ubuntu系列Linux发行版中用于管理软件包的命令行工具。apt 是 apt-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发行版中用于管理软件包的命令行工具。dnf 是 yum 的下一代版本,性能更好。 语法: 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."

1920

被折叠的 条评论
为什么被折叠?



