Linux小白入门教程(基础命令篇)
适合零基础,全部附带示例,复制即可在终端练习,基于文档整理
一、登录、关机重启相关命令
1. login 登录
用于命令行登录系统,输入用户名回车,再输入密码。
⚠️输入密码屏幕不会显示任何字符,直接输完回车即可。
2. last 查看登录记录
读取/var/log/wtmp,查看历史登录、重启记录。
last # 查看全部登录记录
last -n 3 # 只显示最近3条
last -R # 不显示主机IP
last reboot # 查看系统重启历史
3. exit 退出终端/脚本
exit # 退出当前shell终端,脚本中写exit代表结束脚本
exit 1 # 以错误状态码退出
4. shutdown 安全关机/重启(推荐生产使用)
| 命令 | 说明 |
|---|---|
shutdown -h now |
立刻关机 |
shutdown -h +10 |
10分钟之后关机 |
shutdown -r now |
立刻重启 |
shutdown -c |
取消已经设置的关机任务 |
-hhalt停机断电;-rreboot重启;-ccancel取消任务
5. halt 停止系统
halt #停止系统,默认不断电
halt -p #停止并且直接断电
6. reboot 重启机器
reboot #直接重启
✨小提示:
shutdown会通知所有在线用户,安全终止进程,优先使用;halt/reboot比较粗暴,可能丢失数据。
二、目录导航命令(我在哪、去哪里)
1. pwd 打印当前所在路径
pwd = print working directory,打印当前工作目录绝对路径。
pwd
pwd -L # 显示逻辑路径(软链接路径,默认)
pwd -P # 显示真实物理路径,穿透软链接
2. cd 切换目录 change directory
特殊符号速记
| 符号 | 含义 |
|---|---|
~ |
当前用户家目录 root就是/root |
. |
当前目录 |
.. |
上一级目录 |
- |
上一次访问过的目录 |
cd /etc # 绝对路径,进入etc
cd ~ # 回家目录
cd .. # 回到上一级
cd ../.. # 往上两级
cd - # 在两个目录来回跳转
cd # 不带参数等价cd ~,直接回家
3. ls 列出目录内容 list
语法:ls [选项] [文件/目录]
| 选项 | 作用 | 示例 |
|---|---|---|
-l |
长格式,显示权限、所有者、时间大小 | ls -l |
-a |
显示全部,包含.开头隐藏文件 |
ls -a |
-h |
配合-l,KB/MB人类可读大小 | ls -lh |
-t |
按修改时间,最新放最上面 | ls -lt |
-r |
反向排序 | ls -ltr |
-R |
递归列出所有子目录 | ls -R |
-d |
只看目录本身,不看目录内部内容 | ls -ld /etc |
ls
ls -lh /var/log
ls -ltr # 旧文件排在前面,排查日志常用
ls -l输出第一字符含义:
-普通文件;d目录;l软链接;b块设备;c字符设备
三、创建、删除、复制、移动文件目录
1. mkdir 创建目录 make directory
mkdir dir1 # 创建单个文件夹dir1
mkdir dir3 dir4 # 同时创建多个
mkdir -p dir2/test # -p递归创建多层,父目录不存在自动创建
不加
-p,父目录不存在直接报错。
2. touch 创建空文件 / 修改时间戳
touch test.txt # 文件不存在 → 创建空文件;存在 → 更新修改时间
touch -a test.txt # 只修改访问时间
touch -m test.txt # 只修改内容修改时间
3. cp 复制 copy
复制目录必须加
-r
cp test.txt /tmp #复制文件到/tmp目录
cp test.txt /tmp/new.txt #复制并重命名
cp -r /etc/yum.repos.d /tmp #-r递归复制整个目录
cp -i test.txt /tmp #-i覆盖前询问确认
cp -p test.txt /tmp #保留原始权限时间属性
cp -v file1 file2 /tmp #-v显示复制详细过程
4. mv 移动 / 改名 move
同一个目录下执行mv就是重命名;跨目录就是移动,不需要-r参数
mv file1 file2 #重命名 file1 → file2
mv file2 dir2/ #移动文件进入dir2目录
mv dir1 dir2 #dir2存在就把dir1放进dir2;dir2不存在则改名dir1为dir2
mv -i old.txt new.txt #覆盖前询问
5. rm 删除 remove ⚠️高危!删除无法恢复
删除目录一定要
-r
rm file1.txt #删除文件,默认会询问
rm -f file1.txt #-f强制删除,不提示
rm -r dir1 #-r递归删除目录和里面所有内容
rm -rf /tmp/* #强制清空tmp下全部内容
❗千万不要敲
rm -rf /,会把整个系统删除!
四、查看文件内容命令
1. cat 一次性输出全部内容(适合小文件)
cat filename
cat -n filename #显示行号(空行也编号)
cat -b filename #只给非空行加行号
cat > test.txt #从键盘输入内容写入文件,Ctrl+D结束输入
cat >> test.txt #追加内容到文件末尾
2. head 看文件开头,默认前10行
head passwd
head -n 5 passwd #只看前5行
head -n -10 passwd #除最后10行,其余全部输出
3. tail 看文件末尾,日志神器!
tail passwd
tail -n 5 passwd #最后5行
tail -f passwd #-f实时跟踪文件新增内容,看动态日志,Ctrl+C退出
tail -n +10 passwd #从第10行一直看到文件末尾
4. more 分页浏览文件
more messages
操作按键:
- 空格:向下翻一页
- 回车:向下一行
- q:退出
- b向上翻页
5. less 增强版分页查看(推荐,比more好用)
less messages
常用快捷键
| 按键 | 功能 |
|---|---|
| 空格 / f | 向下翻页 |
| b | 向上翻页 |
| j / ↓ | 下一行 |
| k / ↑ | 上一行 |
/关键词 |
向下搜索字符串 |
?关键词 |
向上搜索 |
| n/N | 跳到下一个/上一个搜索结果 |
| q | 退出 |
五、查找命令 find、locate、which
1. find 磁盘实时查找文件
语法:find [查找路径] [条件] [动作]
find . -name "file.txt" #当前目录找名字叫file.txt
find / -name "*.log" #全盘查找后缀log文件
find . -type f #查找普通文件
find . -type d #只查找目录
find /home -size +1M #查找大于1M的文件
find /var/log -mtime -7 #7天之内修改过的文件
#找到之后执行命令 {}代表找到的文件 \;结束
find . -name "*.tmp" -exec rm {} \;
-mtime +7:7天更早之前;-mtime -77天以内
2. locate 数据库快速搜索文件
不是扫描硬盘,读取数据库,速度快;新文件需要执行
updatedb更新数据库才可以搜到
dnf install -y mlocate #openEuler需要先安装
updatedb #更新文件数据库
locate passwd
locate -i ~/f #-i忽略大小写搜索
###3. which 查找命令的二进制程序路径 只在PATH环境变量路径里面搜索可执行命令
which ls
which bash
六、压缩、解压 gzip & tar
1. gzip 压缩单个文件
gzip压缩默认会删除原文件;不能直接压缩目录,需要搭配tar
gzip file1 #压缩为file1.gz,源文件删除
gzip -k file2 #-k keep保留原始文件
gzip -d file1.gz #解压缩,等同于gunzip file1.gz
gzip -r dir #递归压缩目录里面每一个文件
2. tar 打包归档(Linux最常用)
tar本身只打包,不压缩;搭配-z实现gzip压缩。 参数
-f必须放在参数最后面!
| 参数 | 含义 |
|---|---|
-c |
创建打包文件 |
-x |
解压解包 |
-t |
查看包内部内容,不解压 |
-z |
使用gzip压缩(.tar.gz) |
-v |
verbose,显示详细过程 |
-f |
指定包文件名,写在所有选项最后! |
# 打包并压缩 etc目录,生成etc.tar.gz
tar -czvf etc.tar.gz etc
# 解压tar.gz压缩包
tar -xzvf etc.tar.gz
#只查看压缩包里面有什么,不解压
tar -tzvf etc.tar.gz
#--exclude排除某些文件再打包
tar -czvf abc.tar.gz abc --exclude=abc/1.txt
七、ln 链接命令(软链接、硬链接)
-
软链接(-s):Windows快捷方式;可以跨分区,可以链接目录;源文件删除,链接失效
-
硬链接:同一个inode别名,不能跨分区,不能链接目录;删除源文件,硬链接文件还能正常访问
创建软链接 -s symbol
ln -s /var/log/dnf.log dnf.link
#创建硬链接(不加-s)
ln /etc/passwd passwd.link
查看inode号:ll -i
八、帮助命令 man / help
man:查看命令手册
man ls
man 5 passwd #5代表配置文件格式手册
手册章节
| 编号 | 内容 |
|---|---|
| 1 | 普通用户命令 |
| 5 | 配置文件格式 |
| 8 | 系统管理员root命令 |
help:查看shell内置命令帮助
help pwd
help -s cd #只打印简短语法
📝小白练习小作业
复制下面逐条敲,熟悉命令
pwd
cd /tmp
mkdir testdemo
cd testdemo
touch a.txt b.txt
ls -lh
cp a.txt c.txt
mv b.txt bb.txt
ls
cat > a.txt <<EOF
hello linux
小白练习
EOF
cat a.txt
head -n1 a.txt
ls -ld /tmp
cd -