Bash编程014——文件管理

Bash编程014——文件管理

Unix/Linux系统中将几乎一切都是为文件,所有操作都离不开文件,因而学习管理、操作文件是极为重要的。注:目录也是文件的一种,它记录着当前目录下的文件项,但并不实际保存文件的数据。

一般我们打开终端,所处的目录默认为当前登录用户的家目录(或者叫主目录, home directory)。对于一般的用户$HOME环境变量记录了家目录的所在,一般位于/home/username,root用户的家目录是/root。shell中也使用~符号表示家目录的所在。

14.0 查看当前目录

使用shell内置命令pwd(print working directory)可以查看当前目录。

# 示例,直接打开终端
pwd
# 输出:/home/ruo

14.1 更改目录

我们可以使用shell的内置命令cd(chang directory)来改变当前所处的目录。

命令格式:cd [dir]

dir分为相对路径和绝对路径,Linux中文件系统拥有一个根目录即/。以/开头的路径名即为绝对路径名,不以/开头的路径名即为相对路径名,一般相对路径是指相对当前的目录。另外,Linux中拥有两个特殊的符号:....代表当前目录,..代表当前目录的父目录。(根目录的父目录为自身)。

若cd后不加目录名,则默认切换到当前用户的家目录。

# 示例

cd /
pwd
# 输出: /

cd
pwd
# 输出:/home/ruo

cd /
cd ~
pwd
# 输出:/home/ruo

cd命令依赖于CDPATH变量,CDPATH定义了搜索目录的路径,cd命令会先在CDPATH定义的路径下寻找dir,若找不到,则在当前目录下寻找,若找不到,给出信息不存在目录。CDPATH中可以有多个搜索目录,以:间隔。

注:若是绝对路径则会直接切换到对应的目录。

# 示例

echo $CDPATH
# 输出为空,说明该变量未定义

CDPATH=/
cd ~
pwd
# 输出如下:
bin    Desktop    Downloads  Music     ps.txt  snap  Templates  Videos
Codes  Documents  fault.c    Pictures  Public  t     Test

cd bin
pwd
# 输出为:/bin

14.2 列出当前目录下的文件

使用ls命令(来自于coreutils软件)可以查看。注:文件包括子目录。

使用格式:ls [options] [FILE]

列出FILE的信息,若未给出则默认为当前目录。

# 示例
cd ~
ls
# 输出如下
bin    Desktop    Downloads  Music     ps.txt  snap  Templates  Videos
Codes  Documents  fault.c    Pictures  Public  t     Test

ls /
# 输出如下
bin    etc             lib         mnt   run   sys  vmlinuz
boot   home            lib64       opt   sbin  tmp  vmlinuz.old
cdrom  initrd.img      lost+found  proc  snap  usr
dev    initrd.img.old  media       root  srv   var

注:Linux一般接受三种格式的选项参数,-A,--option,option。

常用选项介绍:

  • -a --all :列出所有文件,包括以.开头的文件。
  • -A --almost-all :列出所有文件,除了.和..。
  • -l:使用长格式列出。
  • -S:按大小排序,大的在前。
  • -t:根据最后修改时间排序,新的在前。

14.3 创建文件

使用touch命令创建文件。

使用格式:touch [option] FILE

其实这个命令是用于更改文件(包括目录)的时间戳的,当文件不存在时会创建一个空白文件。若是存在的文件或目录,则会更改它的最后修改时间为当前时间。

使用stat filename可以查看文件的信息信息。

stat ~/Desktop
# 输出如下:
  文件:'/home/ruo/Desktop'
  大小:4096       块:8          IO 块:4096   目录
设备:802h/2050d   Inode:5505264     硬链接:4
权限:(0755/drwxr-xr-x)  Uid:( 1000/     ruo)   Gid:( 1000/     ruo)
最近访问:2019-01-06 19:45:57.934756875 +0800
最近更改:2019-01-06 19:45:57.482761809 +0800
最近改动:2019-01-06 19:45:57.482761809 +0800
创建时间:-

# 使用touch修改
touch ~/Desktop
stat ~/Desktop
# 输出:
  文件:'/home/ruo/Desktop'
  大小:4096       块:8          IO 块:4096   目录
设备:802h/2050d   Inode:5505264     硬链接:4
权限:(0755/drwxr-xr-x)  Uid:( 1000/     ruo)   Gid:( 1000/     ruo)
最近访问:2019-01-06 19:57:35.191433807 +0800
最近更改:2019-01-06 19:57:35.191433807 +0800
最近改动:2019-01-06 19:57:35.191433807 +0800
创建时间:-

14.4 创建文件夹

使用mkdir命令

mkdir ~/Test
stat ~/Test
# 输出如下:
  文件:'Test'
  大小:4096       块:8          IO 块:4096   目录
设备:802h/2050d   Inode:6044126     硬链接:2
权限:(0775/drwxrwxr-x)  Uid:( 1000/     ruo)   Gid:( 1000/     ruo)
最近访问:2019-01-06 19:59:27.422286876 +0800
最近更改:2019-01-06 19:59:27.422286876 +0800
最近改动:2019-01-06 19:59:27.422286876 +0800
创建时间:-

14.5 删除文件

使用rm命令可以删除文件或目录。

使用格式:rm [option] [FILE]

# 示例
mkdir ~/Desktop/Test
cd ~/Desktop/Test
touch hello{1..10}.txt
ls
# 输出如下:
hello10.txt  hello2.txt  hello4.txt  hello6.txt  hello8.txt  hello.txt
hello1.txt   hello3.txt  hello5.txt  hello7.txt  hello9.txt

rm hello10.txt
ls
# 输出如下:
hello1.txt  hello3.txt  hello5.txt  hello7.txt  hello9.txt
hello2.txt  hello4.txt  hello6.txt  hello8.txt

删除目录需要加上-r参数:

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

推荐阅读更多精彩内容