欢迎来到《运维家》!作为一个持续学习linux和Python/ target=_blank class=infotextkey>Python技术的码农,我非常荣幸与大家分享这篇关于Linux命令行的文章。无论你是初学者还是有一定经验的运维工程师,本文都将为你揭示100个常用命令和技巧。加强你的命令行技能将让你事半功倍,让我们一起进入命令行的奇妙世界吧!
为了能够顺利跟随本文实战,你需要:
- 一台装有Linux操作系统的计算机或虚拟机
- 使用root或具备sudo权限的用户账号
下面是经过筛选的100个常用Linux命令和技巧,每个命令都附带简短的注释和示例。让我们一起领略它们的威力!
用于显示当前目录下的文件和文件夹。
示例:
ls
用于进入指定目录。
示例:
cd /path/to/directory
用于显示当前所在的目录路径。
示例:
pwd
用于创建一个新目录。
示例:
mkdir new_directory
用于删除文件或目录。
示例:
rm file.txt
rm -r directory/
用于复制文件或目录到指定位置。
示例:
cp file.txt /path/to/destination
cp -r directory/ /path/to/destination
用于移动文件或目录到指定位置。
示例:
mv file.txt /path/to/destination
mv directory/ /path/to/destination
用于查看文件的内容。
示例:
cat file.txt
用于在文件中搜索特定的文本。
示例:
grep "keyword" file.txt
用于打开vi编辑器进行文件编辑。
示例:
vi file.txt
用于查看命令的详细说明和使用方法。
示例:
man ls
用于修改文件或目录的权限。
示例:
chmod 755 file.txt
用于修改文件或目录的所有者。
示例:
chown user:group file.txt
用于查看系统中运行的进程状态。
示例:
ps aux
用于实时监视系统的CPU、内存和进程等信息。
示例:
top
用于在目录及其子目录中递归搜索指定文本。
示例:
grep -r "keyword" /path/to/directory
用于将文件打包成压缩文件,或解压已有的压缩文件。
示例:
tar -czvf archive.tar.gz file1 file2
tar -xzvf archive.tar.gz
用于通过安全的方式远程登录到其他主机。
示例:
ssh user@hostname
用于在不同主机之间复制文件和目录。
示例:
scp file.txt user@hostname:/path/to/destination
用于在指定目录下查找符合条件的文件。
示例:
find /path/to/directory -name "*.txt"
用于在命令行中发送HTTP请求并获取响应。
示例:
curl https://example.com
用于通过命令行下载文件。
示例:
wget https://example.com/file.txt
用于查看之前执行过的命令历史记录。
示例:
history
用于查看文件或目录占用的磁盘空间大小。
示例:
du -h file.txt
用于查看文件系统的磁盘空间使用情况。
示例:
df -h
用于查看和配置系统的网络接口信息。
示例:
ifconfig
用于测试与目标主机的网络连接。
示例:
ping example.com
用于查看系统的网络连接状态和统计信息。
示例:
netstat -a
用于启动、停止、重启和管理系统服务。
示例:
systemctl start service_name
用于创建和管理定时执行的任务。
示例:
crontab -e
用于查询域名的IP地址和反向解析。
示例:
nslookup example.com
用于生成SSH公钥和私钥对,用于远程登录认证。
示例:
ssh-keygen -t rsa
用于比较两个文件之间的差异。
示例:
diff file1.txt file2.txt
用于查找、替换、插入和删除文件中的文本。
示例:
sed 's/old_word/new_word/' file.txt
用于处理文本数据并生成报告。
示例:
awk '{print $1}' file.txt
用于提取文件中指定列的字段。
示例:
cut -d',' -f1 file.csv
用于对文件中的行进行排序。
示例:
sort file.txt
用于显示文件的最后几行内容。
示例:
tail -n 5 file.txt
用于显示文件的前几行内容。
示例:
head -n 10 file.txt
用于创建压缩文件或解压已有的压缩文件。
示例:
zip archive.zip file1 file2
unzip archive.zip
用于排除匹配某个模式的行。
示例:
grep -v "pattern" file.txt
用于以上下文格式比较两个文件之间的差异。
示例:
diff -u file1.txt file2.txt
用于从标准输入读取数据,并用于构建和执行命令。
示例:
echo "file.txt" | xargs rm
用于递归下载整个网站的内容。
示例:
wget -r https://example.com
用于解压指定类型的压缩文件。
示例:
tar -xvf archive.tar.gz
用于在指定的文件中查找,并对匹配的文件执行命令。
示例:
find /path/to/directory -name "*.txt" -exec grep "pattern" {} ;
用于显示当前用户设定的定时任务列表。
示例:
crontab -l
用于显示当前登录的用户的用户名。
示例:
whoami
用于同时将输出写入文件和显示在标准输出。
示例:
echo "Hello, World!" | tee output.txt
用于创建硬链接或符号链接到文件或目录。
示例:
ln file.txt link.txt
用于将文件设置为可执行权限。
示例:
chmod +x script.sh
用于搜索命令帮助页中的关键词。
示例:
man -k keyword
用于直接在文件中进行编辑并保存修改。
示例:
sed -i 's/old_word/new_word/' file.txt
用于指定字段分隔符进行文本处理。
示例:
awk -F',' '{print $1}' file.csv
用于实时监视文件的变化并输出新增的内容。
示例:
tail -f logfile.txt
用于按文件的修改时间查找符合条件的文件。
示例:
find /path/to/directory -mtime +7
用于查找包含匹配内容的文件。
示例:
grep -l "pattern" directory/*
用于创建归档文件,并将文件打包到归档中。
示例:
tar -cvf archive.tar file1 file2
用于显示内核的消息缓冲区内容。
示例:
dmesg | tail
用于挂载文件系统到指定的挂载点。
示例:
mount /dev/sdb1 /mnt
用于卸载已挂载的文件系统。
示例:
umount /mnt
用于更改文件或目录的所有者。
示例:
chown user1 file.txt
用于更改文件或目录的所属组。
示例:
chgrp group1 file.txt
用于解压 .tar.gz 或 .tgz 压缩文件。
示例:
tar -zxvf archive.tar.gz
用于显示当前运行的进程状态。
示例:
ps aux
用于终止指定进程。
示例:
kill PID
用于实时显示系统的资源使用情况。
示例:
top
用于显示当前系统的内存使用情况。
示例:
free -h
用于创建、删除和调整磁盘分区。
示例:
fdisk /dev/sda
用于创建文件系统。
示例:
mkfs.ext4 /dev/sdb1
用于创建符号链接(软链接)到文件或目录。
示例:
ln -s /path/to/file link
用于计算文件或目录的磁盘使用情况。
示例:
du -sh path/to/directory
用于显示之前执行过的命令历史记录。
示例:
history
用于显示或配置网络接口的信息。
示例:
ifconfig
用于测试与目标主机的网络连接情况。
示例:
ping example.com
用于跟踪数据包从源到目的地的路径。
示例:
traceroute example.com
用于从本地主机远程登录到其他主机。
示例:
ssh user@example.com
用于在本地主机和远程主机之间安全复制文件和目录。
示例:
scp file.txt user@example.com:/path/to/destination
用于编辑当前用户的定时任务列表。
示例:
crontab -e
用于在后台运行命令,即使终端关闭也不会停止。
示例:
nohup command &
用于在本地主机和远程主机之间安全复制目录和其子目录。
示例:
scp -r directory user@example.com:/path/to/destination
用于在本地和远程主机之间同步文件和目录。
示例:
rsync -avz source/ user@example.com:/path/to/destination
用于在命令历史记录中搜索特定关键词的命令。
示例:
history | grep "keyword"
用于删除当前用户的定时任务列表。
示例:
crontab -r
用于安全地关闭系统。
示例:
shutdown -h now
用于重启系统。
示例:
reboot
用于动态监视命令的输出,并间隔刷新显示。
示例:
watch -n 1 command
用于显示当前打开的网络连接信息。
示例:
lsof -i
用于递归地更改文件和目录的权限。
示例:
chmod -R 755 directory/
用于递归地搜索文件内容。
示例:
grep -R "pattern" directory/
用于在文件中进行反向匹配搜索。
示例:
grep -v "pattern" file.txt
用于对文件进行文本编辑和转换操作。
示例:
sed 's/search/replace/' file.txt
用于对文本进行分析和处理的强大工具。
示例:
awk '{print $1}' file.txt
用于在指定路径下查找匹配的文件和目录。
示例:
find /path/to/search -name "filename"
用于对文件内容按行排序。
示例:
sort file.txt
用于去除文件中相邻重复的行。
示例:
uniq file.txt
用于统计文件中的字数、行数和字节数。
示例:
wc file.txt
用于将文件打包成 tar 压缩文件。
示例:
tar -cvf archive.tar file1 file2
用于递归地在文件中搜索指定内容,忽略大小写。
示例:
grep -ri "pattern" directory/
用于清除当前用户的命令历史记录。
示例:
history -c
恭喜你!通过阅读本文,你已经了解并掌握了100个Linux命令行的常用命令和技巧。这些命令将极大地提高你在Linux系统中的工作效率,并使你更加熟练地与终端交互。记得将这些命令和技巧融会贯通,灵活运用在你的日常工作中。