Linux命令学习

tar命令用来处理压缩,压缩和解压

tar

-c: 建立压缩档案

-x:解压

-t:查看内容

-r:向压缩归档文件末尾追加文件

-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。

下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip 属性的

-j:有bz2 属性的

-Z:有compress 属性的

-v:显示所有过程

-O:将文件解开到标准输出

下面的参数-f 是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# 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 包中所有文件,-t 是解开的意思

查看

tar -tf aaa.tar.gz 在不解压的情况下查看压缩包的内容

压缩:

tar –cvf jpg.tar *.jpg //将目录里所有jpg 文件打包成tar.jpg

tar –czf jpg.tar.gz *.jpg //将目录里所有jpg 文件打包成jpg.tar 后,并且将其用gzip 压缩,

生成一个gzip 压缩过的包,命名为jpg.tar.gz

tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg 文件打包成jpg.tar 后,并且将其用bzip2 压缩,

生成一个bzip2 压缩过的包,命名为jpg.tar.bz2

tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg 文件打包成jpg.tar 后,并且将其用compress

压缩,生成一个umcompress 压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar 格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip 格式的压缩,需要先下载zip for linux

解压:

tar –xvf file.tar //解压 tar

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2 //解压 tar.bz2

tar –xZvf file.tar.Z //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

总结:

1*.tar tar –xvf 解压

2*.gz gzip -d 或者gunzip 解压

3*.tar.gz *.tgz tar –xzf 解压

4*.bz2 bzip2 -d 或者用bunzip2 解压

5*.tar.bz2 tar –xjf 解压

6*.Z uncompress 解压

7*.tar.Z tar –xZf 解压

8*.rar unrar e 解压

9*.zip unzip 解压

ls命令

-l :列出长数据串,包含文件的属性与权限数据等  

-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)  

-d :仅列出目录本身,而不是列出目录的文件数据  

-h :将文件容量以较易读的方式(GBkB等)列出来  

-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来

例子:

ls -l #以长数据串的形式列出当前目录下的数据文件和目录  

ls -lR #以长数据串的形式列出当前目录下的所有文件 

grep命令

该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等,它的简单语法为

grep [-acinv] [--color=auto] '查找字符串' filename

-a :将binary文件以text文件的方式查找数据
-c
:计算找到'查找字符串'的次数
-i
:忽略大小写的区别,即把大小写视为相同
-v
:反向选择,即显示出没有'查找字符串'内容的那一行
#
例如:
#
取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色
grep --color=auto 'MANPATH' /etc/man.config
#
ls -l的输出中包含字母file(不区分大小写)的内容输出
ls -l | grep -i file

find命令

find是一个基于查找的功能非常强大的命令,相对而言,它的使用也相对较为复杂,参数也比较多,所以在这里将给把它们分类列出,它的基本语法如下

find [PATH] [option] [action]

# 与时间有关的参数:
-mtime n : n
为数字,意思为在n天之前的"一天内"被更改过的文件;
-mtime +n :
列出在n天之前(不含n天本身)被更改过的文件名;
-mtime -n :
列出在n天之内(含n天本身)被更改过的文件名;
-newer file :
列出比file还要新的文件名
#
例如:
find /root -mtime 0 #
在当前目录下查找今天之内有改动的文件

# 与用户或用户组名有关的参数:
-user name :
列出文件所有者为name的文件
-group name :
列出文件所属用户组为name的文件
-uid n :
列出文件所有者为用户IDn的文件
-gid n :
列出文件所属用户组为用户组IDn的文件
#
例如:
find /home/ljianhui -user ljianhui #
在目录/home/ljianhui中找出所有者为ljianhui的文件

# 与文件权限及名称有关的参数:
-name filename
:找出文件名为filename的文件
-size [+-]SIZE
:找出比SIZE还要大(+)或小(-)的文件
-tpye TYPE
:查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(bc)、
目录(d)、连接文件(l)、sockets)、FIFO管道文件(p);
-perm mode
:查找文件权限刚好等于mode的文件,mode用数字表示,如0755
-perm -mode
:查找文件权限必须要全部包括mode权限的文件,mode用数字表示
-perm +mode
:查找文件权限包含任一mode的权限的文件,mode用数字表示
#
例如:
find / -name passwd #
查找文件名为passwd的文件
find . -perm 0755 #
查找当前目录中文件权限的0755的文件
find . -size +12k #
查找当前目录中大于12KB的文件,注意c表示byte

 

cp命令

该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下,它的常用参数如下:

-a :将文件的特性一起复制

-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份

-i :若目标文件已经存在时,在覆盖时会先询问操作的进行

-r :递归持续复制,用于目录的复制行为

-u :目标文件与源文件有差异时才会复制

cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2

cp file1 file2 file3 dir #把文件file1file2file3复制到目录dir

 

mv命令

该命令用于移动文件、目录或更名,move之意,它的常用参数如下:

-f force强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i :若目标文件已经存在,就会询问是否覆盖

-u :若目标文件已经存在,且比目标文件新,才会更新

mv file1 file2 file3 dir # 把文件file1file2file3移动到目录dir

mv file1 file2 # 把文件file1重命名为file2

 

rm命令

该命令用于删除文件或目录,remove之间,它的常用参数如下

-f :就是force的意思,忽略不存在的文件,不会出现警告消息

-i :互动模式,在删除前会询问用户是否操作

-r :递归删除,最常用于目录删除,它是一个非常危险的参数

rm -i file # 删除文件file,在删除之前会询问是否进行该操作

rm -fr dir # 强制删除目录dir中的所有文件

 ln命令

 ln [参数][源文件或目录][目标文件或目录]

-b 删除,覆盖以前建立的链接

-d 允许超级用户制作目录的硬链接

-f 强制执行

-i 交互模式,文件存在则提示用户是否覆盖

-n 把符号链接视为一般目录

-s 软链接(符号链接)

-v 显示详细的处理过程

例子

sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/www

你可能感兴趣的:(linux命令)