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
2. xshell上传文件到linux或下载文件到本地windows
首先linux上需要安装lrzsz
工具包:
sudo apt-get install lrzsz
rz(receive)
,sz(send)
是Linux/Unix同Windows进行ZModem
文件传输的命令行工具,所以要在Xshell连接属性中的设置上传协议为Zmodem
和接受的文件路径等,如下图所示:
windows端需要支持ZModem的telnet/ssh客户端(xshell支持,好像putty不支持),SecureCRT就可以用SecureCRT登陆到Unix/Linux主机(telnet或ssh均可)。
运行命令rz
,即是接收文件(上传到Linux上),xshell就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到linux里的当前目录。也可以直接把要上传的文件拖到xshell上完成上传。如下图所示:
运行命令sz filename
就是发文件到windows上(保存的目录是可以配置) 比ftp命令方便多了,而且服务器不用再开FTP服务了。如下图所示:
3. 复制和移动文件
linux下文件的复制、移动与删除命令为:cp,mv,rm
3.1 文件复制命令cp
1 | 命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination) |
参数说明:
- -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 | mv log1.txt log2.txt log3.txt test3 |
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