Linux 命令速查宝典:从入门到高效操作
为什么我们要学习Linux
- GUI 的局限性:图形界面(GUI)虽然直观,但在处理批量任务、远程管理和自动化脚本时效率低下。
- 命令行的力量:命令行(CLI)的效率、灵活性和可组合性。通过组合不同的命令,可以完成复杂且强大的任务。
- 类比:GUI 就像使用“鼠标”在桌面操作,而 CLI 就像使用“键盘”进行“编程”,前者直观,后者高效且强大。
到底什么是Linux
-
核心概念:Linux 是一套开源的、免费的、多用户、多任务的操作系统。
-
与 Windows 的区别:与 Windows 这种“一体化”操作系统不同,Linux 更像是一个“乐高”积木,其核心是 Linux 内核(Kernel),而我们日常使用的发行版(如 Ubuntu、CentOS、Red Hat)则是在内核之上,打包了各种工具、库和桌面环境,形成一个完整的操作系统。
-
它无处不在:从你的 Android 手机到服务器集群,从超级计算机到物联网设备,Linux 都在背后默默运行,支撑着我们数字世界的运转。
安装Linux开发环境
- 可以使用WSL或者安装虚拟机进行操作。笔者之前使用的是虚拟机,现在切换到了WSL,虚拟机比较吃CPU和内存,笔者电脑配置不高,开发时打开一些杂七杂八的应用就内存占用90%了,切换到WSL后就好很多了。WSL(Windows SubSystem for Linux)是微软提供的一项服务,想要启用可以①打开控制面板,②选择卸载程序,③点击启用或关闭Windows功能,进入到下面这个界面,打开图中蓝圈内的功能,如果你想体验虚拟机,可以将虚拟机平台一并打开,然后重启即可
- 重启后打开此电脑看到这个图片中的Linux后证明WSL开启成功了(笔者已经安装了,所以这个文件夹下会有内容,否则默认是空的),接下来打开微软应用商店搜索Ubuntu选择合适的发行版下载即可
- 安装完成后打开cmd,在状态栏点击鼠标右键打开设置可以看到启动我们刚才安装的Ubuntu
- 打开后默认是根目录(这里的命令行是笔者自己配置的如果你感兴趣可以自行搜索并配置,这不是今天的重点),稍后介绍pwd命令
认识你的第一个家:文件和目录操作
- 刚开始使用你可能会不习惯,但是使用久了你就会喜欢上这种方式,需要注意的是Linux的命令和windows上的cmd的命令是有不同的,如果你输入了错误的或者windows上的命令,就会出现这样
root ~/directory hello
Command 'hello' not found, but can be installed with:
snap install hello # version 2.10, or
apt install hello # version 2.10-2ubuntu4
apt install hello-traditional # version 2.10-5
See 'snap info hello' for additional versions.
- Linux中安装软件是通过包管理器进行的,不同的发行版的包管理器是不同的,Centos是yum,Ubuntu是apt等等
- 你需要记住Linux下一切皆文件,接下来我们就来学习文件的常见操作吧
ls
用于列出当前目录(Linux中使用目录的概念而非文件夹)下有哪些文件,但是这样看的很别扭,我们想要了解某个文件的具体属性却做不到,有没有什么方法能更全面的了解文件的属性呢?Linux为我们提供了一系列参数,用于满足我们的需求,基本用法
#列出当前目录下的所有文件
#这里对应文件的属性
#我们来介绍一下每一行的输出都代表什么
#drwxr-xr-x 代表文件类型和权限 d表示目录,-表示普通文件,l表示符号链接,
#后九个字符代表读/写/执行权限,每三个字符为一组分别代表所属者/所属组/其他用户
#接下来这个数字代表有多少个目录项指向该目录的inode,就像一本书的目录一样,你可以直接通过查找目录来找到自己想要看的知识的页号
#接下来两个字符串,代表所属者和所属组
#接下来这个数字代表文件大小,单位是字节
#Sep 5 00:00 这是文件的最后修改时间
#最后一个字符串代表文件名 .指向当前目录,..指向上一级目录
ls -al
total 52
drwxr-xr-x 13 root root 4096 Jan 7 2025 .
drwxr-xr-x 19 root root 4096 Sep 5 09:13 ..
drwxr-xr-x 2 root root 4096 Sep 5 00:00 backups
drwxr-xr-x 11 root root 4096 Jan 7 2025 cache
drwxrwxrwt 2 root root 4096 Jan 7 2025 crash
drwxr-xr-x 37 root root 4096 Aug 27 17:50 lib
drwxrwsr-x 2 root staff 4096 Apr 18 2022 local
lrwxrwxrwx 1 root root 9 Jan 7 2025 lock -> /run/lock
drwxrwxr-x 9 root syslog 4096 Sep 5 09:13 log
drwxrwsr-x 2 root mail 4096 Jan 7 2025 mail
drwxr-xr-x 2 root root 4096 Jan 7 2025 opt
lrwxrwxrwx 1 root root 4 Jan 7 2025 run -> /run
drwxr-xr-x 2 root root 4096 Oct 11 2024 snap
drwxr-xr-x 4 root root 4096 Jan 7 2025 spool
drwxrwxrwt 5 root root 4096 Sep 5 09:13 tmp
cd
命令,就像鼠标点击一样,进入到某个目录内,它只能对目录进行操作pwd
命令,我当前处于哪个目录下mkdir
命令,新建一个目录rmdir
命令,删除一个目录touch
命令,新建一个普通文件cp
命令,复制一个文件,需要指定源文件路径和复制后的文件的路径,也支持指定参数mv
命令,对一个文件或者目录改名,也可以移动文件或目录到指定位置,和cp
的使用方法一样rm -rf
,强制删除某个目录或者文件,使用时一定要注意是否是不需要的文件where
可以用来查找某个目录下有哪些文件which
查找系统中的可执行文件whoami
查看当前是哪个用户
窥探文件内部:查看与编辑
-
cat
: 快速查看文件内容。 -
less
和more
: 分页查看大文件,避免刷屏。 -
head
和tail
: 查看文件的开头和结尾。
实例:tail -f /var/log/syslog
实时监控日志文件,排查问题必备。
-
echo
: 打印字符串到终端或重定向到文件,>
为重定向符号,默认行为是清空文件写入,>>
是追加重定向,不会清空文件内容,默认将内容添加到文件末尾 -
vi/vim
或nano
: 简单的命令行编辑器。初学者可能不知道怎么退出vim,在英文模式下按Esc键,然后输入:wq
,这是保存并退出的意思,如果不想要保存,直接输入!q
即可
搜索的艺术:查找文件与文本
-
find
: 寻找文件,就像大海捞针。-
基本用法:
find . -name "*.log"
-
实例:
find /var/www -type f -mtime +7 -delete
查找并删除七天前修改过的文件。
-
-
grep
: 在文件中搜索特定文本,就像在书中找关键词。-
基本用法:
grep "error" /var/log/nginx/error.log
-
管道符
|
的魔力:将一个命令的输出作为另一个命令的输入。 -
实例:
cat access.log | grep "404" | wc -l
统计日志中 404 错误的数量, -
也可以配合
ps
命令使用,查找进程
-
系统管理与网络通信
-
ps
: 查看正在运行的进程。- 实例:
ps aux | grep "nginx"
查找 Nginx 进程。
- 实例:
-
kill
: 终止进程,kill -9 进程id
终止进程 -
top
: 实时查看系统资源占用情况。 -
df
和du
: 查看磁盘空间使用情况。- 实例:
du -sh .
查看当前目录大小。
- 实例:
-
ping
: 测试网络连通性。 -
ssh
: 远程登录服务器。
进阶:如何学习和使用Linux命令?##
-
学习方法:
man
命令:最好的老师是手册,是纯英文的,对英语不好的人有点难受,不过有翻译软件也不是什么事- 最重要的还是多用和多搜,遇到没用过的命令直接搜索即可,Linux中有很多命令,但是常用的就那些,掌握这些足以应对日常使用,遇到不会的查即可。
-
使用好
--help
参数。 -
组合命令的魅力:管道符
|
的实战应用。 -
脚本化思维:如何用命令完成自动化任务
以上就是这篇博客的所有内容了,如果觉得写的不错的话,请多多点赞和关注吧,如果有写的不对的地方,还请批评指正( •̀ ω •́ )✧