Linus Torvalds在大学的时候仿制Unix系统写了linux内核第一版,并且将其发布,希望有人能指出其中的缺点。因为免费的原因,以及每个人都可以定制属于自己的linux系统,linux系统开始流行起来。
linux内容主要负责以下四种功能
- 系统内存管理
- 软件程序管理
- 硬件设备管理
- 文件系统管理
GNU组织开发了一套完整的Unix工具,但是没有可以使用他的内核,于是跟linux结合成就了现在的Linux。
GNU coreutils软件包由三部分构成
- 用以处理文件的工具
- 用以操作文本的工具
- 用以管理进程的工具
shell有多重版本,而我们最常使用(我个人使用的)bash shell。
linux系统也有多种发行版本,而比较常见的
- CentOS
- Ubuntu
还有一种linux liveCD,这是一种可以直接在光盘上读取linux系统的版本。
与Unix系统交互的唯一方式就是借由shell所提供的文本命令行界面,简称CLI。
因为没有装linux系统,只是有服务器的缘故,所以对于系统的一些操作暂时不去理会(记了很快也忘了)。
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bash shell开机自启。
对一个命令不了解的时候,可以尝试使用man或者--help来帮助你进行了解。如man history
或者history --help
。
目录 | 用途 |
---|---|
/ | 虚拟目录的根目录。通常不会在这里存储文件 |
/bin | 二进制目录,存放许多用户级的GNU工具 |
/boot | 启动目录,存放启动文件 |
/dev | 设备目录,Linux在这里创建设备节点 |
/etc | 系统配置文件目录 |
/home | 主目录,Linux在这里创建用户目录 |
/lib | 库目录,存放系统和应用程序的库文件 |
/media | 媒体目录,可移动媒体设备的常用挂载点 |
/mnt | 挂载目录,另一个可移动媒体设备的常用挂载点 |
/opt | 可选目录,常用于存放第三方软件包和数据文件 |
/proc | 进程目录,存放现有硬件及当前进程的相关信息 |
/root | root用户的主目录 |
/sbin | 系统二进制目录,存放许多GNU管理员级工具 |
/run | 运行目录,存放系统运作时的运行时数据 |
/srv | 服务目录,存放本地服务的相关文件 |
/sys | 系统目录,存放系统硬件信息的相关文件 |
/tmp | 临时目录,可以在该目录中创建和删除临时工作文件 |
/usr | 用户二进制目录,大量用户级的GNU工具和数据文件都存储在这里 |
/var | 可变目录,用以存放经常变化的文件,比如日志文件 |
cd命令切换目录,pwd命令显示当前目录。
ls
显示当前目录的文件和目录,加上参数-a
显示所有的文件和目录包括了隐藏起来以.
开头的文件。参数-F
显示所有文件的类型,是目录或者其他类型。-R
递归显示文件,一个目录一层层往下,直到没有为止。-l
显示文件的更多信息。习惯性平常使用ls -alF
。
使用-l
参数时,可以在后面进行正则匹配,过滤掉不想要看到的文件信息。ls -l etc
只会展现etc这一条的信息。
在服务器上按照书本中提到的使用,都是直接进入到目录里面显示相关的文件,只有当匹配到是文件而不是目录的时候才会正常使用。不知道是什么原因导致的。
touch
用于创建一个空的文件,比如touch test_one
-rw-r--r-- 1 root root 0 Dec 17 18:07 test_one
cp
用于复制一个文件,比如cp -i test_one test_two
,加选项-i
是为了防止复制的文件将原本的文件覆盖掉,假如有同名文件,他会有提醒。cp
命令很强大,不管是该目录下的文件复制到其他目录或者其他目录文件复制到该目录,以及整个目录进行复制都可以办到(加-R
就可以)
-rw-r--r-- 1 root root 0 Dec 17 18:07 test_one
-rw-r--r-- 1 root root 0 Dec 17 18:11 test_two
有时候感觉文件名太长不易于输入,可以使用TAB
键进行文件名的补全。
链接文件使用ln
,有符号链接和硬链接,暂时不深入。
mv
不仅能用来移动文件,还能重命名文件。mv test_one test_three
-rw-r--r-- 1 root root 0 Dec 17 18:07 test_three
-rw-r--r-- 1 root root 0 Dec 17 18:11 test_two
移动文件,mv test_three var/
文件就到了var目录下。
rm
用于删除文件,rm -i test_two
-i提醒是否删除。文件删除了就找不到了,所以一定要谨慎小心。
服务器上现在都自带询问是否删除
mkdir
创建一个空的目录,-P选项可以同时创建一个目录与多个子目录,不然会报错。
mkdir -P new_dir/new_d/new
new_dir:
new_d
new_dir/new_d:
new
new_dir/new_d/new:
删除目录可以用rmdir
仅限于删除空的目录,一旦目录下有文件,则要先删除文件才能删除该目录。为了方便也可以用rm -rf new_dir
命令,但是该命令不会跳出询问是否删除,慎用。
查看文件类型可以用file
命令
cat
查看文件是一次性把所有的内容都展示出来,有的时候文件太大,查看起来不方便,可以使用more
命令进行查看,当然也可以用less
命令查看,less是more的进阶版本。
head
和tail
命令分别查看文件的前十行与后十行。也可以填写选项进行限制,比如说想看前五行
head -5 text tail的用法同样适用
To be continue...