美文网首页Shellbash
Bash编程014——文件管理

Bash编程014——文件管理

作者: 若梦儿 | 来源:发表于2019-01-06 20:02 被阅读8次

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

相关文章

  • Bash编程014——文件管理

    Bash编程014——文件管理 Unix/Linux系统中将几乎一切都是为文件,所有操作都离不开文件,因而学习管理...

  • Bash编程018——权限管理

    Bash编程018——权限管理 18.1权限介绍 Linux是一个支持多用户的系统,为了区分管理不同用户的文件,L...

  • note_9.1.1_shell脚本逻辑判断

    bash脚本编程 脚本文件格式:   第一行,顶格:#!/bin/bash  注释信息:#  代码注释:  缩进,...

  • 文件管理

    回顾:文件系统、bash 的基础特性,目录管理、文件查看、时间戳管理 文件管理:cp, mv, rm 复制命令: ...

  • Gar

    Gar 是一个 Bash 脚本程序——我写的,基于我的野生的 Bash 编程经验——,用于管理 Markdown ...

  • 2018-07-01

    Linux的文件管理和Bash的基础特性 一:Linux的文件管理类命令 (一)目录管理命令: 1、ls:用于显示...

  • 06_01_bash脚本编程之四 整数测试及特殊变量06_02_

    06_01_bash脚本编程之四 整数测试及特殊变量 文件测试(单目测试): -e file: 文件是否存在; -...

  • day3-bash 文件管理

    bash文件管理 对文件进行管理无非就是对文件或目录的创建 复制 移动 删除 编辑 查找等操作 1.Linux系...

  • 08.Shell编程-变量

    Shell编程-变量 编程工具为常用的bash 一、代码规范 文件命名规范:以 .sh结尾 第一行的内容,告知执行...

  • 第三章 基本的bash shell命令

    使用shell bash手册 浏览文件系统VFS 文件和目录 管理文件和目录 查看文件内容 3.1 启动shell...

网友评论

    本文标题:Bash编程014——文件管理

    本文链接:https://www.haomeiwen.com/subject/ywcerqtx.html