- 文件名中不能含有斜线(\)、空字符(\0)、空格、制表符和Linux系统中特殊意义的字符
- Linux系统区分文件的大小写,例如letter文件和Letter文件不是同一个文件
- 以圆点“.”开头的文件名是隐含文件,必须使用ls -a命令,他们才能在屏幕上显示出来
- 通配符
*:可以匹配任意一个或多个字符.例: ls *.c显示当前文件下以.c结尾的文件
?:可以匹配任意一个字符
[]:可以匹配[]内的任意一个字符
[!]:可以匹配[]外的任意一个字符
5.文件的类型
普通文件(-)
目录(d)
字符设备文件(c) 每次读写是一个字符叫字符设备(键盘)
块设备文件(b) 每次都写的是一个块叫块设备(磁盘)
所有的设备文件存放在/dev目录下
6.cd
改变当前工作目录
语法:cd [目录名] 将当前目录改变成所指目录
例:cd .. 切换到上一层目录
cd 移到自己的主目录
.:表示当前目录
..:表示当前目录的上一级目录
-:表示用cd命令切换目录前所在的目录
7.路径:文件或目录在文件系统中所处的位置
绝对路径:
(1).以斜杠(/)开头
(2).描述到文件位置的完整说明(对文件位置进行具体描述)
(3).任何时候你想指定文件名都可以用
相对路径:
(1).不以斜杆(/)开头
(2).指定相对于你当前工作目录而言的位置
8.cat 查看文件信息
语法:cat [选项] 文件名
选项:
-n:从1开始对所有输出行进行编号显示
(1)建立小型文件:利用输出重定向把cat命令的输出信息写入一个新文件
语法:cat>命名的新文件
记得用ctrl和d结束输入
(2)合并文件
利用cat命令及重定向命令可以把两个文件的信息合并起来
语法:
cat 文件1 文件2 > 新文件名
9.mkdir 创建目录或文件夹命令(可以一次建立多级目录)
语法:mkdir [选项] [目录名]
因为目录名被[]扩着,[]代表可选项,所以生成的目录不一定要基于当前目录
(1)Mkdir dir dir1 同时创建dir和dir1两个目录
(2)Mkdir -p dir1/dir2 递归生成目录dir1和dir2,即dir1作为当前目录的子目录,dir2作为dir1目录下的子目录
10.touch 生成一个空文件或更改现有文件的时间
若文件不存在,系统会建立一个文件
默认情况下,将文件的时间记录为当前时间
语法:
Touch [选项] 文件名
-a:只改访问时间
-m:只更改修改时间
*创建文件夹
mkdir 文件夹名
mkdir 文件夹名1 文件夹名2
11.文件的时间戳
mtime:最后修改时间
ctime:状态改变时间(动文件里面的内容,会改变文件的状态,读不会改变)
atime:最后访问时间
12.判断文件的类型
file [选项] 文件名
stat [选项] 文件名
13.more 分屏显示文件内容
如果出现内容占满屏幕,还没有显示完的情况下,按Enter键则显示下一行,按q退出
语法:
more 文件名
可以利用管道线
man ls|more 将man ls的输出利用more命令显示在屏幕上
*
less 显示文件内容和more 类似但比more功能多,可以向上翻内容而且less再查看之前不会加载整个文件,你看多少他加载多少
语法:less 文件名
14.cp 复制命令(会覆盖已存在的文件)
语法:cp [选项] 源文件或目录 目标文件或目录
(1)cp ./* dir 将当前目录下的所有目录(不包含目录)复制到dir目录中
(2)cp -p file1 file2 将fiel1的内容复制到目标文件file2中。目标文件保持原有的生成日期和inode编号。注意:对于不同分区inode编号不同,因此一个分区向另一个分区复制文件时,不能用-p选项
(3)在进行复制操作时,系统默认是会提示的
-f选项的功能:进行复制命令时,系统不会进行提示
15. mv 文件移动及改名命令(移动会覆盖已存在的文件)
mv file1 dile 将文件名file1改成dile
mv file* file1 将以file开头的多个文件移动到file1中
16.rm 删除文件或目录 (一旦删除不能恢复)输入y文件将会删除,输入其他任何字符,文件不会删除
重点:如果没有使用-r选项,则rm不会删除目录
语法:rm [选项] 文件名
rm fiel 删除fiel文件
rm -f file2 如果file2文件已经存在,则这个命令删除该文件时不会发出提示(-f:强制删除文件)
rm -r file1 递归删除file1目录文件,如果当前目录还有子目录也删除其中的目录和文件(递归删除也就是一层一层删除)
17.find 查找文件(在目录下查找文件)
根据路径和表达式查找所匹配的文件或目录
find [路径] [表达式]
-type d:查找目录
-type f:查找普通文件
-type:查找软连接文件
- find / -name test 从跟目录下查找名为test的文件或目录
-iname:按照文件名搜索,忽略大小写(直接写这个命令就可以找到根目录下名为test的所有文件)
(2)-a:连接两个条件,两个条件必须同时满足
find /home -user root -a -name test 从/home目录下找到宿主root的文件和/home下名为test文件
(3)find /tem -perm 755 查找在/tem目录下权限是755的目录
(4)-depth/-d 深度优先
(5)--help 显示命令帮助信息
例如:ls --help(-和help之间不能有空格)
(6)find / -maxdepth 3 显示根目录下的文件列表仅限于三层
(7)find /home /www /srv 递归显示/home、/www、 /srv目录的文件列表
(8)-amin N N分钟之前被访问过的所有文件
-atime N N天以前被访问过的所有
Ctime、mtime同理
查找属于用户test1的文件,查找属于组computer的文件。
find / -type f -user test1
find / -type f -group computer
Locate 查看是否有指定的文件(locate的速度比find要快,locate并不是真正查找文件而是查找数据库)
语法:locate [选项] 文件名
- grep 文件信息检索命令
功能:在指定文件中检索出匹配关键字的内容
语法:grep [选项] 字符串 [文件...]
-I:忽略字符大小写的差别
-n:显示符合字符串之前,标出该行的行号
-v:过滤检索
例如:grep root /etc/password
在/etc/password中找root字符串
- sort 文件排序
功能:对文件进行排序和合并,就是把所有指定文件的行一起进行排序
语法: sort [选项] [文件列表]
-r:逆向排序
例如:sort file1 对file1文件按每行第一个字符进行排序输出
sort file1 file2 将file1和file2两个文件合起来进行排序
Sort -r file1 对file1文件按每行第一个字符进行反向排序输出
Ls -a|sort -r 将当前目录下所有文件按每行第一个字符进行反向输出
- head 显示开头某个数量文字区块标准输出,默认head命令打印相应文件的开头10行
语法:head [参数] [文件]
例如:head -n 3 文件名
显示文件的前三行
Head -c 10 文件名
显示文件的前10个字节
Head -c -1 文件名
显示文件的除了最后一个字节以外的内容
- od 转换文件到其它格式
语法: od [选项] [文件名]
-x:十六进制
- file 查看文件类型或目录(多个文件之间使用空格分开)
语法:file [选项] 文件名
- tail 查看文件的末尾数据
Tail -n 数字 文件名 查看文件的末尾数字行内容