Linux基础命令总结补充教程
什么是Shell
- 链接Linux的桥梁
- 是一个应用程序
- 是一个解释器
- 最常用的bash和sh
路径
- 绝对路径:从根路径开始
- 相对路径:从当前目录开始
- 特殊路径:
. : 当前目录
.. : 上级目录
~ : 家目录
- : 上一步目录
注:系统根指的是 /
查看当前系统的版本
cat /etc/redhat-release
# CentOS Linux release 7.9.2009 (Core)
cd
cd /opt 切换到opt目录下
cd cd后面不跟任何路径,默认切换到当前用户的家目录下面
tree
tree 显示当前目录的目录结构
bash解析器中的快捷键
Ctrl + C : 终止当前命令的操作
ctrl + d : 退出,相当于exit
ctrl + z : 杀死当前进程
ctrl + l : 清屏
ctrl + a : 跳转到行首
ctrl + e : 跳转到行尾
ctrl + r : 搜索历史
esc + . : 上一条命令最后一个参数
!$ : 也是获取上一条命令最后一个参数
wget
wget -o /etc/yum.repos.d/Centos-7.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 将Centos-7的源下载到/etc/yum.repos.d/目录下
wget -o 链接地址 不指定路径默认为当前路径下
history
查看系统执行的命令历史。
- 家目录下
.bash_histroy
文件是保存执行命令历史的文件。
history 查看系统执行的命令历史
cat .bash_history 查看执行命令历史文文件的内容
修改主机名
方式一:
hostnamectl set-hostname svr7
bash 重启终端
方式二:
echo svr7 > /etc/hostname
bash 重启终端
重启与关机
reboot 立即重启
init 6 立即重启
shutdown -r 10 10分钟后重启
shutdown -r 8:30 8:30重启
poweroff 立即停止系统,并且关闭电源
shutdown -h 0 立即关机(now)
shutdown -h 10 10分钟后关机
- 取消正在进行的关机或重启
showdown -c
目录文件结构
- 淡蓝色指的是软连接(快捷方式)
- 绿色指的是可执行文件
cd / 切换到/下
ls -l 查看/下的目录
bin ---> usr/bin 存放普通用户可执行的命令
sbin ---> usr/sbin 存放超级管理员可执行的命令
boot 系统启动文件
root 超级管理员的家目录
home 普通用户的家目录
lib 32位使用的目录
lib64 64位使用的目录
tmp 系统文件目录,一般是第三方软件存放的目录,也是回收站目录
usr 存放系统执行文件的目录,相当于windows中的C盘的windows目录
etc Linux系统配置的目录
dev Linux系统的设备目录(/dev/null 黑洞设备,只进不出)
srv 物理设备产生的一些文件
sys 硬件设备的驱动程序信息
proc 虚拟文件系统,反映出来的是内核,进程信息或实时状态(临时信息)
/proc/meminfo: 内存信息 /proc/cpuinfo: cpu信息
run 存放一些进程编号的目录
opt 下载文件的目录
mnt 相当于windows系统的USB
var
1. 存放系统临时文件的目录
2. 存放系统日志的目录
3. 系统运行时产生的文件
lost+found
ext2/ext3的文件系统格式才会产生lost+found目录 孤儿文件
lost+found目录一般情况下时空的,当系统故障或者突然关机的时候,丢失的一些文件,在这里能找回,只有root用户才能打开。
Linux系统常用的配置文件
- /etc
/etc/sysconfig/network-script/ifcfg-* 网络配置文件
/etc/hostname 系统主机名配置文件
/etc/resolv.conf dns客户端配置文件
/etc/hosts 本地域名解析配置文件
/etc/fstab 系统挂载目录,开机启动挂载列表
/etc/passwd 系统用户文件
文件管理
- 文件的各种类型
drw------- d 代表目录
-rw------- - 代表普通文件
lrw------- l 代表软连接
prw------- p 管道文件
crw------- c 设备文件(字符设备)打印机,终端(/dev)
brw------- b 存储设备硬盘(/dev/sda1)
srw------- s 套接字文件, 进程间通信
- 增 删 改 查 移动 权限
- 增
· 目录
mkdir /dir
mkdir -p /dir/a/b/c (-p)递归创建
tree /dir 查看dir下的目录结构
# /dir
# └── a
# └── b
# └── c
mkdir -pv /dir/A/B/C (-v)打印出整个目录的创建过程
# mkdir: created directory ‘/dir/A’
# mkdir: created directory ‘/dir/A/B’
# mkdir: created directory ‘/dir/A/B/C’
-m 设置创建文件夹的权限
· 文件
touch a.txt b.txt c.txt 同时创建多个文件
touch {a..z}.txt 创建a.txt , b.txt , ... z.txt # {}必须是..
touch {abc,bcd,fgh}.txt 创建abc.txt , bcd.txt , fgh.txt
- 查
· 文件查询(ls)
ls -a /root 查看影藏文件
ls -l /root 查看root目录下文件和目录属性
ls -i /root 打印文件的索引号
ls -lh /root 显示可读文件大小(kb)
ls -ld /root 查看目录本身的属性
ls -F /root 给文件添加标识符
· 查看一个文件的内容(cat)
cat -n /root/a.txt 显示内容并加上行号
· 查看文件开头(head)
head /etc/passwd 从头开始打印文件,默认打印前10行
head -n 2 /etc/passwd 打印前2行
head -2 /etc/passwd 同上,打印前2行
head -c 100 /etc/passwd 打印前100字节的内容
head -c -100 /etc/passwd 去掉后100个字节的内容
· 查看文件结尾(tail)
tail /etc/passwd 从尾部开始打印文件,默认打印10行
tail -n 2 /etc/passwd 打印最后2行
tail -2 /etc/passwd 同上,打印最后2行
tail -c 100 /etc/passwd 打印最后100字节的内容
tail -f /opt/a.txt 实时监控文件新增内容(两个终端测试)
· 查看文件夹层级(tree)
tree 显示目录结构
pwd 查看当前目录绝对路径
- 修改(编辑)
vi/vim 编辑器,文本编辑工具(vim相当于vi的升级版)
vi/vim编辑器的编辑流程
1. 打开文件
2. 创建swp文件,用于临时存储文件修改内容
3. 选择输入模式进行修改内容
4. 进入末行模式,使用指令进行操作
5. 退出
· 输入模式
需要指定输入模式的方法
i : 在光标处之前插入内容
a : 在光标前之后插入内容
o : 在光标下一行输入内容
A : 在光标所在的行尾输入内容
· 保存内容
1. 按键盘上的Esc键
2. 按冒号键进入末行模式
3. 执行命令,对文本进行操作
4. w 保存当前编辑的内容 q 退出编辑器
- 命令模式
光标跳转到行尾
Shift + a 和 Shift + 4($)
光标跳转到行首
0键
删除一行
dd
删除多行
ndd 删除n行
复制一行
yy
复制多行
nyy 复制n行
粘贴
p(粘贴在光标的下一行)
P(粘贴在光标的上一行)
撤销
u 每按一次撤销一次
跳转到页尾
G
跳转到页首
gg
跳转到指定行
nG 跳转到n行
- 末行模式(:)
强制退出
q! 修改内容不保存退出
显示行号
set nu
取消显示行号
set nonu
行内替换
s/old/new 替换当前行第一个"old"
s/old/new/g 替换当前行所有的"old"
区域内替换
n,m s/old/new/g 替换n-m行所有的"old"
% s/old/new/g 替换文件内所有的"old"
文件操作
w /opt/a.txt 另存为其它文件(其他文件必须是新建文件)
r /opt/b.txt 读入其他文件内容
- 移动
mv a.txt /opt/ 将当前路径下的a.txt移动到/opt/目录下
mv a.txt A.txt 重命名a.txt为A.txt(移动到当前文件夹中)
- 删除
rm /opt/a.txt 不加选项需要确认是否要删除
# rm: remove regular file ‘/opt/a.txt’? y
rm -f /opt/A.txt -f取消-i的意思,取消确认交互,直接删除。
-i增加删除前的提示
which rm 查看rm的执行文件
# alias rm='rm -i'
# /usr/bin/rm
/usr/bin/rm b.txt 使用执行文件可以直接删除
/usr/bin/rm -i B.txt 加了-i需要确认后才可以删除
# /usr/bin/rm: remove regular file ‘B.txt’? y
rm的简写
rm c.txt
# rm: remove regular empty file ‘c’? y
\rm c.txt 直接删除c.txt
# \rm 等价于 /usr/bin/rm