zoukankan      html  css  js  c++  java
  • 文件基本操作

    Linux文件管理

    一、Linux与Windows目录结构对比
    1.1 Linux以单根的方式组织文件 所有目录和文件都是从/开始
    Windows是多根目录结构 C: D:盘都是目录起点
    1.2 Linux各目录用途
    /bin -> usr/bin # 普通用户使用的命令如ls、date
    /sbin -> usr/sbin # 管理员使用的命令
    /boot # 存放的启动相关的文件,例如kernel,grub(引导装载程序)
    /usr # 系统文件,相当于C:Windows
    /lib -> usr/lib # 库文件Glibc
    /lib64 -> usr/lib64 # 库文件Glibc
    /home # 普通用户家目录
    /root # root用户的HOME
    /proc # 虚拟的文件系统,反映出来的是内核,进程信息或实时状态
    cat /proc/meminfo:内存信息
    cat /proc/cpuinfo:cpu信息
    /var #存放的是一些变化文件,比如数据库,日志,邮件....
    /tmp #系统临时目录,系统会定时删除该目录下长时间没有访问的文件。
    /media # 移动设备默认的挂载点
    /mnt # 手工挂载设备的挂载点
    /opt # 早期第三方厂商的软件存放的目录.
    /tmp # 临时存放文件,类似于回收站,超过十天自动删除
    1.3 常用配置文件存放路径
    /etc/sysconfig/network-script/ifcfg-*,网络配置文件
    /etc/hostname,系统主机名配置文件
    /etc/resolv.conf,dns客户端配置文件
    /etc/hosts,本地域名解析配置文件
    /etc/fstab 系统挂载目录 开机自启动挂载列表
    /etc/passwd 系统用户文件
    1.4绝对路径与相对路径
    绝对路径: 从/开头的路径 /home ~/backup
    相对路径: 相对于当前目录开始
    1.5文件详细属性各部分解析,通过ls -l / 命令查看
    -rw-r--r--. 权限,后面的点代表是否在selinux开启的情况下(enforcing或者permissive都属于开启)创建的文件

    1 文件和硬链接个数
    root 属主
    root 属组
    0 文件大小,单位字节
    11月 20 14:02 文件修改时间
    a.txt 文件名字

    # 权限的第一个为代表文件类型
    格式 说明
    - 普通文件(文本, 二进制, 压缩包, 图片, 日志等)
    d 目录文件
    b 设备文件(块设备)存储设备硬盘 /dev/sda1, /dev/sda2
    c 设备文件(字符设备)打印机,终端 /dev/tty1, /dev/zero
    s 套接字文件, 进程间通信(socket)
    p 管道文件
    l 链接文件
    二、常用的文件管理命令
    2.1 tree命令(目录树的格式查看文件)
    要先安装tree命令,执行yum install tree -y
    tree -a 目录 # 显示所有文件,包括隐藏文件
    tree -d 目录 # 只显示子目录
    tree -L 1 目录 # -L 遍历目录的最大层数,-L后应该是大于0的正整数
    tree -F 目录 # -F 在条目后加上文件类型的指示符号,例如会在显示出的目录后面加上左斜杠/

    2.2 touch命令用法(创建文件)
    touch file1.txt //无则创建,有则修改时间
    touch /home/file10.txt 在home目录下创建file10.txt文件
    touch file{1..20} 在当前目录创建file1,file2直到名称为file20的文件
    touch {T,t}est.txt //等价touch Test.txt test.txt

    2.3 mkdir命令(创建目录)
    mkdir dir1 在当前路径创建名称为dir1的目录
    mkdir /home/dir2 /home/dir3 同时在/home目录下创建名称为dir2,dir3的目录
    mkdir /home/{dir4,dir5} 同时在/home目录下创建名称为dir4,dir5的目录
    mkdir -p /home/dir8/111/222 //该路径下不存在的目录统一进行创建

    2.4 stat命令(查看文件时间)
    Linux文件有三种时间,用stat查看
    例如:stat anaconda-ks.cfg

    访问时间:atime,查看内容,用cat检测
    修改时间:mtime,修改内容
    改变时间:ctime,修改内容,修改权限等属性,凡是有改动都会变

    2.5 文件内容查看命令(cat、less、more、tail、head)
    cat /etc/hosts 查看hosts文件内容并显示在当前终端
    more /etc/passwd # 使用more命令之后,每次在屏幕上显示一屏(一页)的文件内容,
    并且在屏幕的尾部将会出现“—More--(n%)”的信息,其中,n%是已经显示文件内容的百分比。
    按空格下一页,按b上一页,more +40 a.txt从第40行开始查看
    tail -100f /var/log/messages 动态查看/var/log/messages文件最后一百行内容,常用于查看服务日志
    head /etc/passwd 查看/etc/passwd文件前10行内容,head默认查看文件前10行
    head -2 /etc/passwd 查看/etc/passwd文件前2行内容

    三、文本编辑
    3.1 vi与vim区别与扩展用法
    vi不显示高亮颜色语法
    vim显示高亮颜色语法。
    其他功能没有什么区别。
    默认vi是安装的 , vim需要通过yum install vim -y

    3.2 vi编辑器的操作模式
    ##命令行模式:在编辑模式下按下ESC键返回命令行模式。
    vi的默认模式。在这一模式中,所有的输入被解释成vi命令,可以执行修改、复制、移动、粘贴和删除正文等命令,也可以进行移动光标、搜索字符串和退出vi的操作等。
    ##编辑/插入模式:输入a、i、o之一
    在编辑模式中,可以往一个文件中输入正文。在这一模式下,输入的每一个字符都被vi编辑器解释为输入的正文。使用ESC键返回命令行模式。
    a:进入插入模式并在光标之后进行添加。
    i:进入插入模式并在光标之前进行插入。
    o:进入插入模式并在当前(光标所在)行之下开启新的一行。
    ##扩展/末行模式:输入冒号:
    在一些UNIX系统上也叫最后一行模式。在这一模式下,可以使用一些高级编辑命令,如搜寻和替代字符串、存盘或退出vi编辑器等。要进入最后一行模式,需要在命令行模式中输入冒号(:),冒号这一操作将把光标移到屏幕的最后一行。

    3.3 在vi编辑器中光标的移动
    $ 光标移动到当前行的几位
    0 光标移动到当前行的行首
    G 光标移动到文末
    gg 光标移动到文首
    nG n为数字,输入数字+G表示移动到第n行
    H 光标移动到当前屏幕第一行行首
    M 光标移动到当前屏幕中间行行首
    L 光标移动到当前屏幕末行行首

    3.4 vi编辑器中复制删除操作
    dd 删除光标所在的行
    ndd n为数字,键入数字+dd表示删除当前行开始的n行
    yy 复制光标所在的行
    nyy n为数字,复制光标所在位置开始的共n行
    p 将已复制的内容粘贴到光标下一行
    P 将已复制的内容粘贴到光标上一行
    u 在未退出当前vi编辑器的前提下,恢复上一次的操作

    3.5 末行模式下的操作
    :w 保存当前内容
    :q 退出当前编辑
    :w! 强制保存
    :q! 强制退出

    3.6 设置环境(临时设置)
    :set nu 显示行号
    :set ic 不区分大小写
    :set nonu 取消行号
    :set noic 取消不区分大小写设置

    3.7 echo命令(将输出内容添加到文本中)
    echo "123" > 1.txt 将文本内容123覆盖到1.txt文档中,该方式会删除文本中原内容
    echo "456" >> 1.txt 将文本内容456追加方式添加到1.txt文档中,该方式不会删除原文档内容

    四、文件管理之打包压缩
    zip、unzip软件包需要安装,安装命令为 yum install zip unzip -y
    4.1 tar命令(打包压缩格式为tar.gz)
    命令用法
    打包压缩:tar -czvf 生成文件名tar.gz格式 需要打包的目录或文件
    tar -czvf 1.tar.gz 1/ 将当前目录下名称为1的目录打包为1.tar.gz文件
    解压:tar -xvf 要解压的文件
    tar -xvf 1.tar.gz 将1.tar.gz压缩包解压到当前目录
    tar -xvf 1.tar.gz -C /usr/ 将1.tar.gz解压到/usr/目录下

    4.2 zip、unzip命令(压缩格式为.zip文件)
    命令用法
    打包压缩:zip -r 生成文件名.zip格式 需要打包的文件或目录
    zip -r 1.zip 1/ 将当前目录下名称为1的目录递归压缩为1.zip压缩包
    解压:unzip zip文件
    unzip 1.zip 将1.zip压缩包解压到当前目录下
    unzip 1.zip -d /usr/ 将1.zip压缩包解压到/usr/目录下

    五、扩展命令,查看系统状态以及服务状态
    5.1 netstat命令
    netstat 查看当前系统所有启动服务占用的端口信息
    netstat -tulnp |grep sshd 查看sshd服务占用端口信息

    5.2 ps命令
    ps axu 查看当前系统所有启动服务的进程信息
    ps axu|grep sshd 查看sshd服务的进程信息

    5.3 df命令
    df 查看服务器磁盘信息(默认以字节单位显示)
    df -Th 查看服务器磁盘信息(以MB单位显示)

    5.4 free命令
    free 查看服务器内存使用信息(默认以字节单位显示)
    free -m 查看服务器内存信息(以MB单位显示)

    5.4 lsof命令
    lsof 查看当前系统所有文件占用信息
    lsof -i:22 查看当前22端口sshd服务的占用信息

    5.5 top命令
    top 查看当前系统CPU、内存信息以及占用率等信息

  • 相关阅读:
    NSString拼接字符串
    2020/4/26
    2020/4/25
    2020/4/24
    2020/4/22
    2020/4/22
    2020/4/20
    2020/4/19
    2020/4/18
    2020/4/17
  • 原文地址:https://www.cnblogs.com/ltyc/p/14013112.html
Copyright © 2011-2022 走看看