可以给我一个🆓的大拇哥吗?👍😚
指路我另一篇shell脚本linux命令常见参数解读,超级方便记忆,对我来说知道是啥单词就一下子记住了。感兴趣可以看看~
一、文件与目录操作
1. ls
:查看目录内容
- 基本用法:
ls # 查看当前目录下所有文件名
ls -l # 查看详细信息
ls -a # 显示隐藏文件(如 `.bashrc`)
ls -lh # 以可读的方式显示文件大小
- 示例:
ls -lh /home/user
2. cd
:切换目录
cd /home/user # 进入指定目录
cd .. # 返回上一级目录
cd ~ # 进入用户主目录
cd - # 返回上一次访问的目录
- 示例:
cd /var/log
3. mkdir
:创建目录
- 创建单个目录:
mkdir myfolder
- 创建多级目录:
mkdir -p project/src/main
4. rm
:删除文件或目录
- 删除文件:
rm filename.txt
- 删除空目录:
rm -r myfolder
- 强制递归删除目录:
rm -rf old_folder
注意:rm -rf
使用要特别谨慎,删除不可恢复!
5. cp
:复制文件或目录
- 复制文件:
cp file.txt /home/user/documents/
- 递归复制目录及其内容:
cp -r folder1 /home/user/backup/
5. mv
:移动或重命名文件和目录
- 文件重命名:
mv oldname.txt newname.txt
- 移动文件或目录:
mv file.txt /home/user/documents/
- 重命名文件:
mv old_name.txt newname.txt
二、权限管理
1. chmod
:修改文件权限
基本语法:
chmod [权限模式] [文件名]
- 例如:给文件设置权限(r读,w写,x执行):
chmod 755 script.sh # 所有人可读、用户可写、可执行
- 使用字母模式:
chmod u+x script.sh # 给文件所有者添加执行权限
权限说明:
- r (4) - 可读
- w (2) 写权限
- x (1) 执行权限
例如:
chmod 755 script.sh # 文件拥有者可读写执行,其他人只能读和执行
2. chown
:修改文件或目录的所有者
- 改变文件拥有者:
sudo chown username file.txt
- 同时改变文件所有者和所属组:
sudo chown user:group file.txt
三、文本处理命令
1. grep
:从文本中查找匹配内容
- 语法:
grep [选项] 'pattern' 文件名
- 示例:查找文件中包含特定字符串的行:
grep 'error' /var/log/syslog
- 常用选项:
-i
忽略大小写-n
显示行号-r
递归搜索目录
2. awk
:处理结构化文本
- 语法:
awk '{pattern}' 文件名
- 示例:打印文件中第2列内容:
awk '{print $2}' file.txt
- 示例:筛选大于特定数值的行:
awk '$3 > 100 {print $0}' data.txt
3. sed
:流编辑器,快速替换文本内容
- 替换文本内容:
sed 's/old/new/g' file.txt
- 删除指定行:
sed '2d' file.txt # 删除第2行
- 替换文件内文本:
sed -i 's/old/new/g' file.txt
四、文件查看与编辑
1. cat
:查看文件内容
- 显示整个文件内容:
cat file.txt
- 合并多个文件内容显示:
cat file1.txt file2.txt
2. tail
:查看文件尾部内容
- 查看文件最后几行(默认10行):
tail file.log
- 持续实时监控文件变化(用于查看日志更新):
tail -f /var/log/syslog
3. less
:分屏查看大文件(分页查看)
- 使用方式:
less largefile.log
- 在less中常用快捷键:
- 空格键:向下翻页
- b:向上翻页
- q:退出
4. vi/vim
:编辑文件
- 打开或创建新文件:
vi myscript.sh
-
常用操作:
i
插入模式,进行编辑ESC
退出编辑模式:w
保存文件:q
退出:wq
保存并退出:q!
强制退出不保存
-
示例:
vi script.sh
编辑完成后:
ESC :wq
Shell 脚本示例 (综合上述命令的实际使用场景):
#!/bin/bash
# 自动创建目录、设置权限并备份日志的脚本
# 创建目录
mkdir -p /home/user/logs/backup
# 复制系统日志
cp /var/log/syslog /home/user/logs/backup/syslog.bak
# 修改权限,只允许文件拥有者读写
chmod 600 /home/user/logs/backup/syslog.bak
# 查找日志中错误信息并保存到文件中
grep 'error' /home/user/logs/backup/syslog.bak > /home/user/logs/backup/errors.txt
echo "日志备份与权限设置完成!"
可以关注我,后续持续更新中……