000 - Linux运维手册

目录

文章目录

一、基础命令

1、命令简述

1.1 命令行含义

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jqhmyp81-1692053238664)(assets/245-16591552947904.png)]

# 命令提示符
[py@pylinux ~]$          普通用户py,登陆后
[root@pylinux ~]#        超级用户root,登录后

root代表当前登录的用户
@ 分隔符
pylinux 主机名
~  当前的登录的位置,此时是家目录

# 超级用户身份提示符
$ 普通用户身份提示符

1.2 目录分隔符

windows平台命令行目录分隔符

Windows以反斜杠分割目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xzcEh0ea-1692053238665)(assets/246.png)]

Linux平台命令行目录分隔符

linux以正斜杠分割目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3kHNp3Uf-1692053238666)(assets/247.jpg)]

1.3 目录的特点

Linux与windows区别

windows特点:E:\学习视频\高清视频\

Linux目录特点:/etc/hosts /root/data/oldboy.txt

Linux 系统目录结构基本特点:

1.一切从根开始
2.目录是一个有层次的目录结构
3.每个目录可以挂载到不同的设备(磁盘)4.设备不挂载不能使用,不挂载的设备相当于没门没窗户的监狱(进不去出不来),挂载相当于给设备创造了一个入口(挂载点,一般为目录)

1.4 目录树挂载

挂载 通常是将一个 存储设备 挂接到一个已经存在的 目录 上,访问这个 目录 就是访问该存储设备的内容。

挂载操作会隐藏原本Linux目录中的文件,因此选择Linux本身的目录,最好是新建空目录用于挂载
挂载之后,这个目录被称为挂载点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TlUaPhBx-1692053238666)(assets/321.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AybvmShV-1692053238666)(assets/322.jpg)]

1.5 目录树结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7C43f18v-1692053238667)(assets/251.png)]

/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。

/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

/opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

/root:该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

/selinux: 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

/srv: 该目录存放一些服务启动之后需要提取的数据。

/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

/tmp:这个目录是用来存放一些临时文件的。

/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

/usr/bin:系统用户使用的应用程序。

/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src:内核源代码默认的放置目录。

/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
1.5.1 重要目录
# 在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。

值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。

/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

2、文件及目录管理命令

命令 对应英文 作用
ls list 查看文件夹内容
pwd print work directory 查看当前所在目录
cd 目录名 Change directory 切换文件夹
touch 文件名 touch 如果文件不存在,则创建
mkdir 目录名 Make directory 创建目录
rm 文件名 Remove 删除指定文件

2.01 cd:变换目录

cd 是change directory的缩写

用来变换工作目录的命令,注意命令和目录之间有一个空格

.    # 当前目录
..   # 上一层目录
-    # 前一个工作目录
~    # 当前【用户】所在的家目录
/    # 顶级根目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t0eplZPv-1692053238667)(assets/259.png)]

2.02 ls:查看文件内容

显示目录下内容及属性信息。

注意:在所有目录底下都存在两个目录,分别是【.】和【…】,分别代表当前目录,上层目录!

-a 显示指定目录下所有子目录与文件,包括以.开头的隐藏文件
-l 以列表方式显示文件的详细信息   ls -l 等于ll 用法
-h, --human-readable         与-l 一起,以易于阅读的格式输出文件大小
                             (例如 1K 234M 2G)
-t 根据最后修改时间排序,默认是以文件名排序,通常与-l 连用
-F 在条目后加上文件类型的指示符号(* , /, = , @ , | ,其中的一个)
    注:可以标识文件类型
    加上 * 代表可执行的普通文件
    加上 = 表示套接字
    加上 | 表示FIFOS(队列系统)
    加上 @表示符号链接
    加上 / 表示文件夹

