ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vim,命令总结

2019-06-22 21:38:35  阅读:247  来源: 互联网

标签:总结 oldboyedu 文件 vim 命令 ls root 目录


---恢复内容开始---

第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

调换目标和源文件的位置

  1. 如果目标是一个目录,就把文件放入目录。
  2. 如果目标是一个文件,就会被覆盖

[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系统(直接拖拉文件)

  1. 不支持上传超过4G的文件
  2. 不支持断点续传

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   

 

---恢复内容结束---

标签:总结,oldboyedu,文件,vim,命令,ls,root,目录
来源: https://www.cnblogs.com/ronglianbing2019--/p/11070449.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有