1.ls
参数说明:
ls [选项] [文件名...][-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w cols] [-T cols] [-I pattern] [--full-time][--format={long,verbose,commas,across,vertical,single-col‐umn}][--sort={none,time,size,extension}] [--time={atime,access,use,ctime,status}][--color[={none,auto,always}]] [--help] [--version] [--]
-a, --all # 列出目录中所有文件,包括以“.”开头的文件。-b, --escape # 把文件名中不可输出的字符用反斜杠加字符编号(就像在 C 语言里一样)的形式列出。-c, --time=ctime, --time=status# 按文件状态改变时间(i节点中的ctime)排序并输出目录内# 容。如采用长格式输出(选项“-l”),使用文件的状态改# 变时间取代文件修改时间。【译注:所谓文件状态改变(i节# 点中以ctime标志),既包括文件被修改,又包括文件属性( 如所有者、组、链接数等等)的变化】-d, --directory# 将目录名像其它文件一样列出,而不是列出它们的内容。-f # 不排序目录内容;按它们在磁盘上存储的顺序列出。同时启 动“ -a ”选项,如果在“ -f ”之前存在“ -l”、# “ - -color ”或“ -s ”,则禁止它们。-g # 忽略,为兼容UNIX用。-i, --inode# 在每个文件左边打印 i 节点号(也叫文件序列号和索引号: file serial number and index num‐# ber)。i节点号在每个特定的文件系统中是唯一的。-k, --kilobytes# 如列出文件大小,则以千字节KB为单位。-l, --format=long, --format=verbose# 输出的信息从左到右依次包括文件名、文件类型、权限、硬链接数、所有者名、组名、大小(byte)# 、及时间信息(如未指明是其它时间即指修改时间)。对于6个月以上的文件或超出未来# 1小时的文件,时间信息中的时分将被年代取代。# 每个目录列出前,有一行“总块数”显示目录下全部文件所占的磁盘空间。块默认是1024字节;# 如果设置了 POSIXLY_CORRECT 的环境变量,除非用“-k”选项,则默认块大小是 512 字节。# 每一个硬链接都计入总块数(因此可能重复计数),这无 疑是个缺点。# 列出的权限类似于以符号表示(文件)模式的规范。但是 ls# 在每套权限的第三个字符中结合了多位( multiple bits ) 的信息,如下: s 如果设置了 setuid# 位或 setgid 位,而且也设置了相应的可执行位。 S 如果设置了 setuid 位或 setgid# 位,但是没有设置相应的可执行位。 t 如果设置了 sticky 位,而且也设置了相应的可执行位。 T# 如果设置了 sticky 位,但是没有设置相应的可执行位。 x# 如果仅仅设置了可执行位而非以上四种情况。 - 其它情况(即可执行位未设置)。-m, --format=commas# 水平列出文件,每行尽可能多,相互用逗号和一个空格分隔。-n, --numeric-uid-gid# 列出数字化的 UID 和 GID 而不是用户名和组名。-o # 以长格式列出目录内容,但是不显示组信息。等于使用“ --format=long --no-group# ”选项。提供此选项是为了与其它版本的 ls 兼容。-p # 在每个文件名后附上一个字符以说明该文件的类型。类似“ -F ”选项但是不 标示可执行文件。-q, --hide-control-chars# 用问号代替文件名中非打印的字符。这是缺省选项。-r, --reverse# 逆序排列目录内容。-s, --size# 在每个文件名左侧输出该文件的大小,以 1024 字节的块为单位。如果设置了 POSIXLY_CORRECT# 的环境变量,除非用“ -k ”选项,块大小是 512 字节。-t, --sort=time# 按文件最近修改时间( i 节点中的 mtime )而不是按文件名字典序排序,新文件 靠前。-u, --time=atime, --time=access, --time=use# 类似选项“ -t ”,但是用文件最近访问时间( i 节点中的 atime )取代文件修# 改时间。如果使用长格式列出,打印的时间是最近访问时间。-w, --width cols# 假定屏幕宽度是 cols ( cols 以实际数字取代)列。如未用此选项,缺省值是这# 样获得的:如可能先尝试取自终端驱动,否则尝试取自环境变量 COLUMNS (如果设# 置了的话),都不行则取 80 。-x, --format=across, --format=horizontal# 多列输出,横向排序。-A, --almost-all# 显示除 "." 和 ".." 外的所有文件。-B, --ignore-backups# 不输出以“ ~ ”结尾的备份文件,除非已经在命令行中给出。-C, --format=vertical# 多列输出,纵向排序。当标准输出是终端时这是缺省项。使用命令名 dir 和 d 时, 则总是缺省的。-D, --dired# 当采用长格式(“-l”选项)输出时,在主要输出后,额外打印一行: //DIRED// BEG1 END1 BEG2# END2 ...# BEGn 和 ENDn 是无符号整数,记录每个文件名的起始、结束位置在输出中的位置(# 字节偏移量)。这使得 Emacs 易于找到文件名,即使文件名包含空格或换行等非正# 常字符也无需特异的搜索。## 如果目录是递归列出的(“ -R ”选项),每个子目录后列出类似一行:# //SUBDIRED// BEG1 END1 ... 【译注:我测试了 TurboLinux4.0 和 RedHat6.1 ,发现它们都是在 “# //DIRED// BEG1... ”之后列出“ //SUBDIRED// BEG1 ... ”,也即只有一个# 而不是在每个子目录后都有。而且“ //SUBDIRED// BEG1 ... ”列出的是各个子目 录名的偏移。】-F, --classify, --file-type# 在每个文件名后附上一个字符以说明该文件的类型。“ * ”表示普通的可执行文件; “ / ”表示目录;“# @ ”表示符号链接;“ | ”表示FIFOs;“ = ”表示套接字 (sockets) ;什么也没有则表示普通文件。-G, --no-group# 以长格式列目录时不显示组信息。-I, --ignorepattern# 除非在命令行中给定,不要列出匹配shell文件名匹配式(pattern ,不是指一般# 表达式)的文件。在shell中,文件名以"."起始的不与在文件名匹配式(pattern)# 开头的通配符匹配。-L, --dereference# 列出符号链接指向的文件的信息,而不是符号链接本身。-N, --literal# 不要用引号引起文件名。-Q, --quote-name# 用双引号引起文件名,非打印字符以 C 语言的方法表示。-R, --recursive# 递归列出全部目录的内容。-S, --sort=size# 按文件大小而不是字典序排序目录内容,大文件靠前。-T, --tabsize cols# 假定每个制表符宽度是 cols 。缺省为 8。为求效率, ls 可能在输出中使用制表符。 若 cols 为0,则不使用制表符。-U, --sort=none# 不排序目录内容;按它们在磁盘上存储的顺序列出。(选项“-U”和“-f”的不# 同是前者不启动或禁止相关的选项。)这在列很大的目录时特别有用,因为不加排序# 能显著地加快速度。-X, --sort=extension# 按文件扩展名(由最后的 "." 之后的字符组成)的字典序排序。没有扩展名的先列 出。--color[=when]# 指定是否使用颜色区别文件类别。环境变量 LS_COLORS 指定使用的颜色。如何设置 这个变量见 dir‐# colors(1) 。 when 可以被省略,或是以下几项之一:none # 不使用颜色,这是缺省项。# auto 仅当标准输出是终端时使用。 always 总是使用颜色。指定 --color 而且省略 when 时就等同于# --color=always 。--full-time# 列出完整的时间,而不是使用标准的缩写。格式如同 date(1) 的缺省格式;此格式# 是不能改变的,但是你可以用 cut(1) 取出其中的日期字串并将结果送至命令 “ date -d ”。# 输出的时间包括秒是非常有用的。( Unix 文件系统储存文件的时间信息精确到秒,# 因此这个选项已经给出了系统所知的全部信息。)例如,当你有一个 Makefile 文件# 不能恰当地生成文件时,这个选项会提供帮助。
常用写法:
列出制定文件夹下的所有文件和文件夹的详细信息
# -l列出所有详细信息# -R列出所有子目录root@lgq-virtual-machine:/# ls -lR /test//test/:总用量 12drwxr-xr-x 2 root root 4096 11月 23 23:17 test1drwxr-xr-x 2 root root 4096 11月 23 23:16 test2-rw-r--r-- 1 root root 31 11月 23 23:01 test_txt/test/test1:总用量 0-rw-r--r-- 1 root root 0 11月 23 23:17 test_txt2/test/test2:总用量 0
查看t开头的文件
root@lgq-virtual-machine:/test# ls -l t*-rw-r--r-- 1 root root 31 11月 23 23:01 test_txttest1:总用量 0-rw-r--r-- 1 root root 0 11月 23 23:17 test_txt2test2:总用量 0# 按照最新时间查看t开头的文件root@lgq-virtual-machine:/test# ls -ltr t*-rw-r--r-- 1 root root 31 11月 23 23:01 test_txttest2:总用量 0test1:总用量 0-rw-r--r-- 1 root root 0 11月 23 23:17 test_txt2
看子目录
root@lgq-virtual-machine:/test# ls -F |grep /$test1/test2/root@lgq-virtual-machine:/test# ls -l |grep "^d"drwxr-xr-x 2 root root 4096 11月 23 23:17 test1drwxr-xr-x 2 root root 4096 11月 23 23:16 test2
递归显示文件详细信息
root@lgq-virtual-machine:/test# ls -lhR.:总用量 12Kdrwxr-xr-x 2 root root 4.0K 11月 23 23:17 test1drwxr-xr-x 2 root root 4.0K 11月 23 23:42 test2-rw-r--r-- 1 root root 31 11月 23 23:01 test_txt./test1:总用量 0-rw-r--r-- 1 root root 0 11月 23 23:17 test_txt2./test2:总用量 0-rw-r--r-- 1 root root 0 11月 23 23:42 test_test3
显示文件夹信息
root@lgq-virtual-machine:/test# ls -ld /test/test1drwxr-xr-x 2 root root 4096 11月 23 23:17 /test/test1
显示文件夹下的文件信息
root@lgq-virtual-machine:/test# ls -l /test/test1总用量 0-rw-r--r-- 1 root root 0 11月 23 23:17 test_txt2
列出文件并标记颜色分类
root@lgq-virtual-machine:/test# ls --color=autotest1 test2 test_txtroot@lgq-virtual-machine:/
2.cd
# 是 Change Directory 的缩写,用来切换工作目录。[root@localhost ~]# cd [相对路径或绝对路径]
3.pwd
# 是 Print Working Directory (打印工作目录)的缩写,功能是显示用户当前所处的工作目录root@lgq-virtual-machine:/test/test1# pwd/test/test1
4.mkdir
[root@localhost ~]# mkdir [-mp] 目录名#-m 选项用于手动配置所创建目录的权限,而不再使用默认权限。#-p 选项递归创建所有目录,以创建 /home/test/demo 为例,在默认情况下,你需要一层一层的创建各个目录,而使用 -p 选项,则系统会自动帮你创建 /home、/home/test 以及 /home/test/demo。
root@lgq-virtual-machine:/test/test1# mkdir test4drwxr-xr-x 2 root root 4096 11月 24 21:12 test4-rw-r--r-- 1 root root 0 11月 23 23:17 test_txt2
root@lgq-virtual-machine:/test/test1# mkdir -p test5/test6/test7root@lgq-virtual-machine:/test/test1# ls -lhR# 说明先创建了test5 在test5里面创建了test6,在test6里面创建了test7./test4:总用量 0./test5:总用量 4.0Kdrwxr-xr-x 3 root root 4.0K 11月 24 21:14 test6./test5/test6:总用量 4.0Kdrwxr-xr-x 2 root root 4.0K 11月 24 21:14 test7./test5/test6/test7:总用量 0
root@lgq-virtual-machine:/test/test1# mkdir -m 777 test9root@lgq-virtual-machine:/test/test1# ls -l总用量 12drwxr-xr-x 3 root root 4096 11月 24 21:14 test5drwxrwxrwx 2 root root 4096 11月 24 21:22 test9
5.rmdir
[root@localhost ~]# rmdir [-p] 目录名# -p 选项用于递归删除空目录。
root@lgq-virtual-machine:/test/test1# lstest4 test5 test9 test_txt2root@lgq-virtual-machine:/test/test1# rmdir test9root@lgq-virtual-machine:/test/test1# lstest4 test5 test_txt2
root@lgq-virtual-machine:/test# ls -lR.:总用量 12drwxr-xr-x 4 root root 4096 11月 24 21:27 test1drwxr-xr-x 2 root root 4096 11月 23 23:42 test2-rw-r--r-- 1 root root 31 11月 23 23:01 test_txt./test1:总用量 8drwxr-xr-x 2 root root 4096 11月 24 21:12 test4drwxr-xr-x 3 root root 4096 11月 24 21:14 test5-rw-r--r-- 1 root root 0 11月 23 23:17 test_txt2./test1/test4:总用量 0./test1/test5:总用量 4drwxr-xr-x 3 root root 4096 11月 24 21:14 test6./test1/test5/test6:总用量 4drwxr-xr-x 2 root root 4096 11月 24 21:14 test7./test1/test5/test6/test7:总用量 0./test2:总用量 0-rw-r--r-- 1 root root 0 11月 23 23:42 test_test3
oot@lgq-virtual-machine:/test# rmdir -p test5/test6/test7root@lgq-virtual-machine:/test/test1/test4# ls -lR总用量 12drwxr-xr-x 3 root root 4096 11月 24 21:30 test1drwxr-xr-x 2 root root 4096 11月 23 23:42 test2-rw-r--r-- 1 root root 31 11月 23 23:01 test_txt./test1:总用量 4drwxr-xr-x 2 root root 4096 11月 24 21:12 test4-rw-r--r-- 1 root root 0 11月 23 23:17 test_txt2./test1/test4:总用量 0./test2:总用量 0-rw-r--r-- 1 root root 0 11月 23 23:42 test_test3-p test5/test6/test7
6.touch
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]#选项:#-a:只修改文件的访问时间;#-c:仅修改文件的时间参数(3 个时间参数都改变),如果文件不存在,则不建立新文件。#-d:后面可以跟欲修订的日期,而不用当前的日期,即把文件的 atime 和 mtime 时间改为指定的时间。#-m:只修改文件的数据修改时间。#-t:命令后面可以跟欲修订的时间,而不用目前的时间,时间书写格式为 YYMMDDhhmm。#--no-create 不会建立新档案。#--help 列出指令格式。#--version 列出版本讯息。
root@lgq-virtual-machine:/test# lstest1 test2 test_txtroot@lgq-virtual-machine:/test# touch test4root@lgq-virtual-machine:/test# lstest1 test2 test4 test_txt
# 说明:已存在的文件再次touch一次,即可修改访问时间root@lgq-virtual-machine:/test# ll --time=atime test4-rw-r--r-- 1 root root 0 11月 24 21:39 test4root@lgq-virtual-machine:/test# touch -a test4root@lgq-virtual-machine:/test# ll --time=atime test4-rw-r--r-- 1 root root 0 11月 24 21:44 test4
7.ln
命令功能 :Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。软链接:1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式2.软链接可以对一个不存在的文件名进行链接3.软链接可以对目录进行链接4.源文件和硬链接id和block号不同5.修改任意一个文件,另一个都改变6.删除任意一个文件,另外一个都不能使用7.标记清晰8.软链可以接连接目录9.软链接可以跨分区硬链接:1.硬链接,以文件副本的形式存在。但不占用实际空间。2.不允许给目录创建硬链接3.硬链接只有在同一个文件系统中才能创建4.源文件和硬链接id和block'号相同5.修改任意一个文件,另一个都改变6.删除任意一个文件,另外一个都可以使用7.标记不请,难确认硬链接的位置8.硬链接不能连接目录9.硬链接不能跨分区
ln [参数][源文件或目录][目标文件或目录]#其中参数的格式为[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}][--help] [--version] [--]命令参数必要参数:--backup[=CONTROL] 备份已存在的目标文件-b 类似 --backup ,但不接受参数-d 允许超级用户制作目录的硬链接-f 强制执行-i 交互模式,文件存在则提示用户是否覆盖-n 把符号链接视为一般目录-s 软链接(符号链接)-v 显示详细的处理过程选择参数:-S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>"-V "-V<备份方式>"或"--version-control=<备份方式>"--help 显示帮助信息--version 显示版本信息
软链接```java root@lgq-virtual-machine:/test# ls -l 总用量 0 -rw-r—r— 1 root root 0 11月 24 21:59 linklogtxt -rw-r—r— 1 root root 0 11月 24 21:59 logtxt.log
root@lgq-virtual-machine:/test# ln -s logtxt.log linklogtxt root@lgq-virtual-machine:/test# ls -l 总用量 0 lrwxrwxrwx 1 root root 10 11月 24 22:02 linklogtxt -> logtxt.log -rw-r—r— 1 root root 0 11月 24 22:01 logtxt.log
如果llogtxt.log丢失,llinklogtxt 将失效<br />硬链接```javaroot@lgq-virtual-machine:/test# ln logtext.log logtextroot@lgq-virtual-machine:/test# ls -l总用量 0-rw-r--r-- 2 root root 0 11月 24 22:06 logtext-rw-r--r-- 2 root root 0 11月 24 22:06 logtext.log
8.cp
[root@localhost ~]# cp [选项] 源文件 目标文件选项:-a:相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍;-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;-i:询问,如果目标文件已经存在,则会询问是否覆盖;-l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;-s:把目标文件建立为源文件的软链接文件,而不是复制源文件;-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);-r:递归复制,用于复制目录;-u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。
root@lgq-virtual-machine:/test# cp logtext testdir/root@lgq-virtual-machine:/test# ls -lR.:总用量 4-rw-r--r-- 1 root root 0 11月 24 22:06 logtextdrwxr-xr-x 2 root root 4096 11月 24 22:13 testdir./testdir:总用量 0-rw-r--r-- 1 root root 0 11月 24 22:13 logtext
root@lgq-virtual-machine:/test# ls -l总用量 4-rw-r--r-- 1 root root 0 11月 24 22:06 logtextdrwxr-xr-x 2 root root 4096 11月 24 22:13 testdirroot@lgq-virtual-machine:/test# cp logtext logtxtroot@lgq-virtual-machine:/test# ls -l总用量 4-rw-r--r-- 1 root root 0 11月 24 22:06 logtext-rw-r--r-- 1 root root 0 11月 24 22:15 logtxtdrwxr-xr-x 2 root root 4096 11月 24 22:13 testdir
root@lgq-virtual-machine:/test# ls -l总用量 8drwxr-xr-x 2 root root 4096 11月 24 22:20 testcasedrwxr-xr-x 2 root root 4096 11月 24 22:13 testdirroot@lgq-virtual-machine:/test# cp -r testcase/ testdir/root@lgq-virtual-machine:/test# ls -lR.:总用量 8drwxr-xr-x 2 root root 4096 11月 24 22:20 testcasedrwxr-xr-x 3 root root 4096 11月 24 22:20 testdir./testcase:总用量 0./testdir:总用量 4-rw-r--r-- 1 root root 0 11月 24 22:13 logtextdrwxr-xr-x 2 root root 4096 11月 24 22:20 testcase./testdir/testcase:总用量 0
root@lgq-virtual-machine:/test# ls -lR.:总用量 4-rw-r--r-- 1 root root 0 11月 24 22:22 test1drwxr-xr-x 2 root root 4096 11月 24 22:22 testdir./testdir:总用量 0root@lgq-virtual-machine:/test# cp -p test1 testdir/oot@lgq-virtual-machine:/test# ls -lR.:总用量 4-rw-r--r-- 1 root root 0 11月 24 22:22 test1drwxr-xr-x 2 root root 4096 11月 24 22:23 testdir./testdir:总用量 0-rw-r--r-- 1 root root 0 11月 24 22:22 test1
9.rm
[root@localhost ~]# rm[选项] 文件或目录选项:# -f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录。# -i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的#文件或目录。# -r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。
# 删库一时爽一直删库一直爽,别爽进监狱就行root@lgq-virtual-machine:/test# ls -lR.:总用量 4-rw-r--r-- 1 root root 0 11月 24 22:22 test1drwxr-xr-x 3 root root 4096 11月 24 22:25 testdir./testdir:总用量 4-rw-r--r-- 1 root root 0 11月 24 22:25 2drwxr-xr-x 3 root root 4096 11月 24 22:25 3-rw-r--r-- 1 root root 0 11月 24 22:22 test1./testdir/3:总用量 4drwxr-xr-x 2 root root 4096 11月 24 22:26 4./testdir/3/4:总用量 0-rw-r--r-- 1 root root 0 11月 24 22:26 5root@lgq-virtual-machine:/test# rm -rf *root@lgq-virtual-machine:/test# ls -lR.:总用量 0
10.mv
root@localhost ~]# mv 【选项】 源文件 目标文件选项:-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;-v:显示文件或目录的移动过程;-u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级;
root@lgq-virtual-machine:/test# ls -l总用量 4drwxr-xr-x 2 root root 4096 11月 24 22:31 testdir-rw-r--r-- 1 root root 0 11月 24 22:31 testlogroot@lgq-virtual-machine:/test# mv testlog testtextroot@lgq-virtual-machine:/test# ls -l总用量 4drwxr-xr-x 2 root root 4096 11月 24 22:31 testdir-rw-r--r-- 1 root root 0 11月 24 22:31 testtext
root@lgq-virtual-machine:/test# ls -lR.:总用量 4drwxr-xr-x 2 root root 4096 11月 24 22:31 testdir-rw-r--r-- 1 root root 0 11月 24 22:31 testtext./testdir:总用量 0root@lgq-virtual-machine:/test# mv testtext testdir/root@lgq-virtual-machine:/test# ls -lR.:总用量 4drwxr-xr-x 2 root root 4096 11月 24 23:02 testdir./testdir:总用量 0-rw-r--r-- 1 root root 0 11月 24 22:31 testtext
