Linux文件基本操作

目录的跳转

1.pwd                //显示当前目录名称

2.cd <路径>            //跳转到指定目录

cd         //跳转到root目录(~)

cd..        //回到上级目录

cd/          //跳转到根目录(/)

cd-           //回到上一次目录

cd <相对路径or绝对路径>              //跳转到指定路径

3.ls                //显示当前目录信息

-a :显示包括隐藏文件和目录在内的所有目录和文件

-l :显示文件的详细信息

-t :按文件最后修改时间给文件排序

文件和文件夹创建和删除

Linux中的文件夹被称为目录,文件还是叫文件。

<里面内容表示需要写的内容>,外边的<>符号敲命令的时候不用写

文件

1.创建文件

Touch <文件名>          //touch 创建文件,可以同时创建多个文件

Touch <文件名1> <文件名2>

2.删除文件

rm <文件的相对路径or绝对路径>              // 删除文件命令

rm -f <文件的相对路径or绝对路径>            //强制删除

文件夹

1.创建文件夹

mkdir <文件夹名>       //创建文件夹

mkdir -p </root/aa/bb/cc/dd>      //递归创建目录,即文件夹里有文件夹的创建

mkdir -m       //设置新建目录权限

2.删除文件夹

rmdir <文件夹名>     //删除空文件夹(文件夹里没有内容的)

rmdir -p      //递归删除空目录(如果目录里有内容则,删除不了)

rm -r <文件夹的相对路径or绝对路径>    //递归删除(不管目录里有什么文件都删除),也可以用来删文件

(注:递归指的是那种文件夹里还有文件夹的。比如:创建了一个文件夹1,在文件夹1里又创建了一个文件夹2,文件夹2里又有其他的文件和文件夹。此时如果要删除文件夹1里的所有内容,如果没有使用rm -r这种递归删除是删除不了文件夹1的)

文件的移动和复制

1.文件复制

作用:cp ,复制文件到文件夹或者覆盖已有文件

cp <文件1(路径)> <文件夹2(路径)> //将目录1中的文件复制到目录2文件夹下

cp <文件1(路径)> <文件2(路径)> //将文件1将覆盖文件2

cp -r <文件1> <文件夹1> <文件夹2> //把多个文件或文件夹复制的一个文件夹下面

2.文件移动(剪切)

作用:mv ,移动文件到一个文件夹,或者覆盖已有文件or移动文件夹到另一个文件夹(移动目录)

mv <文件1> <文件夹2>//把文件1移动到文件夹2目录下(前提是目录2文件存在)

mv <文件夹1> <文件夹2>//把文件夹1移动到文件夹2的子目录下

mv <文件1> <文件2> <文件夹1> <文件夹2> //可以把多个文件或文件夹移到最后一个文件夹2

编辑文件

  1. vi <文件名> //文件名可以是绝对路径或者是相对路径
  2. echo ‘加入的内容’>><文件名>      //向文件末尾加入内容

注:1.>表示输出重定向 2.echo目录中,>>表示追加,>表示覆盖。

文件重命名

mv <文件1> <新的文件名>            //把文件1的名字改为后面新的文件名(前提:新的文件名在文件1所在目录下没有和其他文件重名)

查看文件内容

cat <文件名> //查看文件内容

压缩文件(必须在压缩文件的上一级目录做目录)

gzip <文件名>      //压缩文件

gzip -r <文件夹名>  //递归查找指定目录,并压缩其中所有文件

注:1.如果被压缩了文件以后,直接vi 修改文件(没有加后缀的文件名字),则会直接创建一个新的文件

2.如果被压缩了文件以后,直接vi 修改文件(加后缀的文件名字),则会导致解压缩不了

解压文件

gzip -d <文件名>  //解压缩  ==gunzip <文件名>

不解压查看压缩文件

zcat <文件名>     //不解压的情况下读取压缩包里面的内容

归档(对文件或者文件夹进行备份)

tar -zc <文件名>   //打包并用gzip压缩

   -x    //解压文件

   -c   //打包文件

   -v   //压缩时显示文件信息

   -f   //后接压缩包名,通常放在最后

常用的归档组合:

tar -cf <归档后的文件夹名>.tar <需要归档的文件或目录>  //对文件和目录进行归档

tar -czf <归档后的文件夹名>.tar <打包文件夹里的文件>  //对文件和目录进行压缩归档

例如:把文件夹a进行归档成a.tar   命令:tar cf a.tar a

查看归档文件内容

tar -tf <归档文件夹名>.tar     //查看归档文件的目录列表

tar -tzf <归档文件夹名>.tar.gz     //查看压缩归档文件的目录列表

恢复归档文件

全部恢复

tar -xf <归档文件夹名>.tar   //恢复归档文件

