• linux文件管理命令


    linux上的文件管理类命令

    文件描述符:在linux中,内核通过inode来找到每个文件,但一个文件可以被许多用户同时打开或一个用户同时打开多次。这就有一个问题,如何管理文件的当前位移 量,因为可能每个用户打开文件后进行的操作都不一样,这样文件位移量也不同,当然还有其他的一些问题。所以linux又搞了一个文件描述符(file descriptor)这个东西,来分别为每一个用户服务。每个用户每次打开一个文件,就产生一个文件描述符,多次打开就产生多个文件描述符,一一对应, 不管是同一个用户,还是多个用户。该文件描述符就记录了当前打开的文件的偏移量等数据。所以一个i节点可以有0个或多个文件描述符。多个文件描述符可以对 应一个i节点。

    常用的文件管理命令:cd、mkdir、touch、pwd、ls、alias、cat、more、less、tail、split、cut、vi、grep、sed、awk、wc、mv、cp、rm、echo、ln、tar、tar、(un)zip、rpm、which、whereis、locate、find、ldd、make、gcc、source、ulimit、chgrp、chown、chmod、cut 、

    Cd:切换目录,例:cd /home/webuser;

    Mkdir:创建目录,mkdir /zlm 根目录下创建zlm目录

    Touch:创建文件夹,touch zlm 当前目录创建zlm文件夹,d参数可使用指定的日期或时间

    Pwd:显示当前目录路径;

    Ls:显示指定目录下的内容,缺省为当前目录,-a参数显示所有文件(包括隐藏文件),-l参数显示文件的详细信息;

    Ll:显示指定目录下的详细内容,-d可以指定对应的文件的详细信息。

    Alias:起别名,例:alias ll='ls -l --color=auto';

    Cat、more、less、tail都是查看文本类文件内容:
    cat: 会一次输出所有内容到标准输出上,常和重定向结合使用,Cat还有合并文件的功能,例:cat file1 file2 > file;

    more:一屏显示不完成时会暂停等待用户操作,按空格下翻一屏,按回车向下一行,直到文本结束或者按q键结束;

    Less和more:相似,不同的是less可以向后翻页;

    Tail :显示文件的末尾行,缺省显示最后10行,-n参数可以设定显示的行数,-f参数当文件内容发生增加时自动显示。
    Split:分割文件
    例:split -b 2000m centos.iso centos.iso_part_ 会把centos.iso按每个2G分割成多个文件,centos.iso文件不会消失,会产生centos.iso_part_aa、centos.iso_part_ab之内的文件。

    Cut:用来从标准输入或文本文件中剪切列或域。-c参数指定剪切的字符,-f指定剪切的域,-d指定分隔符。

    Vi/Vim:功能强大的文本编辑器,分编辑模式、命令模式和末行模式。编辑模式按ESC键切换到命令模式。命令模式下i键光标签插入,a键光标后插入,o光标下一下新建一行,G到文章末,1G到文章头。非编辑模式下按冒号进入模式,常用操作有 w保存,wq保存并退出,q退出,q!强制退出,set nu显示行号等等。Vim编辑文档时有的会有颜色区分。

    Grep:强大的文本搜索工具,支持正则表达式。和其他语言类似:^开头,$结尾,*零个或者多个,+一个或者多个,|多个匹配,[ ]范围匹配等等。例:ps -ef|grep java。

    Sed:常用于替换文本内容。

    Awk:能完成grep和sed完成的所有功能。

    Wc:统计字节、字符、行。-c参数统计字节,-w统计字符,-l统计行。
    例:ps -A|grep java|wc -l 统计当前系统中运行了几个java程序。

    Mv:剪切或重命名。

    Cp:复制。常用参数-i 有同名文件时交互式提示用户,-r拷贝目录时递归下面的子目录,-f同名文件时不提示直接覆盖(和-i相反),-p拷贝时将权限和修改时间连带拷走(很常用,因为linux下权限控制比较严格)。有时候在部署web应用的时候需要覆盖大量的文件,加了-f参数还是会提示确实(一个个按y是很恼火的),这是因为我们用的cp命令不是原生态的,在主目录下有个.bashrc文件中给它起了别名。

    Rm:删除。-r和-f参数cp。

    Echo:回显。可以结合特殊符号$、``等使用。
    例:xxx=123; echo $xxx 将会打印出123;
    Echo env 将会打印出系统的环境变量。
    Echo 123 > /zlm 将123输入到zlm文档中

    Ln:建立硬链接。-s参数建立软链接。

    Tar:可用于备份或打包压缩。常用参数:c 压缩,x解压缩,r追加文件到已存在的档案文件末尾,z 调用gzip来压缩/解压归档文件,v显示处理详细信息,p保留文件原来的权限,f使用档名(后立即接档名),j调用bzip2压缩/解压文件。

    Tar:常用解压文件并打包目录
    例:tar -zxvf zlm.tar /

    Zip:常用系统通用的压缩格式。常用参数:r 包含所有子目录和文件,q安静模式(不现实详细过程)。例:zip -q -r tomcat.zip tomcat/ 。

    Unzip:解压缩zip格式归档包。常用参数:l查看压缩包中内容。
    例:unzip -l tomcat.zip 打印tomcat.zip中的内容;
    unzip tomcat.zip 解压缩tomcat.zip到当前目录。

    Rpm:相当于windows下的添加/删除程序,是用来管理软件包的。增删改查:i 安装(install)、q 查询(query)、e 删除(erase)、U升级(upgrade);通用参数:v 打印详细信息,h打印hash值与参数v一起使用;
    例:rpm -ivh vsftpd* 安装ftp

    Which:从环境变量$PATH中搜索可执行文件。

    Whereis:搜索在数据库里的数据。参数:-b 二进制(binary)格式,-s源文件等。

    Locate:也是从数据库中搜索,但可以通过“部分文件名“搜索,也就是名称记不全的时候很方便。依赖的DB是/var/lib/mlocate/mlocate.db,由于系统的更新频率不一致,有可能新增的查不到。

    Find:最强大的搜索命令,但也最耗硬盘资源,可以配合各种通配符使用。
    例:find / -name tomcat* 查找所有以tomcat打头的文件;
    find . -type d -mtime +10 查找当前目录下10天前的目录;
    find ! -name run.sh 查找当前目录和子目录下名字不是run.sh的文件。
    Ldd:和其他命令不一样,它实际是个shell脚本。是用来查看程序运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题。

    Make:编译程序的命令,源码安装时会用到。常用形式:make 编译,make clean 删除由make产生的文件,make check测试刚编译的软件(有可能不支持),make distclean删除./configure产生的文件,make install 安装已编译的程序并复制文件到prefix指定的目录中,make installcheck检测安装的程序和库文件(有可能不支持)。
    

    Gcc:编译代码,其中会有预处理、汇编、编译并链接形成可执行文件这些步骤。例:
    gcc test.c -o test ,将test.c变成可执行文件test,多个文件一起编译用空格分隔。

    Source:点(.)命令,使刚修改的初始化文件不用重新登陆shell就生效,还有一个用途是把文件内容当做shell来执行(编译内核)。

    Ulimit:设置shell启动进程的资源限制。常用参数: -a 显示当前所有限制,-n设置打开的文件描述符的,-s设置stack的大小(段错误segmentation fault)。

    Inode: i节点是指对文件的索引。如一个系统,所有文件是放在磁盘或flash上,就要编个目录来说明每个文件在什么地方,有什么属性,及大小等。就像书本的目 录一样,便于查找和管理。这目录是操作系统需要的,用来找文件或叫管理文件。许多操作系统都用到这个概念,如linux, 某些嵌入式文件系统等。当然,对某个系统来说,有许多i节点。所以对i节点本身也是要进行管理的。

    Chgrp:变更文件或目录的所属群组,
    chgrp root /zlm 将zlm文件的所属组修改成root

    Chown:变更文件或目录的所有者
    chown zlm /zlm 将zlm文件的所有者修改zlm
    d [rwx] [r-x] [r-x]. 144 root root
    文 所----所---其----------所---所
    件 有----有---它----------有---属
    类 者----组---人----------者--- 组

    Chmod:修改文件或目录的权限
    r——读权限------:4----u:所有者
    w——写权限-----:2----g:所有组
    x——执行权限---:1----o: 其它人
    -——没有权限---:0

    文件内的管理:
    插入命令
    a 在光标后附加文本
    A 在本行行末附加文本
    i 在光标前插入文本
    I 在本行开始插入文本
    o 在光标下插入新行
    O 在光标上插入新行

    定位命令
    h 方向左键
    j 方向下键 H 移至屏幕上端
    k 方向上键 M 移至屏幕中央
    l 方向右键 L 移至屏幕下端
    $ 移至行尾
    0 移至行首
    :set nu 设置行号
    :set nonu 取消行号
    gg 到第一行
    G 到最后一行
    nG 到第n行
    :n 到第n行

    删除命令
    x 删除光标所在的字符
    nx 删除光标所在的n个字符
    dd 删除光标所在行
    ndd 删除光标所在n行
    dG 删除光标所在行的末尾内容
    D 删除删除光标所在处行尾内容
    :n,nd 删除指定范围

    复制和剪切命令
    yy、Y 复制当前行
    nyy、nY 复制当前行一下n行
    dd 剪切当前行
    ndd 剪切当前行一下n行
    p、P 粘贴在当前光标所在行下或行上

    替换和取消命令
    r 取代光标所在处字符
    R 从光标所在处开始替换字符,按Esc结束
    u 取消上一步操作

    搜索和替换命令
    /string 向前搜索指定字符串、搜索时忽略大小写:set ic
    n 搜索制定字符串的下一个出现位置
    :%s/old/new/g 全文替换指定字符串
    :n1,n2s/old/new/g 在一定范围内替换指定字符串

    保存和退出命令
    :w 保存修改
    :w new_filename 另存为指定文件
    :wq 保存修改并退出
    ZZ 快捷键,保存修改并退出
    :q! 不保存修改退出
    :wq! 保存修改退出(文件所有者和忽略文件的只读书性)

  • 相关阅读:
    linux下设置SSH无密码登陆
    设置sudo权限
    集群重启后启动ambari-server访问Web页面无法启动集群解决
    使用Ambari部署hadoop集群
    centos7.6安装python3.7
    Locust
    测试框架(自然语言)
    Maven之(七)pom.xml配置文件详解
    git的使用
    elastic search(es)安装
  • 原文地址:https://www.cnblogs.com/ZhengLiming/p/5906363.html
Copyright © 2020-2023  润新知