哈喽哈喽,我是你们的金樽清酒。今天我来总结一下一些简单的常用的shell命令。我为什么要写这篇文章呢?因为我在山脚下见到了另一座山。是的,还没有会当临绝顶,一览众山小就只觉人外有人天外有天。有人说,听不懂,你说人话。好,我说,面腾讯云智的时候被面试官虐了。具体的题目我还没整理好,因为需要一些时间去钻研。这个shell命令就是其中之一。
什么是shell命令。
Shell命令是与操作系统交互的指令,用户通过输入这些命令来执行各种任务,例如管理文件、运行程序、配置系统等。Shell 是一个命令行解释器,它接收用户输入的命令并将其传递给操作系统内核执行。
听不懂,直观一点,它能让你与操作系统对话!!!比如,我切换到桌面文件夹,创建一个名为shell的文件夹。 打开我们的终端,输入shell命令。
可以看到我用shell可以直接与操作系统对话,然后操作系统就会执行相应的命令。
一些常见的shell命令
文件与目录操作
-
ls
- 列出目录内容
- 示例:
ls -l
(详细列表)
-
cd
- 切换目录
- 示例:
cd /home/user
-
pwd
- 显示当前工作目录
- 示例:
pwd
-
mkdir
- 创建目录
- 示例:
mkdir new_folder
-
rmdir
- 删除空目录
- 示例:
rmdir empty_folder
-
rm
- 删除文件或目录
- 示例:
rm file.txt
,rm -r folder
(递归删除)
-
cp
- 复制文件或目录
- 示例:
cp file.txt /backup/
-
mv
- 移动或重命名文件/目录
- 示例:
mv file.txt new_name.txt
-
touch
- 创建空文件或更新文件时间戳
- 示例:
touch new_file.txt
-
cat
- 查看文件内容
- 示例:
cat file.txt
-
more / less
- 分页查看文件内容
- 示例:
more file.txt
,less file.txt
-
head / tail
- 查看文件开头或结尾部分
- 示例:
head -n 10 file.txt
,tail -f logfile
(实时查看日志)
-
find
- 查找文件或目录
- 示例:
find /home -name "*.txt"
-
chmod
- 修改文件权限
- 示例:
chmod 755 script.sh
-
chown
- 修改文件所有者
- 示例:
chown user:group file.txt
文本处理
-
grep
- 搜索文本
- 示例:
grep "pattern" file.txt
-
sed
- 流编辑器,用于文本替换
- 示例:
sed 's/old/new/g' file.txt
-
awk
- 文本处理工具
- 示例:
awk '{print $1}' file.txt
-
sort
- 对文本行排序
- 示例:
sort file.txt
-
uniq
- 去除重复行
- 示例:
uniq file.txt
-
wc
- 统计行数、单词数、字符数
- 示例:
wc -l file.txt
系统信息与管理
-
ps
- 显示当前进程
- 示例:
ps aux
-
top
- 实时显示系统资源使用情况
- 示例:
top
-
kill
- 终止进程
- 示例:
kill -9 PID
-
df
- 显示磁盘使用情况
- 示例:
df -h
-
du
- 显示目录或文件大小
- 示例:
du -sh /home
-
free
- 显示内存使用情况
- 示例:
free -m
-
uname
- 显示系统信息
- 示例:
uname -a
-
uptime
- 显示系统运行时间
- 示例:
uptime
网络相关
-
ping
- 测试网络连接
- 示例:
ping google.com
-
ifconfig / ip
- 显示或配置网络接口
- 示例:
ifconfig
,ip addr
-
netstat
- 显示网络连接信息
- 示例:
netstat -tuln
-
ssh
- 远程登录
- 示例:
ssh user@host
-
scp
- 安全复制文件
- 示例:
scp file.txt user@host:/path/
-
wget / curl
- 下载文件
- 示例:
wget http://example.com/file
,curl -O http://example.com/file
压缩与解压
-
tar
- 打包或解压文件
- 示例:
tar -cvf archive.tar folder/
,tar -xvf archive.tar
-
gzip / gunzip
- 压缩或解压文件
- 示例:
gzip file.txt
,gunzip file.txt.gz
-
zip / unzip
- 压缩或解压ZIP文件
- 示例:
zip archive.zip file.txt
,unzip archive.zip
其他常用命令
-
echo
- 输出文本
- 示例:
echo "Hello, World!"
-
date
- 显示或设置系统日期和时间
- 示例:
date
-
history
- 显示命令历史
- 示例:
history
-
alias
- 创建命令别名
- 示例:
alias ll='ls -la'
-
man
- 查看命令手册
- 示例:
man ls
这些是用deepseek来帮我总结的。现在ai的强大让我们获取信息越来越便捷了。
会这些基本命令之后,写一个简单的shell脚本文件
1.打开我们的vscod,创建一个myscript.sh,然后开始写shell脚本。
shell
#!/bin/bash
# 这是一个简单的 Shell 脚本示例
# 1. 输出欢迎信息
echo "Welcome to the Shell Script!"
# 2. 显示当前日期和时间
echo "Current date and time: $(date)"
# 3. 显示当前用户
echo "Current user: $USER"
# 4. 显示当前工作目录
echo "Current directory: $(pwd)"
# 5. 列出当前目录下的文件
echo "Files in the current directory:"
ls -l
# 6. 创建一个新目录
mkdir -p my_new_directory
echo "Created a new directory: my_new_directory"
# 7. 在新目录中创建一个文件
echo "This is a sample file." > my_new_directory/sample_file.txt
echo "Created a sample file in the new directory."
# 8. 显示文件内容
echo "Contents of the sample file:"
cat my_new_directory/sample_file.txt
# 9. 删除新目录及其内容
rm -r my_new_directory
echo "Deleted the new directory and its contents."
# 10. 结束脚本
echo "Script completed!"
首先在脚本的第一行指定解释器路径 我这里是#!/bin/bash。 然后运用上我们的shell命令。这就是一个简单的脚本了。这里我们解释一下什么是脚本。脚本(Script)是一种由一系列命令组成的文本文件,用于自动化执行任务。脚本通常由解释器逐行执行,而不是像编译型语言那样需要先编译成二进制文件。
然后我们用chmod命令赋予脚本执行权限,运行这个文件。
可以看到,上面的命令就被一行行执行了,这就是一个简单的shell脚本。
插语
为什么我的标题里面有欠过的债总是要还的呢?我的专业是网络工程的。必修课里面应该得学这些吧。计算机操作系统,计算机组成原理,数据结构与算法,计算机网络安全。可是呢,并没有,在大学处于一个懵懂的阶段,大一打二,我该干什么,我学这些东西有什么用,我该怎么去学,从来没有人告诉过我们。也是在某一个阶段完成一个觉醒,我得做些什么来改变,而不是整天焦虑的躺平。 翻过这座山,还有一座山,可以得到的是沿途的风景。其实这么看来其实也没有什么可后悔的。以后还有大把的时间可以去解答生命的意义。