美文网首页
linux常用文件操作命令1

linux常用文件操作命令1

作者: 梁3姐 | 来源:发表于2018-02-10 17:20 被阅读0次
    基本命令练习

    查看文件 ls ,cat ,tac,nl
    ls 表示:查看当前路径下的所有文件夹以及文件,后面可以直接跟上文件名或者参数
    如: ls /home

    字符 含义
    -a 显示所有隐藏文件
    -l 可以列表方式展示可见文件
    -h 明确展示文件大小
    * 表示任意一个或者多个字符,可为空
    表示任意一个字符,不可为空
    [] 表示中括号中任意一个字符都会有所展示
    反斜杠\* 转义字符,将含有特殊含义的字符表示为其本身,如*\*就代表符号*
    [lianglf@docker ~]$ ls
    test
    [lianglf@docker ~]$ ls /home
    chenjl  dengkh  elasticsearch  guo   huangjj  huangsh  lianglf   
    [lianglf@docker home]$ ls -a -l -h
    总用量 20K
    drwxr-xr-x. 34 root          root          4.0K 11月  2 19:59 .
    drwxrwxrwx. 21 root          root          4.0K 12月 11 11:57 ..
    drwx------   2 chenjl        test            59 8月  22 11:24 chenjl
    drwx------   3 chenxh        test           125 8月  25 15:01 chenxh
    

    cat,tac都是用来打印文件内容到标准输出(终端),其中 cat 为正序显示,tac 为倒序显示。

    标准输入输出:当我们执行一个 shell 命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),默认对应终端的键盘、标准输出文件(stdout)和标准错误输出文件(stderr),后两个文件都对应被重定向到终端的屏幕,以便我们能直接看到输出内容。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

    比如我们要查看之前从 /etc 目录下拷贝来的 passwd 文件,可以加上 -n 参数显示行号:

    [lianglf@docker grandson]$ cp /etc/passwd .
    [lianglf@docker grandson]$ cat -n passwd
         1  root:x:0:0:root:/root:/bin/bash
         2  bin:x:1:1:bin:/bin:/sbin/nologin
         3  daemon:x:2:2:daemon:/sbin:/sbin/nologin
    

    使用 more 和 less 命令分页查看文件内容

    [lianglf@docker grandson]$ more 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
    --(更多)--(61%)
    

    打开后默认只显示一屏内容,终端底部显示当前阅读的进度。可以使用 Enter 键向下滚动一行,使用 Space 键向下滚动一屏,按下 h 显示帮助,q 退出。
    使用 head 和 tail 命令查看文件
    这两个命令,那些性子比较急的人应该会喜欢,因为它们一个是只查看文件的头几行(默认为 10 行,不足 10 行则显示全部)和尾几行。还是拿 passwd 文件举例,比如当我们想要查看最近新增加的用户,那么我们可以查看这个 /etc/passwd 文件,不过我们前面也看到了,这个文件里面一大堆乱糟糟的东西,看起来实在费神啊。因为系统新增加一个用户,会将用户的信息添加到 passwd 文件的最后,那么这时候我们就可以使用 tail 命令了:

    [lianglf@docker grandson]$ tail passwd
    luoli:x:1024:1007:罗丽红:/home/luoli:/bin/bash
    dengkh:x:1025:1007:邓开活:/home/dengkh:/bin/bash
    lihong:x:1026:1007:李红:/home/lihong:/bin/bash
    zenghp:x:1027:1007:曾海萍:/home/zenghp:/bin/bash
    lixin:x:1028:1007:李欣:/home/lixin:/bin/bash
    chenjl:x:1029:1007:陈俊霖:/home/chenjl:/bin/bash
    epmd:x:996:994:Erlang Port Mapper Daemon:/tmp:/sbin/nologin
    rabbitmq:x:995:993:RabbitMQ messaging server:/var/lib/rabbitmq:/sbin/nologin
    ntp:x:38:38::/etc/ntp:/sbin/nologin
    jenkins:x:1030:1030::/home/jenkins:/bin/bash
    

    甚至更直接的只看一行, 加上 -n 参数,后面紧跟行数:

    [lianglf@docker grandson]$ tail -n 1 passwd
    jenkins:x:1030:1030::/home/jenkins:/bin/bash
    [lianglf@docker grandson]$ 
    

    重点 tail -n 常常用老查看系统日志,方便我们看到最新的系统日志,如:

    [lianglf@docker log]$ tail -n 10 lastlog
    

    查看文件类型
    在 Linux 中文件的类型不是根据文件后缀来判断的,我们通常使用 file 命令查看文件的类型,如下面所示,说明这是一个可执行文件,运行在 64 位平台,并使用了动态链接文件(共享库)。

    [lianglf@docker grandson]$ file /bin/ls
    /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped
    [lianglf@docker grandson]$ 
    

    pwd 查看路径
    pwb表示:可查看当前文件的路径

    [lianglf@docker ~]$ pwd
    /home/lianglf
    

    cd 切换目录
    cd表示:切换目录路径,
    如:cd ..,表示切换到上一级目录;
    cd ../..切换到上一级的上一级目录,或者cd ~
    cd - 表示返回上一次所在路径
    cd 文件名,则切换当该文件目录里

    [lianglf@docker llf]$ pwd
    /home/lianglf/test/llf
    [lianglf@docker llf]$ cd ..
    [lianglf@docker test]$ 
    [lianglf@docker test]$ cd ../..
    [lianglf@docker home]$ 
    [lianglf@docker test]$ cd llf
    [lianglf@docker llf]$ 
    

    clear 清屏
    clear 表示:清除当前屏幕执行过的语句,实际并不是删除掉了只是屏幕切换至首行执行

    [lianglf@docker ~]$ clear
    

    Tab健 自动补全
    在命令后,输入部分文件名称+tab,可自动补全文件名称,如下所示:

    [lianglf@docker home]$ ls lianglf/
    test
    

    touch 新建空白文件
    使用 touch 命令创建空白文件,关于 touch 命令,其主要作用是来更改已有文件的时间戳的(比如,最近访问时间,最近修改时间),但其在不加任何参数的情况下,只指定一个文件名,则可以创建一个指定文件名的空白文件(不会覆盖已有同名文件)

    [lianglf@docker ~]$ touch 01.txt
    

    新建目录mkdir
    使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性
    使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在安装软件、配置安装路径时非常有用):

    [lianglf@docker ~]$ mkdir -p father/son/grandson
    [lianglf@docker ~]$ cd father/son/grandson
    [lianglf@docker grandson]$ pwd
    /home/lianglf/father/son/grandson
    

    复制文件 cp
    将之前创建的“ 123.txt ”文件复制到“ /home/lianglf/test/llf”目录中:

    [lianglf@docker grandson]$ cp 123.txt /home/lianglf/test/llf
    

    复制目录 cp -r(参数)

    [lianglf@docker test]$ cp -r llf /home/lianglf
    

    剪切文件以及重命名 mv
    使用 mv(move or rename files)命令移动文件(剪切)。将文件“llf ”移动到father 目录,以及把123.txt
    命名为234.txt.
    mv 源目录文件 目的目录:

    [lianglf@docker ~]$ ls
    father  llf  llf2  test
    [lianglf@docker ~]$ mv llf father
    [lianglf@docker grandson]$ mv 123.txt 234.txt
    [lianglf@docker grandson]$ ls
    234.txt  [2..9].txt
    

    删除文件 rm
    使用 rm(remove files or directories)命令删除一个文件,如删除123.txt文件;
    但是该文件只有读权限时,会有提示,若想强制删除,无提示,则加上 -f 参数如下图:

    [lianglf@docker grandson]$ rm 123.txt
    rm:是否删除有写保护的普通空文件 "123.txt"?n
    [lianglf@docker grandson]$ rm -f 123.txt
    [lianglf@docker grandson]$ ls
    [lianglf@docker grandson]$ 
    

    删除目录 rm -r

    [lianglf@docker son]$ rm grandson/
    rm: 无法删除"grandson/": 是一个目录
    [lianglf@docker son]$ rm -r grandson/
    [lianglf@docker son]$ ls
    [lianglf@docker son]$ 
    

    编辑文件 vim编辑器
    单独章节介绍使用,很重要
    > >>重定向
    > 表示将命令行输出的内容保存到终端文件中
    >> 表示多次命令行输出的内容保存在终端文件,而不清除上一次保存的内容

    [lianglf@docker home]$ ls -l  > test.txt
    [lianglf@docker home]$ ls -l  >> test.txt
    

    附件

    linux日志文件说明

    /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
    /var/log/secure 与安全相关的日志信息
    /var/log/maillog 与邮件相关的日志信息
    /var/log/cron 与定时任务相关的日志信息
    /var/log/spooler 与UUCP和news设备相关的日志信息
    /var/log/boot.log 守护进程启动和停止相关的日志消息
    /var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件

    相关文章

      网友评论

          本文标题:linux常用文件操作命令1

          本文链接:https://www.haomeiwen.com/subject/awhtaxtx.html