Linux文件操作

创建、命令文件 touch

使用touch命令可以创建一个文件:

$ touch name.txt
$ ls
name.txt

上面的命令创建了一个名为name.txt的文件。

在Linux,命名文件通常使用下面的字符:

  • 小写字母,比如a, b, c ...
  • 大写字母,比如A, B, C ...
  • 数字,比如0, 1, 2 ...
  • 连字符-,不可放在文件名开头。
  • 下划线_
  • .

下面是几条关于文件命名的约定:

  • 尽量不使用空格,可以使用下划线或者连字符,比如foo_bar
  • 重要目录尽量使用简短的名字,比如bin
  • 重要的文件使用大写字母命名,比如README

查看文件类型 file

使用file命令查看文件类型:

$ file /etc/passwd /bin
/etc/passwd: ASCII text
/bin:        directory

上面的例子中,file告诉我们,/etc/passwd是一个纯ASCII文本文件,/bin是一个目录。

复制文件与目录 cp

cp命令可以复制一个文件,该命令的语法为:

cp -[ip] file1 file2

其中file1是已有文件的名字,file2是目标文件的名字。

首先,我们创建一个文件name.txt,并在里面写一些内容:

$ touch name.txt
$ echo "Hello, World!" > name.txt
$ cat name.txt
Hello, World!

复制一份副本,这份副本的名字叫my_name.txt,命令如下:

$ cp name.txt my_name.txt
$ cat my_name.txt
Hello, World!

也可以使用目录的方式指定复制文件和目标文件:

$ cp my_name.txt ~/my_name_home.txt
$ cat ~/my_name_home.txt
Hello, World!

可见,cp将工作目录下的my_name.txt文件复制到家目录下的my_name_home.txt文件,如果该文件不存在,那么将创建该文件,如果该文件存在,那么将覆盖该文件。

什么?覆盖文件?!很危险的!

所以可以使用-i选项来提醒用户,加上该选项时,如果需要覆盖文件,cp会发出确认信息。

-p选项可以使目标文件和复制文件具有相同的修改时间、访问时间和权限。

也可以一次复制多个文件:

$ mkdir bk
$ cp name.txt my_name.txt bk/
$ ls bk/
my_name.txt  name.txt

上面的命令将两个文件都复制到了bk目录下。

如果要复制一个目录,那么需要使用-r选项:

$ cp -r bk/ my_bk/

上面的命令将bk目录复制了一份副本,这份副本的名字叫my_bk

移动文件、重命名文件 mv

与目录操作非常类似,mv命令可以移动或者重命名文件。

$ mv ~/gamelist.txt ./
$ ls gamelist.txt
gamelist.txt

上面的命令将家目录中的gamelist.txt文件移动到工作目录中。

如果已有文件和目标文件在同一个目录中,则为重命名操作:

$ mv gamelist.txt my_gamelist.txt
$ ls *gamelist.txt
my_gamelist.txt

删除文件 rm

删除文件使用rm命令。

$ ls *name.txt
my_name.txt  name.txt
$ rm *name.txt
$ ls *name.txt
ls: cannot access '*name.txt': No such file or directory

rm删除删除了所有以name.txt结尾的文件。

使用-f选项将忽略文件权限和-i提示选项,因此,只有在确认自己在做什么时,才能使用-f选项。比如下面将快速且安静的删除bk/目录:

$ ls -d bk
bk
$ rm -rf bk
$ ls -d bk
ls: cannot access 'bk': No such file or directory

注意:Linux没有“回收站”功能,一旦被删除,就无法恢复。


相关:

使用tar命令可以打包和压缩文件。

使用下面的命令可以将my_bk目录打包为bk.tar包:

$ tar -cvf bk.tar my_bk/
my_bk/
my_bk/name.txt
my_bk/my_name.txt

其中:

  • -c选项:建立一个打包或压缩文件。
  • -v选项:操作过程中显示文件提示。
  • -f选项:使用档名,其后不可加其他选项。
  • bk.tar:目标文件名。
  • my_bk/:操作文件名。

使用下面的命令即可解开上面所述的包:

$ tar -xvf bk.tar
my_bk/
my_bk/name.txt
my_bk/my_name.txt

其中-x选项表示解包。

tar命令使用-z选项使用gzip压缩包,使用-j选项使用bzip2压缩包。

比如:

$ tar -zcvf bk.tar.gz my_bk/

表示打包后以gzip格式压缩。

使用

$ tar -zxvf bk.tar.gz

即可解压缩和解包。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容