Linux文件基本操作

来源:互联网 发布:淘宝店铺流失金额 编辑:程序博客网 时间:2024/06/04 19:22

Linux文件和目录

导语

Linux最优秀的地方之一,在于它的多用户、多任务的开发环境。为了让各用户具有较安全的管理机制,文件的权限管理是很重要的。Linux通常将文件的访问方式分为3个类别,分别是owner/group/other,且具有read/write/excute等权限

由于Mac是基于Unix系统的,加上我需要熟悉Mac的开发环境,所以以下操作全是在Mac上进行的。

一、基本操作

  • 1.1 终端的翻页
    上一页 fn+↑
    下一页 fn+↓
    滚动到顶部 fn+command+←
    滚动到底部 fn+command+→

  • 1.2 在线帮助
    查看命令说明: man 命令

  • 1.3 重要的热键
    代码补全: [tab]
    终止运行的命令: [ctrl]+c

二、Linux文件属性

1.用户和用户组

  • owner(文件拥有者)
  • group(用户组)
  • other(其他人)

2.文件权限

CHENdeMacBook-Pro:Learn_Linux chen$ ls -altotal 0drwxr-xr-x   3 chen  staff  102 11 15 20:25 .drwx------+ 19 chen  staff  646 11 15 20:25 ..-rwxrwxr--   1 chen  staff    0 11 15 20:25 test


注:如果想对他人开放某个目录,必须开放该目录的x属性。仅仅一个r目录是不够的

3.更改文件权限

  • 3.1 更改所属用户组
    chgrp [-R] 用户组 dirname/filename
    参数:
    -R: 进行递归的持续更改。

  • 3.2 更改文件拥有者
    chown [-R] 账号名称 dirname/filename

  • 3.3 更改文件属性
    chmod [-R] xyz dirname/filename
    对于文件来说rwx分别代表可读、可写入、可执行
    对于目录来说rwx分别代表可读、可写入、可进入该目录(所以如果目录的没有x权限,则用户无法进入目录进行操作)
    例:

CHENdeMacBook-Pro:Learn_Linux chen$ ls -altotal 0drwxr-xr-x   3 chen  staff  102 11 15 20:25 .drwx------+ 19 chen  staff  646 11 15 20:25 ..-rwxrwxr--   1 chen  staff    0 11 15 20:25 testCHENdeMacBook-Pro:Learn_Linux chen$ chmod 700 testCHENdeMacBook-Pro:Learn_Linux chen$ ls -ltotal 0-rwx------  1 chen  staff  0 11 15 20:25 test

4.文件名的限制

一般来说,在设置文件名时,最好避免一些特殊字符,比如
* ? > < ; & ! [ ] \ | ' " ( ) { }
当文件名的开头为小数点“.”时,表示这个文件为隐藏文件。

三、目录和路径

1.目录的操作

  • 1.1 cd (Change Directory)
    $ cd [相对路径或绝对路径]

  • 1.2 pwd (Print Working Directory)
    $ pwd [-P]
    参数:
    -P:显示出实际路径,而非使用连接。

  • 1.3 mkdir (Make Direcotry)
    $ mkdir [-mp] 目录名
    参数:
    -m:设置文件权限,如果没有-m则设置为默认权限
    -p:递归帮我们建立目录

CHENdeMacBook-Pro:learn_linux chen$ lstestCHENdeMacBook-Pro:learn_linux chen$ mkdir test1CHENdeMacBook-Pro:learn_linux chen$ ls -ltotal 0-rwx------  1 chen  staff   0 11 15 20:25 testdrwxr-xr-x  2 chen  staff  68 11 16 10:18 test1CHENdeMacBook-Pro:learn_linux chen$ mkdir -p test2/test3/test4CHENdeMacBook-Pro:learn_linux chen$ mkdir -m 777 test3CHENdeMacBook-Pro:learn_linux chen$ ls -ltotal 0-rwx------  1 chen  staff    0 11 15 20:25 testdrwxr-xr-x  2 chen  staff   68 11 16 10:18 test1drwxr-xr-x  3 chen  staff  102 11 16 10:19 test2drwxrwxrwx  2 chen  staff   68 11 16 10:19 test3
  • 1.4 rmdir (remove Directory)
    $ rmdir [-p] 目录名
    参数:
    -p:将上层的空目录一起删除
CHENdeMacBook-Pro:learn_linux chen$ ls -ltotal 0-rwx------  1 chen  staff    0 11 15 20:25 testdrwxr-xr-x  2 chen  staff   68 11 16 10:18 test1drwxr-xr-x  3 chen  staff  102 11 16 10:25 test2drwxrwxrwx  2 chen  staff   68 11 16 10:19 test3CHENdeMacBook-Pro:learn_linux chen$ rmdir -p test2/test3/test4CHENdeMacBook-Pro:learn_linux chen$ ls -ltotal 0-rwx------  1 chen  staff   0 11 15 20:25 testdrwxr-xr-x  2 chen  staff  68 11 16 10:18 test1drwxrwxrwx  2 chen  staff  68 11 16 10:19 test3

2.变量:$PATH

在执行命令时,系统会按照PATH的设置,去每个PATH定义的路径下搜索执行文件,先搜索到的命令先执行。
如我的电脑上添加了mysql的路径

CHENdeMacBook-Pro:/ chen$ echo $PATH/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/mysql/bin

因此当输入mysql命令时,它会在PATH的设置中搜索,最后锁定/usr/local/mysql/bin/mysql。

3.文件操作

  • 1.1 cp (copy)
    $ cp [-adfilprsu] source destination

  • 1.2 rm (remove)
    $ rm [-fir] filename/dirname
    参数:
    -f:强制删除
    -i:删除前询问用户时间
    -r:递归删除

  • 1.3 mv (move or rename file)
    $ mv [-fiv] source destination
    参数:
    -f:强制直接移动
    -i:如果文件存在,询问是否覆盖
    -u:若目标文件存在,且源文件比较新,则更新

  • 1.4 ls (list)
    $ ls [-aAdfFhilRS] dirName
    参数:
    -a: 全部文件,与隐藏文件一起列出
    -A: 全部文件,与隐藏文件,但不包括. 和 .. 两个目录
    -d: 仅列出目录本身,而不是目录内的文件数据
    -f: 直接列出结果,而不进行排序
    -h: 列出文件大小(GB, KB)
    -i: 列出inode位置,而非列出文件属性
    -R: 与子目录内容一起列出来
    -t: 按时间排序
    -S: 按文件大小排序
    最常用的:
    ls -l,列出长数据串,包含文件的属性
    ls -a,列出全部文件,包括隐藏文件


参考:
鸟哥的私房菜

0 0
原创粉丝点击