Linux初识
linux背景
multics
肯·汤普森 ===》 nuix
Andrew S Tanenbaum ===》 minux
李纳斯·托瓦丝 ===》linux 1991 =》1994 Linux 1.0
GNU 开源+免费
稳定+免费
版本碎片化
缺点:可以运行在9.0 不能再5.0系统运行
↓
linux 与 发行版linux
↓
linux内核
↓
操作系统 = 内核 + 外部应用
↓
红帽子:收费
CentOS Linux
debian
ubuntu
基础命令
ls -a workspace
目录相关的命令
ls 默认显示当前所在目录中的内容
-a 显示所有文件,不忽略以点开头的文件
linux下以.开头的文件是默认隐藏文件
每个目录下都有两个特殊的目录
. 表示当前目录自身
. . 自身的上一层路径
-l 显示目录下文件的详细信息
linux下一切皆文件
linux下文件类型并不以后缀名区分‘
第一个字符文件类型
d开头目录类型文件
-开头 普通文件
c开头 字符设备文件(键盘)
b开头 阔设备文件(硬盘)
l开头 符号链接文件(文件的快捷方式)
p开头 管道文件
pwd 显示当前所在路径(绝对路径)
linux下目录结构 ---- 唯一目录结构
---- 树形结构 ---- 底层是根目录 /
绝对路径:以根目录作为起始路径
相对路径: 以当前路径作为起始路径
etc 放置操作系统配置文件
dev 放置操作系统设备文件
bin 放置操作系统的可在执行程序
boot 放置操作系统引导程序
mkdir 创建目录
mkdir -p 递归创建多层级目录(哪一层不存在则创建)
rmdir 删除
rmdir -p 递归删除多层级空目录
rm 删除普通文件
rm -r 递归对目录下所有文件进行删除包括目录自身
rm -f 忽略提示信息,直接进行操作
cp 复制一个文件到另一个位置
cp -r 递归对目录下所有文件进行拷贝包括目录自身
cp -f 忽略提示信息,直接进行操作
mv 将一个文件/目录移动到指定位置/更改文件名字
mv -i 增加提示信息
cd 改变当前所在路径(进入指定目录)
cd - 返回上一次所在路径
cd ~快速返回当前用户的家目录
文件相关的命令
touch 若文件不存在则创建空文件,否则使用系统当前时间刷新时间属性
touch -d “2018-2-2 12:10:30” filename
指定时间刷新文件时间
touch -r filename1 filename2
使用一个文件的时间刷新另一个文件的时间
cat 打印文件内容到显示终端
cat password 系统用户信息
root❌0:0:root:/root:/bin/bash
用户名:密码:用户ID:用户组ID:用户组名称:家目录:登录shell
cat -n 打印行号
tac 按行逆序打印文件内容到终端
tac passwd
more 分页显示文件内容
空格 向下翻页
回车 向下按行滚动
q 退出
less 分页显示文件内容 (less 打开大文件效率很高,尤其是几个G大小的文件)
less 打开文件的时候,只把一小部分数据加载到内容中,而大部分其他的编辑器都是直接把整个文件都加载
延时加载/懒加载
向下翻页 ===》 空格 f PgDn
向上翻页 ===》 b PgOn
向下滚动 ===》 j ↓
向上滚动 ===》 k ↑
q 推出
/string 向下匹配string字符串
?string 向上匹配string字符串
n 搜索匹配下一个位置
head 默认显示文件前十行内容
head -n 指定显示前n行数据
tail 默认显示文件末尾十行内容
tail -n 指定显示末尾n行数据
tail -f 一直刷新末尾新数据
打印文件password的第10行内容
head -n 10 | tail -n 1
| 管道符
链接两个命令,将前边命令的输出结果作为后边命令的输入进行处理
ctrl + c 中断当前操作
重定向:修改数据流向
‘ > ’ 清空数据原有数据,将数据写入文件
‘ >> ’ 将新数据追加到文件末尾
时间日期命令
date 获取当前时间
- 获取到任意格式化的时间
- 格式化时间和时间戳的换算
date + %s 获取当前时间戳
date -d @[时间戳] 转换成当前时间
匹配查找命令
find -name 按照文件名查找文件
表示通配符,代表着任意多个字符
大部分linux指令都支持通配符
其他
man 手册命令,查看命令/函数/特殊文件手册
man ls 查看ls使用方法
stat 常看文件详细信息
stat filename/
Access 文件最后一次访问时间
Modify 文件最后一次修改时间
Change 文件最后一次状态改变时间
Linux 下一切皆文件
linux 目录结构固定,磁盘分区挂在在某个目录下 先有目录结构 ==》 划分区 》 将分区挂载到目录下
windows 划分区》分盘符
/bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz 为 linux 的内核文件,以及 /boot/gurb。建议单独分区,分区大小100M即可
/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。
注:/etc/X11 存放与 x windows 有关的设置。
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,表示当前用户的家目录,edu 表示用户 edu 的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
/lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为 /lib/modules。
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于 /disk 中,此目录下就会自动产生目录 /disk/lost+found
/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。
/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的 KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。
/root:系统管理员root的家目录,系统第一个启动的分区为 /,所以最好将 /root和 /放置在一个分区下。
/sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。
/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls 时会查询 /usr/share/man/man1/ls.1.gz 的内容建议单独分区,设置较大的磁盘空间
/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间