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."