前言
Linux 是一种广泛应用的操作系统,它具有强大的命令行功能,适用于各种服务器、开发和运维任务。对于开发者、系统管理员、运维工程师来说,掌握常用的 Linux 命令,对于提高效率和进行系统管理至关重要。本文将介绍一些 Linux 中常用的命令,帮助你提升使用 Linux 的效率。
1. 文件与目录管理
1.1 ls - 列出目录内容
ls 命令用于列出指定目录的内容,可以通过各种选项来控制输出格式。
ls -l # 列出当前目录下的文件和目录,以详细格式显示
ls -a # 显示所有文件,包括隐藏文件(以 . 开头的文件)
ls -lh # 以易读格式显示文件大小(KB、MB、GB)
1.2 cd - 更改目录
cd 命令用于在文件系统中切换工作目录。
cd /path/to/directory # 切换到指定目录
cd .. # 返回上一级目录
cd ~ # 切换到当前用户的主目录
cd - # 切换到上一个工作目录
1.3 pwd - 显示当前工作目录
pwd 命令用于显示当前所在的工作目录路径。
pwd # 输出当前工作目录的绝对路径
1.4 mkdir - 创建目录
mkdir 命令用于创建新的目录。
mkdir newdir # 创建一个名为 newdir 的目录
mkdir -p /path/to/dir # 递归创建多层目录
1.5 rm - 删除文件或目录
rm 命令用于删除文件或目录。
rm filename # 删除文件
rm -r directory # 递归删除目录及其内容
rm -rf directory # 强制删除目录及其内容,不询问确认
2. 文件查看与编辑
2.1 cat - 查看文件内容
cat 命令用于查看文件内容,可以将多个文件合并显示。
cat file.txt # 显示文件内容
cat file1.txt file2.txt # 合并并显示多个文件的内容
2.2 less - 分页查看文件
less 命令用于分页显示文件内容,适合查看较大的文件。
less file.txt # 分页显示文件内容
使用方法:
- Up 和 Down 键:滚动文件。
- q:退出查看。
2.3 head - 查看文件的前几行
head 命令用于查看文件的前 10 行内容,默认显示前 10 行。
head filename # 显示文件的前 10 行
head -n 20 filename # 显示文件的前 20 行
2.4 tail - 查看文件的后几行
tail 命令用于查看文件的最后几行内容。
tail filename # 显示文件的后 10 行
tail -n 20 filename # 显示文件的后 20 行
tail -f filename # 实时查看文件更新内容(常用于查看日志文件)
2.5 nano / vi - 编辑文件
nano 和 vi 都是 Linux 中常用的文本编辑器。nano 是简单易用的编辑器,而 vi 则功能强大,适合经验丰富的用户。
nano file.txt # 使用 nano 编辑文件
vi file.txt # 使用 vi 编辑文件
2.6 touch - 创建或更新文件
创建新文件或更新已存在文件。
touch file1.txt file2.txt file3.txt # 创建 3 个文件。
3. 文件搜索
3.1 find - 查找文件
find 命令用于在目录中查找文件或目录,可以根据名称、大小、修改时间等条件进行搜索。
find /home/user -name "*.txt" # 查找所有以 .txt 结尾的文件
find /var/log -type f # 查找所有文件(不包括目录)
find /path/to/directory -size +100M # 查找大于 100MB 的文件
3.2 grep - 查找文件内容
grep 命令用于在文件中查找匹配的内容。可以配合 -r 选项递归查找。
grep "pattern" file.txt # 在文件中查找匹配的内容
grep -r "error" /var/log/ # 在 /var/log 目录下递归查找包含 "error" 的行
grep -i "error" file.txt # 忽略大小写查找
grep -l "error" *.log # 显示包含 "error" 的文件名
4. 系统资源与进程管理
4.1 top - 查看系统资源占用
top 命令用于实时显示系统的 CPU、内存、磁盘和进程使用情况。
top # 查看系统资源占用情况
- 按 q 退出。
- 按 P 排序显示 CPU 占用率,按 M 排序显示内存占用。
4.2 ps - 查看进程状态
ps 命令用于查看当前运行的进程。
ps -ef # 显示所有进程的详细信息
ps aux # 显示所有进程的简洁信息
4.3 kill - 终止进程
kill 命令用于终止指定进程。
kill PID # 终止指定进程 ID 为 PID 的进程
kill -9 PID # 强制终止进程
5. 磁盘空间管理
5.1 df - 查看磁盘空间使用情况
df 命令用于查看磁盘的空间使用情况。
df -h # 显示磁盘空间使用情况,以易读的格式(如 GB、MB)显示
5.2 du - 查看目录或文件的磁盘占用
du 命令用于查看目录或文件的磁盘占用情况。
du -sh /path/to/directory # 查看目录的总大小
du -ah /path/to/directory # 查看目录下所有文件的大小
6. 文件压缩解压
6.1 压缩文件
Linux 中的打包文件一般是以 .tar 结尾的,压缩的命令一般是以 .gz 结尾的。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般为 .tar.gz。
# 假如 test 目录下有三个文件分别是:aaa.txt、 bbb.txt、ccc.txt
# 如果我们要打包 test 目录并指定压缩后的压缩包名称为 test.tar.gz
tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt
tar -zcvf test.tar.gz /test/
命令:tar -zcvf 打包压缩后的文件名 要打包压缩的文件 ,其中:
- z:调用 gzip 压缩命令进行压缩
- c:打包文件
- v:显示运行过程
- f:指定文件名
6.2 解压文件
tar -xvf test.tar.gz # 将 /test 下的 test.tar.gz 解压到当前目录下
tar -xvf test.tar.gz -C /usr # 将 /test 下的 test.tar.gz 解压到根目录/usr 下,-C 代表指定解压的位置
命令:tar [-xvf] 压缩文件,其中 x 代表解压
7. 用户与权限管理
7.1 useradd - 添加用户
useradd 命令用于创建新用户。
sudo useradd -m newuser # 创建新用户并自动创建用户的主目录
7.2 passwd - 修改用户密码
passwd 命令用于修改用户的密码。
passwd username # 修改指定用户的密码
7.3 chmod - 修改文件权限
chmod 命令用于修改文件或目录的权限。
chmod 755 file.txt # 设置文件权限为 rwx r-x r-x
chmod u+x file.txt # 为文件添加执行权限
7.4 chown - 修改文件所有者
chown 命令用于修改文件的所有者和所属组。
sudo chown user:group file.txt # 修改文件的所有者和所属组
8. 网络管理
8.1 ping - 检查网络连接
ping 命令用于测试网络连接是否正常。
ping 8.8.8.8 # 检查与 8.8.8.8(Google DNS)的网络连接
ping google.com # 检查与 Google 的网络连接
8.2 netstat - 查看网络连接状态
netstat 命令用于显示网络连接、路由表、接口统计等信息。
netstat -tuln # 显示当前所有监听的 TCP/UDP 端口
netstat -an # 显示所有网络连接和端口