目录的结构:
/bin
:存放基本用户命令的二进制文件,如ls、cp等,这些命令对所有用户都是必需的。/boot
:包含启动Linux时所需的一些文件,比如Linux内核文件和引导加载程序GRUB。/dev
:包含设备文件。在Linux中,许多设备都以文件的形式出现在这个目录中,比如硬盘(/dev/sda
)和USB设备(/dev/sdb1
)等。/etc
:包含系统配置文件。这个目录下的文件会影响系统的行为。用户可以编辑其中的某些文件来配置系统。/home
:用户的家目录。每个用户都有一个对应的目录,在这个目录下,用户可以存放个人文件,如文档、音乐等。/lib
:包含系统和应用程序的基本库文件。这些库文件包含代码和数据,很多程序运行时需要用到。/media
:用于挂载可移动媒体设备,如CD-ROMs、USB驱动器等。/mnt
:通常用于临时挂载文件系统。/opt
:用于存放可选的应用软件包和相关的数据。一些较大的软件,如某些数据库系统,通常会被安装在这里。/proc
:一个虚拟文件系统,包含当前内核运行状态的信息。它并不占用硬盘空间,而是在内存中以文件系统的方式呈现。/root
:超级用户(root用户)的家目录。这是系统管理员的默认工作目录。/sbin
:存放系统管理命令的二进制文件,如fdisk、ifconfig等。这些命令通常仅由root用户使用。/tmp
:用于存放临时文件。系统和用户都可以在这里创建临时文件。注意,这个目录中的文件可能在重启后被删除。/usr
:包含用户应用程序和文件。它是Unix System Resources的缩写。这个目录下通常包含子目录如/usr/bin
、/usr/lib
、/usr/local
等,用于存放用户级的应用程序、库文件和本地安装的软件。/var
:包含经常变化的文件,如日志文件、邮件和打印队列等。- 普通字符
d 文件夹 c 字符设备,键盘 b 块设备 硬盘 l 软连接 类似快捷方式 p 管道文件,用于程序直接的数据传递,特点是单向的 s 套接字,用于传递数据,可以跨主机,双向的 在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`或其变体的。
cat查看:
[root@localhost test]# cat a 1 2 3
[root@localhost test]# cat -s a 1 2 3
[root@localhost test]# cat -b a 1 1 2 2 3 3
tac逆着输出:
[root@localhost test]# printf "1\n2\n3\n4\n"|tac 4 3 2 1
rev 同一行逆着输出:
[root@localhost test]# printf "1 2 3 4"|tac 1 2 3 4[root@localhost test]#
vim d:下列代码都是对此进行修改
aaaaaaaaaaaa bbbbbbbbbbbb cccccccccccc 12344566 21312asdasdffsa asdasd12eqwdas dsadas12eqwd asdsad21 abc sda dwdf sadas sad asd 21ed 12d1 2ed 1d1 111 111 111 12 23 123 412
head 用法:
[root@localhost test]# head -n 3 ./d aaaaaaaaaaaa bbbbbbbbbbbb cccccccccccc
[root@localhost test]# head -c 4 ./d aaaa
类似的tail用法:
[root@localhost test]# tail -c 4 ./d 412 [root@localhost test]# tail -n 4 ./d sadas sad asd 21ed 12d1 2ed 1d1 111 111 111 12 23 123 412
查第三行:
[root@localhost test]# head -n 3 ./d | tail -n 1 cccccccccccc
替换:
[root@localhost test]# cat d |tr a 1 111111111111 bbbbbbbbbbbb cccccccccccc 12344566 213121sd1sdffs1 1sd1sd12eqwd1s ds1d1s12eqwd 1sds1d21 1bc sd1 dwdf s1d1s s1d 1sd 21ed 12d1 2ed 1d1 111 111 111 12 23 123 412
wc用法:
-l:统计行数
-w:统计单词个数
-c:统计字节数
[root@localhost test]# wc -l d 13 d [root@localhost test]# wc -w d 25 d [root@localhost test]# wc -c d 173 d
paste :
[root@localhost test]# cat e f 123456 123123 234142 231525 root1 root2 root3 root4 [root@localhost test]# paste -d: f e root1:123456 root2:123123 root3:234142 root4:231525
tar
tar tape archive 磁带归档,磁带便宜磁带机很贵,慢永久保存,硬盘越来越便宜了
tar [选项] ... 归档文件名 源文件或目录 tar [选项] ... 归档文件名 [-C 目标目录]
此处选项有先后要求
-c:创建(Create).tar 格式的包文件
-x:解开.tar 格式的包文件
-C:解压时指定释放的目标文件夹
-f:表示使用归档文件(一般都要带上表示使用tar)
-p:打包时保留文件及目录的权限
-P:打包时保留文件及目录的绝对径
-t:列表查看包内的文件(要和f一起使用)
-v:输出详细信息(Verbose)
-j:调用 bzip2 程序进行压缩或解压
-z:调用 gzip 程序进行压缩或解压
[root@localhost test2]# mkdir 1
[root@localhost test2]# tar zcvf ./1/dracut.conf.tar.gz dracut.conf
dracut.conf
[root@localhost test2]# ls
1 dracut.conf
[root@localhost test2]# tree
.
├── 1
│ └── dracut.conf.tar.gz
└── dracut.conf
[root@localhost test2]# mkdir 2
[root@localhost test2]# tar xzvf ./1/dracut.conf.tar.gz -C ./2
dracut.conf
[root@localhost test2]# tree
.
├── 1
│ └── dracut.conf.tar.gz
├── 2
│ └── dracut.conf
└── dracut.conf
用*来压缩选择全部文件夹:
[root@localhost test2]# tar czvf 3/abc.tar /test2* tar: 从成员名中删除开头的“/” /test2/ /test2/1/ /test2/1/dracut.conf.tar.gz /test2/2/ /test2/2/dracut.conf /test2/dracut.conf /test2/3/ /test2/3/abc.tar [root@localhost test2]# . ├── 1 │ └── dracut.conf.tar.gz ├── 2 │ └── dracut.conf ├── 3 │ └── abc.tar └── dracut.conf