Linux Bash 常用命令
目录
1、[基础命令](#基础命令)
2、[文件和目录操作](#文件和目录操作)
3、[文本处理](#文本处理)
4、[系统信息与网络管理](#系统信息与网络管理)
5、[包管理与软件安装](#包管理与软件安装)
6、[压缩与解压缩](#压缩与解压缩)
7、[权限管理](#权限管理)
8、[进程管理](#进程管理)
9、[搜索工具](#搜索工具)
10、[其他常用命令](#其他常用命令)
基础命令
cd
:切换目录
cd [目录] # 切换到指定目录 cd .. # 返回上级目录 cd ~ # 返回用户主目录 cd # 返回上次所在的目录
pwd
:显示当前路径
pwd # 打印当前工作目录的绝对路径
ls
:列出目录内容
ls # 列出当前目录下的文件和子目录 ls -l # 以长格式列出文件详细信息 ls -a # 包含隐藏文件一起列出 ls -h # 以人类可读的格式显示文件大小 ls -R # 递归列出子目录内容
cp
:复制文件或目录
cp [源文件] [目标文件] # 复制文件 cp -r [源目录] [目标目录] # 递归复制目录及其内容 cp -i [源] [目标] # 交互式复制,覆盖前提示确认
mv
:移动或重命名文件或目录
mv [源文件] [目标文件] # 移动或重命名文件 mv [源目录] [目标目录] # 移动或重命名目录
rm
:删除文件或目录
rm [文件] # 删除文件 rm -r [目录] # 递归删除目录及其内容 rm -f [文件] # 强制删除文件
mkdir
:创建目录
mkdir [目录] # 创建新目录 mkdir -p [目录] # 递归创建目录(包括父目录)
rmdir
:删除空目录
rmdir [目录] # 仅能删除空目录
touch
:创建空文件或更新文件时间戳
touch [文件] # 创建一个空文件或更新已有文件的时间戳
echo
:输出字符串到控制台或文件中
echo "Hello, World!" # 输出到控制台 echo "Hello, World!" > [文件] # 输出到文件,覆盖原内容 echo "Hello, World!" >> [文件] # 输出到文件,追加内容
文件和目录操作
cat
:查看文件内容
cat [文件] # 显示文件内容 cat file1 file2 > newfile # 合并多个文件的内容并输出到新文件
more
和less
:分页查看文件内容
more [文件] # 分页查看文件内容 less [文件] # 更加强大的分页查看工具,支持上下滚动等操作
head
:查看文件头部内容
head [文件] # 默认显示前10行内容,可以通过-n选项指定行数
tail
:查看文件尾部内容
tail [文件] # 默认显示最后10行内容,可以通过-n选项指定行数 tail -f [文件] # 实时跟踪文件新增内容
grep
:文本搜索工具
grep [字符串] [文件] # 在文件中搜索字符串,返回匹配行 grep -i [字符串] [文件] # 忽略大小写搜索 grep -r [字符串] [目录] # 递归搜索目录中的文件 grep -n [字符串] [文件] # 显示匹配行的行号 grep -v [字符串] [文件] # 反转匹配,显示不包含字符串的行
find
:查找文件或目录
find [路径] [条件] # 根据条件查找文件或目录 find /path/to/search -name "filename" # 查找名为filename的文件 find /path/to/search -type f -size +10M # 查找大于10MB的文件 find /path/to/search -type d -name "dirname" # 查找名为dirname的目录
xargs
:构建和执行由find
生成的命令
find . -name "*.txt" | xargs rm # 删除当前目录及其子目录下所有.txt文件
ln
:创建链接文件
ln -s [源文件] [符号链接] # 创建符号链接 ln [源文件] [硬链接] # 创建硬链接(需要在同一个文件系统内)
文本处理
cut
:提取文本字段
cut -d':' -f1 /etc/passwd # 使用':'作为分隔符提取/etc/passwd中的第一个字段
sort
:排序文本文件内容
sort [文件] # 对文件内容进行字母顺序排序 sort -n [文件] # 按数值排序 sort -r [文件] # 逆序排序 sort -k1,2 [文件] # 按第1列和第2列进行排序
uniq
:去重工具
uniq [文件] # 去除相邻的重复行,仅保留唯一行 uniq -c [文件] # 统计每行出现的次数,并加上计数前缀
wc
:统计字数、行数、字符数等
wc [文件] # 显示文件的行数、单词数和字符数 wc -l [文件] # 只显示行数 wc -w [文件] # 只显示单词数 wc -c [文件] # 只显示字符数
awk
:强大的文本处理语言
awk '{print $1}' [文件] # 打印每行的第一个字段 awk 'NF>2' [文件] # 打印长度超过两个字段的行 awk '/pattern/ {action}' [文件] # 根据模式匹配执行相应动作
sed
:流编辑器,用于替换文本、删除行等操作
sed 's/old/new/' [文件] # 将文件中的old替换为new sed 's/old/new/g' [文件] # 全局替换,即一行中有多个匹配项也进行替换 sed '/pattern/d' [文件] # 删除匹配模式的行 sed -i 's/old/new/' [文件] # 直接修改文件内容而不输出到标准输出设备上(需小心使用)
系统信息与网络管理
uname
:显示系统信息
uname -a # 显示所有信息,包括内核版本、主机名等 uname -r # 显示内核版本 uname -m # 显示机器架构类型(如x86_64)
top
:实时显示系统进程信息
top # 启动top界面,实时显示系统中各个进程的资源占用情况 top -u [用户名] # 显示特定用户的进程信息
ps
:显示当前运行的进程信息
ps aux # 显示所有进程的信息,包括其他用户的所有进程以及详细的环境变量等数据 ps -ef # 以完整格式显示进程信息,包括UID、PID、PPID、C、STIME、TTY、TIME和CMD等字段 ps -aux | grep [进程名] # 过滤出特定的进程信息
df
:查看磁盘空间使用情况
df -h # 以人类可读的格式显示磁盘空间使用情况,单位为GB、MB等 df -i # 显示已用和可用的inode数量
du
:显示磁盘使用情况汇总
du -h [目录] # 以人类可读的格式显示目录及其子目录的大小,单位为GB、MB等 du -sh * # 显示当前目录下每个子目录的总大小,包括隐藏目录(以.开头的目录)
free
:查看内存使用情况
free -h # 以人类可读的格式显示内存使用情况,单位为GB、MB等 free -m # 以MB为单位显示内存使用情况 free -g # 以GB为单位显示内存使用情况
ifconfig
:配置和显示网络接口信息(已弃用,推荐使用ip
命令)
ifconfig # 显示所有网络接口的配置信息,包括IP地址、掩码、广播地址等数据,注意:ifconfig已被ip命令取代,建议使用ip替代,ip addr show来代替ifconfig,如果需要继续使用ifconfig,可以通过安装net-tools包来实现,但是为了保持最新标准和技术趋势,强烈建议转向ip命令,对于初学者而言,理解这一点尤为重要,随着技术的发展,一些旧有的工具逐渐被淘汰并由新的工具所取代,这是一个自然的过程,在这个过程中,我们需要不断学习和适应新技术,通过学习新的工具和技术,我们可以更好地应对未来的挑战,我建议大家尽快熟悉并掌握ip命令的使用,这不仅有助于提高工作效率,还能增强我们在职场上的竞争力,技术总是在进步,我们也需要与时俱进,从现在开始,让我们一起拥抱变化,迎接未来吧!
各位小伙伴们,我刚刚为大家分享了有关“bashlinux常用命令”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/705256.html