基本命令_linux常用命令04--文件的基本操作命令

0 阅读18分钟

命令集合:

mv ls cp rm cat tac tail head touch more less cut

file chown chmod ln du

命令:mv 用途说明:为文件或目录改名或将文件由一个目录移入另一个目录中。该命令等同于DOS系统下的ren和move命令的组合。它的使用权限是所有用户。

命令参数: -i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答”y”或”n”,这样可以避免误覆盖文件。 -f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用

常用操作方式: #重命名文件或目录 mv test1 test2

#强制覆盖文件 mv -f test1 test2 命令:ls 用途说明:列出目录内容 命令参数: -1 每列仅显示一个文件或目录名称。 -a或--all 下所有文件和目录。 -A或--almost-all 显示所有文件和目录,但不显示现行目录和上层目录。 -b或--escape 显示脱离字符。 -B或--ignore-backups 忽略备份文件和目录。 -c 以更改时间排序,显示文件和目录。 -C 以又上至下,从左到右的直行方式显示文件和目录名称。 -d或--directory 显示目录名称而非其内容。 -D或--dired 用Emacs的模式产生文件和目录列表。 -f 此参数的效果和同时指定"aU"参数相同,并关闭"lst"参数的效果。 -F或--classify 在执行文件,目录,Socket,符号连接,管道名称后面,各自加上"","/","=","@","|"号。 -g 次参数将忽略不予处理。 -G或--no-group 不显示群组名称。 -h或--human-readable 用"K","M","G"来显示文件和目录的大小。 -H或--si 此参数的效果和指定"-h"参数类似,但计算单位是1000Bytes而非1024Bytes。 -i或--inode 显示文件和目录的inode编号。 -I<范本样式>或--ignore=<范本样式> 不显示符合范本样式的文件或目录名称。 -k或--kilobytes 此参数的效果和指定"block-size=1024"参数相同。 -l 使用详细格式列表。 -L或--dereference 如遇到性质为符号连接的文件或目录,直接列出该连接所指向的原始文件或目录。 -m 用","号区隔每个文件和目录的名称。 -n或--numeric-uid-gid 以用户识别码和群组识别码替代其名称。 -N或--literal 直接列出文件和目录名称,包括控制字符。 -o 此参数的效果和指定"-l" 参数类似,但不列出群组名称或识别码。 -p或--file-type 此参数的效果和指定"-F"参数类似,但不会在执行文件名称后面加上""号。 -q或--hide-control-chars 用"?"号取代控制字符,列出文件和目录名称。 -Q或--quote-name 把文件和目录名称以""号标示起来。 -r或--reverse 反向排序。 -R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。 -s或--size 显示文件和目录的大小,以区块为单位。 -S 用文件和目录的大小排序。 -t 用文件和目录的更改时间排序。 -T<跳格字符>或--tabsize=<跳格字数> 设置跳格字符所对应的空白字符数。 -u 以最后存取时间排序,显示文件和目录。 -U 列出文件和目录名称时不予排序。 -v 文件和目录的名称列表以版本进行排序。 -w<每列字符数>或--width=<每列字符数> 设置每列的最大字符数。 -x 以从左到右,由上至下的横列方式显示文件和目录名称。 -X 以文件和目录的最后一个扩展名排序。 --block-size=<区块大小> 指定存放文件的区块大小。 --color=<列表格式> 培植文件和目录的列表格式。 --full-time 列出完整的日期与时间。 --help 在线帮助。 --indicator-style=<标注样式> 在文件和目录等名称后面加上标注,易于辨识该名称所属的类型。 --quoting-syte=<引号样式> 把文件和目录名称以指定的引号样式标示起来。 --show-control-chars 在文件和目录列表时,使用控制字符。 --sort=<排序方式> 配置文件和目录列表的排序方式。 --time=<时间戳记> 用指定的时间戳记取代更改时间。 --version 显示版本信息。

常用操作方式: #在centos使用ls -l,可以直接用ll ll

#显示所有文件,含隐藏文件 ls -a

#按更改时间排序显示 ls -t ls -tr

命令:cp 用途说明:复制文件或目录

命令参数: -a 或 --archive 此参数的效果和同时指定"-dpR"参数相同 -b 或 --backup 删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录 -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在 -i 或 --interactive 覆盖文件之前先询问用户 -l 或 --link 对源文件建立硬链接,而非复制文件 -p 或 --preserve 保留源文件或目录的属性,包括所有者、所属组、权限与时间 -P 或 --parents 保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经丰在 -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理 -R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理 -s 或 --symbolic-link 对源文件建立符号链接,而非复制文件 -S <备份字尾字符串> 或 --suffix=<备份字尾字符串> 用"-b"参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号"" -u 或 --update 使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件 -v 或 --verbose 显示执行过程 -V <备份方式> 或 --version-control=<备份方式> 指定当备份文件时,备份文件名的命名方式,有以下3种: 1.numbered或t, 将使用备份编号,会在字尾加上1字符串,其数字编号依次递增 2.simple或never 将使用简单备份,默认的备份字尾字符串是, 也可通过-S来指定 3.existing或nil将使用当前方式,程序会先检查是否存在着备份编号,若有则采用备份编号,若无则采用简单备份 -x 或 --one-file-system 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件 --help 显示在线帮助 --sparse=<使用时机> 设置保存希疏文件的时机 --version 显示版本

