which
which 命令用于查看可执行命令的文件位置。
示例
which ls
# 输出: /bin/lswhich python
# 输出: /usr/bin/python
find
find 命令用于查找文件。
常用选项
-name: 按文件名查找-size: 按文件大小查找- 通配符支持:
*(匹配任意字符),?(匹配单个字符)
示例
# 查找当前目录下所有.txt文件
find . -name "*.txt"# 查找/home目录下大于100MB的文件
find /home -size +100M# 查找/etc目录下以.conf结尾的文件
find /etc -name "*.conf"# 查找当前目录下名为test.txt的文件
find . -name test.txt
df
df 命令用于显示磁盘空间使用情况。
示例
# 显示所有文件系统的磁盘使用情况
df -h# 仅显示ext4文件系统的信息
df -t ext4
du
du 命令用于查看文件和目录的磁盘使用情况。
示例
# 查看当前目录下所有文件和目录的大小
du -sh *# 查看指定目录的大小
du -sh /home/user# 查看目录的详细大小信息
du -h --max-depth=1 /var/log
grep
grep 命令用于文本搜索。
常用选项
-n: 显示匹配行的行号-i: 忽略大小写-v: 反向匹配(显示不包含模式的行)
示例
# 在文件中搜索特定内容
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 命令用于输出文本。
重定向操作符
>: 覆盖输出到文件>>: 追加输出到文件
# 输出文本到屏幕
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- 显示行号
示例
# 打开文件
vim filename.txt# 在vim中常用操作
i # 进入插入模式
[编辑文本]
ESC # 返回命令模式
:wq # 保存并退出
用户管理
创建用户
# 添加用户
useradd xxx1
useradd xxx2# 设置用户密码
passwd xxx1
passwd xxx2# 查看用户信息
getent passwd# 查看当前用户信息
id# 查看特定用户信息
id username
切换用户
# 切换到其他用户
su username# 切换到root用户
su -
借用管理员权限
# 以管理员权限执行命令
sudo command# 编辑sudoers文件(谨慎操作)
sudo visudo
删除用户
# 删除用户
userdel username# 删除用户及其主目录
userdel -r username
群组管理
用户组操作
# 添加用户组
groupadd group1# 查看用户组
getent group# 将用户添加到附加组
usermod -aG group1 username# 删除用户组
groupdel group1
权限管理
chmod - 更改文件权限
# 权限表示法
# 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 - 更改文件所有者
# 更改文件所有者
chown root hello.txt# 更改文件所属组
chown :root hello.txt# 同时更改所有者和组
chown root:itheima hello.txt# 递归更改目录所有者
chown -R root test_directory
链接
软链接(符号链接)
# 创建软链接
ln -s /path/to/file link_name# 示例
ln -s /var/log/syslog log_link
硬链接
# 创建硬链接
ln file new_file# 示例
ln original.txt backup.txt
进程管理
查看进程
# 查看所有进程
ps -ef# 查看特定用户进程
ps -u username# 查看进程树
pstree# 动态查看进程
top
历史命令
使用历史命令
# 查看命令历史
history# 搜索历史命令
history | grep 'apt'# 执行历史中的特定命令
!number # 执行第number条历史命令
!string # 执行最近以string开头的命令# 搜索历史命令(交互式)
Ctrl+R
# 然后输入搜索关键词,按左右键选择
其他实用技巧
命令组合示例
# 查找并处理文件
find . -name "*.log" -exec grep -l "error" {} ;# 统计文件行数
wc -l filename# 排序和去重
sort file.txt | uniq# 监控日志文件变化
tail -f /var/log/syslog
通配符使用
# 匹配任意字符
cp *.txt /backup/# 匹配单个字符
ls file?.txt# 匹配字符范围
ls file[0-9].txt# 匹配多个模式
ls {*.txt,*.log}
希望这份详细的文档能帮助您更好地理解和使用Linux命令。每个命令都有更多高级选项,可以通过man command(如man find)查看完整手册。