Linux 高阶命令-常用命令详解

Linux 高阶命令-常用命令详解

思维导图版本

which

which 命令用于查看可执行命令的文件位置。

示例

bash

bash 复制代码
which ls
# 输出: /bin/ls

which python
# 输出: /usr/bin/python

find

find 命令用于查找文件。

常用选项

  • -name: 按文件名查找
  • -size: 按文件大小查找
  • 通配符支持: * (匹配任意字符), ? (匹配单个字符)

示例

bash

arduino 复制代码
# 查找当前目录下所有.txt文件
find . -name "*.txt"

# 查找/home目录下大于100MB的文件
find /home -size +100M

# 查找/etc目录下以.conf结尾的文件
find /etc -name "*.conf"

# 查找当前目录下名为test.txt的文件
find . -name test.txt

df

df 命令用于显示磁盘空间使用情况。

示例

bash

bash 复制代码
# 显示所有文件系统的磁盘使用情况
df -h

# 仅显示ext4文件系统的信息
df -t ext4

du

du 命令用于查看文件和目录的磁盘使用情况。

示例

bash

bash 复制代码
# 查看当前目录下所有文件和目录的大小
du -sh *

# 查看指定目录的大小
du -sh /home/user

# 查看目录的详细大小信息
du -h --max-depth=1 /var/log

grep

grep 命令用于文本搜索。

常用选项

  • -n: 显示匹配行的行号
  • -i: 忽略大小写
  • -v: 反向匹配(显示不包含模式的行)

示例

bash

perl 复制代码
# 在文件中搜索特定内容
grep '命运' aa.txt

# 使用管道搜索
cat aa.txt | grep '命运'

# 多重过滤(取交集)
cat aa.txt | grep '命运' | grep '硬币'

# 显示行号
cat a.txt | grep -n '123'

# 在文件列表中搜索
ls | grep '.doc'

# 在pip包列表中搜索
pip list | grep 'ss'

# 在find结果中搜索
find /etc | grep 'ss'

echo

echo 命令用于输出文本。

重定向操作符

  • >: 覆盖输出到文件
  • >>: 追加输出到文件

示例

bash

bash 复制代码
# 输出文本到屏幕
echo "Hello World"

# 覆盖输出到文件
echo "一些文字" > a.txt

# 追加输出到文件
echo "一串文字" >> a.txt

# 多行文本输出
echo -e "第一行\n第二行" > multiline.txt

vim

Vim 是一个强大的文本编辑器,有三种工作模式。

工作模式

  1. 命令模式:默认模式,用于导航和操作文本

    • dd - 删除当前行
    • yy - 复制当前行
    • p - 粘贴
    • u - 撤销
  2. 输入模式:用于编辑文本内容

    • i 进入插入模式
    • a 进入追加模式
    • o 在当前行下方新建一行
  3. 底线命令模式:用于保存文件、退出等操作

    • :w - 保存文件
    • :q - 退出vim
    • :wq:x - 保存并退出
    • :q! - 强制退出不保存
    • :wq! - 强制保存并退出(需要文件所有者权限)
    • :set number - 显示行号

示例

bash

ini 复制代码
# 打开文件
vim filename.txt

# 在vim中常用操作
i # 进入插入模式
[编辑文本]
ESC # 返回命令模式
:wq # 保存并退出

用户管理

创建用户

bash

bash 复制代码
# 添加用户
useradd xxx1
useradd xxx2

# 设置用户密码
passwd xxx1
passwd xxx2

# 查看用户信息
getent passwd

# 查看当前用户信息
id

# 查看特定用户信息
id username

切换用户

bash

bash 复制代码
# 切换到其他用户
su username

# 切换到root用户
su -

借用管理员权限

bash

bash 复制代码
# 以管理员权限执行命令
sudo command

# 编辑sudoers文件(谨慎操作)
sudo visudo

删除用户

bash

bash 复制代码
# 删除用户
userdel username

# 删除用户及其主目录
userdel -r username

群组管理

用户组操作

bash

csharp 复制代码
# 添加用户组
groupadd group1

# 查看用户组
getent group

# 将用户添加到附加组
usermod -aG group1 username

# 删除用户组
groupdel group1

权限管理

chmod - 更改文件权限

bash

bash 复制代码
# 权限表示法
# u:用户 g:组 o:其他 a:所有
# r:读(4) w:写(2) x:执行(1)

# 添加执行权限
chmod +x filename

# 设置具体权限
chmod 755 filename  # rwxr-xr-x
chmod 644 filename  # rw-r--r--

# 递归修改目录权限
chmod -R 755 directory/

chown - 更改文件所有者

bash

bash 复制代码
# 更改文件所有者
chown root hello.txt

# 更改文件所属组
chown :root hello.txt

# 同时更改所有者和组
chown root:itheima hello.txt

# 递归更改目录所有者
chown -R root test_directory

链接

软链接(符号链接)

bash

bash 复制代码
# 创建软链接
ln -s /path/to/file link_name

# 示例
ln -s /var/log/syslog log_link

硬链接

bash

bash 复制代码
# 创建硬链接
ln file new_file

# 示例
ln original.txt backup.txt

进程管理

查看进程

bash

bash 复制代码
# 查看所有进程
ps -ef

# 查看特定用户进程
ps -u username

# 查看进程树
pstree

# 动态查看进程
top

历史命令

使用历史命令

bash

bash 复制代码
# 查看命令历史
history

# 搜索历史命令
history | grep 'apt'

# 执行历史中的特定命令
!number  # 执行第number条历史命令
!string  # 执行最近以string开头的命令

# 搜索历史命令(交互式)
Ctrl+R
# 然后输入搜索关键词,按左右键选择

其他实用技巧

命令组合示例

bash

bash 复制代码
# 查找并处理文件
find . -name "*.log" -exec grep -l "error" {} ;

# 统计文件行数
wc -l filename

# 排序和去重
sort file.txt | uniq

# 监控日志文件变化
tail -f /var/log/syslog

通配符使用

bash

bash 复制代码
# 匹配任意字符
cp *.txt /backup/

# 匹配单个字符
ls file?.txt

# 匹配字符范围
ls file[0-9].txt

# 匹配多个模式
ls {*.txt,*.log}

希望这份详细的文档能帮助您更好地理解和使用Linux命令。每个命令都有更多高级选项,可以通过man command(如man find)查看完整手册。

相关推荐
疾风铸境4 小时前
项目研发实录:电子称SDK封装dll给到QT和C#调用
linux·服务器·网络
怀旧,4 小时前
【C++】19. 封装红⿊树实现set和map
linux·c++·算法
敲上瘾4 小时前
Docker 存储卷(Volume)核心概念、类型与操作指南
linux·服务器·数据库·docker·容器·架构
神里流~霜灭5 小时前
(C++)数据结构初阶(顺序表的实现)
linux·c语言·数据结构·c++·算法·顺序表·单链表
禁默5 小时前
已知 inode 号,如何操作文件?Ext 文件系统增删查改底层逻辑拆解
linux·服务器·数据库
许怀楠5 小时前
【Linux】基础指令(下)
linux
咕咚.萌西5 小时前
RISC-V开发环境搭建
linux·硬件架构·risc-v
NiKo_W7 小时前
Linux 初识
linux·运维·服务器
磊灬泽11 小时前
【日常错误】鼠标无反应
linux·windows