常用操作方式: #复制文件,只有源文件较目的文件的修改时间新时,才复制文件 cp -u -v file1 file2

#将文件file1复制成文件file2 cp file1 file2

#将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式

cp -f file1 file2 //这种方法无效,还是会有交互,需要改默认配置

/bin/cp file1 file2

#完全拷贝一个目录的全部内容,保留源文件或目录的属性,包括所有者、所属组、权限与时间 cp -a dir1 dir2

命令:rm 用途说明:删除档案及目录

命令参数:  -d或--directory   直接把欲删除的目录的硬连接数据删成0,删除该目录。  -f或--force   强制删除文档或目录。  -i或--interactive   删除既有文档或目录之前先询问用户。  -r或-R或--recursive  递归处理,将指定目录下的任何文档及子目录一并处理。  -v或--verbose   显示指令执行过程。  --help 在线帮助。  --version   显示版本信息

常用操作方式: #删除任何C语言程式档;删除前逐一询问确认 : rm -i *.c

#将 test 子目录及子目录中任何档案删除 : rm -r test

#强制删除test 子目录及子目录中任何档案,不做任何询问;本条命令需谨慎执行 rm -rf test

命令:cat 相反命令:tac //参数不一样 用途说明:做为一个文本文件查看和连接工具

命令参数: -n 或 --number 由 1 开始对所有输出的行数编号 -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号 -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v 或 --show-nonprinting

常用操作方式: #显示文件内容 cat test.txt

#把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里 cat -n textfile1 > textfile2

#把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。 cat -b textfile1 textfile2 >> textfile3

#清空test.txt的内容 cat /dev/null > test.txt
命令:head 用途说明:打印文件的开头部分

常用操作方式: #默认head命令打印其相应文件的开头10行 head test.txt

#打印文件的前25行 head -n 25 test.txt head -25 test.txt 命令:tail 用途说明:输出文件的尾部内容,默认情况下它显示文件的最后十行

常用操作方式: #默认tail命令打印其相应文件的最后10行 tail test.txt

#打印文件的最后25行 tail -n 25 test.txt tail -25 test.txt

#跟踪apache的实时访问日志 tail -f access.log

命令:touch 用途说明:touch命令经常用来创建空文件或者更新文件时间。

命令参数: -t

常用操作方式: #创建新文件touch new.txt

#更改文件时间为当前时间touch new.txt

#更改文件时间为指定时间 touch -t 201304010000 test //时间格式为格式 yyyyMMDDhhmm touch -t 04010000 test //时间格式为格式 MMDDhhmm

#将文件时间改成与别的文件相同 touch -r /etc/passwd test.txt

命令:more 用途说明:功能类似 cat,以一页一页的显示方便使用者逐页阅读

1.命令格式:

more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

2.命令功能:

more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

3.命令参数:

+n 从笫n行开始显示 -n 定义屏幕大小为n行 +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c 从顶部清屏,然后显示 -d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能 -l 忽略Ctrl+l(换页)字符 -p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似 -s 把连续的多个空行显示为一行 -u 把文件内容中的下画线去掉

4.常用操作命令: Enter 向下n行,需要定义。默认为1行 Ctrl+F 向下滚动一屏 空格键 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 v 调用vi编辑器 !命令 调用Shell,并执行命令 q 退出more

常用操作方式: #每页定义30行,从第12行开始,顶部清屏 more -c +12 -30 install.log

命令:less 用途说明:对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。

1.命令格式: less [参数] 文件

2.命令功能: less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

3.命令参数: -b <缓冲区大小> 设置缓冲区的大小 -e 当文件显示结束后,自动离开 -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 -g 只标志最后搜索的关键词 -i 忽略搜索时的大小写 -m 显示类似more命令的百分比 -N 显示每行的行号 -o <文件名> 将less 输出的内容在指定文件中保存起来 -Q 不使用警告音 -s 显示连续空行为一行 -S 行过长时间将超出部分舍弃 -x <数字> 将“tab”键显示为规定的数字空格 /字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能 n:重复前一个搜索(与 / 或 ? 有关) N:反向重复前一个搜索(与 / 或 ? 有关) b 向后翻一页 d 向后翻半页 h 显示帮助界面 Q 退出less 命令 u 向前滚动半页 y 向前滚动一行 空格键 滚动一行 回车键 滚动一页 [pagedown]: 向下翻动一页 [pageup]: 向上翻动一页

常用操作方式: #显示编号 less -N install.log

#查询功能:在less状态中,/字符串可以查询指定字符串;n:重复前一个搜索;N:反向重复前一个搜索

#编辑功能:在less状态中,v 可调出vi

#ps查看进程信息并通过less分页显示 ps -ef |less

#查看命令历史使用记录并通过less分页显示 history | less

#浏览多个文件 less test1.txt test2.txt

