Linux学习笔记之目录和文件管理常用命令

Linux命令格式:

命令 选项 参数(命令的作用对象)

段选项 -  多个选项可以组合

长选项 -- 



Linux文件类型:

-:普通文件

d:目录文件

b:块设备文件(block)

c:字符设备文件(character)

l:符号链接文件(symbolic link file)

p:命令管道文件(pipe)

s:套接字文件(socket)



1、cd(change directory):切换工作目录(工作目录是指当前所在的目录)

目录的切换可以使用绝对路径和相对路径;

绝对路径是文件或目录所在的真实路径,从根目录开始的路径,windows的绝对路径是以盘符开始;

相对路径是以当前所在的目录为参考所延伸的目录或文件路径;

cd:不加任何参数时切换到用户家目录,等同于cd ~(~代表用户家目录、主目录)

cd ~USERNAME:切换到指定用户的家目录

cd -:切换到前一次的目录



2、ls(list):列出目录内容

-l:长格式

使用-l选项文件和目录会有7个字段

文件权限

文件硬链接的次数

文件属主

文件属组

文件大小,默认单位是字节

时间:默认显示最近一次被修改过的时间,Linux中每个文件有三种时间

modification time(mtime 修改时间):当文件的内容被更改时,会更新此时间;

status time(ctime 状态时间):当文件的状态、属性发生更改时,会更新此时间;

access time(atime 存取时间):当取用文件内容时,会更新此时间;例如使用cat来看看文件内容

-a:显示以.开头的所有文件

-A:显示除.和..以外的所有文件(.代表当前目录,..代表上层目录)

-d:显示目录自身的属性,而不是目录内的文件

-i:显示文件的inode号

-r:逆序排列

-R:递归(recursive)显示

-h:做单位转换

-S:根据文件大小进行排序

-t:根据修改时间排序



3、type:显示命令的类型

命令类型:

内部命令:shell内置命令,内建命令;

外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件;

-a:会由PATH中定义的路径,将所有含命令名的指令都列出来,包含alias

-t:只显示命令类型

file:外部命令

alias:命令别名

builtin:内部命令

keyword:shell关键字

-p:查看一个外部命令的执行路径

-P:查看内部命令的路径



4、which:显示命令的完整路径

-a:将所有PATH目录中可以找到的指令均列出



5、date:显示或修改系统的日期和时间

-s:设置时间 “月/日/年 时:分:秒”

-I:按照 ISO-8601 的日期/时间格式输出时间(年-月-日)

-u:显示或修改UTC时间

-d:显示有string定义的时间  -d 00:00:00 或--date=00:00:00

格式:

%a / %A:当前区域的星期几简写/全称

%b / %B:当前区域的月份简写/全称

%c:当前区域的日期和时间

%d:(月份中的)几号,两位(01、02...30、31)

%D:日期(月/日/年)

%e:(月份中的)几号,去零(1、2...30、31)

%h:同%b

%H:小时,按24小时格式显示,用两位表示

%I:小时,按12小时格式显示,用两位表示

%j:一年中的第几天,用三位表示

%k:小时,按24小时格式显示,去零

%l:小时,按12小时格式显示,去零

%m:月份,用两位表示

%M:分钟数,用两位

%n:换行

%p:当前时间是上午AM还是下午PM

%r:时间,按12小时制显示 hh:mm:ss[A/P]M

%s:从1970年1月1日0点0分0秒到现在经历的秒数

%S:秒数,两位

%t:水平方向的制表符

%T:时间,按24小时格式显示hh:mm:ss

%U:一年中的第几个星期,以星期天为开始,两位

%V:ISO星期数,一年中的第几个星期,以星期一为开始,两位

%w:用数字表示星期几,0代表星期天

%W:一年中的第几个星期,以星期天为开始,两位

%x:按照mm/dd/yy显示当前日期

%X:按照%H:%M:%S显示当前时间

%y;年后的两位数字

%Y:年用四位表示


6、hwclock/clock:查看硬件时间

设置硬件时间:hwclock -set -date=“月/日/年 时:分:秒”

硬件时钟与系统时间同步 hwclock --hctosys

系统时钟与硬件时钟同步 hwclock --systohc



7、echo:显示一行文本

-n:不输出行尾的换行符

-e:对反斜线转义字符进行解释

-E:禁止对strings中的序列进行解释

--help 显示帮助并推出

--version 显示版本信息

\\反斜线

\a报警符

\b退格符

\c禁止尾随的换行符

\f换页符

\n换行符

\r回车

\t水平制表符

\v纵向制表符


8、printf:格式化输出


