第1章 命令总结
1.1 echo命令
命令 功能:所见即所得
echo 参数说明
-n 不输出行尾的换行符
-e 允许对下面的加反斜线转义的字符进行解释(识别特殊符号)
-E 制止对STRINGS中的那些序列进行解释
–help 显示帮助并退出(须单独运行)
–version 输出版本信息并退出(须单独运行)
例如:
[root@oldoboy250 ~]# echo ‘hello world’
hello world
[root@oldoboy250 ~]# echo -e ‘suibian\nxiaobao’
suibian
xiaobao
PS1定义了命令提示符
-bash: [\u@\h: command not found
-bash: ifconfig: command not found
命令 不 找 (找不到命令)
-bash: /usr/sbin/useradd: Permission denied
1.2 whoami命令
命令 功能:查看当前用户
whoami 参数
[root@oldoboy250 ~]# whoami
root
1.3 pwd命令
命令 功能:查看当前用户位置(打印当前用户所在的位置)
pwd
1.4 history命令
命令 功能:日志审计
history 参数
-n 显示n个最近的记录
-r 读取记录,但不会添加内容记录
-w 覆盖原有的history文件
-c 清除记录
-d 《编号》[n]删除指定n跳记录
例如:
n 显示n个最近的记录
[root@oldoboy250 ~]# history 5
4 history
5 cat ./bash_history
6 ls ./bash_history
7 history 2
8 history 5
[root@oldoboy250 ~]# history –c
[root@oldoboy250 ~]# history 查看历史记录
#删除第5条历史记录
[root@oldoboy250 ~]# history -d 5
! +命令中的前面字符:调用之前的历史命令,只能调用最近执行过的命令。
!!:执行上一条执行过的命令
!+历史命令中的编号:[root@oldboyedu-gx etc]# ls -lt
1.5 alias命令
命令 功能:创建别名
alias 参数
Unalias 取消别名
[root@oldoboy250 ~]# alias bd=“ping www.baidu.com”
[root@oldoboy250 ~]# bd
取消别名
[root@oldoboy250 ~]# unalias bd
查看别名
[root@oldoboy250 ~]# alias
alias cp=‘cp -i’
alias egrep=‘egrep --color=auto’
alias fgrep=‘fgrep --color=auto’
alias grep=‘grep --color=auto’
alias l.=‘ls -d .* --color=auto’
alias ll=‘ls -l --color=auto’
alias ls=‘ls --color=auto’
alias mv=‘mv -i’
alias rm=‘rm -i’
1.6 帮助命令
命令 功能
man 查看命令帮助
–help 查看命令帮助
[root@oldboyedu ~]# ls --help
Usage: ls [选项] [文件]
ls
ls -l
ls -l /tmp
[root@oldoboy250 ~]# man ls
[root@oldoboy250 ~]# man cd
1.7 ls命令
命令 功能:查看目录和文件
ls 参数
-1 数字1,以列表的形式展示出某个目录下的文件
-l 显示出某个目录下的详细信息,相当于ll(别名)
-h 要配合l,t,a参数使用,以人类可读的方式显示目录文件(文件大小上加了单位)
-t 按照修改时间排序,显示目录文件信息,最新的时间段在上面
-r 倒序排列显示目录和文件信息
-i 显示目录和文件的inode号
-a 显示所有目录文件,包括隐藏的目录文件
-d 只显示目录本身
例如:
[root@oldoboy250 ~]# ls -a
. anaconda-ks.cfg .bashrc
… .bash_logout .cshrc
abc .bash_profile .tcshrc
[root@oldoboy250 ~]# ls -l
total 8
-rw-r–r--. 1 root root 4 Jun 18 11:15 abc
-rw-------. 1 root root 1444 Jun 12 20:13 anaconda-ks.cfg
[root@oldoboy250 ~]# ls -al
total 28
dr-xr-x—. 2 root root 125 Jun 18 11:18 .
dr-xr-xr-x. 18 root root 238 Jun 18 11:08 …
-rw-r–r--. 1 root root 4 Jun 18 11:15 abc
-rw-------. 1 root root 1444 Jun 12 20:13 anaconda-ks.cfg
-rw-r–r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r–r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r–r--. 1 root root 176 Dec 29 2013 .bashrc
-rw-r–r--. 1 root root 100 Dec 29 2013 .cshrc
-rw-r–r--. 1 root root 129 Dec 29 2013 .tcshrc
[root@oldoboy250 ~]# ls -tal
total 28
dr-xr-x—. 2 root root 125 Jun 18 11:18 .
-rw-r–r--. 1 root root 4 Jun 18 11:15 abc
dr-xr-xr-x. 18 root root 238 Jun 18 11:08 …
-rw-------. 1 root root 1444 Jun 12 20:13 anaconda-ks.cfg
-rw-r–r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r–r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r–r--. 1 root root 176 Dec 29 2013 .bashrc
-rw-r–r--. 1 root root 100 Dec 29 2013 .cshrc
-rw-r–r--. 1 root root 129 Dec 29 2013 .tcshrc
[root@oldoboy250 ~]# ls -ihl
total 8.0K
33574982 -rw-r–r--. 1 root root 4 Jun 18 11:15 abc
33574978 -rw-------. 1 root root 1.5K Jun 12 20:13 anaconda-ks.cfg
[root@oldoboy250 ~]# ls -rhl
total 8.0K
#以列表的形式展示出tmp目录下的文件
[root@oldboyedu ~]# ls -1 /tmp/
#详细信息
[root@oldboyedu ~]# ls -l /tmp
[root@oldboyedu ~]# ls -tl /etc/
[root@oldboyedu ~]# ls -tlr /etc/
第2章 目录结构
/
├── bin -> usr/bin #普通用户可执行的命令存放目录 软链接
├── boot #系统的启动项和引导菜单
├── data
├── dev #系统的设备目录
├── etc #系统配置文件目录
├── home #普通用户的家目录
├── lib -> usr/lib #32位库文件
├── lib64 -> usr/lib64#64位库文件
├── media #光盘、挂载目录
├── mnt #挂载目录
├── opt #第三方厂商软件安装目录
├── proc #反映系统当前进程的实时状态
├── root #超级用户的家目录
├── run #存放系统服务的pid文件
├── sbin -> usr/sbin #超级管理员使用的应用程序目录 软链接
├── srv
├── sys
├── tmp #临时目录,类似于回收站
├── usr #相当于Windows下的c:\program
└── var #可变化系统文件
#普通用户可执行的命令存放目录
软链接
bin --> usr/bin
#超级用户可执行的命令存放目录
sbin --> usr/sbin
#系统命令,依赖的库文件存放的目录
lib --> usr/lib
lib64 --> usr/lib64
#系统的启动项和引导菜单
/boot
#系统的设备目录
/dev
sda :/dev系统中的第一块磁盘
sda1:系统中的第一块磁盘的第一个分区
sda2:系统中的第二块磁盘的第二个分区
sda3:系统中的第三块磁盘的第三个分区
sdb:系统中的第二块磁盘
sdc:系统中的第三块磁盘
sdc4系统中第三磁盘的第四个分区
/dev/null:类似于黑洞,垃圾回收站。
/dev/zero:能产生源源不断的数据
/dev/pts/:查看用户连接的终端数
/usr
/usr 目录 相当于Windows下的C:\Windows目录
/usr/local 软件安装目录 相当于C:\Program
/usr/bin 普通用户使用的应用程序(重要)
/usr/sbin 超级管理员用户使用的应用程序(重要)
/usr/lib 32位库文件
/usr/lib64 64位库文件
#系统配置文件目录
etc
/etc/hostname:记录主机名的配置文件
/etc/hosts:本地域名解析配置文件
/etc/reslov.conf:DNS解析配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0:网卡配置文件
普通用户的家目录
/home
超级用户的家目录
/root
光驱、挂载目录
/media
/mnt
第三方厂商安装软件的目录
/opt
反应系统当前进程的实时状态
/proc
临时目录,类似于回收站
/tmp
可变化系统文件目录
var
/var/log/messages:系统日志
/var/log/secure:系统登录日志
l:软链接
d:目录
-:普通文件
c:块设备文件
2.1 bash xshell的特性
一.bash初识
1.什么是bash shell
是一个命令解释器,与内核进行交互(用户和操作系统的接口)
2.bash shell的作用
文件管理
用户管理
权限管理
磁盘管理
网络管理
软件管理
应用管理
...
3.bash两种使用方式
1)命令
效率低,适合少量工作
2)脚本
效率高,适合大量工作
4.命令提示符
[root @ centos7 ~ ] # :超级管理员
[oldboy @ centos7 ~ ] $ :普通用户
当前登录的用户 主机名 当前目录的位置
/home/oldboy:普通用户家目录
/root:root用户的家目录
二.shell的基础语法
命令 选项 参数
command [-options] [arguments] 中括号 可有可无
echo:所见即所得。输出你echo后面参数内容
-e:识别换行符等特殊符号
:转义符
$:调用变量
echo ‘zls’
echo -e ‘zls\n123’ (换行—>\n)
第3章 快捷键
三.shell的基本特性
1.命令补全 Tab(命令 选项 参数)
2.参数补全:yum install -y bash-completion
3.选项补全:主要是补全 路径
C:\Users\Administrator\Documents\Virtual Machines\CentOS 64 位
linux的快捷键:
Ctrl + a:将光标跳转到行首
Ctrl + e:将光标跳转至行末
Ctrl + w:以空格为单位,将当前光标位置之前的内容删除
Ctrl + u:将当前光标位置之前的内容全部删除
Ctrl + l:清屏
Ctrl + c:终止当前命令
Ctrl + d:退出,断开当前连接(exit,logout)
Ctrl + z:挂起,放后台执行
Ctrl + r:搜索历史命令
Ctrl + s:锁屏
Ctrl + q:解锁
Ctrl + 左右:按照单词跳转光标
ESC + . :瞬间显示出上一条命令,空格分隔,最后的内以容
Ctrl +y :粘贴误删的命令,配合u,k,w使用。只有u,k,w快捷键删除时才能恢复。
第4章 cd 命令
命令 功能:切换目录
cd 参数 目录名
cd - 返回上一次进入的目录
cd ~ 进入当前用户的家目录
cd . 进入当前目录
cd … 返回上一级目录
cd ~ /oldboy 进入到oldboy目录
4.1 mkdir创建目录
命令 功能
mkdir 参数
-m 创建目录时,指定权限(很少用,几乎不用)
-p 如果目录已经存在则不报错,没有则创建,(递归创建)
-v 打印出创建目录过程信息
语法:
mkdir [选项]…[目录名]…make directory
注意:不加任何选项的情况下,只能在已有的目录下创建目录
建议:创建目录时尽量加上-p选项
-m, 创建目录时,指定权限(很少用,几乎不用)
-p, 如果目录已存在则不报错,递归创建
-v, 打印出创建过程信息
权限:
r:read 读
w:write 写
x:exec 执行
目录权限:755
文件权限:644
#创建多个目录
[root@oldboyedu ~]# mkdir /dir1 /dir2 /dir3
[root@oldboyedu ~]# mkdir /dir{4…10}
[root@oldboyedu ~]# mkdir /home/zls/dir{1..3}/oldboy1 -pv
mkdir: created directory ‘/home/zls/dir1’
mkdir: created directory ‘/home/zls/dir1/oldboy1’
mkdir: created directory ‘/home/zls/dir2’
mkdir: created directory ‘/home/zls/dir2/oldboy1’
mkdir: created directory ‘/home/zls/dir3’
mkdir: created directory ‘/home/zls/dir3/oldboy1’
#报错
[root@oldboyedu ~]# mkdir /dir4
mkdir: cannot(不能) create(创建) directory(目录) ‘/dir4’: File(文件) exists(存在)
[root@oldboyedu ~]# mkdir /dir11/oldboy #没有这个文件 或者 目录
mkdir: cannot create directory ‘/dir11/oldboy’: No such f
4.2 touch创建文件
语法: touch [选项]… 文件名…
[root@oldboyedu ~]# touch abc
[root@oldboyedu ~]# touch /oldboyedu1/abc
touch: cannot touch ‘/oldboyedu1/abc’: No such file or directory
1.创建的文件,必须在已存在的目录下
2.文件已存在的情况下,不会报错,会修改文件的创建时间
3.源文件内容不会被覆盖
4.对目录也可以操作,不会报错,修改创建时间(Linux中,一切皆文件)
[root@oldboyedu ~]# touch 123 456 789
[root@oldboyedu ~]# touch def hig /usr/local/src/abc
[root@oldboyedu ~]# touch /usr/local/src/{abc,def,hig}
4.3 tree命令
功能:以树状形式显示目录结构
命令 功能
tree 以树状形式显示目录结构
-L 指定层级
-d 只查看目录
如果没有tree命令,需要安装:yum install tree –y
[root@oldboyedu ~]# tree
.
├── 123
├── 456
├── 789
├── abc
├── anaconda-ks.cfg
├── check_student.sh
├── def
├── hig
├── oldboy
├── student.txt
└── zls
└── zls1
└── zls2
[root@oldboyedu ~]# tree -L 2 /usr/local/
/usr/local/
├── abc
├── bin
├── etc
├── games
├── include
├── lib
├── lib64
├── libexec
├── sbin
├── share
│ ├── applications
│ ├── info
│ └── man
└── src
├── abc
├── def
├── hig
└── zls123
4.4 cp复制
命令 功能
cp 复制
-r 递归拷贝,拷贝目录
-p 保持源文件的属性
-v 显示复制的详细过程
-a 拷贝目录并保持属性(相当于-r,-p,-t)
-t 交换目录和源文件的位置
语法:
cp [OPTION]… 源文件 目标
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
[root@oldboyedu ~]# cp oldboy /usr/
cp: omitting directory ‘oldboy’
[root@oldboyedu ~]# cp -v 123 456 789 /opt/
‘123’ -> ‘/opt/123’
‘456’ -> ‘/opt/456’
‘789’ -> ‘/opt/789’
1.cp可以修改名字,指定的目录不存在,即改名
4.5 mv移动(剪切)
命令 功能
mv 参数
-i 交互(每次询问是否覆盖)
-t 调换目标和源文件的位置
- 如果目标是一个目录,就把文件放入目录。
- 如果目标是一个文件,就会被覆盖
[root@db04 ~]# mv file /tmp/
将file目录移动到 /tmp/目录下
[root@db04 ~]# mv file1 test1
将file1改名成test1
[root@db04 ~]# mv dir1 /tmp/
将dir1目录移动到/tmp/目录下
[root@db04 ~]# mv dir2 file4 file5 file6 /opt/ /usr/local/
将多个目录移动到/usr/local/目录下
[root@db04 ~]# mv /tmp/dir1 ./
将/tmp/dir1/移动到当前目录
[root@db04 ~]# mv /tmp/dir1 .
将/tmp/dir1到当前目录
[root@db04 ~]# mv /tmp/dir2 …/
将/tmp/dir2移动到当前目录的上一级目录
[root@db04 ~]# mv -t /tmp/ file1 file2 ./file3
将file1 file2 ./file3移动到/tmp/目录下
4.6 rm 删除(remove)
命令 功能
mv 删除
-i 交互
-r 递归
-f 强制
-v 显示删除过程
[root@oldboyedu ~]# rm -r zls
rm: descend into directory ‘zls’? y
rm: descend into directory ‘zls/zls1’? y
rm: descend into directory ‘zls/zls1/zls2’? y
rm: remove directory ‘zls/zls1/zls2/oldboy’? y
rm: remove directory ‘zls/zls1/zls2’? y
rm: remove directory ‘zls/zls1’? y
rm: remove directory ‘zls’? y
4.7 Cat查看命令
命令 功能
cat 查看
-n 查看文件内容并显示行号
-A 显示文件的结束符和tab键 相当于-vET
-b 空行不显示编号
-E 显示文件的结束符($)
-T 显示文件的tab键(^I)
cat >> zls.txt << EOF
卧槽
作者:曾老湿
江山风景美如画,
本想吟诗赠天下。
奈何自己没文化,
一句卧槽浪好大。
谢谢大家。
EOF
用法:cat [选项]… [文件]…
[root@oldboyedu ~]# cat 123
file1
[root@oldboyedu ~]# cat 456
file2
[root@oldboyedu ~]# cat 123 456
file1
file2
4.8 tac 倒序查看文件
[root@oldboy250 ~]# cat zls.txt
卧槽
作者:曾老湿
江山风景美如画,
本想吟诗赠天下。
奈何自己没文化,
一句卧槽浪好大。
谢谢大家。
[root@oldboy250 ~]# tac zls.txt
谢谢大家。
一句卧槽浪好大。
奈何自己没文化,
本想吟诗赠天下。
江山风景美如画,
作者:曾老湿
卧槽
4.9 more查看文件命令
命令 功能
more 一百分比的形式显示文件内容
/ +关键字 回车(搜索内容)
n 向下搜索
N(shift +n) 向上搜索
4.10 less 查看文件命令
命令 功能
less 查看较少文件的内容
[root@oldboy250 ~]# less /etc/passwd
4.11 head查看文件的前n行
命令 功能
head 默认显示文件的前10行
-n 显示前n行,n 可以不写,为数字,n后面加数字
tail 查看文件的后面的内容(默认后10行)
-f 追踪文件末尾 相当于tailf
-n 显示后n行,n可以不写,为数字,n后面加数字
4.12 三剑客:grep(egrep) awk sed
Linux命令三剑客,老大awk,最擅长取列,老二sed,最擅长取行,老三grep最擅长过滤,Linux运维人员必会的三个命令:
命令 功能
grep 过滤文件内容
参数
-n 显示行号
-o 只显示关键字
-B 显示关键字的前n行,n为数字 (before)
-A 显示关键字的后n 行,n为数字(after)
-C 显示关键字的前后n行,n为数字(center)
^ 以……开头
$ 以……结尾
. 代表任意字符
-
代表所有
| 管道符,将前面的命令输出的结果,交给后面的命令去出来
-r,-R 递归过滤 某一个目录下的文件中的关键字
[root@oldboyedu ~]# grep ‘^root’ /etc/passwd
[root@oldboyedu ~]# grep ‘bash$’ /etc/passwd#以数字的范围开头
[root@oldboyedu ~]# grep -n ‘1’ passwd
26:1
27:2
28:3
[root@oldboyedu ~]# grep -n ‘2’ passwd
[root@oldboyedu ~]# grep -n ‘3’ passwd
26:1
27:2#以字母的范围开头
[root@oldboyedu ~]# grep -n ‘^m’ passwd
13:mail❌8:12:mail:/var/spool/mail:/sbin/nologin
[root@oldboyedu ~]# grep -n ‘4’ passwd
13:mail❌8:12:mail:/var/spool/mail:/sbin/nologin
17:nobody❌99:99:Nobody:/:/sbin/nologin
[root@oldboyedu ~]# grep -n ‘5’ passwd
[root@oldboyedu ~]# grep -n ‘6’ passwd
[root@oldboyedu ~]# grep -i ‘ftp’ passwd
[root@oldboy250 ~]# grep -r ‘oldboy’ ./*
./01老男孩linux脱产4期-综合架构开场-day32.txt: 1.用户通过浏览器输入oldboyedu.com->回车
./123.txt:oldboy
./oldboy02/.oldgir/.bash_history:su - oldboy
./test.txt:server_nAme www.oldboy.com;
4.13 文件上传下载 rz sz
命令 功能:yum install lrzsz –y安装
rz 上传文件到linux系统(直接拖拉文件)
- 不支持上传超过4G的文件
- 不支持断点续传
sz 下载文件
Xshell中支持XFTP上传文件
4.14 从外网下载文件wget curl
命令 功能
wget 如果没有则安装:yum install wget curl -y
-O 指定下载路径,可以改命令
curl 从外网下载文件
-o 指定下载的路径,可以改名
4.15 查找命令which type -a
命令 功能
whicd 查找命令的路径
type -a 查找命令所有路径,包括连接路径
which
[root@oldboyedu ~]# which mv
alias mv='mv -i'
/usr/bin/mv
[root@oldboyedu ~]# which cp
alias cp='cp -i'
/usr/bin/cp
[root@oldboyedu ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@oldboyedu ~]# which useradd
/usr/sbin/useradd
type
[root@oldboyedu ~]# type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
[root@oldboyedu ~]# type -a for
for is a shell keyword
[root@oldboyedu ~]# type -a cd
cd is a shell builtin
cd is /usr/bin/cd
[root@oldboyedu ~]# type -a for
for is a shell keyword
[root@oldboyedu ~]# type -a [
[ is a shell builtin
[ is /usr/bin/[
4.16 字符处理-排序sort
命令 功能
sort 排序
-t 指定分隔符
-k 指定第几列的内容(按分隔符)不指定分隔符,默认是空格为分隔符
-n 按照阿拉伯数字大小顺序排序
-r 倒序排列
4.17 字符处理-去重uniq -c
命令 功能
uniq 去重
-c 显示去重的数量(count)
4.18 字符处理-截取cut
命令 功能
cut 截取
-d 指定分隔符
-f 指定第几列
-c 根据字符来取数据
4.19 字符处理-统计wc -l
命令 功能
wc 统计
-l 统计行数
-c 统计字节数
-w 统计单词数
[root@oldboy250 ~]# cat f.txt
ddd fff
ddd fff
3ddd fff
4ddd
ffff
4ddd fff
[root@oldboy250 ~]# sed -n ‘2p’ f.txt
ddd fff
[root@oldboy250 ~]# sed -n ‘1,2p’ f.txt
ddd fff
ddd fff
grep
[root@oldboy250 ~]# cat f.txt
fzb fff
ddd fff
3ddd fff
4ddd ffff
ffff ffff
4ddd ffff
fzbb bbbbbb
3fzb bbbbbb
4fzb bbbbbb
[root@oldboy250 ~]# grep ‘fzb’ f.txt
fzb fff
fzbb bbbbbb
3fzb bbbbbb
4fzb bbbbbb
[root@oldboy250 ~]# grep -o ‘fzb’ f.txt
fzb
fzb
fzb
fzb
第5章 软链接和硬链接
一.文件的软硬链接
1.软链接
一个文件,被分为两个部分:
1)用户数据(就是用户给文件的命名)
2)元数据(文件的内容)
元数据:用来描述文件的属性
block:数据块,默认4k
ln -s /root/soft_link /tmp/soft_link
源文件 目标
软链接的应用场景
1)软件升级
2)代码发布
3)不方便移动的目录
4)数据回滚
5)程序读取
2.硬链接
1)具有同一个inode号的文件,互为硬链接文件
2)目录不能创建硬链接
软硬链接总结:
1)创建命令不同
软链接:ln -s
硬链接:ln
2)目录不能创建硬链接,并且硬链接不可以跨越系统的分区,软链接可以
3)硬链接文件与源文件inode相同,软链接文件与源文件inode不同
4)删除软链接文件,对源文件无影响,但是删除软链接源文件对软链接文件有影响
5)删除硬链接文件,对源文件也无影响,并且删除源文件,对硬链接文件也无影响
企业面试题:
当前磁盘空间还剩余500G,但是就无法往里面写入数据,报错,磁盘空间满了。
[root@db04 ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg_db01-lv_root 1152816 76391 1076425 7% /
tmpfs 238319 1 238318 1% /dev/shm
/dev/sda1 128016 39 127977 1% /boot
#模拟
[root@db04 ~]# dd if=/dev/zero of=/opt/disk bs=1K count=1024
[root@db04 ~]# mkfs.ext4 -i 1024 /opt/disk
[root@db04 ~]# mkdir /data1
[root@db04 ~]# mount -t ext4 -o loop /opt/disk /data1
[root@db04 data1]# touch file{1…2000}
touch: 无法创建"file1014": 设备上没有空间
touch: 无法创建"file1015": 设备上没有空间
touch: 无法创建"file1016": 设备上没有空间
touch: 无法创建"file1017": 设备上没有空间
touch: 无法创建"file1018": 设备上没有空间
[root@db04 data1]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_db01-lv_root 18G 2.0G 15G 12% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot
/opt/disk 891K 39K 801K 5% /data1
[root@db04 data1]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg_db01-lv_root 1152816 76393 1076423 7% /
tmpfs 238319 1 238318 1% /dev/shm
/dev/sda1 128016 39 127977 1% /boot
/opt/disk 1024 1024 0 100% /data1
硬连接数计算
[root@db04 ~]# mkdir hard
[root@db04 ~]# ll hard -d
drwxr-xr-x 2 root root 4096 6月 1 12:50 hard
[root@db04 ~]# cd hard
[root@db04 hard]# mkdir test1
[root@db04 ~]# ll -d hard
drwxr-xr-x 3 root root 4096 6月 1 12:50 hard
[root@db04 ~]# cd hard
[root@db04 hard]# touch test
[root@db04 ~]# ll -d hard
drwxr-xr-x 3 root root 4096 6月 1 12:50 hard
5.1 软链接和硬链接创建
命令 功能
Ln 硬链接
-s 创建软链接
-v 反向创建链接
-f 强制创建链接
&& 衔接多条命令,前面执行成功之后,在执行后面的
|| 衔接多条命令,前面的执行不成功,后面也要执行
5.2 查看磁盘信息
命令 功能
df
-h 人类可读的形式显示磁盘信息,加入了磁盘单位
-i 查看磁盘的inode号
5.3 文本编辑器
Vi和vim
5.3.1 三种模式
5.3.1.1 命令模式
[
root@oldboyedu ~]# vim /etc/my.cnf
G: shift+g ,将光标移动到文件的末尾
gg: 将光标移动到文件的开头
dd: 删除一行,(删除多行 ndd dnd :n为数字 + p = 剪切)
D: 将光标之后的内容都删除
u: 撤销
dG: 删除光标以下的所有内容(包括光标所在行)
dgg: 删除光标以上的所有内容(包括光标所在行)
$(shift+4): 将光标移动到行尾
^(shift+6): 将光标移动到行首
ctrl+r: 恢复撤销
x: 删除光标所在字符
X: 删除光标之前的字符
yy: 复制,nyy,yny
p(小写): 粘贴(光标所在行的下一行)
P(大写): 粘贴(光标所在行的上一行)
ctrl+f 往下翻页(行比较多)
ctrl+b 往上翻页
r: 单个字符替换
R: 多个字符替换(按ESC退出替换)
5.3.1.2 编辑模式
[root@oldboyedu ~]# vim /etc/my.cnf
i:进入编辑模式
I:将光标跳至行首,并进入编辑模式
A:将光标跳到行末,并进入编辑模式
a:将光标向后移动一个字符,并进入编辑模式
o:将光标调至下一行,并进入编辑模式
O:将光标调至上一行,并进入编辑模式
s:删除光标所在的字符,并进入编辑模式
S:删除光标所在的行,并进入编辑模式
5.3.1.3 末行模式
[root@oldboyedu ~]# vim /etc/my.cnf
:w //保存当前状态
:w! //强制保存当前状态
:q //退出当前文档(文档必须保存才能退出)
:q! //强制退出文档不会修改当前内容
:wq //先保存,在退出
:wq! //强制保存并退出
:x //先保存,在退出
ZZ //保存退出, shfit+zz相当于 :wq 相当于:x
:number //跳转至对应的行号,和普通模式Ngg一个意思
5.3.1.4 末行模式的报错
末行模式的报错
E37: No write since last change (add ! to override)
E45: 'readonly' option is set (add ! to override)
E212: Unable to open and write files
末行模式(查找和替换)
5.3.1.5 查找,替换,另存为,读入。
查找 /string 需要搜索的内容(查找)
n 按搜索到的内容依次往下进行查找
N 按搜索到的内容依次往上进行查找
替换
:1,5s#sbin#test#g 替换1-5行中包含sbin的内容为test
:%s#sbin#test#g 替换整个文本文件中包含sbin的替换为test
:%s#sbin#test#gc 替换内容时时提示是否需要替换
%表示所有行 s表示替换 g表示所有匹配到的内容 c表示提示
替换为 w (y/n/a/q/l/^E/^Y)?
y:替换一次
n:选中下一个
a:全部替换
q:退出
l:替换一次并退出询问
另存
:w /root/test 将文件所有内容另存为/root/test
读入
:r /etc/hosts 读入/etc/hosts文件至当前光标下面
:5r /etc/hosts 指定/etc/hosts文件当前文件的哪行下面