Linux 简介
Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。 Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux 的发行版
这里给出了一些常见的Linux发行版本,供读者参考。目前在高性能计算方面,例如计算化学,计算物理,机器学习等领域。主要以Centos,和Ubantu两个发行版最为流行。尤其是Centos发行版本,其系统运行稳健程度相当高,因此被许多大型公司作为服务器系统实用,在高性能计算领域在占有极高的比例。
graph TD; Linux内核-->Debian; Linux内核-->Fedora; Linux内核-->SUSE; Linux内核-->其他发行版本; Debian-->Ubantu; Fedora-->RHEL; SUSE-->SLES; SLES-->openSUSE; RHEL-->Centos; RHEL-->OracleLinux Ubantu-->LinuxMint;
Linux系统命令简介
虽然在Linux系统的发展过程中诞生了很多的的发行版本,如上图所示,但是由于其内核并没有改变。因此,大部分的Linux系统的命令基本是通用的,这这里作者将会简要介绍一些在工作过程中比较常用的命令,供初学者快速上手Linux系统的使用。
ls: list directory contents
该命令用于显示指定工作目录下之内容, 包括文件,程序, 文件夹等。
1
2
3
4
5
6ls -l # 以长格式显示当前目录中的文件和目录
ls -a # 显示当前目录中的所有文件和目录,包括隐藏文件
ls -lh # 以人类可读的方式显示当前目录中的文件和目录大小
ls -t # 按照修改时间排序显示当前目录中的文件和目录
ls -R # 递归显示当前目录中的所有文件和子目录
ls -l /etc/passwd # 显示/etc/passwd文件的详细信息
cd: change directory
该命令用于改变当前工作目录的命令,切换到指定的路径。
若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login
时所在的目录)。 另外,~ 也表示为 home 目录 的意思, .
则是表示目前所在的目录, .. 则表示目前目录位置的上一层目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 换到绝对路径:指定完整的目录路径来切换到目标目录。
cd /path/to/directory
# 切换到相对路径:指定相对于当前目录的路径来切换到目标目录。
cd relative/path/to/directory
# 使用 ~ 表示当前用户的主目录,可以使用 cd 命令直接切换到主目录。
cd ~
# 切换到上次访问的目录。
cd -
# 切换到上级目录
cd ..
# 切换到上上级目录
cd ../../
cp: copy file 1
2
3
4
5# 将文件 file.txt 复制到目录 /path/to/destination/ 中
cp file.txt /path/to/destination/
# 使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:
cp –r test/ newtests
mv: move file
该命令用来为文件或目录改名、或将文件或目录移入其它位置。 1
2
3
4
5
6
7
8
9# 将文件 aaa 改名为 bbb
mv aaa bbb
# 将 info 目录放入 logs 目录中。注意,如果 logs 目录不存在,则该命令将 info 改名为 logs。
mv info/ logs
# 再如将 /usr/runoob 下的所有文件和目录移到当前目录下
mv /usr/runoob/* .
1 | # 删除 一般文件 "test.txt"? y |
cat: concatenate
1
2
3# 显示文件 filename 的内容
cat filename
less: 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页
1 | # 查看文件 |
mkdir: make directory 1
2# 在工作目录下,建立一个名为 runoob 的子目录
mkdir runoob
一些比较好用的命令
1 | split -6 -d --additional-suffix .xyz xxx.xyz point_ # 将文件每6行分割成一个文件,以数字为后缀 |