linux指令(1)

1. linux 压缩和解压命令

.tar

  • 解包:tar zxvf FileName.tar   
  • 打包:tar czvf FileName.tar DirName

.gz

  • 解压1:gunzip FileName.gz   
  • 解压2:gzip -d FileName.gz   
  • 压缩:gzip FileName

.tar.gz 和 .tgz

  • 解压:tar zxvf FileName.tar.gz   
  • 压缩:tar zcvf FileName.tar.gz DirName

.bz2

  • 解压1:bzip2 -d FileName.bz2
  • 解压2:bunzip2 FileName.bz2
  • 压缩: bzip2 -z FileName

.Z

  • 解压:uncompress FileName.Z
  • 压缩:compress FileName

.tar.Z

  • 解压:tar Zxvf FileName.tar.Z
  • 压缩:tar Zcvf FileName.tar.Z DirName

.zip

  • 解压:unzip FileName.zip   
  • 压缩:zip FileName.zip DirName

zip命令参数列表

  • -a 将文件转成ASCII模式

  • -F 尝试修复损坏的压缩文件

  • -h 显示帮助界面

  • -m 将文件压缩之后,删除源文件

  • -n 特定字符串 不压缩具有特定字尾字符串的文件

  • -o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间

  • -q 安静模式,在压缩的时候不显示指令的执行过程

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

  • -S 包含系统文件和隐含文件(S是大写)

  • -t 日期 把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy

unzip命令参数列表

  • -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
  • -f 更新现有的文件。
  • -l 显示压缩文件内所包含的文件。
  • -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
  • -t 检查压缩文件是否正确。
  • -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
  • -v 执行是时显示详细的信息。
  • -z 仅显示压缩文件的备注文字。
  • -a 对文本文件进行必要的字符转换。
  • -b 不要对文本文件进行字符转换。
  • -C 压缩文件中的文件名称区分大小写。
  • -j 不处理压缩文件中原有的目录路径。
  • -L 将压缩文件中的全部文件名改为小写。
  • -M 将输出结果送到more程序处理。
  • -n 解压缩时不要覆盖原有的文件。
  • -o 不必先询问用户,unzip执行后覆盖原有文件。
  • -P<密码> 使用zip的密码选项。
  • -q 执行时不显示任何信息。
  • -s 将文件名中的空白字符转换为底线字符。
  • -V 保留VMS的文件版本信息。
  • -X 解压缩时同时回存文件原来的UID/GID。
  • [.zip文件] 指定.zip压缩文件。
  • [文件] 指定要处理.zip压缩文件中的哪些文件。
  • -d<目录> 指定文件解压缩后所要存储的目录。
  • -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
  • -Z unzip -Z等于执行zipinfo指令

.rar

  • 解压:rar a FileName.rar   
  • 压缩:rar e FileName.rar

rar请到:http://www.rarsoft.com/download.htm 下载!

解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):   

[root@www2 tmp]# cp rar_static /usr/bin/rar

参考:BlogJava–重复容易,改变很难

2. xshell上传文件到linux或下载文件到本地windows

首先linux上需要安装lrzsz工具包:

sudo apt-get install lrzsz

rz(receive)sz(send)是Linux/Unix同Windows进行ZModem文件传输的命令行工具,所以要在Xshell连接属性中的设置上传协议为Zmodem和接受的文件路径等,如下图所示:
图 2-1 xshell文件传输配置

windows端需要支持ZModem的telnet/ssh客户端(xshell支持,好像putty不支持),SecureCRT就可以用SecureCRT登陆到Unix/Linux主机(telnet或ssh均可)。

运行命令rz,即是接收文件(上传到Linux上),xshell就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到linux里的当前目录。也可以直接把要上传的文件拖到xshell上完成上传。如下图所示:
图 2-2 rz上传指令

运行命令sz filename 就是发文件到windows上(保存的目录是可以配置) 比ftp命令方便多了,而且服务器不用再开FTP服务了。如下图所示:
图 2-3 sz下载指令

参考:博客园–502studio

3. 复制和移动文件

linux下文件的复制、移动与删除命令为:cp,mv,rm

3.1 文件复制命令cp

1
2
命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)
cp [option] source1 source2 source3 ... directory

参数说明:

  • -a:是指archive的意思,也说是指复制所有的目录
  • -d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
  • -f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
  • -i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作
  • -l:建立硬连接(hard link)的连接文件,而非复制文件本身
  • -p:与文件的属性一起复制,而非使用默认属性
  • -r:递归复制,用于目录的复制操作
  • -s:复制成符号连接文件(symbolic link),即“快捷方式”文件
  • -u:若目标文件比源文件旧,更新目标文件

如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令: cp /test1/file1 /test3/file2

3.2 文件移动命令mv

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

3.2.1 命令格式

1
mv [-fiv] source destination

3.2.2 命令功能

视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

3.2.3 命令参数:

  • -b:若需覆盖文件,则覆盖前先备份
  • -f:force,强制直接移动而不询问
  • -i:若目标文件(destination)已经存在,就会询问是否覆盖
  • -u:若目标文件已经存在,且源文件比较新,才会更新
  • -t:指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

3.2.4 命令实例:

1. 文件改名

将文件test.log重命名为test1.txt

1
mv test.log test1.txt
2. 移动文件

将test1.txt文件移到目录test3中

1
mv test1.txt test3
3. 将文件log1.txt,log2.txt,log3.txt移动到目录test3中

mv log1.txt log2.txt log3.txt test3 命令将log1.txt ,log2.txt, log3.txt 三个文件移到 test3目录中去

mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt 命令又将三个文件移动到test4目录中去

1
2
3
mv log1.txt log2.txt log3.txt test3

mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
4. 将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
1
mv -i log1.txt log2.txt
5. 将文件file1改名为file2,即使file2存在,也是直接覆盖掉

log3.txt的内容直接覆盖了log2.txt内容,-f 这是个危险的选项,使用的时候一定要保持头脑清晰,一般情况下最好不用加上它。

1
mv -f log3.txt log2.txt
6. 目录移动

如果目录dir2不存在,将目录dir1改名为dir2;否则,将dir1移动到dir2中。

1
mv dir1 dir2 
7. 移动当前文件夹下的所有文件到上一级目录
1
mv * ../
8. 把当前目录的一个子目录里的文件移动到另一个子目录里
1
mv test3/*.txt test5
9. 文件被覆盖前做简单备份,前面加参数-b
1
mv log1.txt -b log2.txt

3.3 文件删除命令rm

1
命令格式:rm [fir] 文件或目录

参数说明:

  • -f:强制删除
  • -i:交互模式,在删除前询问用户是否操作
  • -r:递归删除,常用在目录的删除

如删除/test目录下的file1文件,可以输入以下命令:
rm -i /test/file1