---恢复内容开始---
第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 '^[0-9]' passwd
26:1
27:2
28:3
[root@oldboyedu ~]# grep -n '^[6-9]' passwd
[root@oldboyedu ~]# grep -n '^[1-2]' passwd
26:1
27:2
#以字母的范围开头
[root@oldboyedu ~]# grep -n '^m' passwd
13:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
[root@oldboyedu ~]# grep -n '^[m-n]' passwd
13:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
17:nobody:x:99:99:Nobody:/:/sbin/nologin
[root@oldboyedu ~]# grep -n '^[a-z]' passwd
[root@oldboyedu ~]# grep -n '^[a-Z]' 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系统(直接拖拉文件)
|
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文件当前文件的哪行下面 |
|
5.3.1.6
---恢复内容结束---