命令:cut 用途说明:选取命令,将一段数据经过分析,取出我们想要的。

命令参数: -b:以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。 -c:以字符为单位进行分割。 -d:自定义分隔符,默认为制表符。 -f:与-d一起使用,指定显示哪个区域。 -n:取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除。

常用操作方式: #想提取每一行的第3个字节 who|cut -b 3

#提取第3,第4、第5和第8个字节 who|cut -b 3-5,8

#提取第3,第4,第5和第8个字符 who|cut -c 3-5,8

#按间隔符、域的提取 cat /etc/passwd|head -n 5|cut -d : -f 2

命令:file 用途说明:检测文件类型的命令

常用操作方式: #简单检测 file test.txt

#更详细地检测 file -i install.log

命令:chown 用途说明:更改与文件关联的所有者或组,只有 root 用户可以更改文件的所有者 语法:chown [ -f ] [ -h ] [ -R ] Owner [ :Group ] { File ... | Directory ... }

必要参数: -c 显示更改的部分的信息 -f 忽略错误信息 -h 修复符号链接 -R 处理指定目录以及其子目录下的所有文件 -v 显示详细的处理信息 -deference 作用于符号链接的指向,而不是链接文件本身

选择参数: --reference=<目录或文件> 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组 --from=<当前用户:当前群组> 只有当前用户和群组跟指定的用户和群组相同时才进行改变 --help 显示帮助信息 --version 显示版本信息

常用操作方式: #改变拥有者和群组 chown mail:mail log2012.log

#改变文件拥有者和群组 chown root: log2012.log

#改变文件群组 chown :mail log2012.log

#改变指定目录以及其子目录下的所有文件的拥有者和群组 chown -R -v root:mail test6

命令:chmod 用途说明:改变一个或多个文件的存取模式

命令参数: -c,--changes 只输出被改变文件的信息-f,--silent,--quiet 当chmod不能改变文件模式时,不通知文件的用户--help 输出帮助信息。-R,--recursive 可递归遍历子目录,把修改应到目录下所有文件和子目录--reference=filename 参照filename的权限来设置权限-v,--verbose 无论修改是否成功,输出每个文件的信息--version 输出版本信息。 权限表示方式: 多数用三位八进制数字的形式来表示权限,第一位指定属主的权限,第二位指定组权限,第三位指定其他用户的权限,每位通过4(读)、2(写)、1(执行)三种数值的和来确定权限。如6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限。 另外一种方式,可以用ugo+rwx。a,代表全部用户;u,用户的当前权限;g,组的当前权限;o,其他用户的当前权限。r,代表读;w,代表写;x,代表执行

常用操作方式: #给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限 chmod 751 file

#给file去除执行权限 chmod a-x file

#递归地给directory目录下所有文件和子目录的属主分配755的权限 chmod -R 755 directory

#递归地给directory目录下所有文件和子目录的属主增加读的权限 chmod -R u+r directory

命令:ln 用途说明:为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。

命令参数: -f:链结时先将与 dist 同档名的档案删除 -d:允许系统管理者硬链结自己的目录 -i:在删除与 dist 同档名的档案时先进行询问 -n:在进行软连结时,将 dist 视为一般的档案 -s:进行软链结(symbolic link) -v:在连结之前显示其档名 -b:将在链结时会被覆写或删除的档案进行备份 -S SUFFIX:将备份的档案都加上 SUFFIX 的字尾 -V METHOD:指定备份的方式 --help:显示辅助说明 --version:显示版本

常用操作方式: #将档案 yy 产生一个 symbolic link : zz ln -s yy zz #将档案 yy 产生一个 hard link : zz ln yy xx

命令:du 用途说明:显示目录或文件的大小

命令参数: -a或-all 显示目录中个别文件的大小。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。 -D或--dereference-args 显示指定符号连接的源文件大小。 -h或--human-readable 以K,M,G为单位,提高信息的可读性。 -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。 -k或--kilobytes 以1024 bytes为单位。 -l或--count-links 重复计算硬件连接的文件。 -L<符号连接>或--dereference<符号连接> 显示选项中所指定符号连接的源文件大小。 -m或--megabytes 以1MB为单位。 -s或--summarize 仅显示总计。 -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。 -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。 --exclude=<目录或文件> 略过指定的目录或文件。 --max-depth=<目录层数> 超过指定层数的目录后,予以忽略。 --help 显示帮助。 --version 显示版本信息。

常用操作方式:   #显示某文件(或目录)大小

du -h file

#按大小排序看某文件大小

du /etc | sort -nr | more

du -h 查看当前目录下子目录分别的大小

du -sh 查看当前目录的总大小

du -h img 指定目录查看大小,例如指定看img目录

du -h img/1.jpg 查看指定文件大小

du -lh --max-depth=1 / 指定深入目录的层数,参数:–max-depth=

[X] 通过此方法可以快速定位占用的大文件

sudo find /var/log/ -type f -mtime +30 -exec rm -f {} ; 删除30天之前的旧文件

du -h |grep -P "^S*G" 列出大文件和目录 ————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                    

原文链接:blog.csdn.net/qq_24700495…