一,在Linux中,当你执行`ll`命令时,会显示以下列信息:
1. **文件类型和权限**(10个字符):第一个字符表示文件类型(例如,`-`代表普通文件,`d`代表目录,`l`代表链接文件等)。接下来的九个字符分为三组,每组三个字符,分别表示文件所有者、组成员、其他用户的权限(读r、写w、执行x)。
2. **链接数**:表示有多少硬链接指向该文件。
3. **所有者**:文件的所有者用户名。
4. **组**:文件所属的群组名称。
5. **文件大小**:以字节为单位的文件大小。
6. **修改时间**:文件最后修改的时间。
7. **文件名**:文件或目录的名称。
这里是一个`ll`命令输出的示例:
```
-rw-r--r-- 1 user group 0 Apr 1 12:34 example.txt
```
解释如下:
- `-rw-r--r--`:这是文件的类型和权限。这个例子中,`-`表示这是一个普通文件;`rw-`表示所有者有读和写的权限,但没有执行权限;`r--`表示组成员有读权限,没有写和执行权限;最后的`r--`表示其他用户有读权限,没有写和执行权限。
- `1`:这个文件有一个硬链接。
- `user`:文件的所有者是`user`。
- `group`:文件属于`group`组。
- `0`:文件大小是0字节。
- `Apr 1 12:34`:文件最后修改时间是4月1日,12:34。
- `example.txt`:文件名是`example.txt`。
注意,不同的Linux发行版可能会对`ll`命令有不同的默认别名设置,但通常它们都是指向`ls -l`或其变体的。
二 .
ls
:列出当前目录中的文件和目录。ls /path/to/directory
:列出指定目录中的文件和目录。ls -l
:以长列表格式显示文件和目录的详细信息,包括权限、所有者、大小和最后修改时间。ls -a
:显示所有文件,包括隐藏文件(隐藏文件以.
开头)。ls -lh
:在长列表格式下,显示文件大小时使用更易于阅读的单位(例如 KB、MB)。ls -R
:递归列出所有子目录的内容。ls -lt
:按修改时间排序文件和目录,最近修改的文件会被列在最前面。ls -ltr
:与-lt
类似,但是顺序是反的,最近修改的文件会被列在最后面。ls -X
:按文件扩展名排序。ls -d */
:只列出目录。ls --color
:以不同的颜色显示不同类型的文件,便于区分目录、文件、链接等。ls -i
:显示每个文件的inode号,inode号是文件系统中的唯一标识。
通配符号:
符号 | 效果 |
---|---|
? | 匹配一个字符 f?.txt |
* | 匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件 |
{1..10} | 1到10 |
{a..z} | a b c ...z |
{A..Z} | A B C .....Z |
[123]([此处括号里值代表一个字符]) | 取其中之一有就显示没有也无所谓 |
[a-z]单个小写字母 | 范围需要注意 |
[0-9]单个数字 | 匹配数字范围(0123456789) |
\ | 转义符,表示原来的意思 |
[[:lower:]] | 小写字母表示 a-z |
[[:upper:]] | 大写字母表示 A-Z |
[^zhou] | 匹配列表中的所有字符以外的字符 |
[[:digit:]] | 任意数字,相当于0-9 |
[[:alpha:]] | 任意字母 |
Linux中分两种:
硬链接:多了一种找到文件的方法,无法对文件夹做链接
软链接:快捷方式,指明了源文件在哪
ln -s f1.txt /opt/f1111.txt
硬链接 | 软链接 | |
---|---|---|
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode(身份证号) | 相同 | 不同 |
连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 删除,新建都不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问连接文件 |
文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
文件大小 | 和源文件相同(指向硬盘上的同一个文件) | 源文件的路径的长度 |
cp,复制
-p | 复制时保持源文件的权限、属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
-a | 完整保留所有的信息 |
cp -r /etc/ /opt/
别名:
-
alias 命令别名=’命令‘
[root@localhost d]# ^C [root@localhost d]# alias 111="cd /" [root@localhost d]# 111 [root@localhost /]#
unalias删除别名
-
[root@localhost d]# ^C [root@localhost d]# alias 111="cd /" [root@localhost d]# 111 [root@localhost /]# unalias 111 [root@localhost /]# 111 bash: 111: 未找到命令...
du [选项] [文件或目录… ]
创建目录:mkdir选项 说明 -a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 -h 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 -s(--summarize) 只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小 --max-depth=n (-d 1) 最大显示到第n层 --exclude 不计入统计 -
[root@localhost /]# mkdir b [root@localhost /]# cd /b [root@localhost b]# mkdir a b c [root@localhost b]# ls a b c [root@localhost b]# mkdir -p a/bbb/ccc/ddd [root@localhost b]# mkdir -pv b/{1..3}/{a..c} mkdir: 已创建目录 "b/1" mkdir: 已创建目录 "b/1/a" mkdir: 已创建目录 "b/1/b" mkdir: 已创建目录 "b/1/c" mkdir: 已创建目录 "b/2" mkdir: 已创建目录 "b/2/a" mkdir: 已创建目录 "b/2/b" mkdir: 已创建目录 "b/2/c" mkdir: 已创建目录 "b/3" mkdir: 已创建目录 "b/3/a" mkdir: 已创建目录 "b/3/b" mkdir: 已创建目录 "b/3/c" [root@localhost b]# tree . ├── a │ └── bbb │ └── ccc │ └── ddd ├── b │ ├── 1 │ │ ├── a │ │ ├── b │ │ └── c │ ├── 2 │ │ ├── a │ │ ├── b │ │ └── c │ └── 3 │ ├── a │ ├── b │ └── c └── c 18 directories, 0 files [root@localhost b]#
cp 复制
-
-r:
[root@localhost b]# tree . ├── a ├── b │ ├── 1 │ │ ├── a │ │ ├── b │ │ └── c │ ├── 2 │ │ ├── a │ │ ├── b │ │ └── c │ └── 3 │ ├── a │ ├── b │ └── c └── c └── a └── bbb └── ccc └── ddd 19 directories, 0 files [root@localhost b]# cp -r ./c/a ./a [root@localhost b]# tree . ├── a │ └── a │ └── bbb │ └── ccc │ └── ddd ├── b │ ├── 1 │ │ ├── a │ │ ├── b │ │ └── c │ ├── 2 │ │ ├── a │ │ ├── b │ │ └── c │ └── 3 │ ├── a │ ├── b │ └── c └── c └── a └── bbb └── ccc └── ddd 23 directories, 0 files
-p 复制时保持源文件的权限、属主及时间标记等属性不变 -r 复制目录时必须使用此选项,表示递归复制所有文件及子目录 -a 完整保留所有的信息