首先,特殊字符和隐藏文件, 以“.”开头的文件都是隐藏文件。 Linux系统中的文件名称最长可以有256个字符,文件名可以由字母,数字,下划线,减号及一些特殊符号(不推荐使用)。
1. 创建文件命令 touch
touch命令可以创建一个空文件,也可以用来修改文件的创建时间
【命令格式】:touch [option] filename
【命令参数】:该命令会创建以参数filename为名称的文件,因此参数filename 应该遵循文件命名规则。
【示例】:
(1)创建空文件:文件名是ab
# touch ab
(2) 创建并修改文件的时间戳记:使用选项d
# touch -d "6/20/10 18:32" ab
2. 创建目录命令 mkdir
【命令格式】:mkdir [option] dir
【命令选项】:
p: 同时创建一个路径中的多个目录
【示例】:
(1)创建一个名为test的目录
# mkdir test
(2) 当前目录下创建多个目录
# mkdir -p a/b/c/d
3. 移动,重命名文件命令 mv
【命令格式】:mv Sou_file dir
【参数说明】:两个参数
Sou_file:需要移动的文件或目录名
dir:移动后的位置和文件名,若该参数指定的文件已经存在,则覆盖已 经存在的文件,如果不存在,则移动文件并重命名。
【示例】:
(1)将当前目录中的文件a移动到目录test中
# mv a test/
(2) 也可以用来移动一个目录,例如将目录test移动到目录file中
# mv test file/
(3) 依次可以移动多个文件,将a,s,d,移动到目录file中:
# mv a s d file/
(4) 用来重命名文件或目录,将目录file重命名为test
# mv file test
4. 复制文件 命令cp
【命令格式】:cp [option] Source Directory
【常用选项】:
R:可以递归的复制目录中的所有文件
【参数说明】:有两个参数
Source:要复制的源文件
Directory:复制文件的新位置,如果此参数是一个新目录名,则将文件复制 到新位置时重命名文件
【示例】:
(1)复制并重命名文件
将/etc/samba/smb.conf备份到当前目录中,并将文件名重命名为 smb.conf_backup
# cp /etc/samba/smb.conf smb.conf_backup
(2)制作光盘镜像
为当前光驱中的光盘制作镜像
# cp /dev/cdrom linux.ise
(3)复制目录
如果要复制的源目录中还存在子目录,则可能会发生错误,使用R选项递归的复制子目录,将目录test复制到目录file中
# cp -R test file/
(4)复制时保留权限,使用p选项,例如备份防火墙配置文件
# cp -p /etc/sysconfig/iptables ./backup
5. 删除文件命令rm(速记为remove)
【命令格式】:rm [option] file
【常用选项】:
r:删除目录时将目录中的所有内容一并删除
f:忽略删除的目录中不存在的子目录,并且删除时不提示用户
【示例】:
(1)删除文件ab,删除时系统会要求用户确认
# rm ab
(2) 删除目录及目录中的所有文件和子目录,要配合选项r和f
# rm -rf test
(3) 删除目录中的所有文件时,可以使用*表示所有文件,例如删除当前目录中 的所有文件及目录
# rm -rf *
6.
file | file filename 只需要指定要查看的文件就行 |
查看文件a的文件类型 # file a |
7 、查看文件
[root@izuf6ih01h8fzeziddwkfdz sm]# cat sm.log 查看sm.log文件内容
[root@izuf6ih01h8fzeziddwkfdz sm]# head sm.log 查看sm.log文件内容的前10行
[root@izuf6ih01h8fzeziddwkfdz sm]# head -n 20 sm.log 查看sm.log文件内容的前20行
[root@izuf6ih01h8fzeziddwkfdz sm]# tail sm.log 查看sm.log文件内容的后10行
[root@izuf6ih01h8fzeziddwkfdz sm]# tail -n 20 sm.log 查看sm.log文件内容的后20行
[root@izuf6ih01h8fzeziddwkfdz sm]# tail -f sm.log 动态查看sm.log文件内容
[root@izuf6ih01h8fzeziddwkfdz sm]# more sm.log 以翻页的形式查看sm.log的内容(按空格键下翻,不能上翻)
[root@izuf6ih01h8fzeziddwkfdz sm]# less sm.log 以翻页的形式查看sm.log的内容(按上下键进行上下翻页,按q退出)
8、 查看文件
基本语法: find 查找位置 查找参数
find . -name *java* 在当前位置下查找文件名包含java字符的文件
find . -perm 777 在当前位置下查找权限为777 的文件
find / -user ouyang 在系统中查找用户为ouyang的文件
find . -type d 在当前位置下查看找类型为文件夹的文件
查找参数:
-name -perm -user -group -ctime -type -size
9、归档压缩
[root@izuf6ih01h8fzeziddwkfdz java-run]# tar -zcvf log.tar.gz log/ 将目录log归档并压缩,归档压缩后的名称为log.tar.gz
[root@izuf6ih01h8fzeziddwkfdz java-run]# tar -zxvf log.tar.gz 释放并解压log.tar.gz
可以使用zip来压缩文件 unzip解压文件
zip和rar是windows上最常用的压缩格式,在linux上也可以用命令来操作。
zip压缩和解压缩命令:
zip -rarchive_name.zip directory_to_compress
unziparchive_name.zip
tar是linux常见的一种归档文件,打包文件,不包括压缩的功能。他只消耗非常少的CPU以及时间去打包文件。
归档拆分命令:
tar-cvf archive_name.tar directory_to_compress
tar -xvf archive_name.tar.gz -C To-path
tar.gz是linux中使用得最多的压缩格式,这种格式一般是先归档然后再压缩,它在压缩时不会占用太多的cpu,而且压缩比率理想。
压缩和解压命令:
tar-zcvf archive_name.tar.gzdirectory_to_compress
tar -zxvf archive_name.tar.gz
注意:如果不加目标地址默认都是在自身的目录之下。可以通过对比可以看到,压缩和解压的命令指示比归档多一个z,其它地方是相互对应的。
tar.bz2是linux中压缩率最好的压缩格式,但是,压缩率好就意味这要消耗更多的cpu时间。
压缩和解压命令:
tar-jcvf archive_name.tar.bz2directory_to_compress
tar -jxvf archive_name.tar.bz2 -C/tmp/extract_here/
注意:bz2的命令与bz和tar对应,bz是z开头,bz2是j开头的,而且压缩率和cpu的使用率之间存在一种平衡。一般压缩率较高的cpu使用率也相对较高。对于归档文件tar往往与bz和bz2一起使用。一般是将文件打包后然后压缩。上述只是常用的命令,参数的详细解释,可以使用man或者--help来查看
另外需要说明一个小细节,对于符号链接文件的压缩归档要加-y参数,否则压缩时压缩的是真实文件丢弃掉了符号链接文件,加上-y可以保留这种关系进行压缩。
tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面来举例说明一下:# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解包的意思
1) tar调用gzip
gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip。下面来举例说明一下:
# tar -czf all.tar.gz *.jpg
这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz
# tar -xzf all.tar.gz
这条命令是将上面产生的包解开。
2) tar调用bzip2
bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用bzip2。下面来举例说明一下:
# tar -cjf all.tar.bz2 *.jpg
这条命令是将所有.jpg的文件打成一个tar包,并且调用bzip2压缩,生成一个bzip2压缩过的包,包名为all.tar.bz2
# tar -xjf all.tar.bz2
这条命令是将上面产生的包解开。
3)tar调用compress
compress也是一个压缩程序,但是好象使用compress的人不如gzip和bzip2的人多。.Z结尾的文件就是bzip2压缩的结果。与compress相对的解压程序是uncompress。tar中使用-Z这个参数来调用gzip。下面来举例说明一下:
# tar -cZf all.tar.Z *.jpg这条命令是将所有.jpg的文件打成一个tar包,并且调用compress压缩,生成一个uncompress压缩过的包,包名为all.tar.Z
# tar -xZf all.tar.Z
这条命令是将上面产生的包解开
下面对于tar系列的压缩文件作一个小结:
1)对于.tar结尾的文件
tar -xf all.tar
2)对于.gz结尾的文件
gzip -d all.gz
gunzip all.gz
3)对于.tgz或.tar.gz结尾的文件
tar -xzf all.tar.gz
tar -xzf all.tgz
4)对于.bz2结尾的文件
bzip2 -d all.bz2
bunzip2 all.bz2
5)对于tar.bz2结尾的文件
tar -xjf all.tar.bz2
6)对于.Z结尾的文件
uncompress all.Z
7)对于.tar.Z结尾的文件
tar -xZf all.tar.z
2)对于.rar
要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux
不是免费的;然后安装:
# tar -xzpvf rarlinux-3.2.0.tar.gz
# cd rar
# make
这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
# rar a all *.jpg
这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar 扩展名将自动附加到包名后。
# unrar e all.rar
这条命令是将all.rar中的所有文件解压出来
du –ah –max-depth=1
【Linux】Linux统计文件夹、文件数量的命令
# 查看当前目录下的文件数量(不包含子目录中的文件)
ls -l|grep "^-"| wc -l
# 查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表子目录
ls -lR|grep "^-"| wc -l
# 查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上R
ls -l|grep "^d"| wc -l
# 查询当前路径下的指定前缀名的目录下的所有文件数量
# 例如:统计所有以“20161124”开头的目录下的全部文件数量
ls -lR 20161124*/|grep "^-"| wc -l
对每个命令参数做一下说明备注:
ls -l
该命令表示以长列表输出指定目录下的信息(未指定则表示当前目录),R代表子目录中的“文件”,这个“文件”指的是目录、链接、设备文件等的总称
grep "^d"表示目录,"^-"表示文件
wc -l
表示统计输出信息的行数,因为经过前面的过滤已经只剩下普通文件,一个目录或文件对应一行,所以统计的信息的行数也就是目录或文件的个数