9、file:确定文件类型

-b:不输出文件名

-z:试图查看压缩文件内部信息

-L:显示符号链接的原文件



10、文件系统:

rootfs:根文件系统

FHS:linux文件系统标准

/boot:存放系统启动相关的文件,如内核、initrd,以及grup(boorloader)

/dev:设备文件

块设备;随机访问,数据块

字符设备:线性访问,接字符为单位

设备号:主设备号(major)和此设备号(minor)

/etc:各种配置文件

/home:用户家目录

/root:root家目录

/lib:库文件

静态库 .a

动态库 .so (shared object)

/lib/modules:内核模块文件

/media:移动设备挂载点

/mnt:额外的临时文件系统挂载点

/opt:可选目录,第三方程序的安装目录

/proc:伪文件系统,内核映射文件

/sys:伪文件系统,跟硬件设备相关的属性映射文件

/tmp:临时文件,/var/tmp

/var:可变化的文件

/bin:可执行文件,用户命令

/sbin:管理命令

/usr:shared,read-only

/usr/bin

/usr/sbin

/usr/lib

/usr/local

/usr/local/bin

/usr/local/sbin

/usr/local/lib


11、命名规则

严格区分大小写(windows不区分)

不能使用/当文件名

尽量不要使用特殊字符,空格等做文件名

长度不能超过255个字符


12、pwd(print work directory):显示当前所在目录

-L:显示当前目录

-P:显示当前目录的实际物理地址(对于连接目录)



13、mkdir(make directory):创建目录

创建多个用空格隔开或{a,b,c}

-m:创建目录是设置权限,使用8进制

-p:递归创建

-v:每次创建目录时都显示信息



14、命令行展开:

例如要创建a、b、c三个目录,可以使用mkdir /tmp/{a,b,c}

例如要创建12、13、22、23四个目录可以使用mkdir /tmp/{1,2}{2,3}


15、rmdir(rmove directory):删除空目录

-p:递归删除

-v:输出信息


16、touch:更是文件时间戳(创建文件)

将文件的访问时间和修改时间修改为当前时间,不存在的文件会被创建为空文件,除非使用-c或-h选项

-a 只更改访问时间

-c 不创建任何文件

-d(--date=) 使用指定字符串表示时间而非当前时间

-h 会影响符号链接本身,而非所链接的目的地

-m 只更改修改时间

-r(--reference=) 使用指定文件的时间

-t 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间而非当前时间



17、stat:显示文件或文件系统的状态

-L 跟随链接

-f 显示文件系统状态而非文件状态

-t 使用简洁方式输出


18、rm(rmove):删除文件

默认rm不会删除目录,

-f:强制删除,忽略不存在的文件,不提示

-i:在删除前确认

-I:在删除超过三个文件或递归删除时提示确认

-r -R:递归删除

-v:详细显示进行的步骤

如果使用rm来删除文件,通常仍可以将文件还原,如果想让文件无法还原,可以使用shred



19、cp(copy):复制文件

-a 等同于-dpR,常用于备份

-b 若删除或覆盖目标文件将对文件进行备份,备份的文件已备份的字符结尾

-d 复制符号链接

-f 强制复制

-i 交互模式,覆盖目标文件之前进行询问

-l 建立硬链接,非复制

-P 源目录或文件的属性保留

-p 源文件或文件的路径保留

-r 处理指定目录以及目录子目录下的所有文件

-R 同-r一样

-s 不进行复制,而是建立符号链接

-u 只在源文件更新时进行复制

-v 运行时显示详细信息

-x 只在源文件和目标文件系统类型相同时才复制




20、mv(move):移动或更改文件名

-b 为每个已存在的目标文件进行备份

-f 覆盖前不询问

-i 覆盖前询问

-n 不覆盖已存在文件

如果指定了-f、-i、-n中的多个,仅最后一个生效

-S 替换常用的备份文件后缀

-t 将所有参数指定的源文件或目录移动至指定目录

-T 将目标文件视作为普通文件处理

-u 只在源文件比目标文件新,或目标文件不存在时才进行移动

-v 详细显示进行的步骤

默认备份文件后缀为~,除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX

环境变量指定。版本控制的方式可通过--backup 选项或VERSION_CONTROL 环境

变量来选择。以下是可用的变量值:


  none, off       不进行备份(即使使用了--backup 选项)

  numbered, t     备份文件加上数字进行排序

  existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份

  simple, never   永远使用普通方式备份


本文出自 “杆儿男” 博客,请务必保留此出处http://wtime.blog.51cto.com/8829658/1530363

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。