Linux 是一个广泛使用的开源操作系统,提供了丰富的命令行工具来管理和操作系统资源。掌握这些命令对于系统管理员和开发者来说至关重要。本文将详细介绍一些常用的 Linux 命令,并提供示例说明其用法。
目录文件和目录操作文本处理系统信息网络操作压缩和归档权限管理进程管理软件包管理1. 文件和目录操作ls列出目录内容。
代码语言:javascript代码运行次数:0运行复制bash深色版本ls # 列出当前目录的内容
ls -l # 以长格式列出目录内容
ls -a # 列出所有文件,包括隐藏文件
ls -la # 结合长格式和显示隐藏文件cd更改目录。
代码语言:javascript代码运行次数:0运行复制bash深色版本cd /path/to/directory # 更改到指定目录
cd .. # 返回上一级目录
cd ~ # 返回用户主目录pwd显示当前工作目录的完整路径。
代码语言:javascript代码运行次数:0运行复制bash深色版本pwdmkdir创建新目录。
代码语言:javascript代码运行次数:0运行复制bash深色版本mkdir new_directory # 创建单个目录
mkdir -p dir1/dir2 # 创建多级目录rm删除文件或目录。
代码语言:javascript代码运行次数:0运行复制bash深色版本rm file.txt # 删除文件
rm -r directory # 删除目录及其内容
rm -rf directory # 强制删除目录及其内容(谨慎使用)cp复制文件或目录。
代码语言:javascript代码运行次数:0运行复制bash深色版本cp file.txt copy_file.txt # 复制文件
cp -r dir1 dir2 # 复制目录及其内容mv移动或重命名文件或目录。
代码语言:javascript代码运行次数:0运行复制bash深色版本mv old_name.txt new_name.txt # 重命名文件
mv file.txt /path/to/destination # 移动文件touch创建空文件或更新文件时间戳。
代码语言:javascript代码运行次数:0运行复制bash深色版本touch newfile.txt # 创建空文件
touch existingfile.txt # 更新文件的时间戳2. 文本处理cat显示文件内容。
代码语言:javascript代码运行次数:0运行复制bash深色版本cat filename.txt # 显示文件全部内容
cat file1.txt file2.txt # 合并两个文件内容并显示less分页显示文件内容。
代码语言:javascript代码运行次数:0运行复制bash深色版本less filename.txt # 分页显示文件内容head显示文件开头部分。
代码语言:javascript代码运行次数:0运行复制bash深色版本head filename.txt # 显示文件前10行
head -n 20 filename.txt # 显示文件前20行tail显示文件结尾部分。
代码语言:javascript代码运行次数:0运行复制bash深色版本tail filename.txt # 显示文件最后10行
tail -f filename.txt # 实时跟踪文件末尾变化
tail -n 20 filename.txt # 显示文件最后20行grep搜索文件内容。
代码语言:javascript代码运行次数:0运行复制bash深色版本grep "search_term" filename.txt # 在文件中搜索特定字符串
grep -i "search_term" filename.txt # 忽略大小写搜索
grep -r "search_term" /path/to/directory # 递归搜索目录中的文件awk强大的文本处理工具。
代码语言:javascript代码运行次数:0运行复制bash深色版本awk '{print $1}' filename.txt # 打印每行的第一个字段
awk '/pattern/{print $1}' filename.txt # 打印匹配行的第一个字段sed流编辑器,用于基本的文本转换。
代码语言:javascript代码运行次数:0运行复制bash深色版本sed 's/old_text/new_text/g' filename.txt # 替换文件中的所有旧文本为新文本
sed '1d' filename.txt # 删除文件的第一行3. 系统信息uname显示系统信息。
代码语言:javascript代码运行次数:0运行复制bash深色版本uname -a # 显示所有系统信息
uname -r # 显示内核版本
uname -m # 显示机器硬件名称df显示磁盘空间使用情况。
代码语言:javascript代码运行次数:0运行复制bash深色版本df -h # 以人类可读的格式显示磁盘空间
df -T # 显示文件系统的类型du显示目录或文件的空间使用情况。
代码语言:javascript代码运行次数:0运行复制bash深色版本du -sh /path/to/directory # 显示指定目录的总大小
du -ah /path/to/directory # 显示指定目录中所有文件和子目录的大小free显示内存使用情况。
代码语言:javascript代码运行次数:0运行复制bash深色版本free -h # 以人类可读的格式显示内存使用情况top实时显示系统进程信息。
代码语言:javascript代码运行次数:0运行复制bash深色版本top # 显示实时进程信息ps显示当前进程状态。
代码语言:javascript代码运行次数:0运行复制bash深色版本ps aux # 显示所有进程的状态
ps -ef # 显示所有进程的状态(另一种格式)4. 网络操作ping测试主机之间的连通性。
代码语言:javascript代码运行次数:0运行复制bash深色版本ping example.com # 测试与example.com的连通性
ping -c 4 example.com # 发送4个ICMP请求ifconfig 或 ip显示或配置网络接口。
代码语言:javascript代码运行次数:0运行复制bash深色版本ifconfig # 显示所有网络接口的信息
ip addr show # 显示所有网络接口的信息(推荐使用ip命令)netstat显示网络连接、路由表等信息。
代码语言:javascript代码运行次数:0运行复制bash深色版本netstat -tuln # 显示所有TCP和UDP监听端口
netstat -an # 显示所有活动的网络连接ss类似于 netstat,功能更强大。
代码语言:javascript代码运行次数:0运行复制bash深色版本ss -tuln # 显示所有TCP和UDP监听端口
ss -an # 显示所有活动的网络连接traceroute追踪数据包到达目标所经过的路由器。
代码语言:javascript代码运行次数:0运行复制bash深色版本traceroute example.com # 追踪到example.com的数据包路径wget从网络下载文件。
代码语言:javascript代码运行次数:0运行复制bash深色版本wget http://example.com/file.zip # 下载文件
wget -O myfile.zip http://example.com/file.zip # 下载文件并重命名为myfile.zip5. 压缩和归档tar打包和解压文件。
代码语言:javascript代码运行次数:0运行复制bash深色版本tar -cvf archive.tar /path/to/directory # 打包目录
tar -xvf archive.tar # 解压文件
tar -czvf archive.tar.gz /path/to/directory # 打包并压缩目录
tar -xzvf archive.tar.gz # 解压gzip压缩的文件
tar -cjvf archive.tar.bz2 /path/to/directory # 打包并压缩目录(bzip2)
tar -xjvf archive.tar.bz2 # 解压bzip2压缩的文件gzip压缩和解压文件。
代码语言:javascript代码运行次数:0运行复制bash深色版本gzip file.txt # 压缩文件
gunzip file.txt.gz # 解压文件
gzip -d file.txt.gz # 解压文件(另一种方式)bzip2压缩和解压文件。
代码语言:javascript代码运行次数:0运行复制bash深色版本bzip2 file.txt # 压缩文件
bunzip2 file.txt.bz2 # 解压文件
bzip2 -d file.txt.bz2 # 解压文件(另一种方式)zip打包和压缩文件。
代码语言:javascript代码运行次数:0运行复制bash深色版本zip archive.zip /path/to/directory # 打包并压缩目录
unzip archive.zip # 解压文件6. 权限管理chmod更改文件权限。
代码语言:javascript代码运行次数:0运行复制bash深色版本chmod 755 file.txt # 设置文件权限为rwxr-xr-x
chmod u+x file.txt # 给文件所有者添加执行权限
chmod go-rw file.txt # 移除组和其他用户的读写权限chown更改文件所有者。
代码语言:javascript代码运行次数:0运行复制bash深色版本chown user:group file.txt # 更改文件的所有者和组
chown user file.txt # 更改文件的所有者
chown :group file.txt # 更改文件的组su切换用户身份。
代码语言:javascript代码运行次数:0运行复制bash深色版本su username # 切换到指定用户
su - # 切换到root用户sudo以超级用户权限执行命令。
代码语言:javascript代码运行次数:0运行复制bash深色版本sudo command # 以root权限执行命令
sudo -u username command # 020taijiyy.com以指定用户权限执行命令7. 进程管理kill终止进程。
代码语言:javascript代码运行次数:0运行复制bash深色版本kill PID # 终止指定PID的进程
kill -9 PID # 强制终止指定PID的进程pgrep根据名称或其他属性查找进程ID。
代码语言:javascript代码运行次数:0运行复制bash深色版本pgrep process_name # 查找进程ID
pgrep -u username process_name # 查找指定用户下的进程IDpkill根据名称或其他属性终止进程。
代码语言:javascript代码运行次数:0运行复制bash深色版本pkill process_name # 终止指定名称的进程
pkill -u username process_name # 终止指定用户下的进程nohup在后台运行命令,即使关闭终端也不会停止。
代码语言:javascript代码运行次数:0运行复制bash深色版本nohup command & # 在后台运行命令8. 软件包管理Debian/Ubuntu (apt)安装、升级和卸载软件包。
代码语言:javascript代码运行次数:0运行复制bash深色版本sudo apt update # 更新软件包列表
sudo apt install package_name # 安装软件包
sudo apt upgrade # 升级已安装的软件包
sudo apt remove package_name # 卸载软件包
sudo apt autoremove # 自动卸载不再需要的依赖包Red Hat/CentOS (yum)安装、升级和卸载软件包。
代码语言:javascript代码运行次数:0运行复制bash深色版本sudo yum update # 更新软件包列表
sudo yum install package_name # 安装软件包
sudo yum upgrade # 升级已安装的软件包
sudo yum remove package_name # 卸载软件包Fedora (dnf)安装、升级和卸载软件包。
代码语言:javascript代码运行次数:0运行复制bash深色版本sudo dnf update # 更新软件包列表
sudo dnf install package_name # 安装软件包
sudo dnf upgrade # 升级已安装的软件包
sudo dnf remove package_name # 卸载软件包Arch Linux (pacman)安装、升级和卸载软件包。
代码语言:javascript代码运行次数:0运行复制bash深色版本sudo pacman -Syu # 更新软件包数据库并升级已安装的软件包
sudo pacman -S package_name # 安装软件包
sudo pacman -R package_name # 卸载软件包总结以上是 Linux 中一些常用的命令及其用法。熟练掌握这些命令可以帮助你高效地管理和操作 Linux 系统。随着经验的积累,你可以进一步学习更多高级命令和技巧,成为更出色的系统管理员或开发者。