-d 显示目录本身的信息 而不是显示目录的内容
-r, --reverse                 逆序排列
-S                            根据文件大小排序,从大到小排序
-i 显示索引节点信息(索引节点相当于身份证号)
--full-time 以完整的时间格式输出(也就是按照中国的时间日期显示)
案例
ls -lt           按照时间进行排序
ls -ltr          找出最新的文件
ls -d */         列出当前所有目录
ll -hS    ./*    显示出当前目录下所有内容详细,且以kb,mb,gb单位从大到小排序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KF1oaVla-1692053238667)(assets/256.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ly8qeDIH-1692053238668)(assets/254.png)]

2.03 tree:树状显示内容

以树形结构显示目录下内容

命令需要单独安装:yum -y install tree

tree 命令语法:

tree常用参数

-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在条目后加上文件类型的指示符号(* , /, = , @ , | ,其中的一个) 目录/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N6W748aB-1692053238668)(assets/255-165918240394818.jpeg)]

2.04 mkdir:创建文件夹

创建文件夹

用法:mkdir [选项]... 目录...
若指定目录不存在,则创建目录。

-m, --mode=模式       设置权限模式(类似chmod),而不是rwxrwxrwx 减umask
-p, --parents        需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理
mkdir {
   1..3}         加花括号创建连续的目录,用..隔开 花括号内可以是连续的数字、连续的字母mkdir {
   a..e}
案例
mkdir {
   alex,pyyu,mjj}    创建三个文件夹,逗号隔开
mkdir alex{
   1..5}         创建连续的目录
mkdir cunzhang longting  创建少量连续目录

mkdir -m 755 -p  {
   AAA/aaa,BBB/bbb,CCC/ccc}   递归创建目录,且为目录设置权限 755 (drwxr-xr-x)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wukMdgfQ-1692053238668)(assets/257.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VX0Mw91E-1692053238669)(assets/image-20220730203610899.png)]

2.05 touch:创建文件

创建文件或修改文件时间戳

用法:touch [选项]... 文件...
将每个文件的 访问时间 和 修改时间 改为当前时间。

不存在的文件将会被创建为空文件,除非使用-c 或-h 选项。
  -c, --no-create        不创建任何文件
  -t STAMP               使用[[CC]YY]MMDDhhmm[.ss] 格式的时间替代当前时间
  -r, --reference=文件    使用指定文件的时间属性替代当前文件时间
案例
# 创建文件
touch {
   连续数字或字母}        # 创建多个文件序列
touch {
   1..10}		       # 创建 1至10 文件序列
touch {
   a..z}			   # 创建 a至z 文件序列	

# 修改文件时间
touch -t 06010808 alex1    # 修改alex1文件的时间是 6月1号8点8分
touch -r alex1 alex2       # 把alex2的时间改成alex1一样

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZyPu5F1n-1692053238669)(assets/258.jpg)]

2.06 cp:复制

复制命令

用法:cp [选项]... 源文件... 目录
 或:cp [选项]... [-T] 源文件 目标文件
 或:cp [选项]... -t 目录 源文件...
将源文件复制至目标文件,或将多个源文件复制至目标目录。

-a 等于-pdr
-r 递归式复制目录,即复制目录下的所有层级的子目录及文件 
-p 复制的时候 保持属性不变
-p 等于--preserve=模式,所有权,时间戳,复制文件时保持源文件的权限、时间属性
-d 复制的时候保持软连接(快捷方式)
-i, --interactive 覆盖前询问提示
① 案例

cp -a 等同于 cp -pdr (权限、软链接、递归)

# 1. 移动xxx.py到/tmp目录下 (复制)
cp xxx.py /tmp/

# 2. 移动xxx.py顺便改名为chaoge.py (复制+重命名)
cp xxx.py /tmp/chaoge.py

# 3. Linux下面很多命令,一般没有办法直接处理文件夹,因此需要加上(参数) 
cp -a 相当于-pdr
cp -r 递归,复制目录以及目录的子孙后代
cp -p 复制文件,同时保持文件属性不变,可以用stat查看属性

# 4. 递归复制test文件夹,为test2
cp -r test test2

# 5. cp是个好命令,操作文件前,先备份
cp main.py main.py.bak

# 6.移动多个文件,放入文件夹c中
cp -r  文件1  文件2  文件夹a   文件夹c
② 案例

cp -i :提示用户确认

复制递归目录必须 + -r参数

[root@pylinux opt]# cp luffy_boy.zip  luffy_boy.zip.bak2
cp:是否覆盖"luffy_boy.zip.bak2"? y

[root@pylinux opt]# cp luffy_boy.zip  luffy_boy.zip.bak2 -i
cp:是否覆盖"luffy_boy.zip.bak2"? y

cp确认是否覆盖是-i参数作用,默认alias因为添加了别名
[root@pylinux opt]# alias
alias cp='cp -i'

[root@pylinux opt]# cp luffyCity/ luffyCity2       # 必须添加-r参数才可以复制递归目录
cp: omitting directory 'luffyCity/'
[root@pylinux opt]# cp -r luffyCity/ luffyCity2
[root@pylinux opt]# ls
luffyCity  luffyCity2
③ 取消别名的方式

取消 cp 的别名

- 使用命令绝对路径
- 命令开头用反斜线 \
- 取消cp命令别名
- 写入环境变量配置文件

1. 使用命令绝对路径
[root@pylinux opt]# which cp
alias cp='cp -i'
    /usr/bin/cp
[root@pylinux opt]# /usr/bin/cp luffy_boy.zip luffy_boy.zip.bak

2. 命令开头用反斜线 \
[root@pylinux opt]# \cp luffy_boy.zip luffy_boy.zip.bak

# 3. 取消cp命令别名
[root@pylinux opt]# unalias cp
[root@pylinux opt]# cp luffy_boy.zip luffy_boy.zip.bak

4. 写入环境变量配置文件
[root@pylinux opt]# vim ~/.bashrc  #可以注释掉如下配置
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
#alias cp='cp -i'
alias mv='mv -i'
④ 快速备份配置文件

cp:快速备份相同路径的文件。(简写路径)

{,备份名称}

[root@edon ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33{,-20220730.bak}

[root@edon ~]# ls /etc/sysconfig/network-scripts/ifcfg-ens33*
/etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-ens33.20220730.bak

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1QmDxetK-1692053238670)(assets/261.jpg)]

2.07 mv:剪切 | 重命名

mv命令就是move的缩写,作用是移动或是重命名文件。

用法:mv [选项]... 源文件... 目录
 或:mv [选项]... [-T] 源文件 目标文件
 或:mv [选项]... -t 目录 源文件...
  将源文件重命名为目标文件,或将源文件移动至指定目录。

-f, --force                  覆盖前不询问
-i, --interactive            覆盖前询问
-n, --no-clobber             不覆盖已存在文件如果您指定了-i、-f、-n 中的多个,仅最后一个生效。
-t, --target-directory=DIRECTORY      将所有参数指定的源文件或目录移动至 指定目录
-u, --update                 只在源文件文件比目标文件新,或目标文件不存在时才进行移动
案例

移动(搬家)命令 > move > mv

1. 给文件重命名
mv abc  abc.py  

2. 如果目标文件存在,-i参数则提示是否覆盖
mv test1.txt  test2.txt 

3. 使用反斜杠命令屏蔽别名 `mv -i`
\mv kunkun wuyifan

4. 取消别名
unalias mv

5. 移动单个文件
mv file1.txt  dir/

6. 移动多个文件
mv file1.txt file2.txt dir/

7. 通配符移动多个文件
mv dir/file*   ../

[root@edon ~]# mv -u 111.txt  AAA/     # 当111.txt创建时间早于AAA/目录下的111.txt文件,则不会被覆盖(反之早于就覆盖)
[root@edon AAA]# stat 111.txt
  文件:"111.txt"
  大小:4         	块:8          IO 块:4096   普通文件
设备:fd00h/64768d	Inode:34148303    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2022-07-31 21:37:16.480173778 +0800
最近更改:2022-07-31 21:36:44.621173900 +0800
最近改动:2022-07-31 21:36:44.621173900 +0800
创建时间:-

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5howKY1F-1692053238670)(assets/264.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X3SrCHue-1692053238670)(assets/263.jpg)]

2.08 rm:删除

Linux在使用rm(删除)、cp(覆盖)、mv(搬家)等命令的时候,必须非常小心,因为这些命令都是“炸弹”,想必大家都听过“删库到跑路”,一言不合“rm -rf /”,假如你真的这么做了,那么。。。上帝保佑你。

rm命令就是remove的含义,删除一个或者多个文件,这是Linux系统重要命令

用法:rm [选项]... 文件...
删除 (unlink) 文件。

-f, --force           强制删除。忽略不存在的文件,不提示确认
-r, -R, --recursive   递归删除目录及其内容
-i                    在删除前需要确认
-I                    在删除超过三个文件或者递归删除前要求确认。
-d, --dir             删除空目录
-v, --verbose         详细显示进行的步骤
    --help            显示此帮助信息并退出
    --version         显示版本信息并退出
案例
1.删除普通文件,需要确认提示,默认添加了-i参数
rm file1.txt

2.强制删除文件,不提示
rm -f file2.txt

3.递归删除文件夹
[root@pylinux tmp]# rm -r heh/
rm:是否进入目录"heh/"? y
rm:是否删除普通空文件 "heh/kuanmian2"?y
rm:是否删除普通空文件 "heh/kuanmian"?y
rm:是否删除目录 "heh/"?y
炸弹命令

务必看清楚敲打的命令,是否正确、不得有空格

1.强制删除且不让用户确认
rm -rf 文件夹

2.强制删除且显示过程
[root@pylinux tmp]# rm -rfv ./*
已删除"./456.txt"
已删除目录:"./q/w/e/r/t/yt"
已删除目录:"./q/w/e/r/t"
已删除目录:"./q/w/e/r"
已删除目录:"./q/w/e"
已删除目录:"./q/w"
已删除目录:"./q"
rm 文件恢复

rm命令删除文件后可以通过如ext3grep工具恢复数据,若是想要粉碎文件,还有其他方式。

2.09 帮助命令

2.9.1 man:手册

当你不知道linux命令如何使用的时候,使用man命令帮助你

语法:
man 命令  

[root@edon ~]# man ls
进入man帮助文档后,按下q退出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RLMawPym-1692053238671)(assets/249.jpg)]

2.9.2 help:帮助

使用–help参数

只针对bash内置命令

语法:
命令 --help

帮助命令的精简版
[root@edon ~]# ls --help
2.9.3 info:帮助
语法:
info 命令

2.10 cat:查看

cat命令用于查看纯文本文件(常用于内容较少的), 可以理解为是,瞄一眼文件内容.

其单词是concatenate,指的是可以连接多个文件且打印到屏幕,或是重定向到文件中

功能
功能 说明
查看文件内容 cat file.txt
多个文件合并 cat file.txt file2.txt > file3.tx
非交互式编辑或追加内容 cat >> file.txt << EOF 欢迎来到路飞学城 EOF
清空文件内容 cat /dev/null > file.txt 【/dev/null是linux系统的黑洞文件】
参数

清空文件内容,慎用:

> 文件名

用法:cat [选项] [文件]...
将[文件]或标准输入组合输出到标准输出。

-A, --show-all           等价于 -vET
-b, --number-nonblank    对非空输出行编号显示
-e                       等价于 -vE
-E, --show-ends          在每行结束处显示 $
-n, --number             对输出的所有行编号
-s, --squeeze-blank      不输出多行空行
-t-vT 等价
-T, --show-tabs          将跳格字符显示为 ^I
-u                       (被忽略)
-v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help                   显示此帮助信息并退出
--version                输出版本信息并退出

如果[文件]缺省,或者[文件]为 - ,则读取标准输入。
案例
# 1. 查看文件,显示行号
cat -n xxx.py

# 2. 猫,查看文件
cat xxx.py

# 3. 在每一行的结尾加上$符
[root@master tmp]# cat -E 1.txt

# 4. 追加文字到文件
cat >>/tmp/oldboy.txt << EOF
唧唧复唧唧
木兰开飞机
开的什么机
波音747
EOF

# 5. 输出非空行的编号
[root@luffycity tmp]# cat -b file.txt            
     1    欢迎来到路飞学城
     2    学生还有五分钟到达战场
     
     3    全军出击
     
# 6. 输出所有行的编号
[root@luffycity tmp]# cat -n file.txt        
     1    欢迎来到路飞学城
     2    学生还有五分钟到达战场
     3
     4
     5    全军出击

# 7. 显示出每行的结束符,$符号
[root@luffycity tmp]# cat -E file.txt        
欢迎来到路飞学城$
学生还有五分钟到达战场$
$
$
全军出击$

#  8. -s参数把多个空行,换成一个,可以让文件更精炼阅读
[root@luffycity tmp]# cat -s file.txt        
欢迎来到路飞学城
学生还有五分钟到达战场

全军出击

# 9. cat写入内容,用ctrl+c 结束,一般不用
[root@luffycity tmp]# cat > alex.txt        
我是金角老妖怪alex
^C

2.11 tac:查看

与cat命令作用相反,反向读取文件内容

[root@luffycity tmp]# cat alex.txt
我是金角老妖怪alex
我是老妖怪alex
[root@luffycity tmp]# tac alex.txt
我是老妖怪alex
我是金角老妖怪alex

2.12 more:分页查看

More是一个过滤器, 用于分页显示 (一次一屏) 文本,以当前屏幕窗口尺寸为准

语法:
more 参数  文件

-num 指定屏幕显示大小为num行
+num 从num行开始显示

# 交互式more的命令:
空格     向下滚动一屏
Enter 向下显示一行
=            显示当前行号
q            退出
案例
# 1. 显示5行内容
[root@luffycity tmp]# more -5 alex.txt
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
--More--(0%)

#从6行开始输出内容到屏幕
more +6 alex.txt


#将显示结果分页输出,需控制窗口大小
[root@luffycity tmp]# netstat -tunlp |more -3

2.13 less:分页查看

less命令是more的反义词

语法:
less 参数 文件

-N  显示每行编号
-e  到文件结尾自动退出,否则得手动输入q退出

子命令:
# 整个的翻页:
b     向前一页
f     向后一页

空格   查看下一行,等于 ↓
y      查看上一行,等于↑

q     退出
案例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fFytYFZk-1692053238671)(assets/287.jpg)]

2.14 head:从头部查看

用于显示文件内容头部,默认显示开头10行

用法:head [选项]... [文件]...
将每个指定文件的头10 行显示到标准输出。
如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。
如果不指定文件,或者文件为"-",则从标准输入读取数据。

  -c,  --bytes=[-]K     显示每个文件的前K 字节内容;
                        如果附加"-"参数,则除了每个文件的最后K字节数据外
                        显示剩余全部内容
  -n, --lines=[-]K      显示每个文件的前K 行内容;
                        如果附加"-"参数,则除了每个文件的最后K 行外显示
                        剩余全部内容
  -q, --quiet, --silent 不显示包含给定文件名的文件头
  -v, --verbose         总是显示包含给定文件名的文件头
      --help            显示此帮助信息并退出
      --version         显示版本信息并退出
案例
# 1. 显示前五行
[root@luffycity ~]# head -5 /etc/passwd        
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

 # 2. 显示文件前6个字节
[root@luffycity ~]# head -c 6 /etc/passwd       
root:x[root@luffycity ~]#

# 3. 显示多个文件
[root@luffycity tmp]# echo 你就是金角大王吧 > alex.txt
[root@luffycity tmp]# echo 你就是银角大王吧 > peiqi.txt
[root@luffycity tmp]# head alex.txt  peiqi.txt
==> alex.txt <==      # 文件名
你就是金角大王吧

==> peiqi.txt <==     # 文件名
你就是银角大王吧

2.15 tail:从尾部查看

显示文件内容的末尾,默认输出后10行

-c 数字                          指定显示的字节数
-n 行数                          显示指定的行数
-f                              实时刷新文件变化
-F 等于 -f --retry               不断打开文件,与-f合用
--pid=进程号                     进程结束后自动退出tail命令
-s 秒数                          检测文件变化的间隔秒数
案例
# 1. 显示文件后10行
tail alex.txt

# 2. 显示文件后5行
tail -5 alex.txt

# 3. 从文件第3行开始显示文件
tail -n +3 alex.txt

# 4. 检测文件变化
tail -f alex.txt

# 5. -F 与 -f 参数的用法
[root@luffycity tmp]# tail -f alex.txt            # -f文件不存在,直接报错,退出
tail: cannot open 'alex.txt' for reading: No such file or directory
tail: no files remaining

[root@luffycity tmp]# tail -F alex.txt            # -F    文件不存在报错,等待文件生成
tail: cannot open 'alex.txt' for reading: No such file or directory
tail: 'alex.txt'</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值