linux学习笔记-02文件相关命令

ls

  • 功能:列出目标目录中所有的子目录和文件

  • 常用命令参数

    -a    查看全部文件(包括隐藏文件)
    -d    仅看目录本身
    -h    易读的文件容量(如k,m,g)
    -l    显示文件的详细信息
    -all  查看全部文件及其权限
    

cd

  • 格式:

    cd [目录名]
    
  • 进入系统根目录

    cd /
    
  • 进入用户的根目录

    1. 切换到当前用户主目录
    cd ~
    
    1. 切换到指定用户的根目录
    cd ~用户名
    
  • 跳转到进入此目录之前所在的目录

    cd -
    
  • 显示上一次调用cd命令的命令参数

    cd !$
    

pwd

  • 打印逻辑路径,使用环境中的路径,即使包含了符号链接

    pwd -L
    
  • 打印物理路径,如果目录是一个链接目录,则会打印其链接所指的物理路径

    pwd -P
    
  • 如果使用pwd没有指定参数,会使用 pwd -P

mkdir

  • 通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹

  • 要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限

  • 所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写)

  • 命令参数

    1. 主要用来设定权限,其中权限是数字的形式
    -m, --mode
    
    1. 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
    -p, --parents
    
  • 创建一个权限为755的文件夹 picture

    mkdir -m 755 picture
    

rm

  • rm [选项] 文件

    1. 该命令的功能为删除一个目录中的一个或多个文件或目录
    2. 也可以将某个目录及其下的所有文件及子目录均删除
    3. 对于链接文件,只是删除了链接,原有文件均保持不变
  • 命令参数

    -f, --force    忽略不存在的文件,从不给出提示。
    -i, --interactive 进行交互式删除
    -r, -R, --recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。
    
  • 对于目录,如果调用仅仅调用rm 不能删除,但可以用rm -r进行删险

  • 示例

    1. 删除所有的.log文件,并且逐一提示 :
    rm -i *.log
    
    1. 将 test2 子目录及子目录中所有档案删除,并且不用一一确认:
    rm -rf test2
    
    1. 删除以 -f 开头的文件:
    rm -- -f
    

rmdir

  • 该命令的功能是删除空目录

  • 一个目录被删除之前必须是空的

  • rm - r dir命令可代替rmdir,但是有很大危险性

move

  • mv [选项] 文件名 [目标路径|目标文件名]

    1. mv命令用于移动文件或改名
    2. 在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失
  • 命令参数

    -b :若需覆盖文件,则覆盖前先行备份
    -f:force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
    -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
    -u :若目标文件已经存在,且 source 比较新,才会更新(update)
    -t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标
    
  • 命令示例

    1. 将test.log该名为test01.txt:
    mv test.log test1.txt
    
    1. 将test1.txt移动到目录test3:
    mv test1.txt test3
    
    1. 文件移动另一目录,并改名:
    mv text01.txt ../test02/text01.log
    
    1. 将文件log1.txt,log2.txt,log3.txt移动到目录test3中:
    mv log1.txt log2.txt log3.txt test3
    
    1. 将文件file1改名为file2,如果file2已经存在,则询问是否覆盖:
    mv -i log1.txt log2.txt
    
    1. 将文件file1改名为file2,即使file2存在,也是直接覆盖掉:
    mv -f log3.txt log2.txt
    
    1. 移动目录:
    mv dir1 dir2
    
    1. 移动当前目录的全部文件到上一级目录:
    mv * ../
    
    1. 把当前目录的一个子目录里的.txt文件移动到另一个子目录里:
    mv test3/*.txt test5
    
    1. 文件被覆盖前做简单备份,前面加参数-b:
    mv log1.txt -b log2.txt
    

cp

  • 基本命令

    1. cp [选项] 源文件 目标文件
    2. 整个命令与mv命令很类似
    3. 目标文件是一个目录,会将源文件复制到该目录中。
    4. 目标文件是一个文件,会将源文件覆盖该文件。
    5. 目标文件不存在,将会复制源文件并修改为目标文件的名称(重命名)。
    6. 复制目录时,注 目标目录存在与否结果是不一样的 。目标目录存在时,整个源目录被 复制到目标目录里面,目录不存在时,建立一个这样的目录
  • 命令参数:

    -p    保留原始文件的属性
    -d    若对象为"链接文件",则保留该"链接文件"的属性
    -r    递归持续复制(用于目录)
    -i    若目标文件存在则询问是否覆盖
    -a    相当于-pdr(p,d,r为上述的参数)
    
  • 示例

    1. 复制单个文件到目标目录,文件在目标文件中不存在:
    cp log.log test5
    
    1. 复制整个目录及其子文件夹
    cp -r test test2
    

touch

  • touch [选项]... 文件...

  • 1 用来修改文件时间戳;2 新建一个不存在的文件

  • linux中的文件有三种时间

      更改时间(mtime):内容修改时间(不包括权限的)
      更改权限(ctime):更改权限与属性的时间
      读取时间(atime):读取文件内容的时间
    
  • 命令参数

    -a    近修改“访问时间”(atime)
    -m    近修改“更改时间”(mtime)
    -d    同时修改atime与mtime
    -t    要修改成的时间[[CC]YY]MMDDhhmm[.ss]
    -r    把指定文档或目录的日期时间,统统设成与参考文档或目录的日期时间相同
    
  • 使用范例

    1. 创建不存在的文件
    touch a.log b.log
    
    1. 将c.log的时间修改与a.log相同
    touch -r a.log c.log
    
    1. 设定文件的时间戳,时间戳的格式为 [[CC]YY]MMDDhhmm[.ss] 由于系统的限制,早于1970年1月1日的时间是错误的
    touch -t 197001010000.00 c.log
    

其它

  • head head命令用于查看纯文本文档的前N行,格式为:head [选项] [文件]

    head -n 10 文件名      显示10行
    head -n -10 文件名     正常输出,但不显示最后的10行
    
  • tail tail命令用于查看纯文本文档的后N行,格式为:tail [选项] [文件]

    tail -n 20 文件名      显示最后20行
    tail -f               持续刷新显示的内容
    
  • od命令用于对查看特殊格式的文件,格式为:od [选项] [文件]

    -t a    默认字符
    -t c    ASCII字符
    -t o    八进制
    -t d    十进制
    -t x    十六进制
    -t f    浮点数
    
  • tr命令用于转换文本文件中的字符,格式为:tr [原始字符] [目标字符]

    cat tr.txt | tr [a-z] [A-Z]
    将tr.txt中的内容转换为大写
    
  • wc命令用于统计指定文本的行数、字数、字节数,格式为 wc [参数] 文本

    -l    只显示行数
    -w    只显示单词数
    -c    只显示字节数
    wc -l /etc/passwd
    
  • cut命令用于通过列来提取文本字符,格式为:cut [参数] 文本

    -d  分隔符    指定分隔符,默认为Tab。
    -f    指定显示的列数。
    -c    单位改为字符
    cut -d: -f1 /etc/passwd 以:为分割符来切割该文本的第一行
    
  • diff diff命令用于比较多个文本文件的差异,格式为:diff [参数] 文件

    -b    忽略空格引起的差异。
    -B    忽略空行引起的差异。
    --brief或-q    仅报告是否存在差异。
    -c    使用上下文输出格式。
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,302评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,563评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,433评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,628评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,467评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,354评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,777评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,419评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,725评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,768评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,543评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,387评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,794评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,032评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,305评论 1 252
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,741评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,946评论 2 336

推荐阅读更多精彩内容