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 是一个强大的文本编辑器,有三种工作模式。
工作模式
-
命令模式:默认模式,用于导航和操作文本
dd
- 删除当前行yy
- 复制当前行p
- 粘贴u
- 撤销
-
输入模式:用于编辑文本内容
- 按
i
进入插入模式 - 按
a
进入追加模式 - 按
o
在当前行下方新建一行
- 按
-
底线命令模式:用于保存文件、退出等操作
: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
)查看完整手册。