tar -xzf <归档文件夹名>.tar    //恢复压缩的归档文件

指定恢复(-c)

tar -xf <归档文件夹名>.tar -c <需要恢复的文件>   //恢复指定归档文件

tar -xzf <归档文件夹名>.tar -c <需要恢复的文件>   //恢复指定压缩的归档文件

总结归档

文件名.tar.gz   //表示被打包,并压缩

tar -cf 文件名//打包

tar -xf 文件名/拆包

tar -czvf 文件名//打包加压缩

tar -xzvf 文件名//打包解压

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
// // FilePath.h // /** \file FilePath.h */ #pragma once #include "vtString.h" #include <fstream> #include <io.h> /** * A portable class for reading directory contents. * * Example of use: \code for (dir_iter it("C:/temp"); it != dir_iter(); ++it) { if (it.is_hidden()) continue; if (it.is_directory()) printf("Directory: '%s'\n", it.filename().c_str()); else printf("File: '%s'\n", it.filename().c_str()); } \endcode */ class dir_iter { public: dir_iter(); dir_iter(const char*dirname); dir_iter(const wchar_t*dirname); ~dir_iter(); /// Returns true if the current object is a directory. bool is_directory(); /// Returns true if the current object is hidden. bool is_hidden(); /// Get the filename fo the current object. std::string filename(); std::wstring wfilename(); // Iterate the object to the next file/directory. void operator++(); // Test for inequality useful to test when iteration is finished. bool operator!=(const dir_iter &it;); long m_handle; private: struct _wfinddata_t m_data; }; //MBCS string 或者 Wide string vtString vtFindFileOnPaths(const vtStringArray &paths;, const char *filename); vtString2 vtFindFileOnPaths(const vtStringArray2 &paths;, const wchar_t *filename); bool vtCreateDir(const char *dirname); bool vtCreateDir(const wchar_t *dirname); void vtDestroyDir(const char *dirname); void vtDestroyDir(const wchar_t *dirname); int vtDeleteFile(const char *filename); int vtDeleteFile(const wchar_t *filename); const char *vtStartOfFileName(const char *szFullPath); const wchar_t *vtStartOfFileName(const wchar_t *szFullPath); vtString vtExtractPath(const char *szFullPath, bool bTrailingSlash); vtString2 vtExtractPath(const wchar_t *szFullPath, bool bTrailingSlash); bool vtPathIsAbsolute(const char *szPath); bool vtPathIsAbsolute(const wchar_t *szPath); vtString vtPathLevelUp(const char *src); vtString2 vtPathLevelUp(const wchar_t *src); vtString get_line_from_stream(std::ifstream &input;); vtString2 get_line_from_stream(std::wifstream &input;); //bFull为ture包括所有扩展名;否则最后一个扩展名 void vtRemoveFileExtensions(vtString& fname,bool bFull = false); void vtRemoveFileExtensions(vtString2& fname,bool bFull = false); //bFull为ture包括所有扩展名;否则最后一个扩展名 vtString vtGetExtensions(const vtString &fname;, bool bFull = false); vtString2 vtGetExtensions(const vtString2 &fname;, bool bFull = false); bool vtChangeFileExtension(vtString& input, const char *extension); bool vtChangeFileExtension(vtString2& input, const wchar_t *extension); bool vtFileExists(const char *fname); bool vtFileExists(const wchar_t *fname); #pragma comment(lib, "shell32.lib") bool vtCopyFile( const char* from,const char * to, bool bFailIfExists=true); bool vtCopyFile( const wchar_t* from,const wchar_t * to, bool bFailIfExists=true); bool vtCopyTree(const char* from,const char * to); bool vtCopyTree(const wchar_t* from,const wchar_t * to); bool vtFolderExists(const char *fname); bool vtFolderExists(const wchar_t *fname); bool vtFilePathExists(const char *fname); bool vtFilePathExists(const wchar_t *fname); int vtGetFileSize(const char *fname); int vtGetFileSize(const wchar_t *fname); void vtSetEnvironmentVar(const char* var, const char*value); void vtSetEnvironmentVar(const wchar_t* var, const wchar_t*value); #include "windows.h" bool vtGetModuleFullPath(const char* modulename,vtString& fullpath); bool vtGetModuleFullPath(const wchar_t* modulename,vtString2& fullpath); ///////////////////////////////////////////// // Open a file using a UTF-8 or wide character filename. FILE *vtFileOpen(const char *fname_mbcs, const char *mode); FILE *vtFileOpen(const wchar_t *fname_wide, const wchar_t *mode); vtString vtChooseFolder(HWND hWnd =NULL); vtString2 vtChooseFolder2(HWND hWnd=NULL);

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值